garten - daten – was ist das? wer braucht das?prg2/ss2018/... · dr. karsten tolle –prg2 –ss...

49
Daten – Bank 3. Vorlesung

Upload: others

Post on 29-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Daten – Bank

3. Vorlesung

Page 2: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 2

Repetitorium:

• Wer: Tung Le Trong

• Wann: 24.7.2018 (Dienstag)

• Genauer wann …: von 10-18 Uhr

• Wo: H IV

Page 3: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 3

Bisher …

(0,n) (0,n)

AusweisNr. Name Vorname

Person lebt_in

von bis

Ort

PLZ Ortsname

GeoPosition

SQL:• create• insert• select

Page 4: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 6

ER-Modell gegeben

Frage 1: Wie daraus Tabellen (Relationen) bauen?

Frage 2: Welche Alternativen habe ich?

(0,n) (0,n) Person

AusweisNr. Name Vorname

lebt_in

von bis

Ort

PLZ Ortsname

Page 5: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 7

E (Schlüssel, Attribut_A, Attribut_B)

ER-Abbildung zu Relationen

Entitätstypen

• Ein Entitätstyp wird zu einer Relation (Tabelle), dessen Relationenschemaaus allen Attributen des Entitätstyps besteht.

• Jedes Tupel der Tabelle entspricht dann genau einer Entität des Entitätstyps.

• Etwaige Schlüssel werden übernommen und üblicherweise an den Anfang des Relationenschemas gestellt und unterstrichen.

„Regel“:

Entitätstyp E

Schlüssel Attribut_A Attribut_B

Page 6: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 8

Beispiel

Angestellter

PersNr Name Vorname

ANGESTELLTER (PersNr, Name, Vorname)

PersNr Name Vorname

001 Jon Lucas

003 Jon Smith

103 Lucas Jon

ANGESTELLTER

Page 7: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 9

BEZIEHUNG (Schlüssel1, Schlüssel2, B1, B2)

Entität_1 Entität_2 Beziehung

Schlüssel1 A_1

Schlüssel2 A_2

(0,n) (0,n)

B1 B2

ENTITÄT_1 (Schlüssel1, A_1)

ENTITÄT_2 (Schlüssel2, A_2)

Schlüssel für die Tabelle/Relation Beziehung?

Beziehungstyp

Page 8: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 10

Schlüssel• Ein Schlüssel identifiziert eine Entität. Er besteht aus einer

Menge von Attributen, deren Werte alle Instanzen einer Entität eindeutig bestimmen. (aus ER!)

• Ein Schlüssel (key) einer Relation r(R) ist eine minimale Teilmenge K von R, so dass für je zwei verschiedene Tupel t1, t2 r gilt:• t1(K) t2(K) und

• keine echte Teilmenge K' von K hat diese Eigenschaft.

• Ein Schlüssel kann als Integritätsbedingung angesehen werden. Falls K Schlüssel von r(R), t1 r, t1(K) = t2(K), t1 t2dann darf t2 nicht in r(R) eingefügt werden.

Page 9: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 11

Schlüssel?

Name

NM103

NM117

NM123

SR9

Raum

TutorName Raum Wochentag Startzeit

Sadik NM117 Montag 08:15

Alina NM117 Montag 12:15

Max NM117 Donnerstag 14:15

Max SR9 Donnerstag 12:15

Tutorium

Ein Schlüssel kann als Integritätsbedingung angesehen werden. Falls K Schlüssel von r(R), t1 r, t1(K) = t2(K), t1 t2 dann dürfte t2 nicht in r(R) eingefügt werden.

Page 10: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 12

• K ist ein Oberschlüssel (super key) der Relation, falls K einen Schlüssel enthält.

• … also aus Schlüssel Oberschlüssel (aber nicht umgekehrt)

Oberschlüssel

Oberschlüssel

Schlüssel

Page 11: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 13

Wichtig für Normalformen (später)!

• Eine Relation kann mehrere Schlüssel besitzen. Man spricht dann auch von Schlüsselkandidaten.

