Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Das Relationen-Modell

Ähnliche Präsentationen


Präsentation zum Thema: "Das Relationen-Modell"—  Präsentation transkript:

1 Das Relationen-Modell
The slides for this text are organized into chapters. This lecture covers Chapter 3. Chapter 1: Introduction to Database Systems Chapter 2: The Entity-Relationship Model Chapter 3: The Relational Model Chapter 4 (Part A): Relational Algebra Chapter 4 (Part B): Relational Calculus Chapter 5: SQL: Queries, Programming, Triggers Chapter 6: Query-by-Example (QBE) Chapter 7: Storing Data: Disks and Files Chapter 8: File Organizations and Indexing Chapter 9: Tree-Structured Indexing Chapter 10: Hash-Based Indexing Chapter 11: External Sorting Chapter 12 (Part A): Evaluation of Relational Operators Chapter 12 (Part B): Evaluation of Relational Operators: Other Techniques Chapter 13: Introduction to Query Optimization Chapter 14: A Typical Relational Optimizer Chapter 15: Schema Refinement and Normal Forms Chapter 16 (Part A): Physical Database Design Chapter 16 (Part B): Database Tuning Chapter 17: Security Chapter 18: Transaction Management Overview Chapter 19: Concurrency Control Chapter 20: Crash Recovery Chapter 21: Parallel and Distributed Databases Chapter 22: Internet Databases Chapter 23: Decision Support Chapter 24: Data Mining Chapter 25: Object-Database Systems Chapter 26: Spatial Data Management Chapter 27: Deductive Databases Chapter 28: Additional Topics 1

2 Einführung Geht auf klassische Arbeit von Codd zurück (1970)
Meistgenutztes Datenmodell Anbieter: IBM (DB2), Informix, Microsoft (SQL-Server), Sybase, Oracle Legacy-Systeme in älteren Modellen (z.B. Netzwerk-Datenmodell, hierarch. Datenmodell) z.B. IMS von IBS Konkurrenz durch objektorientierte Modelle ObjectStore, Versant Zur Zeit: Synthese des relationalen Modells mit objektorientierten Konzepten: Informix Universal Server Oracle 8i DB2 Universal Database Sprachstandards: SQL-99

3 Relationenmodell - Übersicht
Datenstruktur: Relation (Tabelle) Alle Informationen durch Werte dargestellt Integritätsbedingungen auf/zwischen Relationen Operatoren: Vereinigung, Differenz Kartesisches Produkt Projektion Selektion Zusätzlich: Grundoperationen: Einfügen, Löschen, Ändern Verknüpfung zu komplexeren Operationen möglich Entwurfstheorie Normalformenlehre (Zerlegung von Relationen) Synthese von Relationen (Zusammensetzung von Relationen)

4 Wichtige Relationale Operationen
Selektion Projektion Tabelle 1 Tabelle 1 Join Capabilities of SQL SELECT Statements A SELECT statement retrieves information from the database. Using a SELECT statement, you can do the following: Selection: You can use the selection capability in SQL to choose the rows in a table that you want returned by a query. You can use various criteria to selectively restrict the rows that you see. Projection: You can use the projection capability in SQL to choose the columns in a table that you want returned by your query. You can choose as few or as many columns of the table as you require. Join: You can use the join capability in SQL to bring together data that is stored in different tables by creating a link through a column that both the tables share. You will learn more about joins in a later lesson. Tabelle 1 Tabelle 2

5 Relationenmodell: Grundkonzepte
Relationale Datenbank: Menge von Relationen Relation (mathematisch) R(A1,A2 ... An )  W(A1)D W(A2 )... D W(An ) Teilmenge des kartesischen Produkts einer Menge von Wertebereichen Relation besteht aus 2 Teilen: Instanz: Tabelle mit Zeilen (Tupel) und Spalten Kardinalität: Anzahl der Tupel Grad einer Relation: Anzahl der Spalten Schema: Name der Relation und Name und Typ aller Spalten Beispiel: Student (sid:string, name:string, login:string, alter:integer, durchsch:real) Relationen sind Mengen von Tupeln, d.h. alle Tupel sind voneinander verschieden (distinkt)

6 Beispiel: Instanz einer Relation Student
Kardinalität = 3, Grad = 5 alle Tupel sind distinkt

