4. Entwurf der Relationsschemata 4. Kapitel 4: Entwurf der Relationsschemata I konzeptueller Entwurf: finde eine umfassende Strukturierung der gesamten Informationsanforderungen der Miniwelt. Resultat: konzeptuelles Schema, typischerweise ein ER-Schema, oder vergleichbares. I logischer Entwurf: bilde die Zusammenhänge des konzeptuellen Schemas in Relationsschemata ab. Resultat: logisches Schema. Das logische Schema ist Teil des zum Einsatz kommenden (relationalen) Datenbanksystems. I physischer Entwurf: definiere die Abspeicherung der Relationen auf den Speichermedien und lege Indexstrukturen zur Effizienzsteigerung der Anwendungen fest. Grundlagen von Datenbanksystemen, WS 2012/2013 3. Dezember 2012 Seite 1 4. Entwurf der Relationsschemata 4. Mondial ER-Schema (M1) Fläche HStadt Prozent LName Land (1,2) (0,*) Lage Kontinent KName Organisation OName LCode (0,*) (0,*) Art LaPro Mitglied (1,1) (0,*) PName Provinz LCode Einwohner LGrad (0,*) Fläche BGrad (1,1) ProSta Stadt LCode SName Grundlagen von Datenbanksystemen, WS 2012/2013 PName 3. Dezember 2012 Seite 2 4. Entwurf der Relationsschemata 4. Mondial ER-Schema alternativ (M2)) Fläche HStadt Prozent LName Land (1,2) (0,*) Lage LCode (0,*) Kontinent KName Organisation OName (0,*) Art LaPro Mitglied (1,1) (0,*) ProNr Provinz PName Einwohner LGrad (0,*) Fläche ProSta BGrad (1,1) StaNr Grundlagen von Datenbanksystemen, WS 2012/2013 Stadt SName 3. Dezember 2012 Seite 3 4. Entwurf der Relationsschemata 4.1. Transformation in Relationsschemata 4.1 Transformation in Relationsschemata I Wir ordnen zunächst jedem Entitätstyp und jedem Beziehungstyp ein Relationsschema zu. I Fremdschlüsselbeziehungen unter den relationalen Schemata kennzeichnen wir graphisch durch gerichtete Kanten (child −→ parent). I Unter Umständen können mehrere Relationsschemata wieder zu einem Relationsschema zusammengefasst werden, um die Anzahl Schemata nicht unnötig groß werden zu lassen: I I Ist ein Beziehungstyp mit einem Entitätstyp über eine Kardinalität mit max = 1 verbunden, dann kann das Relationsschema des Beziehungstyps in das Schema des Entitätstyps integriert werden. Ein so erhaltenes logisches Schema ist als Ausgangspunkt für eine weitere Verfeinerung zu verstehen, in die dann menschliches, nicht im ER-Schema dokumentiertes Wissen über die geplanten Anwendungen der Miniwelt eingehen kann. Grundlagen von Datenbanksystemen, WS 2012/2013 3. Dezember 2012 Seite 4 4. Entwurf der Relationsschemata 4.1. Transformation in Relationsschemata Mondial relational Land(LCode, HStadt, LName, Fläche), Provinz(PName, LCode, Fläche), Stadt(SName, LCode, PName, Einwohner, LGrad, BGrad), Organisation(OName), Mitglied(LCode, OName, Art), Lage(LCode, KName, Prozent). Grundlagen von Datenbanksystemen, WS 2012/2013 3. Dezember 2012 Seite 5 4. Entwurf der Relationsschemata 4.1. Transformation in Relationsschemata Mondial relational als Graph Grundlagen von Datenbanksystemen, WS 2012/2013 3. Dezember 2012 Seite 6 4. Entwurf der Relationsschemata 4.2. Relationsschemata in SQL 4.2 Relationsschemata in SQL grundlegende Datentypen SQL bietet eine Fülle von unterschiedlichen Datentypen an, mittels derer die Wertebereiche der Spalten einer Tabelle festgelegt werden können. I INTEGER, SMALLINT I I NUMERIC, DECIMAL. Angabe Anzahl Ziffern insgesamt und Anzahl Kommastellen. REAL, DOUBLE PRECISION, FLOAT I CHARACTER, CHARACTER VARYING, CHARACTER LARGE OBJECT I BIT, BIT VARYING, BINARY LARGE OBJECT I BOOLEAN I DATE, TIME, TIMESTAMP, INTERVALL, . . . . Grundlagen von Datenbanksystemen, WS 2012/2013 3. Dezember 2012 Seite 7 4. Entwurf der Relationsschemata 4.2. Relationsschemata in SQL Definition von Tabellen am Beispiel CREATE TABLE Land ( LCode CHAR(4), LName CHAR VARYING (50), LName CHAR VARYING (50), Fläche NUMBER, PRIMARY KEY (LCode) ) CREATE TABLE Provinz ( PName VARCHAR(35), LCode VARCHAR(4), Fläche NUMBER PRIMARY KEY (PName, LCode), FOREIGN KEY (LCode) REFERENCES Land (LCode) ) CREATE TABLE Stadt ( SName VARCHAR(50), PName VARCHAR(50), LCode CHAR(4), Einwohner INTEGER, LGrad NUMBER, BGrad NUMBER, PRIMARY KEY (SName,PName,LCode) FOREIGN KEY (LCode) REFERENCES Land (LCode), FOREIGN KEY (LCode, PName) REFERENCES Provinz (LCode, PName) ) Grundlagen von Datenbanksystemen, WS 2012/2013 3. Dezember 2012 Seite 8