1 Entity Relationship Model (ERM) Eine Einführung am Beispiel und ein Blick in die Praxis....

25
1 Entity Relationship Model (ERM) Eine Einführung am Beispiel und ein Blick in die Praxis. Vortragsgruppe: Michael Grau, Gunther Gruber, Lars Hechmann, Wolfgang Pauli, Oliver Ruloff

Transcript of 1 Entity Relationship Model (ERM) Eine Einführung am Beispiel und ein Blick in die Praxis....

Page 1: 1 Entity Relationship Model (ERM) Eine Einführung am Beispiel und ein Blick in die Praxis. Vortragsgruppe: Michael Grau, Gunther Gruber, Lars Hechmann,

1

Entity Relationship Model (ERM)

Eine Einführung am Beispiel und ein Blick in die Praxis.

Vortragsgruppe:Michael Grau, Gunther Gruber, Lars Hechmann,Wolfgang Pauli, Oliver Ruloff

Page 2: 1 Entity Relationship Model (ERM) Eine Einführung am Beispiel und ein Blick in die Praxis. Vortragsgruppe: Michael Grau, Gunther Gruber, Lars Hechmann,

2

Praxis: ein Beispiel von A-Z

• Anfang: Idee/Ziel, Anforderungen– Idee/Ziel des Beispiels: die Dokumente

unseres „ExDigSim“ in einer Datenbank abspeichern

• Schritt 1: Modellierung der Idee als ERM

• Schritt 2: Implementierung der Datenbank

• Schritt 3: Datenverwendung (Clients)

Page 3: 1 Entity Relationship Model (ERM) Eine Einführung am Beispiel und ein Blick in die Praxis. Vortragsgruppe: Michael Grau, Gunther Gruber, Lars Hechmann,

3

Anforderungen bzw. zu speichernde Informationen

• die Bausteine selbst• Verbindungen unter den Bausteinen• Bausteine, die aus mehreren anderen

zusammengesetzt sind• Bausteine, die (nur) durch eine

Wertetabelle definiert sind• Logische Zustände in der Schaltung• „zukünftige“ Zustände wegen Latenzzeit

(Schaltungshazards simulieren)

Page 4: 1 Entity Relationship Model (ERM) Eine Einführung am Beispiel und ein Blick in die Praxis. Vortragsgruppe: Michael Grau, Gunther Gruber, Lars Hechmann,

4

Bausteine, Verbindungen, Zustände

•eindeutige IDs, hier A, B und C

•Typische Attribute: Anzahl der Eingänge und Ausgänge

•Verbindungen: Ausgang zeigt auf verbundenen Eingang

•Zustände: z.B. A.A2 - C.E2 ist EIN Zustand; Modell: speichere Zustände in Eingängen; jeder Eingang ist ein „Zustandspunkt“

A

BC

E1

E2

E1

E1

E3

A1

A1

A1

A2

Page 5: 1 Entity Relationship Model (ERM) Eine Einführung am Beispiel und ein Blick in die Praxis. Vortragsgruppe: Michael Grau, Gunther Gruber, Lars Hechmann,

5

Baustein implementiert durch andere Bausteine

„Implementierungs-schaltung“

Drei 2-fach-UND-Gatter ergeben ein 4-faches.

Page 6: 1 Entity Relationship Model (ERM) Eine Einführung am Beispiel und ein Blick in die Praxis. Vortragsgruppe: Michael Grau, Gunther Gruber, Lars Hechmann,

6

Mögliche Realisierung unserer Anforderungen durch:

• Bausteine: eigene ID, Spalten für Eigenschaften, u.a. „VaterBausteinID“

• Zustandspunkte := alle Punkte in der Schaltung, die einen logischen Zustand haben können (Eingänge der Bausteine)(Knoten des gerichteten Baustein-Graphen)

• Baustein-Verbindungen: Welcher Ausgang ist mit welchem Zustandspunkt (=Eingang des nächsten Bausteins) verbunden?

• Zustandsumschalter := recht einfache Dinger, die sich merken, nach welcher Latenzzeit ein neuer Zustand im Punkt zu realisieren ist

Page 7: 1 Entity Relationship Model (ERM) Eine Einführung am Beispiel und ein Blick in die Praxis. Vortragsgruppe: Michael Grau, Gunther Gruber, Lars Hechmann,

