Was ist ER-Modellierung? Lernen Sie mit Beispielen

โšก Intelligente Zusammenfassung

Die Entity-Relationship-Modellierung ist ein grafischer Ansatz fรผr das Datenbankdesign, der reale Objekte als Entitรคten darstellt, sie mit Attributen beschreibt und erfasst, wie sie durch Beziehungen miteinander verbunden sind. Dadurch entsteht ein klarer Entwurf, bevor Tabellen erstellt werden.

  • ๐Ÿงฉ Was es ist: Die ER-Modellierung ist ein abstraktes, grafisches Datenmodell, das Datenelemente und ihre Beziehungen definiert.
  • ๐Ÿ—‚๏ธ Bausteine: Entitรคten reprรคsentieren Dinge der realen Welt, Attribute beschreiben ihre Eigenschaften und Beziehungen erfassen, wie Entitรคten interagieren.
  • ๐Ÿ”— Kardinalitรคt: Beziehungen kรถnnen eins-zu-eins, eins-zu-viele oder viele-zu-viele sein und werden รผber eine Verbindungsstelle aufgelรถst.
  • ๐Ÿš€ EER-Modell: Das erweiterte ER-Modell verwendet die UML-Notation und zusรคtzliche Konstrukte fรผr hochkomplexe Datenbanken.
  • ๐ŸŽฌ MyFlix-Fallstudie: Ein Beispiel fรผr eine Videobibliothek bildet Mitglieder, Filme, Kategorien, Ausleihen und Zahlungen in einem ER-Diagramm ab.
  • ๐Ÿค– KI-Unterstรผtzung: KI-Tools und GitHub Copilot wandeln natรผrlichsprachliche Beschreibungen in ER-Diagramme und SQL-Schemas um.

ER-Modellierung

Was ist ER-Modellierung?

Entity-Relationship-Modell (ER Modeling) ist ein grafischer Ansatz zum Datenbankdesign. Es handelt sich um ein High-Level-Datenmodell, das Datenelemente und ihre Beziehung fรผr ein bestimmtes Softwaresystem definiert. Zur Darstellung realer Objekte wird ein ER-Modell verwendet.

Eine Entitรคt ist ein Ding oder Objekt in der realen Welt, das sich von seiner Umgebung unterscheidet. Beispielsweise ist jeder Mitarbeiter eines Unternehmens eine separate Entitรคt. Im Folgenden werden einige der wichtigsten Merkmale von Entitรคten aufgefรผhrt.

  • Eine Entitรคt verfรผgt รผber eine Reihe von Eigenschaften.
  • Entitรคtseigenschaften kรถnnen Werte haben.

Betrachten wir noch einmal unser erstes Beispiel. Ein Mitarbeiter einer Organisation ist eine Entitรคt. Wenn โ€žPeterโ€œ ein Programmierer (ein Mitarbeiter) bei MicrosoftEr kann Attribute (Eigenschaften) wie Name, Alter, Gewicht, GrรถรŸe usw. haben. Es ist offensichtlich, dass diese fรผr ihn relevante Werte besitzen.

Jedes Attribut kann Werte annehmen. In den meisten Fรคllen hat ein Attribut genau einen Wert. Es ist aber auch mรถglich, dass Attribute mehrere Werte haben. Beispielsweise hat Peters Alter nur einen Wert. Seine Eigenschaft โ€žTelefonnummernโ€œ kann jedoch mehrere Werte annehmen.

Entitรคten kรถnnen Beziehungen zueinander haben. Betrachten wir das einfachste Beispiel. Angenommen, jede Microsoft Einem Programmierer wird ein Computer zur Verfรผgung gestellt. Es ist klar, dass Peters Computer ebenfalls eine eigenstรคndige Entitรคt darstellt. Peter benutzt diesen Computer, und derselbe Computer wird von Peter benutzt. Anders ausgedrรผckt: Zwischen Peter und seinem Computer besteht eine wechselseitige Beziehung.

