Datenbanken Unit 2: Das ER

Werbung
Organisatorisches
SQL
Datenbanken
Unit 2: Das ER-Modell
Ronald Ortner
28. II. 2017
Ronald Ortner
Das Entity-Relationship Modell
Organisatorisches
SQL
Outline
1
Organisatorisches
2
SQL
3
Das Entity-Relationship Modell
Grundbegriffe
Relationen
Ronald Ortner
Das Entity-Relationship Modell
Organisatorisches
SQL
Das Entity-Relationship Modell
Termin erster Zwischentest
UE-Tests (Thema: SQL)
erster Zwischentests am 17. Mai (zur Übungszeit) ...
... oder besser schon am 10. Mai?
Ronald Ortner
Organisatorisches
SQL
Das Entity-Relationship Modell
Übungsbeispiele
Einige Beispiele sind nicht einzusenden und nur vorzubereiten.
Diese Beispiele zählen genauso wie die anderen Beispiele
( Kreuzerlliste).
Ronald Ortner
Organisatorisches
SQL
Das Entity-Relationship Modell
Wissensüberprüfung
am PC
SQL Handouts erlaubt
Abgabe über MUL-Upload-Client mit Rückmeldung über
Korrektheit
Jedes Beispiel kann nur einmal eingesandet werden!
5 Punkte für korrektes Beispiel, 0 Punkte für falsches Beispiel
Aber: Bis zu dreimal im Semester sehe ich mir falsche Beispiele
an und vergebe Punkte.
(im wesentlichen korrekte Lösungen, z.B. Spalten vertauscht,
verringern “Credits” nicht.)
Sie müssen selbst nach der Abgabe entscheiden, ob ich mir ein
vom Abgabesystem als falsch eingestuftes Beispiel ansehen soll.
Ronald Ortner
Organisatorisches
SQL
Probleme
Installation MySQL, SQLYog, Datenbanken
Übungsaufgaben
sonstige Fragen
Ronald Ortner
Das Entity-Relationship Modell
Organisatorisches
SQL
SQL-Lesson 2
Heute:
String- und Aggregatfunktionen
Ronald Ortner
Das Entity-Relationship Modell
Organisatorisches
SQL
Grundbegriffe
Outline
1
Organisatorisches
2
SQL
3
Das Entity-Relationship Modell
Grundbegriffe
Relationen
Ronald Ortner
Das Entity-Relationship Modell
Organisatorisches
SQL
Das Entity-Relationship Modell
Grundbegriffe
Das ER Modell – Grundbegriffe
Wir beginnen mit Entitäten und Relationen zwischen Entitäten:
Entität: Objekt
Relation: Beziehung zwischen mehreren Entitäten
Ronald Ortner
Organisatorisches
SQL
Das Entity-Relationship Modell
Grundbegriffe
Das ER Modell – Grundbegriffe
Wir beginnen mit Entitäten und Relationen zwischen Entitäten:
Entität: Objekt
Relation: Beziehung zwischen mehreren Entitäten
Beispiele:
Entitäten: Ronald Ortner, der Papst, diese Vorlesung, das
Lieblingsbuch des Papstes, die Abschlussprüfung für diese VO,
die Note “Sehr gut”
Relations:
Ronald Ortner kennt den Papst.
Ronald Ortner besitzt das Lieblingsbuch des Papstes.
Der Papst besucht diese Vorlesung.
Ronald Ortner beurteilt den Papst
in der Abschlussprüfung für diese VO mit der Note “Sehr gut”.
Ronald Ortner
Organisatorisches
SQL
Das Entity-Relationship Modell
Grundbegriffe
Das ER Modell – Grundbegriffe II
Abstraktion von Entitäten und Relationen:
Entitätstyp: Abstraktion von ähnlichen Entitäten
Relationstyp: Abstraktion von ähnlichen Relationen
Ronald Ortner
Organisatorisches
SQL
Das Entity-Relationship Modell
Grundbegriffe
Das ER Modell – Grundbegriffe II
Abstraktion von Entitäten und Relationen:
Entitätstyp: Abstraktion von ähnlichen Entitäten
Relationstyp: Abstraktion von ähnlichen Relationen
Beispiele:
Entitätstypen:
Dinge (Ronald Ortners Lieblingsbuch, diese VO,
die Abschlussprüfung für diese VO, die Note “Sehr gut” )
Personen (Ronald Ortner, der Papst)
Studenten (Franz Huber)
Angestellte der MUL (Ronald Ortner)
Relationstypen:
kennen
besitzen
besuchen (Lehrveranstaltung)
Ronald Ortner
Organisatorisches
SQL
Das Entity-Relationship Modell
Grundbegriffe
ER Diagramme
Entitäten und Relationen können in ER Diagrammen dargestellt
werden:
Entitätstypen werden als Rechtecke dargestellt.
Relationstypen werden als Rauten dargestellt.
Examples:
Ronald Ortner
Organisatorisches
SQL
Das Entity-Relationship Modell
Grundbegriffe
Das ER Modell – Grundbegriffe III
Attribute sind Eigenschaften von Entitäts- oder Relationstypen:
Ronald Ortner
Organisatorisches
SQL
Das Entity-Relationship Modell
Grundbegriffe
Das ER Modell – Grundbegriffe III
Attribute sind Eigenschaften von Entitäts- oder Relationstypen:
Beispiele:
Attribute von Personen:
Vorname, Nachname, Geburtstag, Nationalität, ...
Attribute von Autos:
Farbe, Modell, Kennzeichen, Fahrgestellnummer, ...
Attribute von Lehrveranstaltungen:
Lva-Nummer, Teilnehmer, Semester, ...
Attribute der Relation “besuchen”:
Datum, ...
Ronald Ortner
Organisatorisches
SQL
Das Entity-Relationship Modell
Grundbegriffe
ER Diagramme II
Attribute werden im ER Diagramm als Ellipsen dargestellt:
Eigenschaften von Entitäten:
Eigenschaften von Relationen:
Ronald Ortner
Organisatorisches
SQL
Das Entity-Relationship Modell
Grundbegriffe
Schlüssel
Definition
Schlüssel:
Menge von Attributen, die eine Entität eindeutig bestimmen
Kandidatenschlüssel:
minimaler Schlüssel (ein Schlüssel, aus dem kein Attribut entfernt
werden kann → im allgemeinen nicht eindeutig)
Primärschlüssel: ein beliebig gewählter Kandidatenschlüssel
Beispiele:
Die Matrikelnummer bestimmt einen Studenten eindeutig.
Die Sozialversicherungsnummer bestimmt eine Person eindeutig.
Das Kennzeichen, das Land und der Zeitpunkt bestimmen
eindeutig ein Auto.
Ronald Ortner
Organisatorisches
SQL
Relationen
Outline
1
Organisatorisches
2
SQL
3
Das Entity-Relationship Modell
Grundbegriffe
Relationen
Ronald Ortner
Das Entity-Relationship Modell
Organisatorisches
SQL
Das Entity-Relationship Modell
Relationen
Mathematische Darstellung von Eigenschaften
Beispiel: Eigenschaft ’ist ein Schauspieler’:
Robert de Niro ist ein Schauspieler.
Ronald Ortner
Organisatorisches
SQL
Das Entity-Relationship Modell
Relationen
Mathematische Darstellung von Eigenschaften
Beispiel: Eigenschaft ’ist ein Schauspieler’:
Robert de Niro ist ein Schauspieler.
Wir sagen:
Robert de Niro ist Element der Menge aller Schauspieler.
Ronald Ortner
Organisatorisches
SQL
Das Entity-Relationship Modell
Relationen
Mathematische Darstellung von Eigenschaften
Beispiel: Eigenschaft ’ist ein Schauspieler’:
Robert de Niro ist ein Schauspieler.
Wir sagen:
Robert de Niro ist Element der Menge aller Schauspieler.
Allgemein:
Wir können eine Eigenschaft P mit der Menge all jener Objekte
identifizieren, die die Eigenschaft P besitzen.
Zum Beispiel:
’ist ein Schauspieler’ =
x | x ist ein Schauspieler
=
Robert de Niro, Brad Pitt, Tom Cruise, . . .
Ronald Ortner
Organisatorisches
SQL
Das Entity-Relationship Modell
Relationen
Mathematische Darstellung von Relationen
Beispiel:
Relation ’lieben’:
Romeo liebt Julia.
Ronald Ortner
Organisatorisches
SQL
Das Entity-Relationship Modell
Relationen
Mathematische Darstellung von Relationen
Beispiel:
Relation ’lieben’:
Romeo liebt Julia.
Wir sagen:
Das Tupel (Romeo, Julia) erfüllt die Relation ’lieben’.
Ronald Ortner
Organisatorisches
SQL
Das Entity-Relationship Modell
Relationen
Mathematische Darstellung von Relationen
Beispiel:
Relation ’lieben’:
Romeo liebt Julia.
Wir sagen:
Das Tupel (Romeo, Julia) erfüllt die Relation ’lieben’.
Allgemein:
Wir können eine Relation R mit der Menge aller Tupel von Objekten
identifizieren, die die Relation R erfüllen.
Ronald Ortner
’lieben’ =
=
(x, y ) | x liebt y
(Romeo, Julia), (Julia, Romeo),
(Narziss, Narziss), . . .
Organisatorisches
SQL
Das Entity-Relationship Modell
Relationen
Mathematische Repräsentation von Relationen
’lieben’ = (x, y ) | x liebt y
Ronald Ortner
Organisatorisches
SQL
Das Entity-Relationship Modell
Relationen
Mathematische Repräsentation von Relationen
’lieben’ = (x, y ) | x liebt y ⊆ P × P,
wobei × das Cartesische Produkt bezeichnet und P die Menge aller
Personen ist.
Definition (Relation)
Eine Relation R zwischen Entitätstypen E1 , E2 , . . . , En
ist eine Teilmenge von E1 × E2 × . . . × En .
Beispiel:
’besitzen’ ist eine Teilmenge von P × D, wobei D die Menge aller
Dinge ist.
Ronald Ortner
Organisatorisches
SQL
Das Entity-Relationship Modell
Relationen
Klassifikation von Relationstypen – 1 : 1-Relationen
Es gibt drei verschiedene Klassen von binären Relationen zwischen
Entitätstypen E1 und E2 :
Definition (1 : 1-Relation)
Eine binäre Relation R zwischen Entitätstypen E1 und E2 ist 1 : 1,
wenn es für jede Entität e1 in E1 höchstens eine Entität e2 in E2 mit
(e1 , e2 ) ∈ R gibt und umgekehrt.
Ronald Ortner
Organisatorisches
SQL
Das Entity-Relationship Modell
Relationen
Klassifikation von Relationstypen – 1 : 1-Relationen
Es gibt drei verschiedene Klassen von binären Relationen zwischen
Entitätstypen E1 und E2 :
Definition (1 : 1-Relation)
Eine binäre Relation R zwischen Entitätstypen E1 und E2 ist 1 : 1,
wenn es für jede Entität e1 in E1 höchstens eine Entität e2 in E2 mit
(e1 , e2 ) ∈ R gibt und umgekehrt.
Beispiele: ’ist verheiratet mit’, ’hat Sozialversicherungsnummer’, ’hat
Matrikelnummer’
Ronald Ortner
Organisatorisches
SQL
Das Entity-Relationship Modell
Relationen
Klassifikation von Relationstypen – 1 : 1-Relationen
Definition (1 : 1-Relation)
Eine binäre Relation R zwischen Entitätstypen E1 und E2 ist 1 : 1,
wenn es für jede Entität e1 in E1 höchstens eine Entität e2 in E2 mit
(e1 , e2 ) ∈ R gibt und umgekehrt.
Beispiele: ’ist verheiratet mit’, ’hat Sozialversicherungsnummer’, ’hat
Matrikelnummer’
NB: Für eine Entität e1 in E1 kann es auch kein entsprechendes e2
in E2 mit (e1 , e2 ) ∈ R geben, ähnlich für Entitäten e2 ∈ E2 .
(Z.B. ist ’verheiratet’ eine 1:1-Relation, obwohl es unverheiratete
Personen gibt!)
Ronald Ortner
Organisatorisches
SQL
Das Entity-Relationship Modell
Relationen
Klassifikation von Relationstypen – 1 : N-Relationen
Es gibt drei verschiedene Klassen von binären Relationen zwischen
Entitätstypen E1 und E2 :
Definition (1 : N Relationship)
Eine binäre Relation R zwischen Entitätstypen E1 und E2 ist 1 : N,
wenn es für eine Entität e1 in E1 mehrere Entitäten e2 in E2 mit
(e1 , e2 ) ∈ R geben kann, aber für jede Entität e2 in E2 gibt es
höchstens eine Entität e1 in E1 mit (e1 , e2 ) ∈ R.
Ronald Ortner
Organisatorisches
SQL
Das Entity-Relationship Modell
Relationen
Klassifikation von Relationstypen – 1 : N-Relationen
Es gibt drei verschiedene Klassen von binären Relationen zwischen
Entitätstypen E1 und E2 :
Definition (1 : N Relationship)
Eine binäre Relation R zwischen Entitätstypen E1 und E2 ist 1 : N,
wenn es für eine Entität e1 in E1 mehrere Entitäten e2 in E2 mit
(e1 , e2 ) ∈ R geben kann, aber für jede Entität e2 in E2 gibt es
höchstens eine Entität e1 in E1 mit (e1 , e2 ) ∈ R.
Beispiele: ’anstellen’, ’Mutter sein von’, ’besitzen’
Ronald Ortner
Organisatorisches
SQL
Das Entity-Relationship Modell
Relationen
Klassifikation von Relationstypen – 1 : N-Relationen
Es gibt drei verschiedene Klassen von binären Relationen zwischen
Entitätstypen E1 und E2 :
Definition (1 : N Relationship)
Eine binäre Relation R zwischen Entitätstypen E1 und E2 ist 1 : N,
wenn es für eine Entität e1 in E1 mehrere Entitäten e2 in E2 mit
(e1 , e2 ) ∈ R geben kann, aber für jede Entität e2 in E2 gibt es
höchstens eine Entität e1 in E1 mit (e1 , e2 ) ∈ R.
Beispiele: ’anstellen’, ’Mutter sein von’, ’besitzen’
NB: Wieder kann es Entitäten in E1 (oder E2 ) geben, die an der
Relation nicht ’teilnehmen’.
(z.B: arbeitslose, kinderlose Personen usw.)
Ronald Ortner
Organisatorisches
SQL
Das Entity-Relationship Modell
Relationen
Klassifikation von Relationstypen – N : M-Relationen
Es gibt drei verschiedene Klassen von binären Relationen zwischen
Entitätstypen E1 und E2 :
Definition (N : M Relationship)
Eine binäre Relation R zwischen Entitätstypen E1 und E2 ist N : M,
wenn es für jede Entität e1 in E1 mehrere Entitäten e2 in E2 mit
(e1 , e2 ) ∈ R geben kann und umgekehrt.
Ronald Ortner
Organisatorisches
SQL
Das Entity-Relationship Modell
Relationen
Klassifikation von Relationstypen – N : M-Relationen
Es gibt drei verschiedene Klassen von binären Relationen zwischen
Entitätstypen E1 und E2 :
Definition (N : M Relationship)
Eine binäre Relation R zwischen Entitätstypen E1 und E2 ist N : M,
wenn es für jede Entität e1 in E1 mehrere Entitäten e2 in E2 mit
(e1 , e2 ) ∈ R geben kann und umgekehrt.
Beispiele: ’besuchen (Lehrveranstaltung)’, ’mögen’,
’verwandt sein mit’
Ronald Ortner
Organisatorisches
SQL
Das Entity-Relationship Modell
Relationen
Klassifikation von Relationstypen – N : M-Relationen
Es gibt drei verschiedene Klassen von binären Relationen zwischen
Entitätstypen E1 und E2 :
Definition (N : M Relationship)
Eine binäre Relation R zwischen Entitätstypen E1 und E2 ist N : M,
wenn es für jede Entität e1 in E1 mehrere Entitäten e2 in E2 mit
(e1 , e2 ) ∈ R geben kann und umgekehrt.
Beispiele: ’besuchen (Lehrveranstaltung)’, ’mögen’,
’verwandt sein mit’
NB: Wieder kann es Entitäten in E1 (oder E2 ) geben, die an der
Relation nicht ’teilnehmen’.
Ronald Ortner
Organisatorisches
SQL
Das Entity-Relationship Modell
Relationen
1 : 1 und 1 : N-Relationen als Partielle Funktionen
Jede 1 : 1-Relation R zwischen Entitätstypen E1 und E2 entspricht
einem Paar von partiellen Funktionen f : E1 → E2 , f −1 : E2 → E1 .
Beispiel: Relation ’ist verheiratet mit’
Funktion Ehemann: Pweiblich → Pmaennlich
Funktion Ehefrau: Pmaennlich → Pweiblich
Ronald Ortner
Organisatorisches
SQL
Das Entity-Relationship Modell
Relationen
1 : 1 und 1 : N-Relationen als Partielle Funktionen
Jede 1 : 1-Relation R zwischen Entitätstypen E1 und E2 entspricht
einem Paar von partiellen Funktionen f : E1 → E2 , f −1 : E2 → E1 .
Beispiel: Relation ’ist verheiratet mit’
Funktion Ehemann: Pweiblich → Pmaennlich
Funktion Ehefrau: Pmaennlich → Pweiblich
Jede 1 : N-Relation zwischen E1 und E2 entspricht einer partiellen
Funktion f : E2 → E1 .
Beispiel: Relation ’ist Mutter von’
Funktion Mutter : P → Pweiblich
Ronald Ortner
Organisatorisches
SQL
Das Entity-Relationship Modell
Relationen
Verallgemeinerung auf n-stellige Relationen
Für Relationen zwischen Entitätstypen E1 , E2 , . . . , En kann man die
obigen Definitionen wie folgt verallgemeinern.
Z.B.:
Eine ternäre Relation zwischen E1 , E2 , E3 ist 1 : 1 : N, wenn
f1 : E2 × E3 → E1 eine partielle Funktion ist.
f2 : E1 × E3 → E2 eine partielle Funktion ist.
Ronald Ortner
Organisatorisches
SQL
Das Entity-Relationship Modell
Relationen
Verallgemeinerung auf n-stellige Relationen
Eine ternäre Relation zwischen E1 , E2 , E3 ist 1 : 1 : N, wenn
f1 : E2 × E3 → E1 eine partielle Funktion ist.
f2 : E1 × E3 → E2 eine partielle Funktion ist.
Beispiel: Die Relation ’_ betreut Abschlussarbeit über _ von _’
zwischen Entitätstypen Professoren, Themen, und Studenten ist
1 : 1 : N, wenn:
• Für jeden Studenten und jedes Thema gibt es nur einen
betreuenden Professor.
• Für jeden Professor und jeden Studenten gibt es nur ein Thema.
• Jedoch kann ein Professor ein Thema mehrmals an Studenten
vergeben.
Ronald Ortner
Organisatorisches
SQL
Das Entity-Relationship Modell
Relationen
Verallgemeinerung auf n-stellige Relationen
Für Relationen zwischen Entitätstypen E1 , E2 , . . . , En kann man die
obigen Definitionen wie folgt verallgemeinern.
Eine ternäre Relation zwischen E1 , E2 , E3 ist 1 : N : M, wenn
f1 : E2 × E3 → E1 eine partielle Funktion ist.
Ronald Ortner
Organisatorisches
SQL
Das Entity-Relationship Modell
Relationen
Verallgemeinerung auf n-stellige Relationen
Für Relationen zwischen Entitätstypen E1 , E2 , . . . , En kann man die
obigen Definitionen wie folgt verallgemeinern.
Eine ternäre Relation zwischen E1 , E2 , E3 ist 1 : N : M, wenn
f1 : E2 × E3 → E1 eine partielle Funktion ist.
Beispiel: Die Relation ’_legt eine Prüfung für die VO _ gehalten von _’
zwischen Entitätstypen Studenten, Vorlesungen und Professoren ist
N : M : 1, wenn:
• Für jeden Studenten und jede Vorlesung gibt es nur einen Professor,
bei dem der Student die Prüfung ablegen kann.
Ronald Ortner
Organisatorisches
SQL
Das Entity-Relationship Modell
Relationen
Die (min,max)-Notation
Die Definition von 1 : 1, 1 : N und N : M-Relationen kann
folgendermaßen verallgemeinert werden:
Für eine Relation R zwischen E1 und E2 :
Gegeben ein e1 in E1 , was ist die minimale Anzahl von Entitäten
e2 in E2 mit (e1 , e2 ) ∈ R? (→ min)
Gegeben ein e1 in E1 , was ist die maximale Anzahl von Entitäten
e2 in E2 mit (e1 , e2 ) ∈ R? (→ max)
Unterschied zu 1 : 1, 1 : N, N : M Definition:
min kann 0 sein,
max kann beliebig groß sein (→ max:=?).
Ronald Ortner
Herunterladen