7 Primärschlüssel Ein Schlüssel einer Relation ist eine Menge von Attributen, für die gilt: Es gibt keine zwei unterschiedlichen Tupel, die in allen Schlüsselattributen den gleichen Wert haben (Eindeutigkeits-eigenschaft) Es gibt keine Teilmenge von Attributen des Schlüssels, die Eigenschaft 1 erfüllt Anmerkungen: Wenn es mehrere Attribute / Attributkombinationen gibt, die die Eigenschaften 1 und 2 erfüllen (Schlüsselkandidaten), wird darunter ein Primärschlüssel ausgewählt und als solcher definiert Eine Menge von Attributen (die einen Schlüsselkandidaten enthält) mit identifizierender Eigenschaft in einer Relation wird auch Superkey genannt

8 Fremdschlüssel Definition Bemerkungen
Ein Fremdschlüssel bezüglich einer Relation R1 ist ein (ggf. zusammengesetztes) Attribut FS einer Relation R2, für das zu jedem Zeitpunkt gilt: zu jedem Wert (ungleich NULL) von FS muß ein gleicher Wert des Primärschlüssels PS in irgendeinem Tupel von R1 enthalten sein. Ein Fremdschlüssel ist wie ein “logischer Pointer“ Bemerkungen Fremdschlüssel und zugehöriger Primärschlüssel gestatten die Realisierung von Beziehungen. Fremdschlüssel können Nullwerte aufweisen, wenn sie nicht Teil eines Primärschlüssels sind Schlüsselkandidaten können Nullwerte aufweisen, wenn nicht explizit NOT NULL definiert ist Eine Relation kann mehrere Fremdschlüssel besitzen, die die gleiche oder verschiedene Relationen realisieren Referenzierte und referenzierende Relationen sind nicht notwendig verschieden (Selbstreferenz) .

9 Beispiel: Referentielle Integrität
Nur Studenten, die in der Tabelle Student erfaßt sind, dürfen sich in Kurse einschreiben. CREATE TABLE Einschreibung (sid CHAR(20), kid CHAR(20), note CHAR(2), PRIMARY KEY (sid,kid), FOREIGN KEY (sid) REFERENCES Student ) Einschreibung Student

10 Abbildung vom ERM in Relationen
? Relation 1 Relation 2 Relation 3 Kriterien Informationserhaltung Minimierung der Redundanz Minimierung des Verknüpfungsaufwandes Natürlichkeit der Abbildung Keine Vermischung von Objekten Verständlichkeit

11 Zwei Entity-Mengen mit 1:1-Beziehung
LIEFERANT liefert PRODUKT Interpretation: “Ein Lieferant liefert genau ein Produkt an uns“ Zwei Darstellungsmöglichkeiten im RM Zwei Relationen LIEFERANT (LIEFERNR, NAME, WOHNORT, BERUF, ... ) PRODUKT (PRODNR, PRODNAME, P_BESCH, ... , LIEFERNR) LIEFERANT (LIEFERNR, NAME, WOHNORT, BERUF, ... , PRODNR) PRODUKT (PRODNR, PRODNAME, P_BESCH, ... ) Beide Varianten sind gleichberechtigt.

12 Zwei Entity-Mengen mit 1:n-Beziehung
ABT gehört PERS Darstellungsmöglichkeiten im RM Verwendung von drei Relationen ABT (ANR, ANAME, ... ) PERS (PNR, PNAME, ... ) ABT-ZUGEH (ANR, PNR) Normalerweise wird der 1:n-Beziehungstyp nur dann auf eine eigene Relation abgebildet, wenn er beschreibende Attribute besitzt. Minimierung der Redundanz Verwendung von zwei Relationen PERS (PNR, PNAME, ... , ... ANR) Standardabbildung des 1:n-Beziehungstyps mit Hilfe von Primär- und Fremdschlüssel

13 Zwei Entity-Mengen mit m:n-Beziehung
LIEFERANT liefert PRODUKT Darstellungsmöglichkeiten im RM Abbildung der Entity-Mengen auf Relationen LIEFERANT (LIEFERNR, NAME, WOHNORT, BERUF, ... ) PRODUKT (PRODNR, PRODNAME, P_BESCH, ... ) Abbildung der Beziehung auf zusätzliche Relation LIEFERT (LIEFERNR, PRODNR, PROZENT ) Primärschlüssel ist Kombination der Primärschlüssel aus E1 und E2

