11.07.2015 Aufrufe

Relationales Datenmodell

Relationales Datenmodell

Relationales Datenmodell

MEHR ANZEIGEN
WENIGER ANZEIGEN
  • Keine Tags gefunden...

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Relationales</strong> <strong>Datenmodell</strong><strong>Relationales</strong> <strong>Datenmodell</strong>Ein <strong>Datenmodell</strong> hat zwei Bestandteile:• Eine mathematische Notation zur Darstellung von Datenund Beziehungen.• Operationen auf den Daten, um Abfragen und andereManipulationen zu ermöglichen.Dem Relationen <strong>Datenmodell</strong> (E.F. Codd, 1970) liegt diemengentheoretische Relation zugrunde.Beispiele für typische relationale Datenbanken:• SYSTEM R (IBM), DB/2 (IBM)• INGRES (Univ. of California, Berkley)• ORACLE, UNIFY, INFORMIX, SYBASEGrundlagen der Datenbanksysteme I Kap. V-1


<strong>Relationales</strong> <strong>Datenmodell</strong>Ein einführendes Beispiel:Anzeigetafel an einem Flughafen:FLUGNR VON NACH ABFLUG ANKUNFT083 JFK O'Hare 11:30a 1:43p084 O'Hare JFK 3:00p 5:55p109 JFK Los Angeles9:50p 2:25a213 JFK Boston 11:43a 12:45p214 Boston JFK 2:20p 3:12pTypische Fragen an einem Flughafen:• Gibt es Flüge von New York nach Boston?• Wann fliegt eine Maschine von New York nach Boston?• Welche Ziele werden, startend in Frankfurt, angeflogen?• Wann kommt der Flug mit Nummer 213 in Boston an?Grundlagen der Datenbanksysteme I Kap. V-2


<strong>Relationales</strong> <strong>Datenmodell</strong>Definition:Zu jedem Attribut A i , 1 ≤ i ≤ n, gibt es eineMenge D i , den Wertebereich (domain) von A i .Notation:dom(A i ) ist der Wertebereich von A i .Beispiel:Das Attribut GESCHLECHT hat den Wertebereichdom(GESCHLECHT) = {männlich, weiblich}.Grundlagen der Datenbanksysteme I Kap. V-4


<strong>Relationales</strong> <strong>Datenmodell</strong>Definition:Sei D = D 1 × D 2 × D 3 × ... × D n das kartesische Produktder Domänen D 1 , D 2 , D 3 , ..., D n .Eine Relation r auf einem Relationenschema R, bezeichnetmit r(R), ist eine endliche Menge von Abbildungen{t 1 , ..., t n } von R nach D, wobei für jede Abbildungt ∈ r, der Wert t(A i ) aus der Domäne D i , 1 ≤ i ≤ n,stammt.Diese Abbildungen werden Tupel genannt. Der Wert einesTupels t für ein Attribut A, t(A) = a, heißt A-Wertvon t.Ein Tupel (v 1 , v 2 , …, v k ) hat k Komponenten,die i-te Komponente ist dabei v i .Grundlagen der Datenbanksysteme I Kap. V-5


<strong>Relationales</strong> <strong>Datenmodell</strong>Notation:Eine Relation kann als Tabelle visualisiert werden:• Die Spalten repräsentieren die Attribute.• Die Zeilen repräsentieren die Tupel.Attribut 1 Attribut 2 Attribut 3Tupel 1 Tupel 2 Tupel 3 Grundlagen der Datenbanksysteme I Kap. V-6


<strong>Relationales</strong> <strong>Datenmodell</strong>Beispiel: Flughafen (1)Mögliches Relationenschema:FLÜGE(FLUGNR, VON, NACH, ABFLUG, ANKUNFT)Entsprechende Tabelle:FLUGNR VON NACH ABFLUG ANKUNFT083 JFK O'Hare 11:30a 1:43p084 O'Hare JFK 3:00p 5:55p109 JFK Los Angeles9:50p 2:25a213 JFK Boston 11:43a 12:45p214 Boston JFK 2:20p 3:12pGrundlagen der Datenbanksysteme I Kap. V-7


