! " # $ # $ % # $ 3. Das Relationale Datenmodell 1. Datenstruktur und Integritätsbedingungen 2. Abbildung zwischen ERM und RDM 3. Implementierung in SQL 4. Anomalien und Normalformen des RDM 5. Relationenalgebra und Abfragen 6. Modellexterne Integritätsbedingungen, Trigger und Checks 7. Entwurfskonzepte für relationale Datenbanken 8. ODBC
Elemente der Datenmodelle ERM: Entitätstypen, Beziehungstypen, Attribut-Wertebemengen, Spezialisierungen. RDM Relationen (Tupelmengen) Schlüssel Integritätsbedingungen Attribut-Wertemengen R(Attr1, Attr2,..,AttrN) Integritätsbedingung 1 IntegritätsbedingungN
Die wichtigsten Begriffe des RDM Datenbankschema - Menge von Relationenschemata Relationenschema - Objekttyp im UoD, Relation (+ evtl. Integritätsbedingungen) R(Attr1, Attr2,..,AttrN) Integritätsbedingung 1 Integritätsbedingung N Attribut Relation - Objekteigenschaft (mit Wertebereich) - Teilmenge des kart. Produkts der Attribut-Wertebereiche, R(Attr1, Attr2,,AttrN) W(Attr1)xW(Attr2)x xw(attrn) - grundlegende Datenstruktur des RDM (Tabelle) Rel.-Schema Tupel Attr1 Attr2 W11 W12 W21 W22 AttrN W1N W2N Relation Tupel - Tabellenzeile - Objekt des Objekttyps Integritätsbedingg.- Beschreibung der zulässigen Tupel einer Relation
Eigenschaften von Relationen - zweidimensionale Tabelle - Beschränkung auf atomare Attributwerte - Eindeutigkeit der Tupel, Variabilität der Tupelposition - Eindeutigkeit des Attributnamens, Variabilität der Attributposition - Information für den Benutzer ausschließlich durch Werte ausgedrückt - Darstellung relationenübergreifender Information durch Fremdschlüssel - Normalformenlehre (NFL) für den Aufbau von Relationenschemata
Schlüssel Tupel besitzen eindeutige Identität Schlüssel: identifizierende Attributmenge im Extremfall alle Attribute Primärschlüssel minimale identifizierende Attributmenge ggf. Auswahl unter Schlüsselkandidaten Fremdschlüssel Attributmenge, die Primärschlüssel einer (referenzierten) Relation ist stellt Beziehung zu jeweils einem Tupel her kann auch Teil des Primärschlüssels der referenzierenden Relation sein Hinweis: Oft werden Surrogatschlüssel, d.h.künstliche Primärschlüssel (IDs) gebildet, weil die natürlichen Primärschlüssel zu komplex sind, d.h. aus zu vielen Attributen bestehen.
Integritätsbedingungen Modellinhärente (allgemeine) Integritätsbedingungen: Primärschlüsselbedingung (Relationen-Integrität) Die Werte der Primärschlüsssel sind eindeutig und nicht "null". Fremdschlüsselbedingung (Referentielle Integrität) Zu jedem Wert eines Fremdschlüssels muss ein Primärschlüssel-Wert in der referenzierten Relation existieren. Schemaspezifische (oder anwendungsspezifische) Integritätsbedingungen beliebige, durch das UoD bedingte Integritätsbedingungen z.b. Existenzabhängigkeit, Wertemengenbegrenzung implementierungspezifische Integritätsbedingungen z.b. Zeitstempelattribut für jedes Tupel, max. Relationengröße vor Archivierung
Abbildung des ERM auf das RDM Primäres Transformationsziel: Gleichwertigkeit d.h. Erhaltung der Informationskapazität: im relationalen Datenbankschema sollen genauso viel Daten zulässig sein wie im ERM Entscheidend ist die Abbildung der Beziehungen und anwendungsspezifischen Integritätsbedingungen Weitere Ziele minimale Redundanz minimale Anzahl von Relationen minimaler Verlust an Semantik Natürlichkeit/Verständlichkeit des resultierenden Schemas Formale Transformationsregeln geeignet für die automatische Transformation minimale Redundanz angestrebt Ergebnis oft unübersichtlich, schwer durchschaubar Faustregeln erfordern Sachkenntnis des Übersetzers flexible Lösungen zugunsten der Lesbarkeit minimale Relationenzahl angestrebt
Formale Transformationsregeln jeder Entitytyp wird auf eine Relation abgebildet jeder Beziehungstyp wird auf eine Relation abgebildet jedes mehrwertige Attribut wird auf eine Relation abgebildet jede Spezialisierung wird auf eine Relation abgebildet (die Regel-Details werden hier weggelassen) Danach werden nach festen Regeln Tabellen wieder zusammengefasst. geht immer, führt aber über eine "Tabellenflut" zu nicht gut nachvollziehbaren Strukturen
Beispielmodell Konzeptuelles Schema: 1,* Fachbereich 1,1 0,* Gehört zu 0,1 1,1 Dozent Ist Dekan Prüfung 0,* 0,* Ist eingeschrieben 1,1
Intuitive Transformation Fachbereich(FB, FBBez, Dekan) Dozent(DozID, Name, Kontakt, FB) (Matr, Name, Beginn, Kontakt, FB) Prüfung(DozID, Matr, Fach, Datum, Note) Legende: Primärschlüssel, Fremdschlüssel
Faustregeln 1. Zunächst werden die Primärschlüssel der Entitätstypen bestimmt. 2. Jeder Entitätstyp wird auf eine Relation abgebildet 3. Skalare Attribute werden unmittelbar übernommen
Faustregeln 4. Für jedes mehrwertige Attribut A einer Relation R wird eine Relation angelegt, die den Primärschlüssel von R und das Attribut A enthält (sowie einen Diskriminator zur Bildung eines Primärschlüssels) Matr. Kontakt Telefon Matr 272727 272727 TelPos 1 2 Kontakt 03055446677 studi@city.net 292929 1 040666666 PS aus Diskriminator PS
Faustregeln 5. 1:1-Beziehungstypen werden auf Fremdschlüssel in einer der beteiligten Relationen abgebildet. Optimierung: FS ggf. bei der existenzabhängigen Relation anlegen ermöglicht NOT NULL-Bedingung und spart Speicherplatz Alternative: Verschmelzung zu einer Relation widerspricht aber der 3.Normalform 6. 1:N-Beziehungstypen werden auf Fremdschlüssel in der "Kind"-Relation abgebildet. 7. M:N-Beziehungstypen werden auf eine Relation abgebildet, deren Primärschlüssel aus den Primärschlüsseln der beteiligten Relationen besteht. Attribute des Beziehungstyps werden dieser Relation zugeordnet. DozID. Dozent Matr DozID Fach Note Matr. M Prüfung N Fach Note 272727 272727 292929 1 2 1 27 14 27 1.3 2.7 3.0
Faustregeln 8. Ternäre (und höhere) Beziehungtypen werden auf eine Relation abgebildet, deren Primärschlüssel aus den Primärschlüsseln der beteiligten Relationen besteht. Attribute des Beziehungstyps werden dieser Relation zugeordnet. DozID. Dozent FachID Note Matr. M Prüfung N Fach Matr 272727 272727 DozID 1 2 FachID 27 14 Note 1.3 2.7 292929 1 27 3.0
Faustregeln 9. Rekursive Relationshiptypen vom Typ 1:1 oder 1:N werden als FS in dieselbe Relation abgebildet, sonst eigene Relation wie bei M:N Alternative: immer Abbildung auf eine Relation wie bei M:N 10. Für Spezialisierungen werden Relationen für den Supertyp und alle Subtypen angelegt, die alle denselben PS haben. Gemeinsame Attribute werden bein Supertyp angelegt, spezielle bei den Subtypen. Der Supertyp erhält zusätzlich ein diskriminierendes Attribut (Typkennzeichen) bei nicht disjunkter Zerlegung mehrere. Matr. Matr 272727 282828 Typ D A Name Stefan Karsten 292929 A Hanna Direkt- Aufbau- Direkt- Matr 272727 Abi 2000 Praktikum Stefan