250 likes | 510 Views
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. Praxis: ein Beispiel von A-Z. Anfang: Idee/Ziel, Anforderungen
E N D
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
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)
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)
Bausteine, Verbindungen, Zustände • eindeutige IDs, hier A, B und C • Typische Attribute: Anzahl derEingä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“
Baustein implementiert durch andere Bausteine Drei 2-fach-UND-Gatter ergeben ein 4-faches. „Implementierungs-schaltung“
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
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
Eine Entität: Bausteine • Stellt Tabelle dar • PK=Primary Key (unterstrichen) • Fettruck darf nicht NULL sein • Attribute sind Spalten der späteren Tabelle
Zwei verbundene Entitäten 1 Baustein hat Eingänge n
ER-Modell 1 hat 1 n 1 hat hat n 1 hat 1 hat 1 n n
Beispiel: Ein Dreifach UND-Gatter in einer Microsoft Access Datenbank Guni
Drei Entitäten • Entitäten sind die Tabellen
0 Attribute der Baustein-Entität 1 0 3 -1 2 0 = Vaterbaustein
Die Eingänge der Bausteine 210 214 211 1 212 215 3 213 2 200 201 202 203 Vaterbaustein = 0 • Jedem UND-Gatter sind zwei Eingänge zugeordnet • Dem zusammengesetzten Baustein sind 4 Eingänge zugeordnet
Die Baustein-Verbindung 1 214 2 3
Primary Keys 1 3 2 0 (Vaterbaustein) Primary Keys sind die eineindeutigen Namen der Einträge in der Tabelle
Eine 1zuN-Beziehung foreign keys… Jeder Baustein hat N Zustandspunkte
Eine View: Datenrekombination Einfaches Beispiel: Eingänge des Vaters SELECT Zustandspunkte.BausteinID, Zustandspunkte.ZustandsID FROM Zustandspunkte WHERE (((Zustandspunkte.BausteinID)=0));
Praxisblick – Access FrontEnd Oder natürlich: Unser ExDigSim als Client.
3 Gute Gründe die MySql Datenbank unter Linux zu benutzen www.mysql.com • Sie ist kostenlos • Jeder kann den Programmcode lesen Guni