Assignment Chef icon Assignment Chef
All German tutorials

Programming lesson

Datenbankdesign mit E-R-Diagrammen: Schritt-für-Schritt-Tutorial für CSCI 330 Hausaufgabe 4

Lerne, wie du E-R-Diagramme für Automobil- und Paketlieferdatenbanken erstellst – basierend auf typischen Aufgaben aus CSCI 330. Mit praxisnahen Beispielen und aktuellen Bezügen zu KI und Logistik.

E-R-Diagramm Tutorial CSCI 330 Hausaufgabe 4 Datenbankdesign Entity Relationship Diagramm Relationenschema ableiten Automobildatenbank Paketlieferdatenbank Kardinalität bestimmen totale Partizipation Primärschlüssel unterstreichen Datenbankübung Studium Informatik Logistikdatenbank Beispiel Toyota Datenbank FedEx Datenbank SQL Schema erstellen

Einführung in das Datenbankdesign mit E-R-Diagrammen

Das Entity-Relationship-Modell (E-R-Modell) ist ein zentrales Werkzeug im Datenbankdesign. Es hilft dir, die Struktur einer Datenbank visuell zu planen, bevor du SQL-Tabellen erstellst. In dieser Anleitung zeigen wir dir, wie du E-R-Diagramme für zwei klassische Szenarien entwirfst: eine Automobildatenbank (wie für Toyota) und eine Paketlieferdatenbank (wie für FedEx). Diese Aufgaben ähneln denen in CSCI 330 Datenbanksysteme – Hausaufgabe 4.

Stell dir vor, du arbeitest für einen Autohersteller, der seine Händlerverwaltung und sein Bestellwesen digitalisieren möchte. Oder für einen weltweiten Paketdienst, der Sendungen und Kundenbeziehungen nachverfolgt. Genau solche Projekte sind heute hochaktuell – Logistik-Apps und KI-gestützte Lieferketten sind in aller Munde. Mit den richtigen Datenbankkenntnissen legst du die Grundlage für solche Systeme.

Grundlagen des E-R-Diagramms

Ein E-R-Diagramm besteht aus Entitäten (Objekten), Attributen (Eigenschaften) und Beziehungen (Verknüpfungen). Entitäten werden als Rechtecke dargestellt, Attribute als Ellipsen und Beziehungen als Rauten. Die Kardinalität gibt an, wie viele Instanzen einer Entität mit einer anderen verknüpft sein können (1:1, 1:N, M:N).

In dieser Aufgabe gibt es nur starke Entitätsmengen – jede Entität hat einen eigenen Primärschlüssel. Es gibt keine schwachen Entitäten. Alle Attribute sind einfach und einwertig. Beziehungen haben keine beschreibenden Attribute (außer in Q2). Achte auf die totalen Partizipationen: Manche Entitäten müssen an einer Beziehung teilnehmen – zum Beispiel muss jedes Fahrzeug einem Modell zugeordnet sein.

Szenario 1: Automobildatenbank (Fragen 1)

Entitäten und Attribute

Folgende sechs starke Entitätsmengen sind gegeben:

  • Brand: brand_name (Primärschlüssel)
  • Model: model_id (Primärschlüssel), name
  • Option: option_id (Primärschlüssel), specification
  • Dealer: dealer_id (Primärschlüssel), name, address
  • Customer: customer_id (Primärschlüssel), name, address
  • Vehicle: VIN (Primärschlüssel)

Insgesamt 12 Attribute – genau wie in der Aufgabenstellung gefordert.

Beziehungen und Kardinalitäten

Es gibt fünf binäre Beziehungen:

  1. Brand hat Model: 1:N (eine Marke hat viele Modelle, jedes Modell gehört zu genau einer Marke). Totale Partizipation auf Seiten von Model: Jedes Modell muss einer Marke zugeordnet sein.
  2. Model hat Option: 1:N (ein Modell hat mehrere Optionen, jede Option gehört zu genau einem Modell).
  3. Model ist Basis von Vehicle: 1:N (ein Modell kann die Basis für viele Fahrzeuge sein, jedes Fahrzeug basiert auf genau einem Modell). Totale Partizipation auf Seiten von Vehicle.
  4. Dealer besitzt Vehicle: 1:N (ein Händler besitzt viele Fahrzeuge, ein Fahrzeug kann höchstens einem Händler gehören – optionale Teilnahme auf Fahrzeugseite).
  5. Customer besitzt Vehicle: 1:N (ein Kunde kann mehrere Fahrzeuge besitzen, ein Fahrzeug kann höchstens einem Kunden gehören – optional).

Die Kardinalitäten sind alle 1:N. Es gibt keine M:N-Beziehungen. Die beiden totalen Partizipationen liegen bei Model (muss zu Brand gehören) und Vehicle (muss zu Model gehören).

E-R-Diagramm skizzieren

