Datenbanken in der Praxis 6. Integrität, DBS-Architektur, Sichten

Größe: px
Ab Seite anzeigen:

Download "Datenbanken in der Praxis 6. Integrität, DBS-Architektur, Sichten"

Transkript

1 Datenbanken in der Praxis 6. Integrität, DBS-Architektur, Sichten

2 Inhalt Konsistenz von Daten Datenintegrität Referentielle Integrität Architektur von Datenbanksystemen Drei-Ebenen-Architektur Individuelle Datensichten Definition von Views Update von Views 192

3 Konsistenz von Daten Aufgabe eines DBMS ist neben Bereitstellung von Anfrage- und Ablagefunktionalität für große Datenmengen auch die Sicherung der Konsistenz der Daten. Potentielle Beeinträchtigung der Konsistenz Systemfehler Mehrbenutzerzugriff Unerlaubte Manipulation von Daten Inkonsistente Bearbeitung von Daten Mögliche Resultate Datenverlust Verletzung der Datenintegrität 193

4 Datenintegrität Wir kennen bereits verschiedene Anforderungen an die Datenintegrität und haben die Gewährleistung dieser Integritätsbedingungen implizit (durch Verwendung spezifischer Modellierungskonstrukte) oder explizit (über die Möglichkeiten des DBMS) sichergestellt: Integrität von Schlüsselattributen Die Definition von Schlüsselattributen bedingt, dass keine zwei Tupel mit gleichem Wert in allen Schlüsselattributen existieren dürfen. Realisierung via DBMS bei Schemadefinition durch explizite Attributspezifikation als primary key Integrität von 1:N-Beziehungen Durch Integration des Schlüssels der Relation der 1-Seite der Beziehung als Fremdschlüssel in die Relation der N-Seite der Beziehung ist die Semantik einer 1:N-Beziehung - dass die Entities der N- Seite nur zu genau einem Entity der 1-Seite, aber ein Entity der 1-Seite mit beliebig vielen Entities der N-Seite in Beziehung stehen können - sichergestellt. 194

5 Datenintegrität Wir kennen schon verschiedene Anforderungen an die Datenintegrität und haben die Gewährleistung dieser Integritätsbedingungen implizit (durch Verwendung spezifischer Modellierungskonstrukte) oder explizit (über die Möglichkeiten des DBMS) sichergestellt: Integrität von 1:1-Beziehungen Analog einer 1:N-Beziehung kann durch Integration eines Fremdschlüssels in eine Relation ausgedrückt werden, dass ein Entity nur mit einem anderen Entity in Beziehung stehen kann. Allerdings fehlt jetzt noch der weitere Aspekt einer 1:1-Beziehung - die Exklusivität einer derartigen Beziehung (denn einem anderen Tupel könnte durchaus noch einmal derselbe Fremdschlüssel zugewiesen werden). Deshalb muss ein Fremdschlüsselattribut bei der Schemadefinition noch explizit als unique (und ggf. als not null) gekennzeichnet werden, damit die Semantik einer 1:1-Beziehung in der Datenbank korrekt modelliert ist und die Datenintegrität gewährleistet werden kann. 195

6 Datenintegrität Beispiel Name Bei der zweiten Übungsaufgabe fungierte jeweils ein PersNr anderer Mitarbeiter als Leiter eines Projekts. n MITARBEITER Aus diesem Grund muss beim Ausdruck der Beziehung leitet der Fremdschlüssel PersNr als unique 1 n Tätigkeit gekennzeichnet werden. Dabei spielt es keine Rolle, ob eine separate Beziehungsrelation erstellt oder der Fremdschlüssel leitet arbeitet an kap in die Tabelle PROJEKT übernommen wird. Name create table PROJEKT ( 1 m PROJEKT ProjNr ProjNr integer primary key, PersNr integer unique ) Priorität Ende Beginn 196

7 Datenintegrität Wir kennen schon verschiedene Anforderungen an die Datenintegrität und haben die Gewährleistung dieser Integritätsbedingungen implizit (durch Verwendung spezifischer Modellierungskonstrukte) oder explizit (über die Möglichkeiten des DBMS) sichergestellt: Datenintegrität durch Domänenspezifikation Selbst die Tatsache, dass Attributen bei ihrer Definition ein Wertebereich zugeordnet werden muss, ist ein Aspekt von Datenintegrität. So kann z.b. ausgedrückt werden, dass eine Matrikelnummer ganzzahlig sein muss. Allerdings sind diese datentypbasierten Domänenspezifikationen nicht allzu aussagekräftig, da der Wertebereich einzelner Attribute in der Praxis meist wesentlich kleiner ist als der Wertebereich vordefinierter Datentypen (z.b. Geburtsdatum eines lebenden Menschen vs. irgendein Datum) Aus diesem Grund können derartige Bereichseinschränkungen als statische Integritätsbedingungen explizit in SQL mit Hilfe der check-anweisung formuliert und einer Attributdefinition hinzugefügt werden. 197

8 Statischer Integritätscheck Beispiel Personal über ein Unternehmen ist bekannt: es gibt drei Abteilungen Mitarbeiter verdienen mindestens 1000 im Monat, aber höchstens create table Personal ( Personal Name Beruf Abteilung Gehalt Heinz Graser Elektroingenieur Silke Danilow Bürokauffrau Anita Eckart Controller Olaf Ruß-Möller Produktmanager Tatjana Koslowski Dolmetscher Sven Riedel Informatiker Gudrun Lange Buchhalter Wolf von Bülow Unternehmensberate r Name Beruf varchar(30) not null, varchar(30), Abteilung integer check (Abteilung >= 1 and Abteilung <= 3), Gehalt integer check (Gehalt >= 1000 and Gehalt <= 10000) ); 198

9 Statischer Integritätscheck Beispiel Prüfung über eine Universität ist bekannt: Vorlesungsnummern sind dreistellig Matrikelnummern sind minimal fünf- und maximal sechsstellig Prüfung VorlNr MatrNr Note Noten liegen im Bereich 1.0 bis 5.0 create table Prüfung ( ); VorlNr integer check ( Nummer >= 100 and Nummer <= 999 ), MatrNr integer check ( Nummer >= and Nummer <= ), Note numeric(2,1) check ( Note >= 1.0 and Note <= 5.0 ), primary key (VorlNr, MatrNr) Primärschlüssel, die aus mehreren Attributen bestehen, können erst nach der Definition aller vorkommenden Attribute spezifiziert werden. 199

10 Referentielle Integrität Konsistenz zwischen Relationen

11 Referentielle Integrität (1) Motivation Wir können mittlerweile Beziehungen in SQL derart formulieren, dass die Semantik der verschiedenen Kardinalitäten ausgedrückt werden kann. Allerdings sind wir bisher nicht in der Lage, sicherzustellen, dass referenzierte Tupel einer Beziehung auch tatsächlich existieren: Beispiel insert into Lehrveranstaltung values (500, Mathematik, 7111) Problem Es gibt in der Tabelle Lehrkraft im Schlüssel PersNr (auf den der Fremdschlüssel PersNr der Tabelle Lehrveranstaltung verweist) keinen Datensatz mit dem Attributwert Lehrveranstaltung Nummer Titel PersNr 123 Datenstrukturen Datenbanken in der Praxis Datenbanken Grundlagen Übung Datenstrukturen Mathematik 7111 Lehrkraft PersNr Name 6123 Prof. Benn 6897 Dr. Seifert Prof. Zanger? 201