Bei der Entity-Relationship-Modellierung modellieren wir Entitรคten, ihre Attribute und die Beziehungen zwischen den Entitรคten.

Warum ein ER-Modell verwenden?

Jetzt denken Sie vielleicht, warum wir ER-Modellierung verwenden sollten, wenn wir es einfach kรถnnen Erstellen Sie die Datenbank und alle seine Objekte ohne ER-Modellierung? Eine der Herausforderungen beim Entwurf einer Datenbank besteht darin, dass Designer, Entwickler und Endbenutzer dazu neigen, Daten und ihre Verwendung unterschiedlich zu betrachten. Wenn dieser Situation nicht entgegengewirkt wird, kann es passieren, dass wir ein Datenbanksystem erstellen, das nicht den Anforderungen der Benutzer entspricht.

Kommunikationswerkzeuge, die von allen Beteiligten (sowohl technischen als auch nicht-technischen Anwendern) verstanden werden, sind entscheidend fรผr die Entwicklung von Datenbanksystemen, die den Anforderungen der Anwender entsprechen. ER-Modelle sind Beispiele fรผr solche Werkzeuge.

ER-Diagramme steigern auch die Produktivitรคt der Benutzer, da sie leicht in relationale Tabellen รผbersetzt werden kรถnnen.

Enhanced Entity Relationship (EER)-Modell

Das erweiterte Entity-Relationship-Modell (EER-Modell) ist ein รผbergeordnetes Datenmodell, das das ursprรผngliche Entity-Relationship-Modell (ER-Modell) erweitert. EER-Modelle ermรถglichen eine detailliertere Gestaltung. Die EER-Modellierung hat sich als Lรถsung fรผr die Modellierung hochkomplexer Datenbanken etabliert.

EER verwendet die UML-Notation. UML ist das Akronym fรผr Einheitliche Modellierungssprache; Es handelt sich um eine universelle Modellierungssprache, die beim Entwurf objektorientierter Systeme verwendet wird. Entitรคten werden als Klassendiagramme dargestellt. Beziehungen werden als Assoziationen zwischen Entitรคten dargestellt. Das unten gezeigte Diagramm veranschaulicht ein ER-Diagramm unter Verwendung von UML-Notation.

Enhanced Entity Relationship (EER)-Modell

Fallstudie: ER-Diagramm fรผr die Videobibliothek โ€žMyFlixโ€œ

Wir arbeiten nun mit dem Datenbanksystem der MyFlix-Videobibliothek, um das Konzept von ER-Diagrammen besser zu verstehen. Diese Datenbank wird fรผr alle praktischen รœbungen in diesem Tutorial verwendet.

MyFlix ist ein Unternehmen, das Filme an seine Mitglieder vermietet. MyFlix hat seine Datensรคtze manuell gespeichert. Das Management will nun zu einem wechseln DBMS.

Betrachten wir die Schritte zur Entwicklung eines EER-Diagramms fรผr diese Datenbank:

  1. Identifizieren Sie die Entitรคten und bestimmen Sie die Beziehungen, die zwischen ihnen bestehen.
  2. Jede Entitรคt, jedes Attribut und jede Beziehung sollte einen passenden Namen haben, der auch fรผr Nicht-Techniker leicht verstรคndlich ist.
  3. Beziehungen sollten nicht direkt miteinander verbunden sein. Beziehungen sollten Entitรคten verbinden.
  4. Jedes Attribut in einer bestimmten Entitรคt sollte einen eindeutigen Namen haben.

Entitรคten in der โ€žMyFlixโ€œ-Bibliothek