Zeichne die sechs Entitätsrechtecke. Verbinde sie mit den Beziehungsrauten. Notiere die Kardinalitäten (1 oder N) an den Kanten. Unterstreiche die Primärschlüssel in den Attributellipsen. Achte darauf, dass die totalen Partizipationen durch einen doppelten Strich gekennzeichnet werden (z. B. zwischen Model und „hat“-Beziehung zu Brand).

Relationenschemata ableiten

Aus dem E-R-Diagramm ergeben sich folgende Relationenschemata (ohne Optimierung):

  • Brand(brand_name)
  • Model(model_id, name, brand_name) – brand_name ist Fremdschlüssel auf Brand
  • Option(option_id, specification, model_id) – model_id ist Fremdschlüssel auf Model
  • Dealer(dealer_id, name, address)
  • Customer(customer_id, name, address)
  • Vehicle(VIN, model_id, dealer_id, customer_id) – model_id, dealer_id, customer_id sind Fremdschlüssel (dealer_id und customer_id können NULL sein)

Szenario 2: Paketlieferdatenbank (Fragen 2)

Entitäten und Attribute

Hier gibt es drei starke Entitätsmengen:

  • Customer: customer_id (Primärschlüssel), name, address
  • Packet: packet_id (Primärschlüssel), weight
  • Place: place_id (Primärschlüssel), city, country, address

Insgesamt 9 Attribute – exakt wie vorgegeben.

Beziehungen und Kardinalitäten

Es gibt drei binäre Beziehungen. Zwei davon haben beschreibende Attribute:

  1. Customer sendet Packet: 1:N (ein Kunde kann viele Pakete senden, jedes Paket hat genau einen Sender). Totale Partizipation auf Seiten von Packet. Beschreibendes Attribut: time_sent.
  2. Customer empfängt Packet: 1:N (ein Kunde kann viele Pakete empfangen, jedes Paket hat genau einen Empfänger). Totale Partizipation auf Seiten von Packet. Beschreibendes Attribut: time_received.
  3. Packet ist an Place: N:1 (viele Pakete können am selben Ort sein, jedes Paket ist genau einem Ort zugeordnet). Totale Partizipation auf Seiten von Packet.

Beachte: Customer und Packet sind durch zwei separate Beziehungen verbunden (senden und empfangen). Beide haben beschreibende Attribute. Die totalen Partizipationen sind drei: Packet muss einen Sender, einen Empfänger und einen Ort haben.

E-R-Diagramm skizzieren

Zeichne die drei Entitätsrechtecke. Zeichne die Beziehung „sendet“ mit Attribut time_sent, die Beziehung „empfängt“ mit Attribut time_received, und die Beziehung „ist an“ ohne Attribut. Kennzeichne die totalen Partizipationen (doppelter Strich) an den Packet-Seiten aller drei Beziehungen.

Relationenschemata ableiten

Die Relationenschemata lauten:

  • Customer(customer_id, name, address)
  • Place(place_id, city, country, address)
  • Packet(packet_id, weight, sender_id, receiver_id, place_id, time_sent, time_received) – sender_id und receiver_id verweisen auf Customer, place_id auf Place. time_sent und time_received sind die beschreibenden Attribute.

Allgemeine Tipps für die Hausaufgabe

  • Überprüfe die Anzahl der Entitäten, Attribute und Beziehungen. Zähle sie genau – in Q1 sind es 6 Entitäten, 12 Attribute, 5 Beziehungen, 2 totale Partizipationen.
  • Vergiss nicht, die Primärschlüssel zu unterstreichen. In der Aufgabenstellung wird explizit verlangt: „Please underline the primary key.“
  • Gib die Kardinalitäten an den Kanten an. Verwende die Notation (1, N) oder (1,1) und (0,N) je nachdem, ob die Teilnahme optional ist.
  • Nutze ein Tool wie draw.io oder Lucidchart für saubere Diagramme. Du kannst sie dann als Bild exportieren und in dein Dokument einfügen.
  • Denke an die Dateibenennung: YourLastName-330-HW4.pdf – und lade es rechtzeitig hoch. Keine verspäteten Abgaben werden akzeptiert.

Fazit

Mit diesem Tutorial hast du die Grundlagen, um die E-R-Diagramme und Relationenschemata für CSCI 330 Hausaufgabe 4 zu erstellen. Die Beispiele aus der Automobil- und Logistikbranche zeigen, wie wichtig Datenbankdesign in der Praxis ist – ob für Händlermanagement oder für die Sendungsverfolgung bei DHL, UPS oder Amazon. Wenn du diese Konzepte verstehst, bist du bestens gerüstet für komplexere Datenbankprojekte. Viel Erfolg bei deiner Abgabe!

„Ein gut durchdachtes E-R-Diagramm ist die halbe Miete für eine effiziente Datenbank.“ – Unbekannt