14 Eine Entity-Menge mit 1:1-Beziehung
Ehefrau 1 PERS 1 Ehe Ehemann Darstellungsmöglichkeiten im RM Verwendung von zwei Relationen PERS (PNR, PNAME, ... ) EHE (MPNR, FPNR) Verwendung von einer Relation PERS (PNR, PNAME, ... , ... GÁTTE)

15 Eine Entity-Menge mit 1:n-Beziehung
überwacht ANGESTELLTER 1 Darstellungsmöglichkeiten im RM Verwendung von zwei Relationen ANGESTELLTER (ANR, ANAME, ... ) ÜBERWACHT (VANR, ANR) Verwendung von einer Relation ANGESTELLTER (ANR, ANAME, ... , ... VORGESETZTER)

16 Eine Entity-Menge mit m:n-Beziehung
oberes m TEIL n Struktur A unteres 1 5 B C Darstellungsmöglichkeiten im RM TEIL (TNR, TBEZ, ... STRUKTUR (OTNR, UTNR, ANZAHL) 8 2 2 4 4 2 1 D STRUKTUR OTNR UTNR ANZAHL A B 1 C 5 8 4 2 D 1111

17 Drei Entity-Mengen mit (m:n:p)-Beziehung
LIEF p m n TEIL Lieferung PROJEKT Darstellungsmöglichkeiten im RM LIEF (LNR, LNAME,L-ORT ... ) PROJEKT (PRONR,PRONAME, P-ORT ... ) TEIL (TNR, TBEZ, GEWICHT ... ) LIEFERUNG (LNR, PRONR, TNR, ANZAHL, DATUM)

18 Abbildung von ISA-Hierarchien
name pnr gehalt Angestellter stundensatz stundenzahl ISA vertrags_nr Intern Extern 3 Relationen: Angestellter, Intern, Extern Intern: Jeder Angestellte ist in ANGESTELLTER. Für interne Angestellte sind zusätzliche Infos in INTERN (stundensatz, stundenzahl,pnr), Löschabhängigkeit zum referenzierten Tupel in ANGESTELLTER Anfragen auf allen Angestellten einfach, für zusätzliche Infos Join erforderlich Alternative: 2 Relationen Intern und Extern (“Flachklopfen“) INTERN (pnr, name, gehalt, stundensatz, stundenzahl) EXTERN (pnr, name, gehalt, vertrags_nr) Jeder Beschäftigte gehört in eine der beiden Relationen

19 Rückblick: Schwache Entities
Schwaches Entity (weak entity) kann eindeutig identifiziert werden nur über den Primärschlüssel einer anderen (Owner) Entity. Owner Entity und Weak Entity müssen in einer 1:n-Beziehung stehen (ein Owner, mehrere Weak Entities) name pnr name alter gehalt Angestellter hat Kinder (0,*) (1,1) Jedes Entity aus Kinder muß an der Beziehung teilnehmen (total Participation Constraint). KIND (NAME, PNR, ALTER, ... ) ANGESTELLTER (PNR, NAME, GEHALT, ... )

20 Abbildungsregeln Beziehungen - Relationen
K1 E1 arbeitet E2 K2 ... nur “E0“ (1,1) (1,1) E0 (K1, K2, A) oder E0 (K2, K1, A) bleibt E1 + E2 (0,1) (1,1) (1,*) (1,1) (0,*) (1,1) E1 (K1, ...) E2 (K2, ..., A, K1) entsteht ein neues E3 (0,1) (0,1) E3 (K1, K2, A) oder E3 (K2, K1, A) (1,*) (0,1) (0,*) (0,1) (1,*) (1,*) (1,*) (0,*) (0,*) (0,*) E3 (K1, K2, A)

21 Zusammenfassung Relationen-Modell
Tabellarische Darstellung von Daten Einfach und intuitiv, zur Zeit meistverbreitetes Modell Grundlage relationaler Anfragesprachen Integritätsbedingungen können durch den Modellierer spezifiziert werden, basierend auf der Applikationssemantik 2 bedeutende Constraints: Primär- und Fremdschlüsselbedingungen zusätzlich immer Wertbereichsbedingungen (Domain Constraints) Regeln zur Transformation ER-Modell in relationales Modell Behandlung der unterschiedlichen Beziehungstypen (1:1, 1:n, m:n) Alle Beziehungstypen müssen im Prinzip durch (n:1)-Beziehungen dargestellt werden.


Herunterladen ppt "Das Relationen-Modell"

Ähnliche Präsentationen


Google-Anzeigen