Opzione 1:Diagramma ER semplice
Questa versione si concentra sulle entità principali e sulle loro relazioni.
* Entità:
* `ParkingSpace`:gli attributi potrebbero includere` SpaceId` (chiave primaria), `location` (ad esempio," a12 "),` isoccupied` (booleano), `parcheggio '(ad esempio," auto "," moto ").
* `VEICOLO`:gli attributi potrebbero includere` VehicleId` (chiave primaria), `licenziplate`,` VehicleType` (ad esempio, "auto", "moto").
* `Ticket`:gli attributi potrebbero includere` TicketId` (chiave primaria), `EntryTime`,` Exittime`, `Parchendfee`.
* Relazioni:
* `Parksin`:una relazione molti-to-one tra` veicolo` e `parcheggio '. Un parcheggio può contenere un veicolo alla volta, ma molti veicoli possono parcheggiare in diversi spazi nel tempo.
* `AssociatedWith`:una relazione one-to-one tra` parcheggio 'e `ticket`. Ogni parcheggio ha al massimo un biglietto associato ad esso in qualsiasi momento e ogni biglietto è associato a un solo parcheggio.
Opzione 2:diagramma ER più dettagliato
Questa versione aggiunge più entità e attributi per un sistema più robusto.
* Entità:
* `Parkingspace`:` SpaceId` (chiave primaria), `location`,` isoccupied` (booleano), `parcheggio`,` pavimento`, `parcheggio '(chiave straniera).
* `Veicolo`:` veicoloid` (chiave primaria), `licenziplate`,` veicolepite`, `make`,` modello`, `color`.
* `Ticket`:` TicketId` (chiave primaria), `EntryTime`,` Exittime`, `Parchendfee`,` PaymentStatus` (ad esempio, "pagato", "non pagato"), `paymentmethod`.
* `ParkingLot`:` ParkingLotid` (chiave primaria), `name`,` indirizzo`, `capacità`.
* `Customer`:` customerid` (chiave primaria), `name`,` telefono`, `indirizzo '.
* `Payment`:` PaymentId` (chiave primaria), `Ticketid` (chiave esterna),` importo ', `PaymentMethod`,` PaymentDate`.
* Relazioni:
* `Parksin`:molti-to-one (` veicolo` to `parcheggio ').
* `BATTHSTO`:molti-to-one (` parcheggio` to `parcheggio ').
* `Emesso`:one-to-one (`ticket` to` veicolo`). (Si presume che ogni biglietto venga emesso a un veicolo.)
* `AssociatedWith`:one-to-one (` ticket` a `parcheggio ').
* `Madeby`:one-to-many (` cliente` to `pagamento ')
* `Ha`:One-to-Many (`Ticket` a` pagamento ')
Opzione 3:Aggiunta di attributi per il calcolo della velocità
Questa versione aggiunge attributi per consentire calcoli della tariffa di parcheggio più complessi.
* Entità: (Come l'opzione 2)
* Relazioni: (Come l'opzione 2)
* Attributi aggiuntivi:
* Aggiungi l'attributo `Rate` a` ParkingLot` (ad esempio, tariffa oraria).
* Aggiungi l'attributo `sconto` a` cliente '(ad esempio, programma di fidelizzazione).
* Aggiungi `RateType` a` Ticket` (ad esempio, ogni ora, giornaliero, mensile).
Rappresentazione del diagramma:
Queste descrizioni possono essere tradotte in un diagramma ER visivo usando uno strumento come Lucidchart, Draw.io o Simile. Rappresenterai le entità come rettangoli, attributi come ovali collegati ai rettangoli e relazioni come diamanti che collegano le entità con le linee che indicano la cardinalità (uno a uno, uno-a-molti, molti-to-molti). La notazione del piede di Crow è comunemente usata per mostrare la cardinalità.
Ricorda di scegliere il livello di dettaglio che si adatta meglio alle tue esigenze. Un diagramma più semplice è più facile da capire, ma potrebbe essere necessario un sistema di parcheggio più grande e sofisticato.
software © www.354353.com