+ All Categories
Home > Documents > Kapitel 3: Das Relationenmodell. Einführung Erstellung eines logischen Datenmodells Betrachtung von...

Kapitel 3: Das Relationenmodell. Einführung Erstellung eines logischen Datenmodells Betrachtung von...

Date post: 05-Apr-2015
Category:
Upload: krimhilde-gildehaus
View: 109 times
Download: 1 times
Share this document with a friend
13
Kapitel 3: Das Relationenmodell
Transcript
Page 1: Kapitel 3: Das Relationenmodell. Einführung Erstellung eines logischen Datenmodells Betrachtung von objektorientierten oder relationalen Datenmodellen.

Kapitel 3: Das Relationenmodell

Page 2: Kapitel 3: Das Relationenmodell. Einführung Erstellung eines logischen Datenmodells Betrachtung von objektorientierten oder relationalen Datenmodellen.

Einführung Erstellung eines logischen Datenmodells Betrachtung von objektorientierten oder relationalen

Datenmodellen Zurzeit am weitesten verbreitete Datenmodell:

Relationenmodell Zurzeit am weitesten verbreitete Datenbanksysteme

sind relationale Datenbanksysteme, z.B. Access Verwaltung in Tabellen, die in Beziehung zueinander stehen

Page 3: Kapitel 3: Das Relationenmodell. Einführung Erstellung eines logischen Datenmodells Betrachtung von objektorientierten oder relationalen Datenmodellen.

Vokabeln Relationen: Tabellen mit Attributen in den

Spaltenköpfen und Tupeln in den Tabellenzeilen, und Verknüpfung von Tabellen

Master- und Detailtabellen: Bei einer 1:m Beziehung wird die 1-Seite „Mastertabelle“ und die m-Seite „Detailtabelle“ genannt

Fremdschlüssel: Der in der Mastertabelle definierte Primärschlüssel ist in der Detailtabelle der Fremdschlüssel

Kartesische Kreuzprodukt: Eine Relation R ist eine Teilmenge eines kartesischen Kreuzproduktes von Domänen

Page 4: Kapitel 3: Das Relationenmodell. Einführung Erstellung eines logischen Datenmodells Betrachtung von objektorientierten oder relationalen Datenmodellen.

Kartesische Kreuzprodukt Betrachten wir zunächst eine Entität

„Kunde“ mit den Attributen Kundennummer D1={9711, 9713} und Kundenname D2={Meier, Blau}

Das kartesische Kreuzprodukt ist D1xD2 die Menge mit allen möglichen Kombinationen: {(9711,Meier), (9711,Blau), (9713,Meier), 9713,Blau)}

Sinnvoll betrachtet man nur eine Teilmenge, z.B. R1={(9711,Meier),(9713,Blau)} oder R2={(9711,Blau), (9713,Meier)}

Page 5: Kapitel 3: Das Relationenmodell. Einführung Erstellung eines logischen Datenmodells Betrachtung von objektorientierten oder relationalen Datenmodellen.

Darstellung einer 1:m-Beziehung in einem Relationenmodell

MastertabelleDetailtabelle

Primärschlüssel Fremdschlüssel

Warum können noch keine Relationen unter den Tabellen hergestellt werden?

Page 6: Kapitel 3: Das Relationenmodell. Einführung Erstellung eines logischen Datenmodells Betrachtung von objektorientierten oder relationalen Datenmodellen.

Darstellung einer 1:m-Beziehung in einem Relationenmodell

MastertabelleDetailtabelle

Primärschlüssel Fremdschlüssel

Page 7: Kapitel 3: Das Relationenmodell. Einführung Erstellung eines logischen Datenmodells Betrachtung von objektorientierten oder relationalen Datenmodellen.

Die Prädikatsschreibweise

Die Prädikatsschreibweise lautet:

tblKunde(KNr, KName)

tblRechnungen(RNr, RDat, KNr) Bei der Prädikatsschreibweise wird der Primärschlüssel

unterstrichen und der Fremdschlüssel gestrichelt unterstrichen.

Page 8: Kapitel 3: Das Relationenmodell. Einführung Erstellung eines logischen Datenmodells Betrachtung von objektorientierten oder relationalen Datenmodellen.

Darstellung einer m:m-Beziehung in einem Relationenmodell

Problem: Man kann nicht den Primärschlüssel einer Tabelle als Fremdschlüssel in eine andere Tabelle integrieren, da sonst immer mehrere Werte in einer Zelle stehen!

Page 9: Kapitel 3: Das Relationenmodell. Einführung Erstellung eines logischen Datenmodells Betrachtung von objektorientierten oder relationalen Datenmodellen.

Transformation der netzförmigen Beziehung in zwei hierarchische Beziehungen

Eine m:m-Beziehung wird in zwei 1:m-Beziehungen transformiert, indem eine neue Tabelle eingeführt wird. In diese Tabelle werden die Primärschlüssel der beiden beteiligten Tabellen jeweils als Fremdschlüssel aufgenommen. Zusammen ergeben sie den Primärschlüssel der neuen Tabelle

Page 10: Kapitel 3: Das Relationenmodell. Einführung Erstellung eines logischen Datenmodells Betrachtung von objektorientierten oder relationalen Datenmodellen.

Relationale Operationenergeben wieder Relationen

Selektion: Auswahl von Zeilen, die eine vorgegebene Bedingung erfüllen

Projektion: Auswahl vorgegebener Attribute Verbund (Join): Verknüpfung von Tabellen

Page 11: Kapitel 3: Das Relationenmodell. Einführung Erstellung eines logischen Datenmodells Betrachtung von objektorientierten oder relationalen Datenmodellen.

Selektion in SQL SELECT * FROM Ausgangstabelle WHERE Bezeichnung LIKE „*rosa“

die Ergebnistabelle zeigt uns alle Bezeichnungen, die ... „rosa“ enthalten

Page 12: Kapitel 3: Das Relationenmodell. Einführung Erstellung eines logischen Datenmodells Betrachtung von objektorientierten oder relationalen Datenmodellen.

Projektion in SQL SELECT Attribut1, Attribut2 FROM Ausgangstabelle

die Ergebnistabelle zeigt uns die Spalten mit den Attributen

Page 13: Kapitel 3: Das Relationenmodell. Einführung Erstellung eines logischen Datenmodells Betrachtung von objektorientierten oder relationalen Datenmodellen.

Verbund (Join) in SQL SELECT DETAILTABELLE.Spalte1, MASTERTABELLE.Spalte2 FROM MASTERTABELLE INNER JOIN DETAILTABELLE

ON MASTERTABELLE.Primärschlüssel = DETAILTABELLE.Fremdschlüssel ;

MASTERTABELLE und DETAILTABELLE werden miteinander verbunden

Bsp.

SELECT tblRechnungen.Rdat, tblKunde.KnameFROM tblKundeINNER JOIN tblRechnungen ON tblKunde.KNr =

tblRechnungen.KNr ;

MastertabelleDetailtabelle

Primärschlüssel Fremdschlüssel


Recommended