• Im Allgemeinen wird ein Schlüssel als Primärschlüsselausgezeichnet. Dieser wird im Relationenschema durch Unterstreichen gekennzeichnet.

Page 12: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 14

Beispiel

PERSON (AusweisNr, Name, Vorname)

ORT (PLZ, Ortsname)

LEBT_IN (AusweisNr, PLZ, von, bis)

(0,n) (0,n) Person

AusweisNr Name Vorname

lebt_in

von bis

Ort

PLZ Ortsname

Schlüssel für LEBT_IN?

Page 13: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 15

Beispiel mit Instanzen

PLZ Ortsname

501 Buli

503 Wali

603 Kali

AusweisNr PLZ von bis

001 501 23.12.2000 25.12.2010

003 501 17.08.2004 Null

001 503 01.01.1999 01.01.2012

AusweisNr Name Vorname

001 Jon Lucas

003 Jon Smith

103 Lucas Jon

Jon Lucas (001) lebt(e)_in Buli (501), vom 23.12.2000 bis zum 25.12.2010!

PERSON ORT

LEBT_IN

Page 14: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 16

PLZ Ortsname

501 Buli

503 Wali

603 Kali

AusweisNr PLZ von bis

001 501 23.12.2000 25.12.2010

003 501 17.08.2004 Null

001 503 01.01.1999 01.01.2012

001 501 01.01.2012 Null

AusweisNr Name Vorname

001 Jon Lucas

003 Jon Smith

103 Lucas Jon

Jon Lucas (001) lebt(e)_in Buli (501), vom 23.12.2000 bis zum 25.12.2010!

PERSON ORT

LEBT_IN

Jon Lucas (001) lebt(e)_in Buli (501), vom 01.01.2012 bis heute!

Attribut „von“ der Relationmuss auch Teil des Schlüsselssein!

Page 15: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 17

BEZIEHUNG (Schlüssel1, Schlüssel2, B1, B2)

BEZIEHUNG (Schlüssel1, Schlüssel2, B1, B2)

(0,n) und (0,n)

Entität_1 Entität_2 Beziehung

Schlüssel1 A_1

Schlüssel2 A_2

(0,n) (0,n)

B1 B2

ENTITÄT_1 (Schlüssel1, A_1)

ENTITÄT_2 (Schlüssel2, A_2)

Je nach Situation Teil desSchlüssels oder nicht!

Page 16: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 18

(0,1) und (0,n)

ENTITÄT_1 (Schlüssel1, A_1)

ENTITÄT_2 (Schlüssel2, A_2)

BEZIEHUNG (Schlüssel1, Schlüssel2, B)

Entität_1 Entität_2 Beziehung

Schlüssel1 A_1

Schlüssel2 A_2

(0,1) (0,n)

B

Page 17: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 19

Beispiel

(0,1) (0,n) Buch

BuchNr Titel Autor

verliehen an

Datum

Entleiher

Nummer Name

BUCH (BuchNr, Titel, Autor)ENTLEIHER (Nummer, Name)VERLIEHEN_AN(BuchNr, Nummer, Datum)

Page 18: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 20

Beispiel mit Instanzen

Nummer Name

501 Bully

503 Wally

603 Kally

BuchNr Nummer Datum

001 501 23.05.2013

103 603 17.08.2013

003 503 01.01.2014

BuchNr Titel Autor

001 Vom Winde Lucas

003 Per Anhalter Smith

103 Vom Winde Lucas

Das Buch (001) wurde verliehen an Bully, Datum 23.05.2013.

BUCH ENTLEIHER

VERLIEHEN_AN

Page 19: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 21

Einheitliche und ausdrucksstarke Schreibweisen beibehalten …

(0,1) (0,n) Buch

BuchNr Titel Autor

verliehen an

RückgabeDatum

Entleiher

EntleiherNr Nachname

BUCH (BuchNr, Titel, Autor)ENTLEIHER (EntleiherNr, Name)VERLIEHEN_AN(BuchNr, EntleiherNr, RückgabeDatum)