Die Entitรคten, die in unsere aufgenommen werden sollen ER-Diagramm sind:

  • Mitglieder โ€“ diese Einrichtung speichert Mitgliederinformationen.
  • Filme โ€“ diese Einheit speichert Informationen รผber Filme.
  • Kategorien โ€“ diese Entitรคt enthรคlt Informationen, die Filme in verschiedene Kategorien wie โ€žDramaโ€œ, โ€žActionโ€œ und โ€žEposโ€œ usw. einordnen.
  • Filmverleih โ€“ diese Einrichtung speichert Informationen รผber an Mitglieder ausgeliehene Filme.
  • Zahlungen โ€“ Diese Einrichtung speichert Informationen รผber die von den Mitgliedern geleisteten Zahlungen.

Definieren der Beziehungen zwischen Entitรคten

Mitglieder und Filme

Folgendes gilt fรผr die Interaktionen zwischen den beiden Entitรคten.

  • Ein Mitglied kann in einem bestimmten Zeitraum mehr als einen Film ausleihen.
  • Ein Film kann in einem bestimmten Zeitraum von mehr als einem Mitglied ausgeliehen werden.

Aus dem obigen Szenario geht hervor, dass es sich um eine n:m-Beziehung handelt. Relationale Datenbanken unterstรผtzen jedoch keine n:m-Beziehungen. Daher benรถtigen wir eine Verknรผpfungsentitรคt. Diese Rolle รผbernimmt die Entitรคt โ€žFilmverleihโ€œ. Sie hat eine 1:n-Beziehung zur Tabelle โ€žMitgliederโ€œ und eine weitere 1:n-Beziehung zur Tabelle โ€žFilmeโ€œ.

Entitรคten fรผr Filme und Kategorien

Fรผr Filme und Kategorien gilt folgendes:

  • Ein Film kann nur einer Kategorie angehรถren, aber eine Kategorie kann mehrere Filme enthalten.

Daraus kรถnnen wir schlieรŸen, dass die Beziehung zwischen den Kategorien und den Filmtabellen eine Eins-zu-Viele-Beziehung ist.

Mitglieder und Zahlungsunternehmen

Folgendes gilt fรผr Mitglieder und Zahlungen.

  • Ein Mitglied kann nur ein Konto haben, aber mehrere Zahlungen tรคtigen.

Daraus lรคsst sich schlieรŸen, dass die Beziehung zwischen den Mitgliedern und den Zahlungsstellen eine Eins-zu-Viele-Beziehung ist.

Erstellen Sie das EER-Modell mithilfe von MySQL Werkbank

In MySQL WerkbankKlicken Sie auf die Schaltflรคche โ€ž+โ€œ.

Erstellen Sie das EER-Modell mithilfe von MySQL Werkbank

Double Klicken Sie auf die Schaltflรคche โ€žDiagramm hinzufรผgenโ€œ, um den Arbeitsbereich fรผr ER-Diagramme zu รถffnen.

Diagramm hinzufรผgen in MySQL Werkbank

Das folgende Fenster erscheint.

MySQL Workbench EER-Modellierungsumgebung

Schauen wir uns die beiden Objekte an, mit denen wir arbeiten werden.

  • Das Tabellenobjekt Tischwerkzeug ermรถglicht es uns, Entitรคten zu erstellen und die Attribute zu definieren, die mit der jeweiligen Entitรคt verknรผpft sind.
  • Die Ortsbeziehung Werkzeug zur Ortsbeziehung รœber diese Schaltflรคche kรถnnen wir Beziehungen zwischen Entitรคten definieren.

Die Entitรคt โ€žMitgliederโ€œ wird die folgenden Attribute aufweisen.

  • Mitgliedsnummer
  • Ganze Namen
  • Geschlecht
  • Geburtsdatum
  • Physikalische Adresse
  • Anschrift

Erstellen wir nun die Mitgliedertabelle.

1. Ziehen Sie das Tabellenobjekt aus der Werkzeugpalette.

2. Ziehen Sie es in den Arbeitsbereich. Eine Entitรคt mit dem Namen Tabelle 1 wird angezeigt.

