• Keine Ergebnisse gefunden

Logische Datenmodelle

N/A
N/A
Protected

Academic year: 2022

Aktie "Logische Datenmodelle"

Copied!
26
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Datenbanksysteme SS 2015

Kapitel 3:

Logische Datenmodelle

Oliver Vornberger

(2)

2

Konzeptuelles Schema

Datenbanksystem Konzeptuelles

Schema reale

Welt

Externes Schema

Internes Schema Logisches

Schema

(3)

Entity Relationship Diagramm

darbieten

ent ha lte n mit wi

rke n

Interpreten Titel

Name Name Dauer

Id Id

N M

N N

(4)

4

Entity Relationship Diagramm

umfassen

Interpreten Titel

Alben Name

Name Name

Jahr

Dauer

Id

Id Id

(5)

2er versus 3er Relationships

Beatles Abbey Road Here comes the sun Beatles Abbey Road Come together

Beatles Yellow Submarine All you need is love Beatles Abbey Road

Beatles Yellow Submarine

Abbey Road Here comes the sun Abbey Road Come together

Yellow Submarine All you need is love

(6)

Interpret

Album Album Album Album

Interpret

Interpret

Ausprägung

Album Album Album Album Album Album

Album Album Album Album Album

Album Album Album Album Album Album

Album Album Album Album

Album Album Album

(7)

geboren

Personalakte

Susi Sorglos, geboren am 4. Mai 1960 in Ibbenbüren

Willi Wacker, geboren am 12. August 1972 in Osnabrück

Personen Orte

Name

Id Datum Geburtsort PLZ Name

(8)

8

Logische Datenmodelle

Datenbanksystem Konzeptuelles

Schema reale

Welt

Externes Schema

Internes Schema Logisches

Schema

(9)

Logische Datenmodelle

• Hierarchisches Modell (1960 IMS IBM)

• Netzwerkmodell (1970 UDS Siemens)

• Relationales Modell (1980 MS Access)

• Objektorientiertes Modell (1990 O2)

• Dokumentenorientiertes Modell (2005 CouchDB)

(10)

10

Hierarchisches Modell

Vorlesung

VorlNr Titel SWS

Student

MatrNr Name Semester

Dozent

PersNr Name Rang Raum

Mustermann V Stochastik V Java D Stadje D Vogt

Schreiner

D S Wacker V Zahlentheorie D Vogt

S

Ausprägung (S = Student, V = Vorlesung, D = Dozent):

Schema:

(11)

Schema im Hierarchischen Modell

COURSE# TITLE DESCRIPN COURSE

COURSE# TITLE

PREREQ OFFERING

LOCATION

DATE FORMAT

(12)

12

Ausprägung im Hierarchischen Modell

M23 COURSE

Dynamics

Calculus M19

Trigonometry M16

PREREQ PREREQ

Oslo

750106 F 2

OFFERING Dublin

741104 F 3

OFFERING Madrid

730813 F 3

OFFERING

Sharp, R.

421633 761620 Tallis, T. B

STUDENT Gibbons, O.

183009 A

STUDENT Byrd, W.

102141 B

STUDENT TEACHER

(13)

Navigation in Hierarchischen Modell

Randbedingung: auf Magnetband vorwärts suchen GU Get Unique <Typ> <Condition>

GN Get Next <Typ>

GNP Get Next <Typ> within Parent

(14)

14

Beispiel für Navigation

COURSE# TITLE DESCRIPN COURSE

COURSE# TITLE

PREREQ OFFERING

LOCATION

DATE FORMAT

EMP# NAME EMP# NAME GRADE STUDENT

TEACHER