12 Referentielle Integrität (2) Gegeben zwei Relationen R und S. die Attribut(menge) K sei Schlüssel von R und die Attribut(menge) FK sei Fremdschlüssel von R in S Forderung Zur Gewährleistung referentieller Integrität muss für R und S immer folgende Bedingung erfüllt sein: π[fk](s) π[k](r). Bedeutung Wenn zwei Relationen R und S über eine Schlüssel- / Fremdschlüsselbeziehung in Beziehung stehen, dann muss jeder Attributwert des Fremdschlüssels auch als Attributwert des Schlüssels existieren. 202

13 Referentielle Integrität (3) Beispiel R: Lehrkraft S: Lehrveranstaltung K: Lehrkraft.PersNr FK: Lehrveranstaltung.PersNr Lehrveranstaltung Nummer Titel PersNr 123 Datenstrukturen Datenbanken in der Praxis Datenbanken Grundlagen Übung Datenstrukturen 6897 Vergleich der Schlüsselattributprojektionen π[fk](s) π[k](r) {6897, 6123} {6123, 6897, 43424} Bedingung für referentielle Integrität erfüllt Lehrkraft PersNr Name 6123 Prof. Benn 6897 Dr. Seifert Prof. Zanger 203

14 Referentielle Integrität (4) Beispiel insert into Lehrveranstaltung values (500, Mathematik, 7111) R: Lehrkraft S: Lehrveranstaltung K: Lehrkraft.PersNr Lehrveranstaltung Nummer Titel PersNr 123 Datenstrukturen Datenbanken in der Praxis Datenbanken Grundlagen Übung Datenstrukturen Mathematik 7111 FK: Lehrveranstaltung.PersNr Vergleich der Schlüsselattributprojektionen π[fk](s) π[k](r) {6897, 6123, 7111} {6123, 6897, 43424} Bedingung für referentielle Integrität nicht erfüllt Lehrkraft PersNr Name 6123 Prof. Benn 6897 Dr. Seifert Prof. Zanger 204

15 Referentielle Integrität (5) Damit referentielle Integrität gewährleistet werden kann, sind Änderungen an den Relationen R und S nur unter folgenden Bedingungen erlaubt: Einfügen eines Tupels s in S Für den Attributwert fk der Attributmenge FK von s muss gelten: fk π[k](r) Verändern des Wertes der Attributmenge FK eines Tupels s der Relation S Für den geänderten Attributwert fk der Attributmenge FK von s muss gelten: fk π[k](r) Ändern des Wertes der Attributmenge K eines Tupels r der Relation R Für den ursprünglichen Attributwert k der Attributmenge K muss gelten: σ[fk=k](s) = Löschen eines Tupels r in R Für den ursprünglichen Attributwert k der Attributmenge K von r muss gelten: σ[fk=k](s) = 205

16 Referentielle Integrität in SQL Definition Um referentielle Integrität in SQL gewährleisten zu können, muss bei der Schemadefinition die Schlüssel - Fremdschlüsselbeziehung zwischen zwei (oder mehreren) Tabellen definiert werden. Hierzu wird die Attributdefinition um eine references-klausel erweitert, die auf die Tabelle verweist, in der das Attribut Primärschlüssel ist. Falls ein Fremdschlüssel mehrere Attribute umfasst, muss er nach Definition aller Attribute explizit mittels foreign key als Fremdschlüssel gekennzeichnet werden und mittels der references- Klausel der Verweis auf die Tabelle hergestellt werden, in der die Attributkombination Primärschlüssel ist. Die durch foreign key bzw. die references-klausel gekennzeichneten Fremdschlüssel können auch Nullwerte annehmen, falls sie nicht explizit als not null markiert wurden. Verhalten Damit ein Tupel geändert oder eingefügt werden kann, müssen die darin enthaltenen Fremdschlüsselreferenzen existieren. Ebenso lassen sich jetzt keine Tupel mehr löschen, die noch an anderer Stelle referenziert werden. 206

17 Beispiel create table Prüfung ( VorlNr integer check ( Nummer >= 100 and Nummer <= 999 ), MatrNr integer check ( Nummer >= and Nummer <= ), Note numeric(2,1) check ( Note >= 1.0 and Note <= 5.0 ), primary key (VorlNr, MatrNr), foreign key (VorlNr) references Lehrveranstaltung, foreign key (MatrNr) references Student ); Hinweis Prüfung VorlNr MatrNr Note Durch die Referenzierung der Tabellen Lehrveranstaltung und Student wird automatisch die Korrespondenz zwischen dem Fremdschlüssel VorlNr und dem Primärschlüssel der Tabelle Lehrveranstaltung sowie dem Fremdschlüssel MatrNr und dem Primärschlüssel von Student hergestellt. Dazu müssen natürlich die Primärschlüssel in diesen Tabellen festgelegt worden sein. 207

18 Propagieren von Änderungen Neben der standardmäßigen Gewährleistung der referentiellen Integrität durch Ablehnen verletzender Änderungen an Schlüsselattributen kann optional auch eine automatische Kaskadierung von Änderungsoperationen als Maßnahme zur Integritätssicherung eingestellt werden: Wird ein Primärschlüsselwert geändert, werden alle korrespondierenden Fremdschlüsselwerte auf die gleiche Weise geändert. Hierzu wird in SQL on update cascade zur references- Klausel hinzugefügt. Wird das zu einem Primärschlüsselwert korrespondierende Tupel einer Tabelle gelöscht, werden alle Tupel, die in einer Fremdschlüsselbeziehung zu dieser Tabelle stehen, ebenfalls gelöscht. Hierzu muss die references-klausel von SQL um on delete cascade ergänzt werden. Achtung Das kaskadierende Löschen ist gefährlich. Zwar bleibt die referentielle Integrität erhalten, aber es könnten bei ungeschickter Modellierung durchaus Datensätze unbeabsichtigt aus der Datenbank entfernt werden. 208

19 Beispiel - Änderungspropagation Ausgangspunkt Lehrkraft PersNr Name zwei Tabellen mit on update cascade - Referenzierungssemantik 6123 Prof. Benn 6897 Dr. Seifert create table Lehrkraft Prof. Zanger ( PersNr integer primary key, Name varchar(30) Lehrveranstaltung ) Nummer Titel PersNr 123 Datenstrukturen 6897 create table Lehrveranstaltung 234 Datenbanken in der Praxis 6897 ( 345 Datenbanken Grundlagen 6123 Nummer integer primary key, 456 Übung Datenstrukturen 6897 Titel varchar(30), PersNr integer references Lehrkraft on update cascade ); 209