<strong>Relationales</strong> <strong>Datenmodell</strong>Beispiel: Flughafen (2)Bezüglich der Domänen gilt:• dom (FLUGNR) =„Menge aller dreistelligen Dezimalzahlen“• dom (VON) = dom (NACH) ={JFK, O'Hare, Los Angeles, Boston, Atlanta}• dom (ABFLUG) = dom (ANKUNFT) =„Menge der Zeiten eines Tages“Die Tabelle hat 5 Tupel. Eines davon ist t mit• t(FLUGNR) = 084• t(VON)• t(NACH)= O'Hare= JFK• t(ABFLUG) = 3:00p• t(ANKUNFT) = 5:55pGrundlagen der Datenbanksysteme I Kap. V-8


<strong>Relationales</strong> <strong>Datenmodell</strong>Konventionen und Notationen:• Für Attribute werden Großbuchstaben vom Anfangdes Alphabets verwendet, z.B. A i , B, C.• Für Relationenschemata werden Großbuchstabenvom Ende des Alphabets verwendet, z.B. R i , S, T, X.• Für Relationen werden Kleinbuchstaben verwendet,z.B. r i , s, t, xNatürlich werden in der Praxis primär Bezeichner benutzt,die der Anwendung entsprechen, z.B. „FLUGNR“, „STU-DENTIN“, „NAME“ etc.Grundlagen der Datenbanksysteme I Kap. V-9


<strong>Relationales</strong> <strong>Datenmodell</strong>Bemerkungen:• Relationen sind Abstraktionen von Teilen der realenWelt.• Relationen sind veränderlich, sie ändern ihren Zustandin der Zeit Einfügen, Löschen, Ändern von Tupeln• Relationenschemata sind unveränderlich• Sind den Spalten einer Relation Attributnamen zugeordnet,so ist deren Reihenfolge unwichtig.(In der Definition der Relation auf S. 5 ist die Reihenfolgeder Spalten wichtig.)Grundlagen der Datenbanksysteme I Kap. V-10


<strong>Relationales</strong> <strong>Datenmodell</strong>Beispiel:Zwei Repräsentationen der gleichen RelationFLUGNR VON NACH ABFLUG ANKUNFT083 JFK O'Hare 11:30a 1:43p084 O'Hare JFK 3:00p 5:55p109 JFK Los Angeles9:50p 2:25a213 JFK Boston 11:43a 12:45p214 Boston JFK 2:20p 3:12pFLUGNR ABFLUG ANKUNFT VON NACH083 11:30a 1:43p JFK O'Hare084 3:00p 5:55p O'Hare JFK109 9:50p 2:25a JFK Los Angeles213 11:43a 12:45p JFK Boston214 2:20p 3:12p Boston JFKGrundlagen der Datenbanksysteme I Kap. V-11


<strong>Relationales</strong> <strong>Datenmodell</strong>Definition:Sei X eine Teilmenge von R.Unter der Einengung der Abbildung t auf die AttributmengeX, genannt t(X), versteht man denjenigen X-Wert, der jedem A ∈ X genau die Werte aus dom(A)zuordnet, wie die Abbildung t.Grundlagen der Datenbanksysteme I Kap. V-12


<strong>Relationales</strong> <strong>Datenmodell</strong>Beispiel:Gegeben sei das Tupel t mit• t(FLUGNR) = 084• t(VON) = O'Hare• t(NACH) = JFK• t(Abflug) = 3:00p• t(ANKUNFT) = 5:55pDer VON-Wert von t ist t(VON) = O'Hare.Der {VON, NACH}-Wert von t ist das Tupel t', definiertals t'(VON) = O'Hare, t'(NACH) = JFK.Grundlagen der Datenbanksysteme I Kap. V-13


<strong>Relationales</strong> <strong>Datenmodell</strong>Definition:Ein Schlüssel (key) einer Relation r(R) ist eine TeilmengeK von R, so dass für je zwei verschiedene Tupel t 1 , t 2 ∈ rgilt:• t 1 (K) ≠ t 2 (K)und• keine echte Teilmenge K' von K hat diese Eigenschaft.K ist ein Oberschlüssel (super key) der Relation, falls K einenSchlüssel enthält.Grundlagen der Datenbanksysteme I Kap. V-14


<strong>Relationales</strong> <strong>Datenmodell</strong>Beispiel: FlughafenFLÜGEFLUGNR VON NACH ABFLUG ANKUNFT083 JFK O'Hare 11:30a 1:43p084 O'Hare JFK 3:00p 5:55p109 JFK Los Angeles 9:50p 2:25a213 JFK Boston 11:43a 12:45p214 Boston JFK 2:20p 3:12p• {FLUGNR} und {VON, NACH} sind mögliche Schlüssel.• {VON} alleine ist (wg. JFK) kein Schlüssel.• {FLUGNR, VON} ist Oberschlüssel, aber kein Schlüssel,weil bereits {FLUGNR} Schlüssel ist.Grundlagen der Datenbanksysteme I Kap. V-15


<strong>Relationales</strong> <strong>Datenmodell</strong>Definition:Schlüssel, die explizit zu einem Relationenschema angeführtsind, heißen ausgezeichnete Schlüssel(designated keys).Im Allgemeinen wird ein Schlüssel als Primärschlüsselausgezeichnet.Dieser wird im Relationenschema durch Unterstreichengekennzeichnet.Beispiel: FlughafenFLÜGE (FLUGNR, VON, NACH, ABFLUG, ANKUNFT)SchlüsselGrundlagen der Datenbanksysteme I Kap. V-16


<strong>Relationales</strong> <strong>Datenmodell</strong>ER-Abbildung zu RelationenMotivation• Das Entity-Relationship-Diagramm ist ein graphischesModell, welches Zusammenhänge anschaulich macht.• Das Entity-Relationship-Diagramm ist aber auf der konzeptionellenEbene angesiedelt und daher nicht direkt zuverwenden.• Es ist jedoch eine Abbildung in die verschiedenartigstenlogischen Ebenen möglich, wie etwa dem RelationalenModell, dem Netzwerk-Modell oder auch dem ObjektorientiertenModell.• Die derzeit am häufigsten anzutreffenden DBMS sind RelationaleDatenbankmanagementsysteme (RDBMS), deshalbsoll im Rahmen der Vorlesung die Abbildung einesER-Diagramms in die relationalen Tabellen betrachtetwerden.• Diese Abbildung ist nicht eindeutig, womit es durchaus unterschiedlicherelationale Modelle geben kann, die dieselbenSachverhalte ausdrücken.Grundlagen der Datenbanksysteme I Kap. V-17


<strong>Relationales</strong> <strong>Datenmodell</strong>Entitäten• Jede Entitätsmenge wird zu einer Relation (Tabelle), dessenRelationenschema aus allen Attributen der Entitätsmengebesteht.• Jedes Tupel der Tabelle entspricht dann genau einer Entitätin der Entitätsmenge.• Etwaige Schlüssel werden übernommen und üblicherweisean den Anfang des Relationenschemas gestellt.„Regel“:SchlüsselAttribut_AAttribut_BEntität EE (Schlüssel, Attribut_A, Attribut_B)Grundlagen der Datenbanksysteme I Kap. V-18


<strong>Relationales</strong> <strong>Datenmodell</strong>BeispielAngestellterPers.Nr. Name VornameANGESTELLTER (Pers.Nr., Name, Vorname)Grundlagen der Datenbanksysteme I Kap. V-19

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!