Page 20: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 22

… oder auch so …

(0,1) (0,n) Buch

Nr Titel Autor

verliehen an

RückgabeDatum

Entleiher

Nr Nachname

BUCH (Nr, Titel, Autor)ENTLEIHER (Nr, Name)VERLIEHEN_AN(BuchNr, EntleiherNr, RückgabeDatum)

Page 21: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 23

Hier sind nur noch zwei Relationen notwendig!

(1,1)

ENTITÄT_1 (Schlüssel1, A_1, Schlüssel2, B)

ENTITÄT_2 (Schlüssel2, A_2)

Entität_1 Entität_2 Beziehung

Schlüssel1 A_1

Schlüssel2 A_2

(1,1) (0,n)

B

Page 22: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 24

Beispiel

PERSON (AusweisNr., Name, Vorname, PLZ, GebDatum)ORT (PLZ, Ortsname)

(1,1) (0,n)Person

AusweisNr. Name Vorname

geborenin

Datum

Ort

PLZ Ortsname

Page 23: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 25

… aber auch möglich! (geht immer)

Entität_1 Entität_2 Beziehung

Schlüssel1 A_1

Schlüssel2 A_2

(1,1) (0,n)

B

ENTITÄT_1(Schlüssel1, A_1)

ENTITÄT_2 (Schlüssel2, A_2)

BEZIEHUNG (Schlüssel1, Schlüssel2, B)

PERSON (AusweisNr., Name, Vorname)ORT (PLZ, Ortsname)GEBOREN_IN (AusweisNr., PLZ, Datum)

(1,1) (0,n)Person

AusweisNr. Name Vorname

geborenin

Datum

Ort

PLZ Ortsname

Page 24: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 26

… Unterschied?

PERSON (AusweisNr., Name, Vorname)ORT (PLZ, Ortsname)GEBOREN_IN (AusweisNr., PLZ, Datum)

PERSON (AusweisNr., Name, Vorname, PLZ, GebDatum)ORT (PLZ, Ortsname)

(1,1) (0,n)Person

AusweisNr. Name Vorname

geborenin

Datum

Ort

PLZ Ortsname

Page 25: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 27

… und hier?

PERSON (AusweisNr., Name, Vorname)ORT (PLZ, Ortsname)GEBOREN_IN (AusweisNr., PLZ, Datum)

PERSON (AusweisNr., Name, Vorname, PLZ, Datum)ORT (PLZ, Ortsname)

(0,1) (0,n)Person

AusweisNr. Name Vorname

geborenin

Datum

Ort

PLZ Ortsname

Page 26: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 28

ENTITÄT_1 (Schlüssel1, A_1, Schlüssel2, B)ENTITÄT_2 (Schlüssel2, A_2)

(1,1) und (0,1)

Sind beide min-Kardinalitäten = 0, so muss das allgemeine Verfahren ((0,n) und (0,n)) angewendet werden.

Ist nur eine min-Kardinalität = 1, so wendet man die Abbildung der one-to-many bzw. many-to-one Beziehung an.

Entität_1 Entität_2 Beziehung

Schlüssel1 A_1

Schlüssel2 A_2

(1,1) (0,1)

B

Page 27: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 29

Beispiel

(1,1) (0,1) Abteilung

AbteilungsNr. Bezeichnung

geleitet von

seit

Mitarbeiter

Pers.Nr. Name

ABTEILUNG (AbteilungsNr., Bezeichnung, Pers.Nr., seit)MITARBEITER (Pers.Nr., Name)

Page 28: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 30

(1,1) und (1,1)

Entität_1 Entität_2 Beziehung

Schlüssel1 A_1

Schlüssel2 A_2

(1,1) (1,1)

B

ENTITÄT_1_2 (Schlüssel1, A_1, Schlüssel2, A_2, B)

oderENTITÄT_1_2 (Schlüssel1, A_1, Schlüssel2, A_2, B)

Nur noch eine Relation notwendig!

Page 29: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 31

Beispiel

