Zum Inhalt springen
Read this post in: de_DEen_USes_ESfr_FRid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW
Home » Data Modeling / Database » ER-Modellierung meistern: Eine Schritt-für-Schritt-Anleitung mit praktischen Beispielen (Teil 2 von 5)

ER-Modellierung meistern: Eine Schritt-für-Schritt-Anleitung mit praktischen Beispielen (Teil 2 von 5)

Verfeinerung von Entität-Beziehung-Diagrammen (ERDs) für eine effektive Datenbankgestaltung

Problemstellung: ER-Modellierung – Ein System für eine Autovermietungsgesellschaft

Eine Autovermietungsgesellschaft muss eine Datenbank erstellen, um ihre Geschäftstätigkeiten zu verwalten. Das Unternehmen verfügt über eine große Fahrzeugflotte, die an Kunden für kurzfristige und langfristige Mietverträge vermietet wird. Das Unternehmen hat mehrere Filialen an verschiedenen Standorten, und jede Filiale verfügt über ihre eigene Fahrzeugflotte.

Das Unternehmen möchte die verfügbaren Fahrzeuge für die Vermietung verfolgen, die Kunden, die die Fahrzeuge gemietet haben, die Mietzeiträume sowie die Kosten für jede Miete. Außerdem möchte es die Wartungspläne für jedes Fahrzeug und die durchgeführten Wartungsarbeiten verfolgen.

From conceptual to logical to physical ERD

Das Unternehmen hat die folgenden Anforderungen an seine Datenbank:

  1. Fahrzeuge können für einen bestimmten Mietzeitraum an Kunden vermietet werden.
  2. Ein Kunde kann mehrere Fahrzeuge mieten, und ein Fahrzeug kann von mehreren Kunden gemietet werden.
  3. Die Mietkosten für jedes Fahrzeug sollten auf Basis des Mietzeitraums und zusätzlicher Kosten wie Versicherung oder Kraftstoffkosten berechnet werden.
  4. Das Unternehmen möchte die Wartungspläne für jedes Fahrzeug und die durchgeführten Wartungsarbeiten verfolgen.
  5. Das Unternehmen möchte Berichte über die Nutzung seiner Fahrzeuge einsehen können, einschließlich der Anzahl der Vermietungen, der Mietzeiträume und des generierten Umsatzes.
  6. Das Unternehmen möchte Berichte über die durchgeführten Wartungsarbeiten an ihren Fahrzeugen einsehen können, einschließlich der Art der durchgeführten Wartung, des Ausführungstags und der Kosten.
  7. Das Unternehmen möchte die Kunden verfolgen, die ihre Fahrzeuge mieten, einschließlich ihrer persönlichen Daten wie Name, Adresse, Telefonnummer und E-Mail-Adresse.
  8. Das Unternehmen möchte Berichte über ihre Kunden einsehen können, einschließlich der Anzahl der Vermietungen, der Mietzeiträume und des Umsatzes, der von jedem Kunden generiert wurde.

Um diese Anforderungen zu erfüllen, kann ein Entität-Beziehung (ER)-Diagramm erstellt werden, um das Autovermietungssystem zu modellieren. Das Diagramm wird Entitäten wie Fahrzeuge, Kunden, Vermietungen und Wartung sowie Beziehungen wie Vermietung, Kundenvermietung und Fahrzeugwartung enthalten.

Schritt-für-Schritt-Anleitung zur Erstellung eines ER-Diagramms für eine Datenbank