20 Beispiel - Änderungspropagation Ausgangspunkt create table Lehrkraft ( PersNr integer primary key, Name varchar(30) ) create table Lehrveranstaltung ( Nummer integer primary key, Titel varchar(30), PersNr integer references Lehrkraft on update cascade ); Update-Operation Lehrkraft PersNr Name update Lehrkraft 6123 Prof. Benn set PersNr = Dr. Seifert where PersNr = 6897; Resultat Prof. Zanger Die Änderung eines Primärschlüsselwerts bewirkt jetzt automatisch die gleichartige Änderung aller korrespondierenden Fremdschlüsselwerte: Lehrveranstaltung Nummer Titel PersNr 123 Datenstrukturen Datenbanken in der Praxis Datenbanken Grundlagen Übung Datenstrukturen

21 Beispiel - Löschpropagation Ausgangspunkt create table Lehrkraft ( ) PersNr integer primary key, Name varchar(30) create table Lehrveranstaltung ( ); Nummer integer primary key, Titel varchar(30), PersNr integer references Lehrkraft on delete cascade Änderungsoperation delete from Lehrkraft where PersNr = 6897 Resultat Lehrveranstaltung PersNr Lehrkraft Name 6123 Prof. Benn 6897 Dr. Seifert Prof. Zanger Das Löschen des Tupels mit dem Primärschlüsselwert 6897 aus der Tabelle Lehrkraft bewirkt automatisch auch das Entfernen aller Tupel mit dem Fremdschlüsselwert 6897 aus der Tabelle Lehrveranstaltung. Obwohl dadurch die referentielle Integrität gewahrt bleibt, erscheint es fraglich, ob diese Funktionalität tatsächlich gewünscht ist. Nummer Titel PersNr 123 Datenstrukturen Datenbanken in der Praxis Datenbanken Grundlagen Übung Datenstrukturen

22 Nullsetzen von Fremdschlüsseln Neben der standardmäßigen Gewährleistung der referentiellen Integrität durch Ablehnen verletzender Änderungen an Schlüsselattributen, kann optional auch eine automatische Nullsetzung von Fremdschlüsselattributen als Maßnahme zur Integritätssicherung eingestellt werden: Wird ein Primärschlüsselwert geändert, werden alle korrespondierenden Fremdschlüsselwerte auf den Nullwert null gesetzt. Hierzu wird in SQL die references-klausel um on update set null ergänzt. Wird das zu einem Primärschlüsselwert korrespondierende Tupel einer Tabelle gelöscht, werden die Fremdschlüsselwerte aller Tupel, die in einer Fremdschlüsselbeziehung zu dieser Tabelle stehen auf denn Nullwert null gesetzt. Die Realisierung erfolgt in SQL durch Hinzufügen von on delete set null zur references-klausel. 212

23 Beispiel - Nullsetzen Ausgangspunkt Resultat Lehrkraft create table Lehrkraft ( PersNr integer primary key, Name varchar(30) ) create table Lehrveranstaltung ( Nummer integer primary key, Titel varchar(30), PersNr integer references Lehrkraft on delete set null ); Änderungsoperation delete from Lehrkraft where PersNr = 6897 PersNr Name Das Löschen des Tupels mit dem 6123 Prof. Benn Primärschlüsselwert 6897 der 6897 Dr. Seifert Tabelle Lehrkraft bewirkt automa- tisch das Nullsetzen aller in Bezie Prof. Zanger hung stehender Tupel mit dem Fremdschlüsselwert 6897 aus Tabelle Lehrveranstaltung. Dieses Verhalten bewahrt ebenfalls die referentielle Integrität und erscheint adäquater, da das Löschen einer Lehrkraft nicht immer das Löschen aller assoziierten Lehrveranstaltungen nach sich zieht. Lehrveranstaltung Nummer Titel PersNr 123 Datenstrukturen 6897 null 234 Datenbanken in der Praxis 6897 null 345 Datenbanken Grundlagen Übung Datenstrukturen 6897 null 213

24 Architektur von Datenbanksystemen

25 Sichten auf ein DBS Wir haben uns bisher mit der semantischen Modellierung eines Realweltausschnitts beschäftigt und diesen in ein konkretes Datenmodell übertragen. Wir haben uns jedoch noch nicht mit der konkreten Verwendung dieser Daten in verschiedenen Anwendungsgebieten beschäftigt und auch nicht mit Fragen der technischen Realisierung. Demzufolge unterscheiden wir drei Sichten auf ein Datenbanksystem: Konzeptuelle Sicht (DB-Designer, DB-Programmierer) Dies ist der Aspekt der Datenmodellierung, den wir bisher betrachtet haben. Wir haben die logischen Strukturen von Objekten und deren Beziehungen identifiziert und in einem konkreten Datenmodell hinterlegt. Externe Sicht (DB-Anwender) Die Aufgabe eines DBS ist es, die Datenverwaltung verschiedener externer Anwendungen zu übernehmen. Aus diesem Grund hat jede externe Anwendung einer Datenbank eigene Anforderungen an die zu verarbeitenden Daten und des Zugriffsschutzes und demzufolge eine eigene Sicht auf die modellierten Strukturen und Beziehungen einer Datenbank. Interne Sicht (DB-Administrator) Optimierte Anordnung von Daten auf Speichermedien und Zugriffsoptimierung. 215

26 Konzeptuelles Schema Die drei Sichten werden durch jeweils ein Schema formal beschrieben: Konzeptuelles Schema enthält alle Eigenschaften von Objekten und deren Beziehungen, die für die Datenverwaltung eine Rolle spielen. erfasst und definiert Aspekte einer korrekten Datenverarbeitung, z.b. Integritätsbedingungen ist ein stabiler Bezugspunkt für alle darauf basierenden Anwendungen (der externen Sicht). Es ändert sich eher selten, z.b. wenn sich die Unternehmensstruktur ändert. stellt auch eine einheitliche Dokumentation wesentlicher Aspekte des Problembereiches eines Unternehmens dar kontrolliert die Verwendung von Daten an zentraler Stelle 216

27 Externes und internes Schema Die drei Sichten werden durch jeweils eigene Schemata formal beschrieben: Externes Schema beschreibt die Aspekte konzeptueller Objekte und deren Beziehungen, die für die Datenverwaltung einer Anwendung eine Rolle spielen erfasst und definiert Aspekte einer korrekten Datenverarbeitung einer externen Anwendung definiert Transformationsregeln und beschreibt die Herleitung externer Objekte aus den Objekten des konzeptuellen Schemas Internes Schema beschreibt wie und wo einzelne Attribute gespeichert sind, z.b. physische Trennung wenig benötigter von häufig benutzten Attributen Anlegen zusätzlicher Zugriffsstrukturen (Indexe) für Attribute siehe Physische Datenorganisation 217

28 Drei-Ebenen-Architektur externe Ebene (externes Schema) Studenten- sekretariat Zentrales Prüfungsamt Personalabteilung Student Student prüfen Hiwi Mitarbeiter Raum- planung Raum Transformationsregeln konzeptuelle Ebene (konzeptuelles Schema) Unternehmensmodell TU-Chemnitz Student Lehrveranstaltung Lehrkraft hört Raum prüfen interne Ebene (internes Schema) Hardwarenahe Organisation und Verwaltung der Daten Transformationsregeln PersNr: int (2 Byte) auf Platte 1 Gehalt: float (4 Byte) auf Platte 2 218