(1,1) (1,1) Ausweis

AusweisNr. Behörde

gehört

Ablauf- Datum

Person

ID Nachname

PERSON (AusweisNr., Behörde, Ablaufdatum, ID, Nachname)

Page 30: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 32

Sonderfälle

(3,5) (0,1) Auto

KFZ-Kennzeichen Hersteller

hat_Räder Rad

Fabr.-Nr. Breite

(Hier sind RAD1 – RAD3 verbindlich, also NOT NULL, während RAD4 und RAD5 durchaus Nullwerte beinhalten dürfen.)

AUTO (KFZ-Kennzeichen, Hersteller, RAD1, ... RAD5)RAD (Fabr.-Nr., Breite)

Page 31: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 33

Überführung in SQL

PERSON (AusweisNr., Name, Vorname)

ORT (PLZ, Ortsname)

LEBT_IN (AusweisNr., PLZ, von, bis)

(0,n) (0,n) Person

AusweisNr. Name Vorname

lebt_in

von bis

Ort

PLZ Ortsname

Page 32: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 34

PLZ Ortsname

501 Buli

503 Wali

603 Kali

AusweisNr PLZ von bis

001 501 23.12.2000 25.12.2010

003 501 17.08.2004 Null

001 503 01.01.1999 01.01.2012

001 501 01.01.2012 Null

AusweisNr Name Vorname

001 Jon Lucas

003 Jon Smith

103 Lucas Jon

PERSON ORT

LEBT_IN

Fragen:1. Welche Datentypen für die Attribute?2. Welche Attribute dürfen Null-Values enthalten?3. Wie erzeuge ich die referenzielle Integrität?

Page 33: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 35

PLZ Ortsname

501 Buli

503 Wali

603 Kali

AusweisNr PLZ von bis

001 501 23.12.2000 25.12.2010

003 501 17.08.2004 Null

001 503 01.01.1999 01.01.2012

001 501 01.01.2012 Null

ORTLEBT_IN

z.B. varchar(40)oder besser varchar(45)? … Ist auch „01“ ein gültiger Wert?

Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch ist ein walisischer Ortsname mit 58 Zeichen.

“Die längste Ortsbezeichnung[9] besitzt ein neuseeländischer Hügel namensTaumatawhakatangihangakoauauotamateaturipukakapikimaungahoronukupokaiwhenuakitanatahu (83 Zeichen), überboten vom offiziell verständlicherweise selten verwendeten Namen von Bangkok, Krung Thep Mahanakhon Amon Rattanakosin Mahinthara Ayuthaya Mahadilok Phop Noppharat Ratchathani BuriromUdomratchaniwet Mahasathan Amon Piman Awatan Sathit Sakkathattiya Witsanukam Prasit (168 Zeichenohne Leerzeichen, 21 Wörter).[10] Europas längsten Ortsnamen trägt die walisische OrtschaftLlanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch (58 Zeichen), wobei diese eineStädtepartnerschaft mit dem niederländischen Dorf Ee und dem französischen Dorf Y einging.”

Aus: https://de.wikipedia.org/wiki/Ortsname#Lange_und_kurze_Ortsnamen

Page 34: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 36

PLZ Ortsname

501 Buli

503 Wali

603 Kali

AusweisNr PLZ von bis

001 501 23.12.2000 25.12.2010

003 501 17.08.2004 Null

001 503 01.01.1999 01.01.2012

001 501 01.01.2012 Null

ORTLEBT_IN

Werte hier sollen eine Referenzauf Objekte darstellen. Sie solltenenthalten sein in der Tabelle ORT!

Solche Verweise auf Schlüssel anderer Tabellen nennt man „Fremdschlüssel“!

Page 35: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 37

PLZ Ortsname

501 Buli

503 Wali

603 Kali

AusweisNr PLZ von bis

001 501 23.12.2000 25.12.2010

003 501 17.08.2004 Null

001 503 01.01.1999 01.01.2012

001 501 01.01.2012 Null

ORTLEBT_IN

