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

Post on 05-Apr-2015

106 views 3 download

transcript

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

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)

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)

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

5

Baustein implementiert durch andere Bausteine

„Implementierungs-schaltung“

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

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

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

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

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

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

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

12

Beispiel: Ein Dreifach UND-Gatter in einer Microsoft

Access Datenbank

Guni

&

&

&

&

13

Drei Entitäten

• Entitäten sind die Tabellen

14

Attribute der Baustein-Entität

&

&

&1

2

3

&

0 = Vaterbaustein

-1

0

0

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

16

&

&

&

Die Baustein-Verbindung

1

3

2

214

17

Primary Keys

&

&

&1

2

3

&

0 (Vaterbaustein)

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

18

Eine 1zuN-Beziehung

foreign keys…

Jeder

Baustein hat

N Zustandspunkte

19

Eine 1zu1 Verbindungstabelle

20

Eine View: DatenrekombinationEinfaches Beispiel: Eingänge des Vaters

SELECT Zustandspunkte.BausteinID, Zustandspunkte.ZustandsID

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

21

Eine View: Datenrekombination

22

Pra

xisb

lick

– M

od

ellie

run

g

23

Pra

xisb

lick

– D

aten

ban

kser

ver

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.

25

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

• Sie ist kostenlos• Jeder kann den Programmcode lesen

www.mysql.comGuni