7

ER-Diagramm / Notation

-Graphische Repräsentation von Entitätstypen, Beziehungstypen und ihre Attribute durch einen Graphen

-Ein Rechteck repräsentiert einen Entitätstyp

-Ellipsen repräsentieren Attribute

-Sind über ungerichtete Graphen mit dem Entitätstyp verbunden –

-Schlüsselattribute werden unterstrichen (PK)

-Ein Beziehungstyp wird über eine Raute repräsentiert-

-Beziehungstypen werden mit ihrem Entitätstyp durch Kanten verbunden

-Die Kanten werden mit der Funktionalität des in der Beziehung auftretenden Entitytyps gekennzeichnet

- Bei 1:1 Beziehungen besitzen beide Kanten das Symbol 1

- Bei 1:n Beziehungen wird die Kante „von“ mit 1 und „nach“ mit n gekennzeichnet

- Bei n:m Beziehungen wird n der einen und m der anderen Kante zugeordnet

Page 8: 1 Entity Relationship Model (ERM) Eine Einführung am Beispiel und ein Blick in die Praxis. Vortragsgruppe: Michael Grau, Gunther Gruber, Lars Hechmann,

8

Eine Entität: Bausteine

• Stellt Tabelle dar• PK=Primary Key

(unterstrichen)• Fettruck darf nicht

NULL sein• Attribute sind Spalten

der späteren Tabelle

Bausteine

PK BausteinID Int

AnzahlEingänge Int

AnzahlAusgänge Int

VaterBausteinID Int

Beschreibung text

Page 9: 1 Entity Relationship Model (ERM) Eine Einführung am Beispiel und ein Blick in die Praxis. Vortragsgruppe: Michael Grau, Gunther Gruber, Lars Hechmann,

9

Entität: Zustandspunkte und Bausteinverbindungen

Zustandspunkte

PK ZustandpunktID Int

FK BausteinID Int

NummerDesEingangs

Int

Baustein-Verbindungen

PK, FK

BausteinID Int

PK NummerDesAusgangs

Int

ZustandspunktID Int

Page 10: 1 Entity Relationship Model (ERM) Eine Einführung am Beispiel und ein Blick in die Praxis. Vortragsgruppe: Michael Grau, Gunther Gruber, Lars Hechmann,

10

Bausteine

PK BausteinID Int

AnzahlEingänge Int

AnzahlAusgänge Int

VaterBausteinID Int

Beschreibung text

Zustandspunkte

PK ZustandpunktID Int

FK BausteinID Int

NummerDesEingangs

Int

Zwei verbundene Entitäten

Baustein hat Eingänge

1

n

Page 11: 1 Entity Relationship Model (ERM) Eine Einführung am Beispiel und ein Blick in die Praxis. Vortragsgruppe: Michael Grau, Gunther Gruber, Lars Hechmann,

11

Bausteine

PK BausteinID Int

AnzahlEingänge Int

AnzahlAusgänge Int

VaterBausteinID Int

Beschreibung text

Zustandspunkte

PK ZustandpunktID Int

FK BausteinID Int

NummerDesEingangs Int

Zustandsumschalter

PK ZustandsumschalterID Int

FK ZustandspunktID Int

Zielzustand Bit

VerbleibendeLatenzzeit Int

Wertetabelleneinträge

PK EintragID Int

FK BausteinID Int

Eingabewerte Text

Ausgabewerte Text

Ausgabelatenzen Text

Baustein-Verbindungen

PKFK

BausteinID Int

PK NummerDesAusgangs Int

ZustandspunktID Int

1

1

n

1

n

1

1

n

1

n

hat

hat

hat

hat

hat

ER-Modell

Page 12: 1 Entity Relationship Model (ERM) Eine Einführung am Beispiel und ein Blick in die Praxis. Vortragsgruppe: Michael Grau, Gunther Gruber, Lars Hechmann,

12

Beispiel: Ein Dreifach UND-Gatter in einer Microsoft

Access Datenbank

Guni

&

&

&

&

Page 13: 1 Entity Relationship Model (ERM) Eine Einführung am Beispiel und ein Blick in die Praxis. Vortragsgruppe: Michael Grau, Gunther Gruber, Lars Hechmann,