Hier ist eine Schritt-für-Schritt-Anleitung zur Erstellung eines ER-Diagramms für eine Datenbank:

  1. Identifizieren Sie die Entitäten:Beginnen Sie damit, die verschiedenen Entitäten zu identifizieren, die in der Datenbank enthalten sein werden. Diese Entitäten könnten Personen, Orte, Dinge oder Konzepte im Bereich der Datenbank sein. Zum Beispiel könnten in einem Autovermietungssystem die Entitäten Fahrzeuge, Kunden, Vermietungen und Wartung sein.
  2. Bestimmen Sie die Attribute:Bestimmen Sie als Nächstes die Attribute jeder Entität. Attribute sind Merkmale oder Eigenschaften, die die Entität beschreiben. Zum Beispiel könnten die Attribute einer Fahrzeug-Entität Hersteller, Modell, Jahr und Kennzeichennummer umfassen.
  3. Identifizieren Sie die Beziehungen:Nach der Identifizierung der Entitäten und ihrer Attribute bestimmen Sie die Beziehungen zwischen den Entitäten. Beziehungen sind die Verbindungen oder Assoziationen zwischen Entitäten. Zum Beispiel ist die Beziehung zwischen der Entität Fahrzeug und der Entität Vermietung, dass ein Fahrzeug für einen bestimmten Mietzeitraum vermietet werden kann.
  4. Bestimmen Sie die Kardinalität:Die Kardinalität beschreibt die Anzahl der Instanzen einer Entität, die mit Instanzen einer anderen Entität verbunden sein können. Zum Beispiel könnte die Kardinalität zwischen der Entität Fahrzeug und der Entität Vermietung eine Eins-zu-Viele-Beziehung sein, was bedeutet, dass ein Fahrzeug an viele Kunden vermietet werden kann.
  5. Bestimmen Sie das Verhältnis der Beziehung:Das Verhältnis der Beziehung bezieht sich auf die Anzahl der Entitäten, die an der Beziehung beteiligt sind. Zum Beispiel ist die Beziehung zwischen der Entität Fahrzeug und der Entität Vermietung eine binäre Beziehung, was bedeutet, dass sie nur zwei Entitäten umfasst.
  6. Erstellen Sie ein vorläufiges Diagramm:Verwenden Sie die in den vorherigen Schritten gesammelten Informationen, um ein vorläufiges ER-Diagramm zu erstellen. Dieses Diagramm sollte die Entitäten, Attribute, Beziehungen, Kardinalität und das Verhältnis der Beziehung enthalten.
  7. Verfeinern Sie das Diagramm: Verfeinern Sie das ER-Diagramm, indem Sie es auf Genauigkeit, Vollständigkeit und Konsistenz überprüfen. Nehmen Sie gegebenenfalls notwendige Anpassungen oder Änderungen vor, um sicherzustellen, dass das Diagramm die Anforderungen der Datenbank genau darstellt.
  8. Fügen Sie Einschränkungen hinzu: Fügen Sie dem Diagramm alle Einschränkungen hinzu, die zur Sicherstellung der Datenintegrität und Konsistenz beitragen. Einschränkungen sind Regeln oder Bedingungen, die die Daten beschränken, die in die Datenbank eingetragen werden können. Zum Beispiel könnte eine Einschränkung lauten, dass eine Fahrzeug-Entität eine gültige Kennzeichennummer haben muss.
  9. Schließen Sie das Diagramm ab: Sobald das ER-Diagramm verfeinert und Einschränkungen hinzugefügt wurden, schließen Sie das Diagramm ab. Das endgültige Diagramm sollte die Datenbank und ihre Anforderungen genau darstellen.
  10. Erstellen Sie die Datenbank: Erstellen Sie anhand des finalisierten ER-Diagramms die Datenbank-Schema. Das Datenbank-Schema definiert die Struktur der Datenbank, einschließlich der Tabellen, Spalten und Beziehungen zwischen ihnen.

Verständnis der Unterschiede zwischen konzeptioneller, logischer und physischer Datenmodellierung

Konzeptionell, logisch und physisch sind die drei Hauptstufen der Datenmodellierung, die der Prozess der Gestaltung einer Datenbank zur Darstellung der Daten und Beziehungen innerhalb einer Organisation oder eines Systems ist.

