Post on 05-Apr-2015
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