GU COURSE(COURSE#='M23')

OFFERING (DATE='730813') if gefunden then

begin

GNP STUDENT

while gefunden do begin

write(STUDENT.NAME) GNP STUDENT

end end;

Welche Studenten sind im Kurs M23 am 13.08.1973 ?

(15)

Netzwerkmodell

Autor Simmel

owner - Typ

set - Typ schreibt

(nur binäre many-one-Beziehungen)

(16)

16

Netzwerk mit M:N-Beziehung

Student

SV

Vorlesung ss

vs

Mustermann Wacker

Java Stochastik Zahlentheorie

(17)

Kettrecord mit Attribut im Netzwerkmodell

Ware

Nr Bezeichnung

Bestellung Anz

Wb

Pb

Apfel Birne Tomate

30 12 18 24 22 18

(18)

18

Operationen im Netzwerkmodell

FIND ANY <TYP> USING <ATTRIBUT>

FIND NEXT <TYP> WITHIN <SET>

FIND OWNER WITHIN <SET>

Typische Operation :

Navigation durch die verzeigerten Entities

(19)

Operationen im Netzwerkmodell

PERSON.NAME := 'SCHULZ';

FIND ANY PERSON USING NAME;

IF GEFUNDEN THEN BEGIN

FIND FIRST BESTELLUNG WITHIN PB;

WHILE GEFUNDEN DO BEGIN

FIND OWNER WITHIN WB;

GET WARE;

Apfel Birne Tomate

30 12 18 24 22 18

WB

Drucke Bestellungen

von Schulz

(20)

20

Relationales Modell

1970: Edgar Codd:

"A relational model for large shared data banks"

Communications of the ACM

1977: Lawrence Ellison gründet Oracle

1981: Turing Award an Edgar Codd

(21)

Relationales Datenmodell

• pro Relationship-Typ:

Tabelle mit Spalten für die Schlüssel der beteiligten Entity-Typen und ggf. weitere Spalten.

Studenten hoeren Vorlesungen

• pro Entity-Typ:

Tabelle mit Spalten benannt nach den Attributen.

hoeren

Studenten Vorlesungen

(22)

22

Operationen im Relationalen Modell

• Selektion: Suche alle Tupel einer Relation

mit gewissen Attributeigenschaften

• Projektion: filtere gewisse Spalten heraus

• Verbund: Finde Tupel in mehreren Relationen,

die bzgl. gewisser Spalten übereinstimmen.

Welche Studenten hören die Vorlesung Zahlentheorie?

SELECT Studenten.Nachname

From Studenten, hoeren, Vorlesungen

WHERE Studenten.MatrNr = hoeren.MatrNr

AND hoeren.VorlNr = Vorlesungen.VorlNr AND Vorlesungen.Titel = 'Zahlentheorie'

MatNr Vorname Nachname 653467 Erika Mustermann 875462 Willi Wacker 432788 Peter Pan

Studenten

MatrNr VorlNr

653467 6.718 875462 6.718 432788 6.718 875462 6.108

hoeren

VorlNr Titel Umfang 6.718 Java 4 6.174 Stochastik 2 6.108 Zahlentheorie 4

Vorlesungen

(23)

Das Objektorientierte Datenmodell

• Eine Klasse repräsentiert einen Entity-Typ, charakterisiert durch Struktur und Verhalten.

• Struktur und Verhalten können an eine Unterklasse vererbt werden.

• Binäre Beziehungen werden durch mengenwertige

Attribute modelliert.

(24)

24

class Studenten {

attribute long Matrnr;

attribute String Name;

relationship set <Vorlesungen> hoert

inverse Vorlesungen::Hoerer;

}

Objektorientierte Modellierung: Klassen

class Professoren {

attribute long PersNr;

attribute String Name;

relationship set <Vorlesungen> liest

inverse Vorlesungen::gelesenVon;

}

class Vorlesungen {

attribute long VorlNr;

attribute String Titel;

relationship Professoren gelesenVon

inverse Professoren::liest;

relationship set <Studenten> Hoerer

inverse Studenten::hoert;

}

(25)

lesen hoeren

Relational versus Objektorientiert

Welche Studenten besuchen Vorlesungen von Sokrates ?

select Studenten.Name

from Studenten, hoeren, Vorlesungen, lesen, Professoren where Studenten.MatrNr = hoeren.MatrNr

and hoeren.VorlNr = Vorlesungen.VorlNr and Vorlesungen.VorlNr = lesen.VorlNr

and lesen.PersNr = Professoren.PersNr

Studenten Vorlesungen Professoren

SQL:

(26)

CouchDB

{

"_id": "65e0cf6bca4cdaafbc033ddc2a00ecf5",

"_rev": "2-8b1d63e16b5cbe18f211523d34fb5ecd",

"laden": "edeka",

"produkte": {

"apfel": 1.55,

"birne": 2.19,

"salami": 1.39,

"ananas": 1.19 }

}

function(doc) {

if (doc.laden && doc.produkte) { for (produkt in doc.produkte) {

preis = doc.produkte[produkt];

emit(produkt, preis);

} } }

function(keys, values) { return keys,

sum(values)/values.length;

}

Map Reduce

Ggf. Verteilte Datenhaltung

und parallele Bearbeitung !

Referenzen

ÄHNLICHE DOKUMENTE

Gemeinsam mit dem Capitol LichtspielTheater, Speyerer Straße 107a, Limburgerhof, veranstaltet das Wilhelm-Hack-Museum im Rahmen der aktuellen Ausstellung POP UP.. Bildikonen der

Eine Anfrage Q ergibt einen Treffer bei einem Dateinamen F, wenn die Wörter in Q eine Teilmenge von F sind.. Beispiel.: „Beatles Submarine“ ist ein Treffer „Beatles

Ich kann natürlich nur für mich sprechen, aber ich bin echt gerührt, wenn junge Leute sich mit mir beschäftigen. Das hält ja auch irgend-

Die Beatles und ihre Musik sind als Einstieg in die Beschäftigung mit populärer Musik besonders geeignet, weil sich ausgehend von ihrem Beispiel nahezu alle wichtigen Aspekte

eit vier Jahren treffen sich Menschen mit und ohne Behinderung in einem Köl- ner Café und lesen – das Lebenshil- fe journal war dabei und hat den Leseratten vom

Um zu klären, ob sich nach inhalativer Aufnahme von Pigment Yellow 12, Pigment Yellow 13 oder zwei verschieden großen Pigment-Yellow-83-Produkten, Pigment Yellow 83 „transparent“

Allein über 1.100 Euro an der einen Hausecke gekostet, wundert er sich heute noch – aber den gesetzlichen Regeln wurde damit Genüge getan.. Der Wehr- führer wies noch einmal darauf

Käesolevas alapeatükis kirjeldan, kuidas tekkis muusikali loomise idee, annan ülevaate sündmuse vormi leidmisest ja projekti vajalikkusest ning selle eesmärkidest.. Muusikali