3. Double Klicken Sie darauf. Das unten abgebildete Eigenschaftenfenster wird angezeigt.

Eigenschaften der Mitgliedertabelle in MySQL Werkbank

Nรคchstes

  1. ร„ndern Sie Tabelle 1 in Mitglieder.
  2. ร„ndern Sie die Standard-ID-Tabelle1 in Mitgliedschaftsnummer.
  3. Klicken Sie auf die nรคchste Zeile, um das nรคchste Feld hinzuzufรผgen.
  4. Fรผhren Sie das gleiche Verfahren fรผr alle in der Entitรคt โ€žMitgliederโ€œ identifizierten Attribute durch.

Ihr Eigenschaftenfenster sollte nun so aussehen.

Mitglieder-Entitรคtsattribute definiert

Wiederholen Sie die obigen Schritte fรผr alle identifizierten Entitรคten.

Ihr Diagrammarbeitsbereich sollte nun wie unten dargestellt aussehen.

MyFlix-Entitรคten im Diagrammarbeitsbereich

Lasst uns eine Beziehung zwischen Mitgliedern und Filmverleih herstellen.

  1. Wรคhlen Sie die Ortsbeziehung mithilfe des Werkzeugs โ€žVorhandene Spaltenโ€œ aus.
  2. Klicken Sie in der Tabelle โ€žMitgliederโ€œ auf die Mitgliedsnummer.
  3. Klicken Sie in der Tabelle MovieRentals auf die Referenznummer.

Aufbau einer Beziehung zwischen Mitgliedern und MovieRentals

Wiederholen Sie die obigen Schritte fรผr weitere Beziehungen. Ihr ER-Diagramm sollte nun wie folgt aussehen:

Vollstรคndiges MyFlix-ER-Diagramm

Hรคufig gestellte Fragen

Ein ER-Diagramm verwendet drei Kernkomponenten: Entitรคten als Rechtecke, Attribute als Ovale und Beziehungen als Rauten. Unterstrichene Attribute kennzeichnen die Primรคrschlรผssel.

Gรคngige Attributtypen sind einfache (atomare), zusammengesetzte (teilbare), abgeleitete (berechnete), mehrwertige (mehrere Werte) Attribute und Schlรผsselattribute, die eine Entitรคt identifizieren.

Die Kardinalitรคt definiert, wie viele Instanzen einer Entitรคt mit einer anderen in Beziehung stehen: eins-zu-eins, eins-zu-viele oder viele-zu-viele. Eine Junction-Entitรคt lรถst nicht unterstรผtzte Viele-zu-viele-Beziehungen auf.

Eine starke Entitรคt besitzt einen eigenen Primรคrschlรผssel und ist unabhรคngig. Eine schwache Entitรคt besitzt keinen vollstรคndigen Schlรผssel und ist von einer Eigentรผmerentitรคt abhรคngig.

Die KrรคhenfuรŸnotation zeigt die Kardinalitรคt mit Linienenden an, die einem VogelfuรŸ รคhneln. Zinken markieren die Vielheit; Striche und Kreise zeigen die Eins- und Optionalitรคt an.

Ein ER-Modell ist eine abstrakte, visuelle Darstellung von Entitรคten und Beziehungen. Das relationale Modell implementiert es als Tabellen, Zeilen, Spalten und Schlรผssel in einem Datenbankmanagementsystem (DBMS).

KI-Tools wandeln natรผrlichsprachliche Beschreibungen in ER-Diagramme um, schlagen Entitรคten und Beziehungen vor und generieren SQL-Schemas. Designer รผberprรผfen und korrigieren die Ergebnisse vor der Implementierung.

Ja. GitHub-Copilot Es schlรคgt Entitรคten, Beziehungen und Tabellenstrukturen vor und generiert SQL-Code zu deren Erstellung. AuรŸerdem kann es Diagramme als Code erstellen, wie beispielsweise Mermaid, die in ein ER-Diagramm gerendert werden.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: