Ein ER -Diagramm für ein Parksystem hängt von der Detailniveau ab, die Sie benötigen. Hier sind einige Optionen, die in der Komplexität Fortschritte machen:
Option 1:Einfaches ER -Diagramm
Diese Version konzentriert sich auf die Kerneinheiten und ihre Beziehungen.
* Entitäten:
* "Parkspace":Attribute könnten "SpaceID" (Primärschlüssel), "Ort" (z. B. "A12"), "isoccupied" (boolean), "parktype" (z. B. "Auto", "Motorrad") umfassen.
* `Vehicle`:Attribute könnten" vehrocknen "(Primärschlüssel)," CabinTplate "," vehicletype` (z. B. "Car", "Motorcycle") umfassen.
* `Ticket`:Attribute könnten" TicketId "(Primärschlüssel)," Einstiegtime "," exittime "," parkfee "enthalten.
* Beziehungen:
* `Parksin`:Eine viele zu eins-zu-Eins-Beziehung zwischen" Fahrzeug "und" Parkspace ". Ein Parkplatz kann jeweils ein Fahrzeug aufnehmen, aber viele Fahrzeuge können im Laufe der Zeit in verschiedenen Räumen parken.
* "Associated with":Eine eins-zu-Eins-Beziehung zwischen "Parkspace" und "Ticket". Jeder Parkplatz ist zu einem bestimmten Zeitpunkt höchstens ein Ticket damit verbunden, und jedes Ticket ist nur mit einem Parkplatz verbunden.
Option 2:detaillierteres ER -Diagramm
Diese Version fügt mehr Entitäten und Attribute für ein robusteres System hinzu.
* Entitäten:
* `Parkspace`:` SpaceId` (Primärschlüssel), `location`,` isoccupied` (boolean), `parktype`,` floor`, `parklotid` (ausländischer Schlüssel).
* `Vehicle`:` vehicleId` (Primärschlüssel), `CabinTplate`,` vehicletype`, `make`,` model`, `color`.
* `Ticket`:` ticketId` (Primärschlüssel), `Einstiegtime`,` exittime`, `parkfee`,` paymentStatus` (z. B. "bezahlt", "unbezahlt"), `paymentMethod`.
* `Parklot`:` parklotid` (Primärschlüssel), `name`,` adress`, `capacity`.
* `Customer``:` customerId` (Primärschlüssel), `name`,` mely`, `adress`.
* `Payment`:` paymentId` (Primärschlüssel), `TicketId` (ausländischer Schlüssel),` Betrag`, `paymentMethod`,` paymentDate`.
* Beziehungen:
* `Parksin`:Viele zu eins (` vehicle` 'to `parkspace`).
* `
* `Ausgestellt":Eins-zu-eins ("Ticket" zu "Fahrzeug"). (Es wird angenommen, dass jedes Ticket an ein Fahrzeug ausgestellt wird.)
* `AssociatedWith`:Eins-zu-Eins (` Ticket` to `parkspace`).
* `MadeBy`:Eins-zu-Many (` customer`` to `payment`)
* `Has`:Eins-zu-Many (" Ticket "zu" Zahlung ")
Option 3:Hinzufügen von Attributen für die Ratenberechnung
Diese Version fügt Attribute hinzu, um komplexere Parkrate -Berechnungen zu ermöglichen.
* Entitäten: (Gleich wie Option 2)
* Beziehungen: (Gleich wie Option 2)
* Zusätzliche Attribute:
* Hinzufügen von `rate`attribut zu` parklot` (z. B. Stundenrate).
* Hinzufügen von `Rabatt`attribut zu` customer` (z. B. Treueprogramm).
* Hinzufügen von "ratetype" zu "Ticket" (z. B. stündlich, täglich, monatlich).
Diagrammdarstellung:
Diese Beschreibungen können mit einem Werkzeug wie Lucidchart, Draw.io oder ähnlichem in ein visuelles ER -Diagramm übersetzt werden. Sie werden Entitäten als Rechtecke, Attribute als Ovale darstellen, die mit Rechtecken verbunden sind, und Beziehungen als Diamanten, die Entitäten mit Linien verbinden, die eine Kardinalität anzeigen (eins zu eins, eins zu viele, viele zu viele). Die Fußnotation von Crow wird häufig verwendet, um Kardinalität zu zeigen.
Denken Sie daran, die Detailebene auszuwählen, die Ihren Anforderungen am besten entspricht. Ein einfacheres Diagramm ist leichter zu verstehen, aber für ein großes und ausgeklügeltes Parksystem ist ein komplexerer.