29 Individuelle Datensichten

30 Datenindividualisierung In den Anwendungen der externen Ebene müssen die Daten der Datenbank in einer für die jeweilige Benutzergruppe geeigneten Form bereitgestellt werden. Diese individuelle Bereitstellung erfolgt aus zwei Gründen Bereitstellung nur von relevanten Daten für eine Nutzergruppe Verwirklichung von Datenschutzaspekten, d.h. nicht jeder Nutzer darf alle Daten sehen Grundlage der Realisierung beider Aspekte ist die Partitionierung von Tabellen 220

31 Partitionierung Individuelle Datensichten bzw. Zugriffseinschränkungen können vielfältiger Natur sein: Vertikale Partitionierung Zugriff nur auf bestimmte Tupel einer Relation. Horizontale Partitionierung Zugriff nur auf bestimmte Spalten einer Relation. Gruppierende & aggregierende Partitionierung Kein Zugriff auf individuelle Tupel, sondern nur auf gruppierte Werte und die Ergebnisse von Aggregatfunktionen auf Gruppen. Kombinierte Partitionierung Oft werden die verschiedenen Partitionierungen gemeinsam verwendet. 221

32 Realisierung von Sichten Wie wir gesehen haben, realisieren Sichten den Zugriff nur auf bestimmte Teile von Tabellen und können somit mittels select-statement definiert werden. Um einer Anwendung der externen Ebene ausschließlich Zugriff auf partitionierte Tabellen zu ermöglichen, definiert man virtuelle Tabellen als Ergebnis einer Partitionierung mittels eines select-statements. Diese virtuellen Tabellen heißen Views (Sichten) und können direkt in SQL definiert werden: create view Name as ( select-statement ) Indem man externen Applikationen den Zugriff auf Views gewährt, aber nicht auf die Originaltabellen, wird auf diesem Wege sowohl der Datenschutz gewährleistet als auch die Bereitstellung nur bestimmter Informationsaspekte realisiert. Views können - zumindest bei Anfragen - wie normale Tabellen Verwendung finden. 222

33 Views - Beispiel (1) Wunsch Die Sachbearbeiter der verschiedenen Studiengänge im zentralen Prüfungsamt sollen nur Zugriff auf die Studenten ihres Studienganges haben. Realisierung Wir definieren Sichten für Mathematik- und Philosophiestudenten: create view Mathematikstudent as ( select MatrNr, Name from Student where Studiengang = Mathematik ); Student MatrNr Name Studiengang Archimedes Mathematik Pythagoras Mathematik Sophokles Philosophie Eratosthenes Mathematik Platon Philosophie Philosophiestudent MatrNr Name Sophokles Platon Mathematikstudent MatrNr Name Archimedes Pythagoras Eratosthenes create view Philosophiestudent as ( select MatrNr, Name from Student where Studiengang = Philosophie ); Die Views Philosophiestudent und Mathematikstudent können für Anfragen wie normale Tabellen verwendet werden, z.b. select * from Mathematikstudent 223

34 Views - Beispiel (2) Wunsch Abteilungsleiter benötigen für ihre Budget- planungen auch Informationen über andere Abteilungen. Allerdings dürfen sie aus Datenschutzgründen nicht erfahren, was Mitarbeiter anderer Abteilungen verdienen. Personal Name Beruf Abteilung Gehalt Heinz Graser Elektroingenieur Silke Danilow Bürokauffrau Anita Eckart Controller Olaf Ruß-Möller Produktmanager Tatjana Koslowski Dolmetscher Realisierung Wir definieren eine Sicht, die Informationen über die einzelnen Abteilungen nur in aggregierter Form enthält: Sven Riedel Informatiker Gudrun Lange Buchhalter Wolf von Bülow Unternehmensberate r create view Abteilungsstatistik(Abteilung, Mitarbeiter, Gehälter) as ( select Abteilung, count(*), sum(gehalt) ); from Personal group by Abteilung Bei der Vergabe eines Namens an einen View können gleichzeitig die Attribute des Views (um-)benannt werden. Abteilungsstatistik Abteilung Mitarbeiter Gehälter

35 Views - Beispiel (3) Weitere Verwendung Views können auch zur Vereinfachung von Anfragen eingesetzt werden, in- dem komplexere Anfragen (z.b. Joins) in Views abgelegt und dann einfachere Anfragen an den View gestellt werden: Lehrveranstaltung Nummer Titel PersN 123 Datenstrukturen 6897 r 234 Datenbanken in der Datenbanken Praxis Grundlagen Übung Datenstrukturen 6897 Lehrkraft PersNr Name 6123 Prof. Benn 6897 Dr. Seifert Prof. Zanger create view Lehrbelastung(Name, Anzahl) as ( select Name, count(*) from Lehrveranstaltung natural join Lehrkraft group by Name ); Beispielanfrage Lehrbelastung Name Anzahl Dr. Seifert 3 Prof. Benn 1 select * from Lehrbelastung where Anzahl > 1 statt: select Name, count(*) as Anzahl from Lehrveranstaltung natural join Lehrkraft group by Name having Anzahl > 1 Anfrageergebnis Name Anzahl Dr. Seifert 3 225

36 Spezialisierungen mit Views Views sind eine Möglichkeit, Spezialisierungen in SQL auszudrücken: Weg Die Datensätze werden zentral in einer Tabelle mit allen Informati- onen verwaltet. Anhand bestimmter Attribute werden virtuelle Ta- bellen (Sichten) mit Teilinformationen des Datenbestandes gebildet. Somit ist zumindest anfragetechnisch die Bildung einer kompletten Spezialisierungshierarchie denkbar. Beispiel create view Mathematikstudent as ( select MatrNr, Name from Student where Studiengang = Mathematik ); create view Philosophiestudent as ( select MatrNr, Name from Student where Studiengang = Philosophie ); Student MatrNr Name Studiengan Archimedes g Mathematik Pythagoras Mathematik Sophokles Philosophie Eratosthene Mathematik s Platon Philosophie Mathematikstudent MatrNr Name Archimedes Pythagoras Eratosthenes Philosophiestudent MatrNr Name Sophokles Platon 226

37 Generalisierungen mit Views Views sind eine Möglichkeit, Generalisierungen in SQL auszudrücken: Weg Die Datensätze verschiedener Tabellen werden in einem View (unter Wegfall aller Informationen, die nicht in allen Tabellen vorhanden ist) vereinigt, der damit eine generalisierende Sicht darauf bietet. Die Verwaltung der Datensätze erfolgt weiterhin in den Basistabellen. Beispiel create view AlleStudenten as AlleStudenten ( select MatrNr, Name MatrNr Name from Mathematikstudent Archimedes ) Pythagoras union Sophokles ( select MatrNr, Name Eratosthenes from Philosophiestudent Platon ); Mathematikstudent MatrNr Name Semeste Archimedes r Pythagoras Eratosthene s Philosophiestudent MatrNr Name Sophokles Platon 2 227