Hier ist eine Übersicht darüber, was jede Stufe beinhaltet:

  1. Konzeptionelles Datenmodell: In dieser Stufe geht es darum, die übergeordnete Sicht auf die Daten und ihre Beziehungen zu verstehen. Sie ist unabhängig von einer bestimmten Technologie oder Datenbankverwaltungssystem (DBMS). Das Hauptziel ist die Identifizierung der Hauptentitäten, ihrer Beziehungen und ihrer Attribute. Das Ergebnis dieser Stufe ist ein konzeptionelles Datenmodell, das zur Leitung der Entwicklung eines logischen Datenmodells verwendet wird.
  2. Logisches Datenmodell: In dieser Stufe geht es darum, die Datenstrukturen und Beziehungen detailliert zu definieren. Sie beinhaltet ein logisches Schema, das die in der konzeptionellen Stufe identifizierten Datenmodell-Konzepte mithilfe eines Entitäts-Beziehung-Diagramms (ERD) oder eines ähnlichen Werkzeugs abbildet. Das logische Datenmodell stellt die Anforderungen des Geschäfts in Bezug auf Datenstruktur und Beziehungen dar und ist unabhängig von der physischen Datenbankgestaltung. Das Ergebnis dieser Stufe ist ein logisches Datenmodell, das zur Leitung der Entwicklung eines physischen Datenmodells verwendet wird.
  3. Physisches Datenmodell: In dieser Stufe geht es darum, das logische Datenmodell in ein bestimmtes Datenbankverwaltungssystem zu übersetzen, wobei Leistung, Speicheranforderungen und technische Beschränkungen des Ziel-DBMS berücksichtigt werden. Das physische Datenmodell beschreibt die Datenbankobjekte, wie Tabellen, Spalten und Indizes, sowie deren Datentypen, Größen und Einschränkungen. Das Ergebnis dieser Stufe ist ein physisches Datenmodell, das zur Erstellung und Implementierung der Datenbank verwendet wird.

Zusammenfassend definiert die konzeptionelle Stufe die Datenentitäten und ihre Beziehungen auf hoher Ebene, die logische Stufe definiert die detaillierten Datenstrukturen und Beziehungen, und die physische Stufe übersetzt das logische Datenmodell in eine bestimmte Datenbanktechnologie, einschließlich Leistungs- und Speicherüberlegungen.

Erstellung des konzeptionellen ERD aus der Problemstellung

Das ERD enthält vier Entitäten: Fahrzeug, Kunde, Vermietung und Wartung. Jede Entität verfügt über ihre Attribute, wie car_id, Modell, Hersteller, Jahr, Tagesrate, Kraftstoffart, is_available für die Fahrzeug-Entität, first_name, last_name, email, phone_number und Adresse für die Kunde-Entität, start_date, end_date, rental_rate, insurance_charge, fuel_charge für die Vermietungs-Entität und type, description, cost und maintenance_date für die Wartungs-Entität.

Das ERD zeigt auch die Beziehungen zwischen den Entitäten, einschließlich der Vermietungs-Beziehung zwischen Fahrzeug und Vermietung, der Kunden-Vermietungs-Beziehung zwischen Vermietung und Kunde sowie der Fahrzeug-Wartungs-Beziehung zwischen Fahrzeug und Wartung.

Car rental conceptual ERD

Verfeinern des konzeptionellen ERD zum logischen ERD

Das logische ERD verwendet eine formellere, detailliertere Notation, die auf Tabellen, Spalten, Schlüsseln und Beziehungen fokussiert. Insbesondere werden die Datentypen der Spalten angegeben. Außerdem werden den Beziehungen Labels hinzugefügt („vermietet“, „wird vermietet von“ und „erfordert“), um die Art jeder Beziehung anzuzeigen.

Car rental logical ERD

Verfeinern des logischen ERD zum physischen ERD

Das physische ERD ist ein „Datenbank-Schemadiagramm“, das ausreichend Details enthält, um die Datenbank in einem bestimmten DBMS zu implementieren. Die Benennung von Entitäten und Spalten wird überarbeitet, um:

  • DBMS-spezifische Syntax zu unterstützen.
  • Sicherzustellen, dass nicht reservierte Wörter verwendet werden (z. B. order → purchase_order, desc → description)
  • sich an die organisationsbezogene Namenskonvention anzupassen

Die Spalte „desc“ in der Entität Wartung wird in „description“ umbenannt.

Car rental physical ERD

Erstellung des Datenbank-Schemas: Umwandlung des ERD in ein physisches Schema

