Vorlesung Datenbankmanagementsysteme

Größe: px
Ab Seite anzeigen:

Download "Vorlesung Datenbankmanagementsysteme"

Transkript

1 Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache (auf Basis von Oracle) Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-1

2 SQL als Datendefinitionssprache Wiederholung - Vermeidung lokaler Redundanzen, Vermeidung globaler Redundanzen, Abhängigkeitstreue, Verbundtreue Oracle-Datentypen - Standarddatentypen, spezielle Datentypen und Funktionalitäten Erstellen, Ändern, Löschen von DB-Objekten - Constraints, Tabellen, Sequenzen Zusammenfassung Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-2

3 Wiederholung Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-3

4 Normalformen Normalform (auch kanonische Form) allg.: - Eine Darstellung mit bestimmten vorgegebenen Eigenschaften Nutzung von Normalformen - Legen Eigenschaften von Relationenschemata fest - Verbieten bestimmte Kombinationen von funktionalen Abhängigkeiten in Relationen - Sollen Redundanzen und Anomalien vermeiden Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-4

5 Erste Normalform (1NF) Normalformen II - Erlaubt nur atomare (=unteilbare) Einzelwerte in den Relationenschemata Elemente von Standard-Datentypen wie integer oder string erlaubt Konstruktoren wie array oder set nicht erlaubt - 1NF verhindert: Relationen innerhalb von Reationen oder Relationen als Attribute von Tupeln Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-5

6 Erste Normalform (Forts.) Normalformen III - Verletzung der 1. Normalform Attribut AlbumNr enthält eine Menge von Werten - Probleme bei Abfragen des Datenbestandes Keine Sortierung nach AlbumNr möglich Alle Werte nur gleichzeitig oder gar nicht darstellbar Aufspaltung notwendig [Quelle: Heuer, Saake: Foliensatz Datenbanken I, 5-42] Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-6

7 Erste Normalform (Forts.) Normalformen IV [Quelle: Heuer, Saake: Foliensatz Datenbanken I, 5-43] Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-7

8 Zweite Normalform (2NF) Normalformen V - Eine Relation ist in 2. Normalform, wenn: sie in 1. Normalform ist und jedes nicht zum Primärschlüssel gehörende Attribut von diesem voll funktional abhängig ist - Was bedeutet das? Jedes Nichtschlüsselattribut ist von allen Teilen des Primärschlüssels abhängig Partielle funktionale Abhängigkeiten, d.h. funktionale Abhängigkeiten von Teilen des Primärschlüssels, werden eliminiert Besteht der Primärschlüssel nur aus einem Teil, so ist der Test überflüssig Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-8

9 Normalformen VI Zweite Normalform (Forts.) - Partielle Abhängigkeit liegt vor, wenn ein Attribut funktional schon von einem Teil des Schlüssels abhängt Schlüssel KNr, AlbumNr KName, Titel, Datum aber auch: AlbumNr Titel (1) KNr Kname (2) Partielle Abhängigkeit (2) Partielle Abhängigkeit (1) - Probleme durch redundante Daten möglich Z.B. Änderung des Kundennamens für eines der beiden Tupel mit KNr 101 führt zu Dateninkonsistenz hinsichtlich des anderen Tupels - Zweite Normalform eliminiert derartige partielle Abhängigkeiten bei Nicht- Schlüsselattributen [Quelle: Heuer, Saake: Foliensatz Datenbanken I, 5-44] Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-9

10 Normalformen VII Zweite Normalform (Forts.) Eliminierung partieller Abhängigkeiten Tabelle enthält nur noch Attribute, die voll funktional vom Schlüssel abhängen [Quelle: Heuer, Saake: Foliensatz Datenbanken I, 5-45] Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-10

11 Dritte Normalform (3NF) Normalformen VIII - Eine Relation ist in 3. Normalform, wenn: sie in 2. Normalform ist und kein Attribut, dass nicht zum Primärschlüssel gehört, von diesem transitivabhängt - Was bedeutet das? Attribut A 2 ist von Schlüssel P transitiv abhängig, wenn ein Attribut A 1 existiert, sodass (P A 1 ) und (A 1 A 2 ), d.h. A 2 hängt über A 1 von P ab (P A 1 ) (A 1 A 2 ) (P A 1 ) Ein Nichtschlüsselattribut darf nur vom Schlüssel abhängen Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-11

12 Normalformen IX Dritte Normalform (Forts.) - Eliminiert (zusätzlich) transitive Abhängigkeiten AlbumNr MNr MNr Name - Man beachte: 3NF betrachtet nur Nicht-Schlüsselattribute als Endpunkt transitiver Abhängigkeiten [Quelle: Heuer, Saake: Foliensatz Datenbanken I, 5-25] Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-12

13 Normalformen X Dritte Normalform (Forts.) Eliminierung transitiver Abhängigkeiten [Quelle: Heuer, Saake: Foliensatz Datenbanken I, 5-47] Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-13

14 Minimalität Bisher: Vermeidung von lokalen Redundanzen innerhalb von Relationen Jetzt: angestrebte Schemaeigenschaft zur Vermeidung globaler Redundanzen andere Kriterien (wie Normalformen) mit möglichst wenig Schemata erreichen Beispiel - Attributmenge ABC, FD-Menge {A B, B C} - Datenbankschemata in dritter Normalform S = {(AB, {A}), (BC, {B})} S = {(AB, {A}), (BC, {B}), (AC, {A})} - Redundanzen in S Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-14

15 Transformationseigenschaften Transformationseigenschaften - Bei einer Zerlegung einer Relation in mehrere Relationen ist darauf zu achten, dass 1. nur semantisch sinnvolle und konsistente Anwendungsdaten dargestellt (Abhängigkeitstreue) und 2. alle Anwendungsdaten aus den Basisrelationen hergeleitet werden können (Verbundtreue) Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-15

16 Abhängigkeitstreue Alle funktionalen Abhängigkeiten der ursprünglichen Relation gelten auch nach der Zerlegung noch Beispiel Im Beispiel: transitive Abhängigkeiten Zerlegung des Relationenschemas Album in 3NF: AlbumNr Titel, Jahr, Genre, MNr MNr Name, Land äquivalent zu Schlüsselabhängigkeiten abhängigkeitstreu [Quelle: Heuer, Saake: Foliensatz Datenbanken I, 5-25] Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-16

17 Verbundtreue Zur Erfüllung des Kriteriums der Normalformen müssen Relationenschemata teilweise in kleinere Relationenschemata zerlegt werden Für Beschränkung auf sinnvolle Zerlegungen gilt Forderung, dass die Originalrelation wieder aus den zerlegten Relationen mit dem natürlichen Verbund zurückgewonnen werden kann Verbundtreue Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-17

18 Verbundtreue II Verbundtreue Dekomposition für F = {A B, B C} - Originalrelation: - Dekomposition: - Verbund (verbundtreu): [Quelle: Heuer, Saake: Foliensatz Datenbanken I, 5-58] Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-18

19 Verbundtreue III Nicht verbundtreue Dekomposition für F = {A B, C B} - Originalrelation: - Dekomposition: - Verbund (nicht verbundtreu): [Quelle: Heuer, Saake: Foliensatz Datenbanken I, 5-59] Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-19

20 Oracle-Datentypen Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-20

21 CHAR(n) - Zeichenkette fester Länge Oracle-Datentypen - n kann Werte zwischen 1 und 2000 Bytes/Zeichen annehmen - Benötigt Speicherplatz für jedes definierte Zeichen - Beispiel NCHAR(n) CHAR(100), identisch mit CHAR(100 BYTE) CHAR(100 CHAR) - Zeichenkette fester Länge mit anderem Zeichensatz als dem der Datenbank - Wie CHAR Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-21

22 VARCHAR2(n) Oracle-Datentypen II - Zeichenkette variabler Länge - n kann Werte zwischen 1 und 4000 Bytes/Zeichen annehmen - Benötigt Speicherplatz für jedes verwendete Zeichen - Beispiel VARCHAR2(100), identisch mit VARCHAR2(100 BYTE) VARCHAR2(100 CHAR) - char(100) := ' ' 100 Bytes - varchar2(100) := ' ' 10 Bytes Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-22

23 NVARCHAR2(n) Oracle-Datentypen III - Zeichenkette variabler Länge mit anderem Zeichensatz als dem der Datenbank - Wie VARCHAR ANSI-Datentypen wie - STRING - VARCHAR sind auch verfügbar, werden aber intern auf VARCHAR2 abgebildet Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-23

24 NUMBER(p [,s]) - Numerische Werte Oracle-Datentypen IV - Precision p Gesamtzahl der Stellen von 1 bis 38 - Scale s Anzahl der Nachkommastellen ANSI-Datentypen wie - DECIMAL - FLOAT - INTEGER sind auch verfügbar, werden aber intern auf NUMBER abgebildet Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-24

25 Oracle-Datentypen V BOOLEAN nur als PL/SQL-Datentyp - Werte TRUE, FALSE, NULL LONG - Variable Zeichenkette bis zu 2 GB RAW(n) - Binärdaten fester Länge - n kann Werte zwischen 1 und 2000 Bytes annehmen LONG RAW - Binärdaten variabler Länge bis zu 2 GB Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-25

26 CLOB/NCLOB - Zeichenketten bis 128 TB Oracle-Datentypen VI BLOB - Binärdaten bis 128 TB BFILE - Zeiger auf Binärdateien außerhalb der Datenbank bis 128 TB Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-26

27 DATE Oracle-Datentypen VII - Datum und Uhrzeit sekundengenau - Felder YEAR, MONTH, DAY, HOUR, MINUTE, SECOND - Intern werden zu Jahr, Monat und Tag auch Stunden, Minuten und Sekunden gespeichert - Wertebereich v. Chr. bis n. Chr. - Keine Unterstützung von Zeitzonen TIMESTAMP - Weitere Unterteilung von Sekunden möglich TIMESTAMP WITH TIME ZONE - Unterstützung von Zeitzonen Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-27

28 Oracle-Datentypen VIII Arithmetik auf Datumsangaben - Datumswert + 1 ergibt Datum des nächsten Tages - DatumswertA DatumswertB ergibt die Anzahl der Tage zwischen den Datumsangaben Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-28

29 Einschub: Tabelle DUAL DUAL: interne Oracle-Tabelle für schnelle Tests und Berechnungen - Einspaltige Tabelle (Attributname: DUMMY) - Datentyp: VARCHAR2(1) - Wert: X Hintergrund: - SQL-Syntax schreibt die Verwendung der FROM-Klausel vor, einige Anfragen benötigen diese jedoch nicht Dummy-Tabelle DUAL Beispiel - SELECT 1+1 FROM DUAL; 2 - SELECT POWER(4,3) FROM DUAL; 64 - SELECT USER FROM DUAL; DB-Nutzername Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-29

30 Datumsfunktionen SYSDATE - Gibt das aktuelle Datum und die Uhrzeit des Betriebssystems zurück - Rückgabedatentyp: DATE - Rückgabeformat von der Standardeinstellung der DB abhängig - SELECT SYSDATE FROM DUAL; CURRENT_DATE - Gibt das aktuelle Datum und die Uhrzeit der Zeitzone der Session zurück - Rückgabedatentyp: DATE - Rückgabeformat von der Standardeinstellung der DB abhängig - SELECT CURRENT_DATE FROM DUAL; Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-30

31 Datumsfunktionen II CURRENT_DATE (Forts.) - Änderung des Datumsformats * + Uhrzeit der aktuellen Zeitzone (GMT+2) - Zusätzlich Änderung der Zeitzone *DB-Parameter NLS_DATE_FORMAT (NLS = National Language Support) Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-31

32 Datumsfunktionen III SYSTIMESTAMP - Gibt Datum und Uhrzeit (einschl. Teilen von Sekunden) und Zeitzone des DB-Servers zurück - Rückgabedatentyp: TIMESTAMP WITH TIME ZONE Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-32

33 Datumsfunktionen IV ADD_MONTHS( Datum, Anzahl) - select ADD_MONTHS(' ', 4) from dual; select ADD_MONTHS(' ', -4) from dual; EXTRACT( Zeiteinheit FROM Zeitangabe) - select extract(year FROM to_date(' ', 'YY-MM-DD')) from dual; 2042 LAST_DAY (Datum) - select LAST_DAY(' ') from dual; select LAST_DAY(' ') from dual; select LAST_DAY(' ') from dual; MONTHS_BETWEEN(Datum1, Datum2) - select MONTHS_BETWEEN(' ', ' ') from dual; -44, select MONTHS_BETWEEN(' ', ' ') from dual; 44,06451 Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-33

34 Datumsfunktionen V GREATEST(Datum1, Datum2,, DatumN) - select greatest(to_date(' '), to_date(' ')) from dual; LEAST(Datum1, Datum2,, DatumN) - select least(to_date(' '), to_date(' ')) from dual; Werte müssen im Datentyp DATE vorliegen bzw. mittels TO_DATE in diesen umgewandelt werden Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-34

35 Datumsfunktionen VI NEXT_DAY(Datum, 'Wochentag') - select NEXT_DAY(' ', 'Montag') from dual; select NEXT_DAY(' ', 'Dienstag') from dual; DBTIMEZONE - select DBTIMEZONE from dual; +02:00 TO_CHAR(Datum, 'Format') - select to_char(' ') from dual; (String) - select to_char(sysdate, 'HH24:MI:SS') from dual; 16:36:20 (String) TO_DATE(Zeichenkette, 'Format') - select to_date(' ', 'DD-MM-YY') from dual; select to_date(' ', 'YY-MM-DD') from dual; Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-35

36 Datumsfunktionen VII Formatierungsmöglichkeiten - TO_DATE(Zeichenkette, 'Format ) select to_date(' ','mm/dd/yy') from dual; (als Datum) select to_date(' ', 'DD-MM-YY') from dual; select to_date(' ', 'YY-MM-DD') from dual; select to_date(' ','mm/dd/yy') from dual; select to_date('06.mai.07', 'DD-Mon-YYYY') from dual; select to_date('mai', 'Mon') from dual; select to_date('09', 'YY') from dual; TO_CHAR(Datum) select to_char(to_date('09/08/1969', 'DD-MM-YYYY'), 'mon') from dual; aug select to_char(to_date('09/08/1969', 'DD-MM-YYYY'), 'Mon') from dual; Aug select to_char(to_date('09/08/1969', 'MM-DD-YYYY'), 'Mon') from dual; Sep select to_char(to_date('09/08/1969', 'MM-DD-YYYY'), 'Month') from dual; September select to_char(to_date('09/08/1969', 'MM-DD-YYYY'), 'Year') from dual; Nineteen Sixty-Nine select to_char(to_date('09/08/1969', 'MM-DD-YYYY'), 'day') from dual; montag select to_char(to_date('09/08/1969', 'DD-MM-YYYY'), 'MMth') from dual; 08TH select to_char(to_date('09/08/1969', 'MM-DD-YY'), 'YY-MM-DD') from dual; select to_char(to_date('09/08/1969', 'MM-DD-YY'), 'DD. Month YY') from dual; 08. September 69 select to_char(to_date('09/08/1969', 'MM-DD-YY'), 'DD. Month YYYY') from dual; 08. September 1969 Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-36

37 Datumsfunktionen VIII Formatierungsmöglichkeiten (Forts.) /, - :. Werden bei der Anzeige von TO_CHAR eingebunden und bei TO_DATE ignoriert A.D. oder AD bzw. B.C. oder BC A.M. oder AM bzw. P.M. oder PM CC Jahrhundert D Anzahl der Tage in der Woche (1 bis 7, beginnend mit Montag) DAY (Tagesname ausgeschrieben und aufgefüllt auf 9 Stellen) DD Anzahl der Tage im Monat (1 bis 31) DDD Anzahl der Tage innerhalb eines Jahres (1 bis 366) HH od. HH12 1 bis 12 Stunden HH24 1 bis 24 Stunden MI Minuten RR Die letzten beiden Ziffern der Jahreszahl relativ zum aktuellen Datum W Wochenzahl innerhalb eines Monats WW Woche im Jahr Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-37

38 Erstellen, Ändern, Löschen von DB-Objekten Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-38

39 Structured Query Language (SQL) Mächtig und standardisiert (ANSI, ISO) - Aktuell: SQL:2011 ISO/IEC 9075:2011 Deklarativ Wichtigste Teilsprachen der SQL - Schemadefinition (Data Definition Language, DDL) - Datenmanipulation (Data Manipulation Language, DML) - Einrichtung von Zugriffspfaden (Storage Structure Language, SSL) - Anfrageformulierung (Interactive Query Language, IQL) Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-39

40 Datendefinition mit SQL Werkzeug zum Umsetzen eines Datenbankschemas in ein konkretes DBS Anforderungen an eine relationale DDL (Codd 1982, 1990) Definition von Attributen Wertebereichen Relationenschemata Primärschlüsseln Fremdschlüsseln Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-40

41 Datendefinition mit SQL II SQL-DDL-Konzepte - Externe Ebene create view drop view - Konzeptuelle Ebene create table alter table drop table auch create/alter/drop domain (SQL-92) - Interne Ebene create index alter index drop index Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-41

42 create-table-anweisung Definition eines Relationenschematas Wirkung dieses Kommandos - Ablage des Relationenschemas im Data Dictionary - Vorbereitung einer leeren Basisrelation in der Datenbank Syntax für einfachste Form CREATE TABLE BASISRELATIONENNAME ( SPALTENNAME1 WERTEBEREICH1 [Constraint-Klausel],..., SPALTENNAMEK WERTEBEREICHK [Constraint-Klausel] ); Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-42

43 Constraint-Klauseln Constraint = Bedingung, Einschränkung Constraints werden zur Definition von Integritätsbedingungen benutzt Regeln zur Einschränkung der erlaubten Datenwerte Constraints - NOT NULL - UNIQUE - PRIMARY KEY - FOREIGN KEY - CHECK Verwendbar bei - CREATE ALTER TABLE - CREATE ALTER VIEW Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-43

44 Constraint-Klauseln II NOT NULL - Betreffende Spalte muss immer einen Wert haben - Wird als Teil der Spaltendefinition festgelegt (Inline) CREATE TABLE PROFESSOR ( ); MNR NUMBER NOT NULL, NAME VARCHAR2(255) NOT NULL Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-44

45 Constraint-Klauseln III UNIQUE - Jeder Wert darf in einer Spalte nur einmal vorkommen - NULL-Werte sind möglich - Wird als Teil der Spaltendefinition festgelegt (Inline) CREATE TABLE PROFESSOR ( MNR NUMBER UNIQUE ); oder separat definiert (Out of line) bei mehreren Spalten nur Out of line CREATE TABLE PROFESSOR ( ); MNR NUMBER, UNIQUE(MNR) Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-45

46 Constraint-Klauseln IV PRIMARY KEY - Kombiniert die Constraints NOT NULL und UNIQUE - Maximal ein PK pro Tabelle - Wird als Teil der Spaltendefinition festgelegt (Inline) CREATE TABLE PROFESSOR ( MNR NUMBER PRIMARY KEY ); oder separat definiert (Out of line) bei mehreren Spalten nur Out of line CREATE TABLE PROFESSOR ( ); MNR NUMBER, PRIMARY KEY (MNR) Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-46

47 Constraint-Klauseln V FOREIGN KEY - Prüft auf korrespondierende Werte in der referenzierten Tabelle - Mehrere FKs pro Tabelle möglich - Wird als Teil der Spaltendefinition festgelegt (Inline) CREATE TABLE VORLESUNG ( NAME VARCHAR2(100) PRIMARY KEY, LEHRENDER_PROFESSOR NUMBER REFERENCES PROFESSOR(MNR) ); oder separat definiert (Out of line) bei mehreren Spalten nur Out of line CREATE TABLE VORLESUNG ( NAME VARCHAR2(100) PRIMARY KEY, LEHRENDER_PROFESSOR NUMBER, FOREIGN KEY (LEHRENDER_PROFESSOR) REFERENCES PROFESSOR(MNR) ); Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-47

48 Constraint-Klauseln VI FOREIGN KEY (Forts.) - Was soll beim Löschen eines Primärschlüsselwertes mit abhängigen Fremdschlüsseltupeln geschehen? Wenn nichts weiter angegeben: Löschen nicht möglich Klausel ON DELETE CASCADE: referenzierende Fremdschlüsseltupel werden entfernt Klausel ON DELETE SET NULL: referenzierende Fremdschlüsselwerte werden NULL auf gesetzt CREATE TABLE VORLESUNG ( NAME VARCHAR2(100) PRIMARY KEY, LEHRENDER_PROFESSOR NUMBER REFERENCES PROFESSOR(MNR) ON DELETE CASCADE ); CREATE TABLE VORLESUNG ( NAME VARCHAR2(100) PRIMARY KEY, LEHRENDER_PROFESSOR NUMBER REFERENCES PROFESSOR(MNR) ON DELETE SET NULL ); Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-48

49 Constraint-Klauseln VII CHECK - Werte müssen einer bestimmten Bedingung entsprechen - Wird Inline oder Out of line definiert CREATE TABLE ARTIKEL ( ); ANR NUMBER PRIMARY KEY, NAME VARCHAR2(100) CHECK (NAME IS NOT NULL), PREIS NUMBER CHECK (PREIS >= 0) - CHECK-Constraint mit IS NOT NULL Alternative zum NOT-NULL-Constraint - Bedingungen sorgfältig wählen Widersprüche werden von Oracle nicht überprüft Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-49

50 Constraint-Klauseln VIII Constraints können explizit benannt werden CREATE TABLE ARTIKEL ( ); ANR NUMBER CONSTRAINT ARTIKEL_PK PRIMARY KEY, NAME VARCHAR2(100) CONSTRAINT ARTIKEL_NN1 NOT NULL, PREIS NUMBER CONSTRAINT ARTIKEL_CK1 CHECK (PREIS >= 0) CREATE TABLE ARTIKEL ( ); ANR NUMBER, NAME VARCHAR2(100) NOT NULL, PREIS NUMBER, CONSTRAINT ARTIKEL_PK PRIMARY KEY (ANR), CONSTRAINT ARTIKEL_CK1 CHECK (PREIS >= 0) Constraints können aktiviert/deaktiviert werden ALTER TABLE ARTIKEL ENABLE CONSTRAINT ARTIKEL_CK1; ALTER TABLE ARTIKEL DISABLE CONSTRAINT ARTIKEL_CK1; Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-50

51 Ändern einer Tabelle alter-table-anweisung - Namensänderung der Tabelle - Spalten Umbenennen Hinzufügen Ändern Löschen - Constraints Umbenennen Hinzufügen Ändern Löschen Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-51

52 alter-table-anweisung II Namensänderung der Tabelle ALTER TABLE ARTIKEL RENAME TO NEUE_ARTIKEL; Spalten - Umbenennen ALTER TABLE ARTIKEL RENAME COLUMN NAME TO NACHNAME; - Hinzufügen ALTER TABLE ARTIKEL ADD VORNAME VARCHAR2(100) NOT NULL; - Ändern ALTER TABLE ARTIKEL MODIFY (VORNAME VARCHAR2(150)); Spalte darf keine Werte enthalten - Löschen ALTER TABLE ARTIKEL DROP COLUMN VORNAME; Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-52

53 alter-table-anweisung III Constraints - Umbenennen ALTER TABLE ARTIKEL RENAME CONSTRAINT ARTIKEL_CK1 TO CK_CON1; - Hinzufügen ALTER TABLE ARTIKEL ADD CONSTRAINT CK_CON2 CHECK (PREIS < 100); - Ändern ALTER TABLE ARTIKEL MODIFY (NAME NULL); ALTER TABLE ARTIKEL MODIFY CONSTRAINT ARTIKEL_PK ENABLE DISABLE; - Löschen ALTER TABLE ARTIKEL DROP CONSTRAINT CK_CON2; ALTER TABLE ARTIKEL DROP PRIMARY KEY CASCADE; Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-53

54 Löschen einer Tabelle drop-table-anweisung drop table professor; Löschen einer Tabelle, wenn Fremdschlüssel darauf verweisen drop table professor cascade constraints; Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-54

55 Datentypen/Wertebereiche Neben Standarddatentypen mit ihren Wertebereichen im SQL-Standard auch benutzerdefinierte möglich Aber: die CREATE-DOMAIN-Anweisung ist zwar Bestandteil des SQL-Standards, wird aber nicht von Oracle unterstützt Alternativen - CHECK-Constraints - Look-up-Tabellen (LUT) - CREATE TYPE Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-55

56 Sequenzen In Oracle existiert kein Datentyp, der ein Auto-Inkrement unterstützt - Z.B. für Primärschlüssel - Bestimmung des maximalen Wertes und manuelle Inkrementierung ist aufwendig Lösung: Sequenzen - DB-Objekt zur Generierung eindeutiger Integer-Werte - Nach der Erzeugung eines Wertes wird die Sequenz immer inkrementiert unabhängig von COMMIT/ROLLBACK - Sequenz kann von verschiedenen Benutzern gleichzeitig verwendet werden keine Konflikte - Sequenzen sind nicht an Tabellen-Objekte gebunden Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-56

57 Sequenzen II Erstellen einer Sequenz CREATE SEQUENCE ARTIKEL_SEQ; Optionen - INCREMENT BY legt Intervall zwischen den Werten fest (Default: positive Zahl; bei neg. Zahl absteigende Sequenz) - START WITH legt ersten Wert fest - MAXVALUE höchster Wert, den die Sequenz annehmen kann - NOMAXVALUE Default, mögliche Werte - MINVALUE kleinster Wert der Sequenz (MINVALUE START WITH < MAXVALUE) - NOMINVALUE Default, 1 bei aufsteigender und bei absteigender Sequenz - CYCLE Sequenz beginnt bei Erreichen von MAXVALUE wieder mit MINVALUE (aufsteigende Sequenz; bei absteigender umgekehrt) - NOCYCLE Default, Sequenz kann nicht mehr Werte generieren als in MAXVALUE / MINVALUE angegeben - CACHE zur Beschleunigung kann das DBMS mehrere Werte allozieren (mind. 2) - NOCACHE Werte werden nicht im Cache gehalten (wenn weder CACHE noch NOCACHE angegeben werden, werden 20 Werte vorgehalten) - ORDER DBMS stellt sicher, dass Werte in der richtigen Reihenfolge geliefert werden (beim Real Application Cluster wichtig) - NOORDER Default, auf einer Single-Instance ausreichend Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-57

58 Sequenzen III CREATE SEQUENCE ARTIKEL_SEQ INCREMENT BY 1 START WITH 100 NOMAXVALUE NOMINVALUE NOCYCLE CACHE 10 NOORDER ; Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-58

59 Sequenzen IV Ändern einer Sequenz ALTER SEQUENCE ARTIKEL_SEQ INCREMENT BY 2; ALTER SEQUENCE ARTIKEL_SEQ CACHE 15; Löschen einer Sequenz DROP SEQUENCE ARTIKEL_SEQ; Pseudo-Spalten - CURRVAL gibt den aktuellen Wert der Sequenz zurück SELECT ARTIKEL_SEQ.CURRVAL FROM DUAL; - NEXTVAL inkrementiert die Sequenz und gibt den nächsten Wert zurück SELECT ARTIKEL_SEQ.NEXTVAL FROM DUAL; Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-59

60 Zusammenfassung Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-60

61 Oracle-Datentypen Zusammenfassung - Standarddatentypen - Spezielle Datentypen (DATE, TIMESTAMP, ) Constraints - Erstellen/Ändern/Löschen Tabellen - Erstellen/Ändern/Löschen Sequenzen - Erstellen/Ändern/Löschen Vorlesung Datenbankmanagementsysteme SQL als Datendefinitionssprache M. Lange, S. Weise Folie #7-61

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

Vorlesung Datenbankmanagementsysteme

Vorlesung Datenbankmanagementsysteme Vorlesung Datenbankmanagementsysteme SQL als Anfrage- und Datenmanipulationssprache (auf Basis von Oracle) Vorlesung Datenbankmanagementsysteme SQL als DQL und DML M. Lange, S. Weise Folie #8-1 Themen

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

Ü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

Relationales Datenbanksystem Oracle

Relationales Datenbanksystem Oracle Relationales Datenbanksystem Oracle 1 Relationales Modell Im relationalen Modell wird ein relationales Datenbankschema wie folgt beschrieben: RS = R 1 X 1 SC 1... R n X n SC n SC a a : i=1...n X i B Information

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

SQL (Structured Query Language) Schemata Datentypen

SQL (Structured Query Language) Schemata Datentypen 2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente

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

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

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

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

Vorlesung Datenbankmanagementsysteme

Vorlesung Datenbankmanagementsysteme Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-1 Wiederholung Relationaler Datenbankentwurf

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

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. 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

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

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

Kapitel 3: Datenbanksysteme

Kapitel 3: Datenbanksysteme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2009 Kapitel 3: Datenbanksysteme Vorlesung:

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

Kapitel DB:VI (Fortsetzung)

Kapitel DB:VI (Fortsetzung) Kapitel DB:VI (Fortsetzung) VI. Die relationale Datenbanksprache SQL Einführung SQL als Datenanfragesprache SQL als Datendefinitionssprache SQL als Datenmanipulationssprache Sichten SQL vom Programm aus

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

Die Anweisung create table

Die Anweisung create table SQL-Datendefinition Die Anweisung create table create table basisrelationenname ( spaltenname 1 wertebereich 1 [not null],... spaltenname k wertebereich k [not null]) Wirkung dieses Kommandos ist sowohl

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

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

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

Die Datumsfunktion liefert die Informationen zu Datum und Uhrzeit oder diese Werte manipuliert.

Die Datumsfunktion liefert die Informationen zu Datum und Uhrzeit oder diese Werte manipuliert. Thema: Oracle Datumsfunktion Datentyp Date Die Datumsfunktion liefert die Informationen zu Datum und Uhrzeit oder diese Werte manipuliert. Mit dem Datentyp Date wird eine alphanumerische Spalte definiert,

Mehr

Datenbanken. Sommersemester 2010 Probeklausur

Datenbanken. Sommersemester 2010 Probeklausur Prof. Dr. V. Linnemann Christoph Reinke Universität zu Lübeck Institut für Informationssysteme Lübeck, den 29. Juli 2010 Datenbanken Sommersemester 2010 Probeklausur Hinweise: Es ist sinnvoll, die Aufgaben

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

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

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

Tag 4 Inhaltsverzeichnis

Tag 4 Inhaltsverzeichnis Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik

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

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

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

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

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

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

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

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004) Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der

Mehr

SQL-Vertiefung. VU Datenbanksysteme. Reinhard Pichler

SQL-Vertiefung. VU Datenbanksysteme. Reinhard Pichler SQL-Vertiefung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester 2015/16 Gliederung

Mehr

SQL. Fortgeschrittene Konzepte Auszug

SQL. Fortgeschrittene Konzepte Auszug SQL Fortgeschrittene Konzepte Auszug Levels SQL92 Unterteilung in 3 Levels Entry Level (i.w. SQL89) wird von nahezu allen DBS Herstellern unterstützt Intermediate Level Full Level SQL DML 2-2 SQL92 behebt

Mehr

Arbeiten mit einem lokalen PostgreSQL-Server

Arbeiten mit einem lokalen PostgreSQL-Server Arbeiten mit einem lokalen PostgreSQL-Server Download für das Betriebssystem Windows PostgreSQL-Server und pgadmin: http://www.enterprisedb.com/products-servicestraining/pgdownload#windows pgadmin: http://www.pgadmin.org/download/windows.php

Mehr

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel Anwendungsentwicklung Datenbanken SQL Stefan Goebel SQL Structured Query Language strukturierte Abfragesprache von ANSI und ISO standardisiert deklarativ bedeutet was statt wie SQL beschreibt, welche Daten

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

Create-Table-Befehl. CREATE TABLE Tabellenname ( { Spalte { Datentyp Gebietsname } [ Spaltenbedingung [ ] ] Tabellenbedingung }

Create-Table-Befehl. CREATE TABLE Tabellenname ( { Spalte { Datentyp Gebietsname } [ Spaltenbedingung [ ] ] Tabellenbedingung } Create-Table-Befehl CREATE TABLE Tabellenname ( { Spalte { Datentyp Gebietsname } [ Spaltenbedingung [ ] ] Tabellenbedingung } [, ] ) Liste der wichtigsten Datentypen in SQL INTEGER INT SMALLINT NUMERIC(x,y)

Mehr

Tag 4 Inhaltsverzeichnis

Tag 4 Inhaltsverzeichnis Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik

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

7. Datenbankdefinitionssprachen

7. Datenbankdefinitionssprachen 7. Datenbankdefinitionssprachen SQL-DDL Teil der Standardsprache für relationale Datenbanksysteme: SQL ODL (Object Definition Language) für objektorientierte Datenbanksysteme nach dem ODMG-Standard VL

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: 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

SQL-Vertiefung. VL Datenbanksysteme. Ingo Feinerer

SQL-Vertiefung. VL Datenbanksysteme. Ingo Feinerer SQL-Vertiefung VL Datenbanksysteme Ingo Feinerer Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Gliederung Einführung SQL-Programmteile

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

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

4. Datenbanksprache SQL

4. Datenbanksprache SQL 4. Datenbanksprache SQL Standard-Sprache für das Arbeiten mit relationalen Datenbanken: Structured Query Language Datendefinition: Anlegen, Ändern und Löschen von Datenbankstrukturen Datenmanipulation:

Mehr

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I SQL SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R VII-1 Beispielrelationen Filiale ( Name Leiter Stadt Einlagen ) Konto ( KontoNr KundenNr FilialName Saldo ) Kredit

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

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

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird. Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,

Mehr

6. Benutzerdefinierte Zahlenformate

6. Benutzerdefinierte Zahlenformate 6. Benutzerdefinierte Zahlenformate Übungsbeispiel Neben den vordefinierten Zahlenformaten stehen Ihnen auch benutzerdefinierte Zahlenformate zur Verfügung. Diese sind wesentlich flexibler und leistungsfähiger,

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

Datenbanken. 5 Tabellen. Karl Meier karl.meier@kasec.ch 12.10.2010. Inhalt. Domänen verwenden Tabellen anzeigen, ändern, löschen Übung

Datenbanken. 5 Tabellen. Karl Meier karl.meier@kasec.ch 12.10.2010. Inhalt. Domänen verwenden Tabellen anzeigen, ändern, löschen Übung Datenbanken 5 Tabellen Karl Meier karl.meier@kasec.ch 12.10.2010 Tabellen erstellen en Integritätsregeln Inhalt Domänen verwenden Tabellen anzeigen, ändern, löschen Übung 2 1 Einfache Tabellen erstellen

Mehr

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Übung, Sommersemester 2013 22. April 2013 - MySQL Sebastian Cuy sebastian.cuy@uni-koeln.de Datenbanken Was sind eigentlich Datenbanken? Eine

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

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

Prakt. Datenbankprogrammierung. Sommersemester Was sind Constraints? I,11: Verwendung von Constraints. Festlegung von Constraints

Prakt. Datenbankprogrammierung. Sommersemester Was sind Constraints? I,11: Verwendung von Constraints. Festlegung von Constraints Prakt. Datenbankprogrammierung Sommersemester 2005 I,11: Verwendung von Constraints Was sind Constraints? Constraints stellen Regeln auf Tabellenebene sicher. Constraints verhindern das Löschen aus einer

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

SQL-Programmteile in der Vorlesung. SQL-Vertiefung. Definition von Constraints. Constraint Typen

SQL-Programmteile in der Vorlesung. SQL-Vertiefung. Definition von Constraints. Constraint Typen SQL-Programmteile in der Vorlesung SQL-Vertiefung VL Datenbanksysteme Ingo Feinerer Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien 12.10.2009

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

Datenbanken (Bachelor) 30.7302 (SPO2007) WS 2011/12

Datenbanken (Bachelor) 30.7302 (SPO2007) WS 2011/12 Aufgabenstellung: Prof. Dr. Inge Schestag zugelassene Hilfsmittel: 1 beidseitig bedrucktes oder beschriebenes A4-Blatt Bearbeitungszeit: 90 Minuten Note: Name: Matrikelnr. Aufgabe 1 Aufgabe 2 Aufgabe 3

Mehr

DB1. DB SQL-DQL 1 Mario Neugebauer

DB1. DB SQL-DQL 1 Mario Neugebauer DB1 DB1-12 041-SQL-DQL 1 Mario Neugebauer Einführung Informationsmodellierung Relationales Datenbankmodell Datenbanksprache SQL Einführung Daten-Abfrage-Sprache - DQL Daten-Definitions-Sprache - DDL Daten-Manipulations-Sprache

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

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

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

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

Erzeugen von Constraints

Erzeugen von Constraints Erzeugen von Constraints Was sind Constraints? Durch Constraints werden Regeln auf einem bestimmtem Tabellen-Level erzwungen. Die folgenden Constraint-Typen sind in Oracle integriert: NOT NULL UNIQUE Key

Mehr

SQL-Anweisungen. SELECT (SQL Data Query Language)

SQL-Anweisungen. SELECT (SQL Data Query Language) SQL-Anweisungen SELECT (SQL Data Query Language) SELECT * SELECT * FROM "meine Tabelle"; SELECT feldname1, feldname2 SELECT feldname1, feldname2 FROM meinetabelle ORDER BY feldname2, feldname1 DESC; WHERE

Mehr

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung Inhalt Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle Daten und Tabellen Normalisierung, Beziehungen, Datenmodell SQL - Structured Query Language Anlegen von Tabellen Datentypen (Spalten,

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

Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen.

Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen. Datenbankabfragen (Query) mit SQL (Structured Query Language) 1 Aufbau des SELECT-Befehls Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen. SQL-Syntax: SELECT spaltenliste FROM tabellenname

Mehr

Datenbanksysteme Kapitel: SQL Data Definition Language

Datenbanksysteme Kapitel: SQL Data Definition Language Datenbanksysteme Kapitel: SQL Data Definition Language Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Dr. Peter Chamoni - Prof.

Mehr

SQL und MySQL. Kristian Köhntopp

SQL und MySQL. Kristian Köhntopp SQL und MySQL Kristian Köhntopp Wieso SQL? Datenbanken seit den frühen 1950er Jahren: Hierarchische Datenbanken Netzwerkdatenbanken Relationale Datenbanken = SQL Relational? 10 9 8 7 6 f(y) := y = x r(y)

Mehr

5. Datendefinition in SQL

5. Datendefinition in SQL Datendefinition 5. Datendefinition in SQL Schema, Datentypen, Domains Erzeugen von Tabellen (CREATE TABLE) Schemaevolution: Ändern/Löschen von Tabellen Sichtkonzept (Views) CREATE VIEW / DROP VIEW Problemfälle

Mehr

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken. In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht

Mehr

Datenbanken Microsoft Access 2010

Datenbanken Microsoft Access 2010 Datenbanken Microsoft Access 2010 Abfragen Mithilfe von Abfragen kann ich bestimmte Informationen aus einer/mehrerer Tabellen auswählen und nur diese anzeigen lassen die Daten einer/mehrerer Tabellen sortieren

Mehr

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe

Mehr

SQL-Vertiefung. VU Datenbanksysteme. Reinhard Pichler

SQL-Vertiefung. VU Datenbanksysteme. Reinhard Pichler 1 / 35 SQL-Vertiefung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester 2016/17 2 /

Mehr

Sructred Query Language

Sructred Query Language Sructred Query Language Michael Dienert 11. November 2010 Inhaltsverzeichnis 1 Ein kurzer Versionsüberblick 1 2 SQL-1 mit einigen Erweiterungen aus SQL-92 2 3 Eine Sprache zur Beschreibung anderer Sprachen

Mehr

Oracle: Abstrakte Datentypen:

Oracle: Abstrakte Datentypen: Oracle: Abstrakte Datentypen: Oracle bietet zwei mögliche Arten um abstrakte Datentypen zu implementieren: Varying Array Nested Table Varying Array (kunde) kdnr kdname gekaufteart 1 Mustermann 1 4 5 8

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

Bedienungsanleitung. Stand: 26.05.2011. Copyright 2011 by GEVITAS GmbH www.gevitas.de

Bedienungsanleitung. Stand: 26.05.2011. Copyright 2011 by GEVITAS GmbH www.gevitas.de GEVITAS-Sync Bedienungsanleitung Stand: 26.05.2011 Copyright 2011 by GEVITAS GmbH www.gevitas.de Inhalt 1. Einleitung... 3 1.1. Installation... 3 1.2. Zugriffsrechte... 3 1.3. Starten... 4 1.4. Die Menü-Leiste...

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

Erzeugung und Veränderung von Tabellen

Erzeugung und Veränderung von Tabellen Datenbanken - Objekte Erzeugung und Veränderung von Tabellen Objekt Tabelle View Sequence Index Synonym Basiseinheit zum Speichern; besteht aus Zeilen und Spalten; Logische Repräsentation; kann Teilmengen

Mehr

Vorlesung Datenbankmanagementsysteme

Vorlesung Datenbankmanagementsysteme Vorlesung Datenbankmanagementsysteme Relationale Datenbanken Vorlesung Datenbankmanagementsysteme Relationale Datenbanken M. Lange, S. Weise Folie #4-1 Relationale Datenbanken Wiederholung - Datenbankmodelle,

Mehr

Mai 2006. Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln

Mai 2006. Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln Hauptseminar: Nichtrelationale Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln Mai 2006 Was ist eine Datenbank? Erweiterung relationaler um eine Deduktionskomponente Diese

Mehr

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1 Fachhochschule Kaiserslautern Fachbereiche Elektrotechnik/Informationstechnik und Maschinenbau Labor Datenbanken Versuch 1 : Die Grundlagen von MySQL ------------------------------------------------------------------------------------------------------------

Mehr

Kapitel 3: Datenbanksysteme

Kapitel 3: Datenbanksysteme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2014 Kapitel 3: Datenbanksysteme Vorlesung:

Mehr