38 Update von Views Wir haben gesehen dass Views u.a. auch Spezialisierungs- und Generalisierungshierarchien in SQL ausdrücken können. Allerdings haben wir hierbei bisher nur Anfragefunktionalität untersucht. Frage Sind Views auch veränderbar? Können insert-, update- oder delete-operationen ausgeführt werden? Anwort Merke Der Update eines Views ist möglich, wenn der View weder Aggregatfunktionen bzw. Anweisungen wie having, distinct oder group by enthält in der select-projektionsliste nur eindeutige Spaltennamen und einen Schlüssel der Basistabelle enthält nur genau eine Tabelle beinhaltet, die natürlich veränderbar sein muss Selbst wenn ein View theoretisch änderbar sein sollte, bedeutet dies nicht, dass SQL diese Änderung auch gestattet. 228

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Datenintegrität Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Formulierung von Integritätsbedingungen ist die wichtigste Aufgabe des DB-Administrators!

Mehr

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen

Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Datenintegrität Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Formulierung von Integritätsbedingungen ist die wichtigste Aufgabe des DB-Administrators!

Mehr

Datenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL.

Datenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL. Datenintegrität Arten von Integritätsbedingungen Statische Integritätsbedingungen Referentielle Integrität Integritätsbedingungen in SQL Trigger 1 Datenintegrität Einschränkung der möglichen Datenbankzustände

Mehr

Referentielle Integrität

Referentielle Integrität Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische

Mehr

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung 6. Datenintegrität Motivation Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung nur sinnvolle Attributwerte (z.b. keine negativen Semester) Abhängigkeiten

Mehr

Referentielle Integrität

Referentielle Integrität Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische

Mehr

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo. Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten

Mehr

Datenintegrität. Bisherige Integritätsbedingungen

Datenintegrität. Bisherige Integritätsbedingungen Datenintegrität Integitätsbedingungen chlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Bedingungen an den Zustand der Datenbasis dynamische Bedingungen an Zustandsübergänge

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

Mehr

SQL: statische Integrität

SQL: statische Integrität SQL: statische Integrität.1 SQL: statische Integrität Im allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen erfüllen. Integritätsbedingungen

Mehr

Informatik für Ökonomen II: Datenintegrität. Prof. Dr. Carl-Christian Kanne

Informatik für Ökonomen II: Datenintegrität. Prof. Dr. Carl-Christian Kanne Informatik für Ökonomen II: Datenintegrität Prof. Dr. Carl-Christian Kanne 1 Konsistenzbedingungen DBMS soll logische Datenintegrität gewährleisten Beispiele für Integritätsbedingungen Schlüssel Beziehungskardinalitäten

Mehr

7. Übung - Datenbanken

7. Übung - Datenbanken 7. Übung - Datenbanken Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: DBS a Was ist die Kernaufgabe von Datenbanksystemen? b Beschreiben Sie kurz die Abstraktionsebenen

Mehr

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007 6. Übung zur Vorlesung Datenbanken im Sommersemester 2007 mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007 Aufgabe 1: Rekursion Betrachten Sie die folgende Tabelle

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Sichten II. Definition einer Sicht. Sichten. Drei-Ebenen-Schema-Architektur. Vorteile Vereinfachung von Anfragen Strukturierung der Datenbank

Sichten II. Definition einer Sicht. Sichten. Drei-Ebenen-Schema-Architektur. Vorteile Vereinfachung von Anfragen Strukturierung der Datenbank Vorteile Vereinfachung von Anfragen Strukturierung der Datenbank Sichten II logische Datenunabhängigkeit (Sichten stabil bei Änderungen der Datenbankstruktur) Beschränkung von Zugriffen (Datenschutz) Definition

Mehr

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung

Integritätsbedingungen / Normalformen- Beispiel: Kontoführung Technische Universität München WS 2003/04, Fakultät für Informatik Datenbanksysteme I Prof. R. Bayer, Ph.D. Lösungsblatt 8 Dipl.-Inform. Michael Bauer Dr. Gabi Höfling 12.01. 2004 Integritätsbedingungen

Mehr

Datenbanksysteme 2013

Datenbanksysteme 2013 Datenbanksysteme 2013 Kapitel 8: Datenintegrität Vorlesung vom 14.05.2013 Oliver Vornberger Institut für Informatik Universität Osnabrück Datenintegrität Statische Bedingung (jeder Zustand) Dynamische

Mehr

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL Datenmodifikation mit SQL Folie 45 SQL - Datenmodifikation Einfügen INSERT INTO Relation [(Attribut, Attribut,...)] VALUES (Wert, Wert,...) INSERT INTO Relation [(Attribut, Attribut,...)] SFW-Anfrage Ändern

Mehr

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software SQL Tutorial SQL - Tutorial SS 06 Hubert Baumgartner INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt des Tutorials 1 2 3 4

Mehr

5.3 Datenänderung/-zugriff mit SQL (DML)

5.3 Datenänderung/-zugriff mit SQL (DML) 5.3 Datenänderung/-zugriff mit SQL (DML) Hinweis: - DML-Anweisungen sind mengenorientiert - Mit einer Anweisungen kann mehr als ein Tupel eingefügt, geändert, gelöscht oder gelesen werden Benutzungs- und

Mehr

Kapitel 8: Datenintegrität

Kapitel 8: Datenintegrität Kapitel 8: Datenintegrität Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines Schlüssels 1:N - Beziehung Angabe einer Domäne Jetzt:

Mehr

Datenbanken: Datenintegrität. www.informatikzentrale.de

Datenbanken: Datenintegrität. www.informatikzentrale.de Datenbanken: Datenintegrität Definition "Datenkonsistenz" "in der Datenbankorganisation (...) die Korrektheit der gespeicherten Daten im Sinn einer widerspruchsfreien und vollständigen Abbildung der relevanten

Mehr

Ein Ausflug zu ACCESS

Ein Ausflug zu ACCESS Ein Ausflug zu ACCESS Die folgenden Folien zeigen beispielhaft, wie man sein DB- Wissen auf ACCESS übertragen kann betrachtet wird ACCESS 2002, da gerade im Bereich der Nutzung von SQL hier einiges nachgearbeitet

Mehr

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL Relationales Modell: SQLDDL SQL als Definitionssprache SQLDDL umfaßt alle Klauseln von SQL, die mit Definition von Typen Wertebereichen Relationenschemata Integritätsbedingungen zu tun haben Externe Ebene

Mehr

Labor 3 - Datenbank mit MySQL

Labor 3 - Datenbank mit MySQL Labor 3 - Datenbank mit MySQL Hinweis: Dieses Labor entstand z.t. aus Scripten von Prof. Dr. U. Bannier. 1. Starten des MySQL-Systems MySQL ist ein unter www.mysql.com kostenlos erhältliches Datenbankmanagementsystem.

Mehr

4. BEZIEHUNGEN ZWISCHEN TABELLEN

4. BEZIEHUNGEN ZWISCHEN TABELLEN 4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe

Mehr

6. Sichten, Integrität und Zugriffskontrolle. Vorlesung "Informa=onssysteme" Sommersemester 2015

6. Sichten, Integrität und Zugriffskontrolle. Vorlesung Informa=onssysteme Sommersemester 2015 6. Sichten, Integrität und Zugriffskontrolle Vorlesung "Informa=onssysteme" Sommersemester 2015 Überblick Sichten Integritätsbedingungen Zugriffsrechte SQL- Schema und SQL- Katalog Das Informa=onsschema

Mehr

Objektrelationale Datenbanken

Objektrelationale Datenbanken Vorlesung Datenbanksysteme vom 26.11.2008 Objektrelationale Datenbanken Konzepte objektrelationaler DBs SQL:1999 OO vs. OR Konzepte objektrelationaler Datenbanken Große Objekte (LOBs: Large Objects) Mengenwertige

Mehr

VO Datenmodellierung. Katrin Seyr

VO Datenmodellierung. Katrin Seyr Datenintegrität Datenintegrität VO Datenmodellierung Katrin Seyr Institut für Informationssysteme Technische Universität Wien Katrin Seyr Seite 1 Datenintegrität 1. Überblick Überblick 1 Überblick 2 Integritätsbedingungen

Mehr

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-

Mehr

Referenzielle Integrität SQL

Referenzielle Integrität SQL Referenzielle Integrität in SQL aus Referential Integrity Is Important For Databases von Michael Blaha (Modelsoft Consulting Corp) VII-45 Referenzielle Integrität Definition: Referenzielle Integrität bedeutet

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 7 Übung zur Vorlesung Grundlagen: Datenbanken im WS13/14 Henrik Mühe (muehe@in.tum.de) http://www-db.in.tum.de/teaching/ws1314/dbsys/exercises/

Mehr

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten Einführung in SQL Die Sprache SQL (Structured Query Language) ist eine Programmiersprache für relationale Datenbanksysteme, die auf dem ANSI-SQL-Standard beruht. SQL wird heute von fast jedem Datenbanksystem

Mehr

Informatik 12 Datenbanken SQL-Einführung

Informatik 12 Datenbanken SQL-Einführung Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung

Mehr

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL XAMPP-Systeme Teil 3: My SQL Daten Eine Wesenseigenschaft von Menschen ist es, Informationen, in welcher Form sie auch immer auftreten, zu ordnen, zu klassifizieren und in strukturierter Form abzulegen.

Mehr

Vorlesung Dokumentation und Datenbanken Klausur

