Vorlesung Datenbankmanagementsysteme
|
|
- Ida Beutel
- vor 8 Jahren
- Abrufe
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: 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
MehrVorlesung 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
MehrDatenbanken 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
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
MehrRelationales 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
MehrMengenvergleiche: 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
MehrSQL (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
MehrReferenzielle 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
MehrSQL: 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
Mehr7. Ü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
MehrSemantische 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
MehrVorlesung Datenbankmanagementsysteme
Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II Vorlesung Datenbankmanagementsysteme Relationaler Datenbankentwurf II M. Lange, S. Weise Folie #6-1 Wiederholung Relationaler Datenbankentwurf
MehrUni 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
MehrDATENBANKEN 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.
MehrSQL. 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:
MehrSQL 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-
MehrIntegritä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
MehrKapitel 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:
MehrReferentielle 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
MehrKapitel 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
MehrEinfü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
MehrDie 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
MehrReferentielle 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
MehrSQL 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
Mehr3. 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
MehrDie 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,
MehrDatenbanken. 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
MehrInformatik 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
MehrEin 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
MehrSQL 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
MehrTag 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
MehrVorlesung 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
MehrDatenintegritä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
MehrLabor 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.
Mehr5.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
MehrDatenintegritä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!
MehrInformations- 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
MehrDatenintegritä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!
MehrNachtrag: 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
MehrSQL-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
MehrSQL. 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
MehrArbeiten 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
MehrAnwendungsentwicklung 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
MehrSchlü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
MehrCreate-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)
MehrTag 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
Mehrmit 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
Mehr7. 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
MehrIV. 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.
MehrDatenbanken: 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
MehrSQL-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
MehrFachbericht 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
MehrViews 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
Mehr4. 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:
MehrSQL 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
MehrDynamisches 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
MehrDatenintegritä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
MehrDieser 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,
Mehr6. 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,
MehrSichten 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
MehrDatenbanken. 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
MehrDatenbanktechnologie 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
Mehr4.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
MehrBeispiel 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,
MehrPrakt. 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
MehrDBS ::: 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
MehrSQL-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
MehrObjektrelationale 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
MehrDatenbanken (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
MehrDB1. 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
MehrDas 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
MehrHandbuch 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
MehrDipl. 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
MehrSoftware-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
MehrErzeugen 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
MehrSQL-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
MehrInhalt. 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,
MehrDatenbanken: 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
MehrAufbau 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
MehrDatenbanksysteme 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.
MehrSQL 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)
Mehr5. 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
MehrIn 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
MehrDatenbanken 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 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
MehrSQL-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 /
MehrSructred 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
MehrOracle: 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
MehrRelationale 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
MehrBedienungsanleitung. 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...
Mehr6. 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
MehrErzeugung 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
MehrVorlesung Datenbankmanagementsysteme
Vorlesung Datenbankmanagementsysteme Relationale Datenbanken Vorlesung Datenbankmanagementsysteme Relationale Datenbanken M. Lange, S. Weise Folie #4-1 Relationale Datenbanken Wiederholung - Datenbankmodelle,
MehrMai 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
MehrFachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1
Fachhochschule Kaiserslautern Fachbereiche Elektrotechnik/Informationstechnik und Maschinenbau Labor Datenbanken Versuch 1 : Die Grundlagen von MySQL ------------------------------------------------------------------------------------------------------------
MehrKapitel 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