Das Datenbank-Schema ist eine visuelle Darstellung der Datenbankstruktur, die die Organisation der Daten in einem relationalen Datenbankverwaltungssystem definiert. Das Schema wird auf der Grundlage des Entitäts-Beziehung-Diagramms (ERD) erstellt, das zur Modellierung der Beziehungen zwischen verschiedenen Entitäten in einem System verwendet wird.

In diesem Fall wurde der ERD zunächst in einen logischen ERD verfeinert, der die Beziehungen zwischen Entitäten wie Autos, Kunden, Vermietungen und Wartung sowie ihren jeweiligen Attributen definierte. Der logische ERD half dabei, die Beziehungen und Kardinalitäten zwischen den Entitäten festzulegen.

Nach der Verfeinerung des logischen ERDs war der nächste Schritt die Erstellung eines physischen ERDs, der das tatsächliche Datenbank-Schema mit allen notwendigen Datentypen, Primär- und Fremdschlüsseln sowie allen Einschränkungen definiert. Der physische ERD spiegelt den logischen ERD wider, enthält jedoch detailliertere Informationen darüber, wie die Daten in der Datenbank gespeichert werden.

Auf der Grundlage des physischen ERDs wurde SQL-Code geschrieben, um das Datenbankschema mit den entsprechenden Tabellen, Spalten und Beziehungen zwischen ihnen zu erstellen. Jede Tabelle im Schema stellt eine Entität im System dar, und die Spalten stellen die Attribute dieser Entität dar. Die Primärschlüssel wurden definiert, um jedes Datensatz eindeutig zu identifizieren, und Fremdschlüssel wurden verwendet, um Beziehungen zwischen den Tabellen herzustellen.

ERSTELLE TABELLE Auto (
car_id INT PRIMÄRSCHLÜSSEL,
modell VARCHAR(255),
hersteller VARCHAR(255),
jahr INT,
tagesrate DECIMAL(10, 2),
treibstoffart VARCHAR(255),
ist_verfuegbar BOOLEAN
);

ERSTELLE TABELLE Kunde (
customer_id INT PRIMÄRSCHLÜSSEL,
vorname VARCHAR(255),
nachname VARCHAR(255),
email VARCHAR(255),
telefonnummer VARCHAR(255),
adresse VARCHAR(255)
);

ERSTELLE TABELLE Vermietung (
rental_id INT PRIMÄRSCHLÜSSEL,
startdatum DATE,
enddatum DATE,
vermietungsrate DECIMAL(10, 2),
versicherungsgebuehr DECIMAL(10, 2),
treibstoffgebuehr DECIMAL(10, 2),
car_id INT,
customer_id INT,
FREMDSCHLUESSEL (car_id) VERWEIST AUF Auto(car_id),
FREMDSCHLÜSSEL (customer_id) VERWEIST AUF Customer(customer_id)
);

ERSTELLE TABELLE Wartung (
wartung_id INT PRIMÄRSCHLÜSSEL,
typ VARCHAR(255),
beschreibung TEXT,
kosten DECIMAL(10, 2),
wartungsdatum DATE,
;kfz_id INT,
FREMDSCHLÜSSEL (kfz_id) VERWEIST AUF Car(kfz_id)
);

Zusammenfassung

Der Artikel diskutiert den Prozess der Verfeinerung von Entitäts-Beziehungs-Diagrammen (ERDs), um ein effektives Datenbank-Schema zu generieren. Die ERDs werden von einer konzeptuellen Ebene auf eine logische Ebene und dann auf eine physische Ebene verfeinert. Das logische ERD legt die Beziehungen und Kardinalitäten zwischen den Entitäten fest, während das physische ERD das tatsächliche Datenbank-Schema mit allen notwendigen Datentypen, Primär- und Fremdschlüsseln sowie Einschränkungen definiert.

Anschließend wird der SQL-Code auf Basis des physischen ERD geschrieben, um das Datenbank-Schema mit den entsprechenden Tabellen, Spalten und Beziehungen zu erstellen. Der Artikel betont die Bedeutung der Verfeinerung von ERDs für eine effektive Datenbankgestaltung und liefert Einblicke in den Prozess der Erstellung eines Datenbank-Schemas aus einem ERD.

Schreibe einen Kommentar