Vorlesung Dokumentation und Datenbanken Klausur Dr. Stefan Brass 5. Februar 2002 Institut für Informatik Universität Giessen Vorlesung Dokumentation und Datenbanken Klausur Name: Geburtsdatum: Geburtsort: (Diese Daten werden zur Ausstellung des Leistungsnachweises

Mehr

Informations- und Wissensmanagement

Informations- und Wissensmanagement Übung zur Vorlesung Informations- und Wissensmanagement (Übung 1) Frank Eichinger IPD, Lehrstuhl für Systeme der Informationsverwaltung Zur Person Beruflicher Hintergrund Studium an der TU Braunschweig

Mehr

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 Hochschule Darmstadt DATENBANKEN Fachbereich Informatik Praktikum 3 Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 PL/SQL Programmierung Anwendung des Cursor Konzepts und Stored Procedures Und Trigger

Mehr

3. Das Relationale Datenmodell

3. Das Relationale Datenmodell 3. Das Relationale Datenmodell Das Relationale Datenmodell geht zurück auf Codd (1970): E. F. Codd: A Relational Model of Data for Large Shared Data Banks. Comm. of the ACM 13(6): 377-387(1970) DBMS wie

Mehr

Datenintegrität. Kapitel 5 1

Datenintegrität. Kapitel 5 1 Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische

Mehr

Das SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik

Das SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik Beispielaufgaben Informationssysteme erstellt von Fabian Rump zur IS Vorlesung 2009/10 1 Multiple Choice Aussage richtig falsch Eine SQL-Abfrage beginnt immer mit dem Schlüsselwort SELECT Eine Datenbank

Mehr

DBS ::: SERIE 5. Join Right Semi- Join Left Semi-Join Projektion Selektion Fremdschlüssel. Kreuzprodukt

DBS ::: SERIE 5. Join Right Semi- Join Left Semi-Join Projektion Selektion Fremdschlüssel. Kreuzprodukt DBS ::: SERIE 5 Die Relation produkt enthält Hersteller, Modellnummer und Produktgattung (pc, laptop oder drucker aller Produkte. Die Modellnummer ist (der Einfachheit halber eindeutig für alle Hersteller

Mehr

4.14.3 Bedingungen über Werte. 4.14.4 Statische Integrität. CHECK-Klausel

4.14.3 Bedingungen über Werte. 4.14.4 Statische Integrität. CHECK-Klausel 4.14.3 Bedingungen über Werte 4.14.4 Statische Integrität Zu jeder Tabelle werden typischerweise ein Primärschlüssel und möglicherweise weitere Schlüssel festgelegt (UNIQUE-Klausel). In jeder Instanz zu

Mehr

Schlüssel bei temporalen Daten im relationalen Modell

Schlüssel bei temporalen Daten im relationalen Modell Schlüssel bei temporalen Daten im relationalen Modell Gesine Mühle > Präsentation > Bilder zum Inhalt zurück weiter 322 Schlüssel im relationalen Modell Schlüssel bei temporalen Daten im relationalen Modell

Mehr

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Aufgabe 1: Projektion Datenbanksysteme I π A1,...,A n (π B1,...,B

Mehr

Views in SQL. 2 Anlegen und Verwenden von Views 2

Views in SQL. 2 Anlegen und Verwenden von Views 2 Views in SQL Holger Jakobs bibjah@bg.bib.de, holger@jakobs.com 2010-07-15 Inhaltsverzeichnis 1 Wozu dienen Views? 1 2 Anlegen und Verwenden von Views 2 3 Schreibfähigkeit von Views 3 3.1 Views schreibfähig

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

6. Datenintegrität. Integritätsbedingungen

6. Datenintegrität. Integritätsbedingungen 6. Integritätsbedingungen dienen zur Einschränkung der Datenbankzustände auf diejenigen, die es in der realen Welt tatsächlich gibt. sind aus dem erstellten Datenmodell ableitbar (semantisch) und können

Mehr

Datenintegrität. Kapitel 5 1

Datenintegrität. Kapitel 5 1 Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische

Mehr

Wiederholung VU Datenmodellierung

Wiederholung VU Datenmodellierung Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

Mehr

Wiederholung VU Datenmodellierung

Wiederholung VU Datenmodellierung Wiederholung VU Datenmodellierung VL Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

Mehr

Datenintegrität. Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung

Datenintegrität. Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung Statische vs. dynamische Integritätsbedingungen Statische Integritätsbedingungen Bedingungen

Mehr

Berechtigungsgruppen und Zeitzonen

Berechtigungsgruppen und Zeitzonen Berechtigungsgruppen und Zeitzonen Übersicht Berechtigungsgruppen sind ein Kernelement von Net2. Jede Gruppe definiert die Beziehung zwischen den Türen des Systems und den Zeiten, zu denen Benutzer durch

Mehr

Datenbanken: Relationales Datenbankmodell RDM

Datenbanken: Relationales Datenbankmodell RDM Das RDM wurde in den 70'er Jahren von Codd entwickelt und ist seit Mitte der 80'er Jahre definierter Standard für Datenbanksysteme! Der Name kommt vom mathematischen Konzept einer Relation: (Sind A, B

Mehr

1. Funktionen und Datenflüsse; Tabellenkalkulationssysteme

1. Funktionen und Datenflüsse; Tabellenkalkulationssysteme Grundwissen Informatik 1. und Datenflüsse; Tabellenkalkulationssysteme Zellbezug relativer Zellbezug absoluter Zellbezug iterative Berechnungen Datentypyen z. B. A4 A ist der Spaltenbezeichner 4 ist die

Mehr

Datenbanken. Prof. Dr. Bernhard Schiefer. bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer

Datenbanken. Prof. Dr. Bernhard Schiefer. bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer Datenbanken Prof. Dr. Bernhard Schiefer bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer Wesentliche Inhalte Begriff DBS Datenbankmodelle Datenbankentwurf konzeptionell, logisch und relational

Mehr

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,

Mehr

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Carl-Christian Kanne. Einführung in Datenbanken p.1/513

Carl-Christian Kanne. Einführung in Datenbanken p.1/513 Einführung in Datenbanken Carl-Christian Kanne Einführung in Datenbanken p.1/513 Kapitel 1 Einführung Einführung in Datenbanken p.2/513 Einführung Was ist ein Datenbanksystem (DBS)? Ein System zum Speichern

Mehr

Skriptenverkauf Datenmodell. Lars Trebing, 4. Juli 2008

Skriptenverkauf Datenmodell. Lars Trebing, 4. Juli 2008 Skriptenverkauf Datenmodell Lars Trebing, 4. Juli 2008 Überblick Verkaufsvorgang Verkaufter Bestand Ärger Nummer Verkaufsvorgang Nummer Lagerplatz Abschlußzeitpunkt primär (ja, nein) Text Verkäufer Kunde

Mehr

Unterabfragen (Subqueries)

Unterabfragen (Subqueries) Unterabfragen (Subqueries) Die kürzeste Formulierung ist folgende: SELECT Felderliste FROM Tabelle1 WHERE Tabelle1.Feldname Operator (SELECT Feldname FROM Tabelle2 WHERE Bedingung); wobei Tabelle1 und

Mehr

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL Betreuer: Sascha Kriewel, Tobias Tuttas Raum: LF 230 Bearbeitung: 26., 27. und 29. Juni 2006 Datum Team (Account) Vorbereitung Präsenz Aktuelle Informationen, Ansprechpartner und Material unter: http://www.is.inf.uni-due.de/courses/dbp_ss07/index.html

Mehr

Inhaltsverzeichnis. 1. Fragestellung

Inhaltsverzeichnis. 1. Fragestellung Inhaltsverzeichnis 1. Fragestellung... 1 2. Herleitung zum Thema... 1 3. Das Entity Relationship Modell (ERM)... 2 4. Praktisches Beispiel zum ERM... 7 5. Anhang...Fehler! Textmarke nicht definiert. 1.

Mehr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr Raum: LF 230 Bearbeitung: 9.-11. Mai 2005 Datum Gruppe Vorbereitung Präsenz Aktuelle Informationen unter: http://www.is.informatik.uni-duisburg.de/courses/dbp_ss03/ Tabellen in IBM DB2 Tabellen Eine relationale

Mehr

How to do? Projekte - Zeiterfassung

How to do? Projekte - Zeiterfassung How to do? Projekte - Zeiterfassung Stand: Version 4.0.1, 18.03.2009 1. EINLEITUNG...3 2. PROJEKTE UND STAMMDATEN...4 2.1 Projekte... 4 2.2 Projektmitarbeiter... 5 2.3 Tätigkeiten... 6 2.4 Unterprojekte...

Mehr

Relationale Datenbanken Datenbankgrundlagen

Relationale Datenbanken Datenbankgrundlagen Datenbanksystem Ein Datenbanksystem (DBS) 1 ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS ist es, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern

Mehr

Kostenstellen verwalten. Tipps & Tricks

Kostenstellen verwalten. Tipps & Tricks Tipps & Tricks INHALT SEITE 1.1 Kostenstellen erstellen 3 13 1.3 Zugriffsberechtigungen überprüfen 30 2 1.1 Kostenstellen erstellen Mein Profil 3 1.1 Kostenstellen erstellen Kostenstelle(n) verwalten 4

Mehr

1. Arbeiten mit dem Touchscreen

1. Arbeiten mit dem Touchscreen 1. Arbeiten mit dem Touchscreen 1.1. Einleitung Als weitere Buchungsart steht bei DirectCASH ein Touchscreen zur Verfügung. Dieser kann zwar normal via Maus bedient werden, vorzugsweise jedoch durch einen

Mehr

Datumsangaben, enthält mindestens Jahr, Monat, Tag

Datumsangaben, enthält mindestens Jahr, Monat, Tag Datenbanken mit SQL Informatik - Sprenger Häufig wird mit Tabellenkalkulationen gearbeitet, obwohl der Einsatz von Datenbanken sinnvoller ist. Tabellenkalkulationen wie Microsoft Excel oder LibreOffice

Mehr

Datenbanken 16.1.2008. Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt:

Datenbanken 16.1.2008. Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt: Datenbanksysteme Entwicklung der Datenbanksysteme Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt: 1. Generation: In den fünfziger

Mehr

ER-Modellierung am Beispiel der Universitätsdatenbank aus der DBIS-Vorlesung

ER-Modellierung am Beispiel der Universitätsdatenbank aus der DBIS-Vorlesung ER-Modellierung am Beispiel der Universitätsdatenbank aus der DBIS-Vorlesung Datenbank-Praktikum SS 2010 Prof. Dr. Georg Lausen Florian Schmedding ER-Modell: Wiederholung Entitäten E Beziehungen B Attribute

Mehr

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten Was sind Berechtigungen? Unter Berechtigungen werden ganz allgemein die Zugriffsrechte auf Dateien und Verzeichnisse (Ordner) verstanden.

Mehr

Beispiel 1: Filmdatenbank

Beispiel 1: Filmdatenbank Beispiel 1: Filmdatenbank Die Filmdatenbank hat drei Tabellen (ACTOR, MOVIE, PLAYED) Aufgabe 1: Erstelle mit Hilfe der SQL-DDL die drei Tabellen und die Datenbank (MOVIEDB) ACTOR (ActorID, Name, Birthday,

Mehr

Software-Engineering Einführung

Software-Engineering Einführung Software-Engineering Einführung 7. Übung (04.12.2014) Dr. Gergely Varró, gergely.varro@es.tu-darmstadt.de Erhan Leblebici, erhan.leblebici@es.tu-darmstadt.de Tel.+49 6151 16 4388 ES Real-Time Systems Lab

Mehr

Fachhochschule Deggendorf Platzziffer:...

Fachhochschule Deggendorf Platzziffer:... Sommersemester 2008 Zahl der Blätter: 9 Fachbereich: Betriebswirtschaft WI Bachelor Hilfsmittel: alles ohne Computer Zeit: 90 Minuten 1 Betrachten Sie die drei markierten Zeilen. 1. Angenommen Sie hätten

Mehr

Konstante Relationen

Konstante Relationen Konstante Relationen values-syntax erzeugt konstante Relation values ( [, Konstante] * )[, ( [, Konstante] * )]* Beispiel values (1, eins ), (2, zwei ), (3, drei ); Resultat ist eine

Mehr

Whitepaper. Produkt: combit Relationship Manager. Einbindung externer FiBu-/Warenwirtschaftsdaten. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit Relationship Manager. Einbindung externer FiBu-/Warenwirtschaftsdaten. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Einbindung externer FiBu-/Warenwirtschaftsdaten Einbindung externer FiBu-/Warenwirtschaftsdaten - 2 - Inhalt Ausgangssituation

Mehr

IV. Datenbankmanagement

IV. Datenbankmanagement Wirtschaftsinformatik 2 (PWIN) IV. Datenbankmanagement Kapitel 2: Datenmanipulationssprache SQL Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 1 Agenda 1.

Mehr

Datenbanken. Datenintegrität + Datenschutz. Tobias Galliat. Sommersemester 2012

Datenbanken. Datenintegrität + Datenschutz. Tobias Galliat. Sommersemester 2012 Datenbanken Datenintegrität + Datenschutz Tobias Galliat Sommersemester 2012 Professoren PersNr Name Rang Raum 2125 Sokrates C4 226 Russel C4 232 2127 Kopernikus C3 310 2133 Popper C3 52 2134 Augustinus

Mehr

Archiv - Berechtigungen

Archiv - Berechtigungen Archiv - Berechtigungen - 1 Inhaltsverzeichnis 1. Grunddefinitionen...3 1.1. Mögliche Definitionen...3 1.1.1. Programme...3 1.1.2. Prinzipale...3 1.1.3 Archivzugriff...3 1.2. Leserichtung...3 1.2.1. Ordnerbezogen...3

Mehr

SQL structured query language

SQL structured query language Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query

Mehr

Urlaubsregel in David

Urlaubsregel in David Urlaubsregel in David Inhaltsverzeichnis KlickDown Beitrag von Tobit...3 Präambel...3 Benachrichtigung externer Absender...3 Erstellen oder Anpassen des Anworttextes...3 Erstellen oder Anpassen der Auto-Reply-Regel...5

Mehr

Upgrade-Leitfaden. Apparo Fast Edit 1 / 7

Upgrade-Leitfaden. Apparo Fast Edit 1 / 7 Upgrade-Leitfaden Apparo Fast Edit 1 / 7 Inhaltsverzeichnis 1 Download der neuen Version... 4 2 Sicherung des Apparo Datenbank-Repository... 4 3 De-Installation der installierten Apparo Fast Edit Version...

Mehr

Relationale Datenbanken in der Praxis

Relationale Datenbanken in der Praxis Seite 1 Relationale Datenbanken in der Praxis Inhaltsverzeichnis 1 Datenbank-Design...2 1.1 Entwurf...2 1.2 Beschreibung der Realität...2 1.3 Enitiy-Relationship-Modell (ERM)...3 1.4 Schlüssel...4 1.5

Mehr

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL Früherer Name: SEQUEL SQL: Structured Query Language Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL ist eine deklarative Anfragesprache Teile von SQL Vier große Teile:

Mehr

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld "Sharing". Auf dem Bildschirm sollte folgendes Fenster erscheinen:

Um dies zu tun, öffnen Sie in den Systemeinstellungen das Kontrollfeld Sharing. Auf dem Bildschirm sollte folgendes Fenster erscheinen: Einleitung Unter MacOS X hat Apple die Freigabe standardmäßig auf den "Public" Ordner eines Benutzers beschränkt. Mit SharePoints wird diese Beschränkung beseitigt. SharePoints erlaubt auch die Kontrolle

Mehr

Profilbezogene informatische Bildung in den Klassenstufen 9 und 10. Schwerpunktthema Daten und Datenbanken

Profilbezogene informatische Bildung in den Klassenstufen 9 und 10. Schwerpunktthema Daten und Datenbanken Profilbezogene informatische Bildung in den Klassenstufen 9 und 10 Schwerpunktthema Robby Buttke Fachberater für Informatik RSA Chemnitz Fachliche Einordnung Phasen relationaler Modellierung Fachlichkeit

Mehr

PowerPoint 2010 Mit Folienmastern arbeiten

PowerPoint 2010 Mit Folienmastern arbeiten PP.002, Version 1.1 07.04.2015 Kurzanleitung PowerPoint 2010 Mit Folienmastern arbeiten Der Folienmaster ist die Vorlage für sämtliche Folien einer Präsentation. Er bestimmt das Design, die Farben, die

Mehr

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Bevor Sie die Platte zum ersten Mal benutzen können, muss sie noch partitioniert und formatiert werden! Vorher zeigt sich die Festplatte

Mehr

ER-Modell. Entity-Relationship-Model

ER-Modell. Entity-Relationship-Model + ER-Modell Entity-Relationship-Model + Was ist ein Modell? Worte/Zitat aus einem Physikbuch: "Modelle sind also Vorstellungshilfen und Wirklichkeitshilfen, nicht die Wirklichkeit selbst." (Metzler Physik).

Mehr

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester

Mehr

Hilfe zur Dokumentenverwaltung

Hilfe zur Dokumentenverwaltung Hilfe zur Dokumentenverwaltung Die Dokumentenverwaltung von Coffee-CRM ist sehr mächtig und umfangreich, aber keine Angst die Bedienung ist kinderleicht. Im Gegensatz zur Foto Galeria können Dokumente

Mehr

Probeklausur im Modul Informationstechnik 1, WS 2003/04. Studiengang IWD 1. Semester Seite 1 von 5

Probeklausur im Modul Informationstechnik 1, WS 2003/04. Studiengang IWD 1. Semester Seite 1 von 5 Probeklausur im Modul Informationstechnik 1, WS 2003/04. Studiengang IWD 1. Semester Seite 1 von 5 Probeklausur im Modul Informationstechnik 1, WS 2003/04. Studiengang IWD 1. Semester Hinweise Der Aufgabensatz

Mehr

Excel Pivot-Tabellen 2010 effektiv

Excel Pivot-Tabellen 2010 effektiv 7.2 Berechnete Felder Falls in der Datenquelle die Zahlen nicht in der Form vorliegen wie Sie diese benötigen, können Sie die gewünschten Ergebnisse mit Formeln berechnen. Dazu erzeugen Sie ein berechnetes

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

SharePoint Demonstration

SharePoint Demonstration SharePoint Demonstration Was zeigt die Demonstration? Diese Demonstration soll den modernen Zugriff auf Daten und Informationen veranschaulichen und zeigen welche Vorteile sich dadurch in der Zusammenarbeit

Mehr

Access 2000 und MS SQL Server im Teamwork

Access 2000 und MS SQL Server im Teamwork Access 2000 und MS SQL Server im Teamwork von Irene Bauder, Jürgen Bär 1. Auflage Hanser München 2000 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 21473 6 Zu Inhaltsverzeichnis schnell und

Mehr