CREATE TABLE lebt_in (AusweisNr INT NOT NULL ,PLZ INT NOT NULL ,von DATE NOT NULL ,bis DATE NULL ,PRIMARY KEY (AusweisNr, PLZ, von) ,

FOREIGN KEY (PLZ) REFERENCES ort (PLZ),FOREIGN KEY (AusweisNr) REFERENCES person (AusweisNr));

Page 36: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 38

Definition

Referenzielle Integrität bedeutet die Konsistenz zwischen verbundenen Tabellen. Referenzielle Integrität wird durch die Kombination von Primärschlüssel und Fremdschlüssel erzwungen. Um die referenzielle Integrität zu erhalten darf jedes Feld einer Tabelle, das als Fremdschlüssel deklariert worden ist, nur Werte des entsprechenden Primärschlüssels der „Eltern Tabelle“ annehmen.

Page 37: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 39

Abbildung der Generalisierung

Oberklasse

Schlüssel Attribut_A Attribut_B

Subklasse_2

Attribut_A_2

Subklasse_1

Attribut_A_1 Attribut_B_1

Es gibt unterschiedliche Möglichkeitendies ins rel. Modell abzubilden.

nicht klausurrelevant

Page 38: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 40

Generalisierung ER rel. Modell

Konto

Kto.-Nr. Kunde Kto.Stand

Sparkonto

Zinssatz

Girokonto

Kreditrahmen

Möglichkeit 1:KONTO (Kto.Nr., Kunde, Kto.Stand)GIROKONTO (Kto.Nr., Kunde, Kto.Stand, Kreditrahmen)SPARKONTO (Kto.Nr., Kunde, Kto.Stand, Zinssatz)

Möglichkeit 2:KONTO (Kto.Nr., Kunde, Kto.Stand)GIROKONTO (Kto.Nr., Kreditrahmen)SPARKONTO (Kto.Nr., Zinssatz)

Möglichkeit 3:KONTO (Kto.Nr., Kunde, Kto.Stand, Kreditrahmen, Zinssatz)

manchmal auch mit Type-Spalten (diese enthalten einfach true/false Info):KONTO (Kto.Nr., Kunde, Kto.Stand, Giro, Spar, Kreditrahmen, Zinssatz)

nicht klausurrelevant

Verknüpfung zwischen Kto.Nr. über Fremdschlüssel!

Page 39: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 41

Zusammenfassung

• Übersetzung ER-Modell ins Relationenmodell(nicht eindeutig!)

• Referenzielle Integrität mit Fremdschlüssel

Page 40: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 42

PLZ Ortsname

501 Buli

503 Wali

603 Kali

AusweisNr PLZ von bis

001 501 23.12.2000 25.12.2010

003 501 17.08.2004 Null

001 503 01.01.1999 01.01.2012

001 501 01.01.2012 Null

AusweisNr Name Vorname

001 Jon Lucas

003 Jon Smith

103 Lucas Jon

PERSON ORT

LEBT_IN

Wieder verbinden in Anfragen?

Welche Personen leben aktuell in Buli?select A1,A2, ... ,An

from R1, R2, ... ,Rm

[where conditions]

[group by clause]

[having clause]

[order by clause];

Page 41: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 43

PLZ Ortsname

501 Buli

503 Wali

603 Kali

AusweisNr PLZ von bis

001 501 23.12.2000 25.12.2010

003 501 17.08.2004 Null

001 503 01.01.1999 01.01.2012

001 501 01.01.2012 Null

AusweisNr Name Vorname

001 Jon Lucas

003 Jon Smith

103 Lucas Jon

PERSON ORT

LEBT_IN

Wieder verbinden in Anfragen?

Welche Personen leben aktuell in Buli?

SELECT p.* FROM lebt_in l, person p, ort o WHERE

o.Ortsname = 'Buli' AND o.plz = l.plz ANDp.ausweisnr = l.ausweisnr ANDl.bis IS NULL;

Page 42: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 44

PLZ Ortsname

501 Buli

503 Wali

603 Kali