13

Drei Entitäten

• Entitäten sind die Tabellen

Page 14: 1 Entity Relationship Model (ERM) Eine Einführung am Beispiel und ein Blick in die Praxis. Vortragsgruppe: Michael Grau, Gunther Gruber, Lars Hechmann,

14

Attribute der Baustein-Entität

&

&

&1

2

3

&

0 = Vaterbaustein

-1

0

0

Page 15: 1 Entity Relationship Model (ERM) Eine Einführung am Beispiel und ein Blick in die Praxis. Vortragsgruppe: Michael Grau, Gunther Gruber, Lars Hechmann,

15

Die Eingänge der Bausteine

&

&

&1

2

3

210

211

• Jedem UND-Gatter sind zwei Eingänge zugeordnet• Dem zusammengesetzten Baustein sind 4 Eingänge zugeordnet

&201200

202

213

212

203

214

215

Vaterbaustein = 0

Page 16: 1 Entity Relationship Model (ERM) Eine Einführung am Beispiel und ein Blick in die Praxis. Vortragsgruppe: Michael Grau, Gunther Gruber, Lars Hechmann,

16

&

&

&

Die Baustein-Verbindung

1

3

2

214

Page 17: 1 Entity Relationship Model (ERM) Eine Einführung am Beispiel und ein Blick in die Praxis. Vortragsgruppe: Michael Grau, Gunther Gruber, Lars Hechmann,

17

Primary Keys

&

&

&1

2

3

&

0 (Vaterbaustein)

Primary Keys sind die eineindeutigen Namen der Einträge in der Tabelle

Page 18: 1 Entity Relationship Model (ERM) Eine Einführung am Beispiel und ein Blick in die Praxis. Vortragsgruppe: Michael Grau, Gunther Gruber, Lars Hechmann,

18

Eine 1zuN-Beziehung

foreign keys…

Jeder

Baustein hat

N Zustandspunkte

Page 19: 1 Entity Relationship Model (ERM) Eine Einführung am Beispiel und ein Blick in die Praxis. Vortragsgruppe: Michael Grau, Gunther Gruber, Lars Hechmann,

19

Eine 1zu1 Verbindungstabelle

Page 20: 1 Entity Relationship Model (ERM) Eine Einführung am Beispiel und ein Blick in die Praxis. Vortragsgruppe: Michael Grau, Gunther Gruber, Lars Hechmann,

20

Eine View: DatenrekombinationEinfaches Beispiel: Eingänge des Vaters

SELECT Zustandspunkte.BausteinID, Zustandspunkte.ZustandsID

FROM Zustandspunkte WHERE (((Zustandspunkte.BausteinID)=0));

Page 21: 1 Entity Relationship Model (ERM) Eine Einführung am Beispiel und ein Blick in die Praxis. Vortragsgruppe: Michael Grau, Gunther Gruber, Lars Hechmann,

21

Eine View: Datenrekombination

Page 22: 1 Entity Relationship Model (ERM) Eine Einführung am Beispiel und ein Blick in die Praxis. Vortragsgruppe: Michael Grau, Gunther Gruber, Lars Hechmann,

22

Pra

xisb

lick

– M

od

ellie

run

g

Page 23: 1 Entity Relationship Model (ERM) Eine Einführung am Beispiel und ein Blick in die Praxis. Vortragsgruppe: Michael Grau, Gunther Gruber, Lars Hechmann,

23

Pra

xisb

lick

– D

aten

ban

kser

ver

Page 24: 1 Entity Relationship Model (ERM) Eine Einführung am Beispiel und ein Blick in die Praxis. Vortragsgruppe: Michael Grau, Gunther Gruber, Lars Hechmann,

24

Pra

xisb

lick

– A

cces

s F

ron

tEn

d

Oder natürlich:

Unser ExDigSim als Client.

Oder natürlich:

Unser ExDigSim als Client.

Page 25: 1 Entity Relationship Model (ERM) Eine Einführung am Beispiel und ein Blick in die Praxis. Vortragsgruppe: Michael Grau, Gunther Gruber, Lars Hechmann,

25

3 Gute Gründe die MySql Datenbank unter Linux zu benutzen

• Sie ist kostenlos• Jeder kann den Programmcode lesen

www.mysql.comGuni