AusweisNr PLZ von bis

001 501 23.12.2000 25.12.2010

003 501 17.08.2004 Null

001 503 01.01.1999 01.01.2012

001 501 01.01.2012 Null

AusweisNr Name Vorname

001 Jon Lucas

003 Jon Smith

103 Lucas Jon

PERSON ORT

LEBT_IN

Wieder verbinden in Anfragen?

Welche Personen leben aktuell in Buli?

SELECT p.* FROM lebt_in l JOIN person p ON (l.ausweisnr=p.ausweisnr) JOIN ort o ON (o.plz=l.plz) WHERE

o.Ortsname = 'Buli' AND l.bis IS NULL;

Page 43: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 45

Ausführungsplan - Welche Personen leben aktuell in Buli?

SELECT p.* FROM lebt_in l JOIN person p ON (l.ausweisnr=p.ausweisnr) JOIN ort o ON (o.plz=l.plz) WHERE

o.Ortsname = 'Buli' AND l.bis IS NULL;

SELECT p.* FROM lebt_in l, person p, ort o WHERE

o.Ortsname = 'Buli' AND o.plz = l.plz ANDp.ausweisnr = l.ausweisnr ANDl.bis IS NULL;

Page 44: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 46

Wichtige DBMS 2007• Oracle

• IBM DB2

• Microsoft SQL Server

• … Company Revenue 2007Market share2007

Oracle 8,343 Mrd. Dollar 37,6%

IBM 4,879 Mrd. Dollar 22,0%

Microsoft 4,670 Mrd. Dollar 21,0%

aus Computerwoche Nr. 3 vom 16. Januar 2009Zahlen beziehen sich nur auf DBMS-Geschäft

Page 45: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 47

Important Enterprise Database Systems Of 2017

https://www.codeclouds.com/blog/10-best-enterprise-database-systems-2017/

Page 46: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 48

1970 1980 1990 2000 2005 2010 2012 2015 Zeit

DBMS EvolutionDatei basiert

Hierarchische DBMS

Netzwerk DBMS

Relationale DBMS

Objektorientierte DBMS

Objektrelationale DBMS

XML DBMS

Big Data, Hadoop

NoSQL/NewSQLDocument StoresKey-Value Store

Graph DatenbankIn-Memory

Page 47: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Dr. Karsten Tolle – PRG2 – SS 2018 49

Reference: H. Lim, Y. Han, and S. Babu, “How to Fit when No One Size Fits.,” in CIDR, 2013.

Page 48: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Geschätzte Kosten für Ausfallzeiten (Downtimes) Stand: 2002!!!!

Nach: Craig S. MullinsDatabase Administration – The Complete Guide to Practices and Procedures2002 – Addison-Wesley – ISBN 0-201-74129-6

Geschäftsfeld Geschätzte Kosten pro Stunde

Aktienhandel $6,45 Millionen

Kreditkarten-Gesellschaften $2,6 Millionen

Home Shopping Channel $113.750

Katalog Verkaufs Center $90.000

Fluglinien Reservierung $89.500

Versand Service $28.250

Geldautomat Service $14.500

Page 49: Garten - Daten – Was ist das? Wer braucht das?prg2/SS2018/... · Dr. Karsten Tolle –PRG2 –SS 2018 15 Beispiel mit Instanzen PLZ Ortsname 501 Buli 503 Wali 603 Kali AusweisNr

Kosten für Ausfallzeiten (Downtimes)

Nach: Craig S. MullinsDatabase Administration – The Complete Guide to Practices and Procedures2002 – Addison-Wesley – ISBN 0-201-74129-6

Ausfallzeiten pro Jahr

Verfügbarkeit Minuten Stunden Kosten pro Jahr*

99,999% 5 0,08 8.000 $

99,99% 53 0,88 88.000 $

99,9% 526 8,77 887.000 $

99,5% 2628 43,8 4.380.000 $

99% 5256 87,6 8.760.000 $

* Bei Kosten für eine Stunde Ausfallzeit von 100.000 $