Ett ER -diagram för ett parkeringssystem beror på den detaljnivå du behöver. Här är några alternativ som utvecklas i komplexitet:
Alternativ 1:Enkelt ER -diagram
Denna version fokuserar på kärnenheterna och deras relationer.
* enheter:
* `Parkeringspace ':Attribut kan inkludera` SpaceId' (primär nyckel), `plats '(t.ex." A12 ")," Isocupied "(boolean)," Parkeringstyp "(t.ex." bil "," motorcykel ").
* `Vehicle ':Attribut kan inkludera` fordonId' (primär nyckel), `licensplatta ',` fordonsletype' (t.ex. "bil", "motorcykel").
* `Ticket`:Attribut kan inkludera` TicketId '(primär nyckel), `entryTime',` exittime ', `parkeringsfee'.
* relationer:
* `Parksin`:En många-till-en-relation mellan` fordon 'och `parkeringsutrymme'. En parkeringsplats kan hålla ett fordon i taget, men många fordon kan parkera i olika utrymmen över tid.
* `Associatedwith`:En en-till-en-relation mellan` parkeringspace 'och' biljett '. Varje parkeringsplats har högst en biljett associerad med den vid en viss tidpunkt, och varje biljett är associerad med endast en parkeringsplats.
Alternativ 2:Mer detaljerat ER -diagram
Denna version lägger till fler enheter och attribut för ett mer robust system.
* enheter:
* `Parkeringspace`:` SpaceId` (Primärnyckel), `plats`,` Isocupied` (Boolean), 'Parkeringstyp', 'golv', 'parkeringslotid' (utländsk nyckel).
* `Vehicle`:` fordonId` (primär nyckel), `licensplatta`,` fordons ",` make`, `modell`,` färg`.
* `Ticket`:` TicketId` (Primärnyckel), `entryTime ',` exittime`, `parkeringfee`,` betalningstatus' (t.ex. "betald", "obetald"), `betalningsmetod`.
* `Parkeringslot`:` parkeringslotid` (primär nyckel), 'namn', `adress ',' kapacitet '.
* `Kund`:` CustomerId` (Primärnyckel), `namn ',` telefon', `adress '.
* `Betalning`:` betalningid '(primär nyckel), `ticketId` (utländsk nyckel),` belopp', `betalningsmetod ',' betalningsdatum '.
* relationer:
* `Parksin`:många-till-en (` fordon 'till `parkeringspace').
* `Hör tillsto`:många-till-en (` parkeringspace` till `parkeringslot`).
* `EmitteradeTo`:En-till-en (` biljett 'till `fordon'). (Det antas att varje biljett utfärdas till ett fordon.)
* `Associatedwith`:En-till-en (` biljett 'till `parkeringspace').
* `Madeby`:en-to-många (` kund` till `betalning ')
* `HAS ':En-till-många (' Ticket 'till' betalning ')
Alternativ 3:Lägga till attribut för hastighetsberäkning
Denna version lägger till attribut för att möjliggöra mer komplexa beräkningar av parkeringsfrekvens.
* enheter: (Samma som alternativ 2)
* relationer: (Samma som alternativ 2)
* Ytterligare attribut:
* Lägg till `rate` -attribut till` parkeringslot` (t.ex. timpris).
* Lägg till `rabatt" till "kund" (t.ex. lojalitetsprogram).
* Lägg till `Ratetype` till 'biljett' (t.ex. timme, daglig, månad).
Diagram Representation:
Dessa beskrivningar kan översättas till ett visuellt ER -diagram med hjälp av ett verktyg som lucidchart, rit.io eller liknande. Du kommer att representera enheter som rektanglar, attribut som ovaler anslutna till rektanglar och relationer som diamanter som förbinder enheter med linjer som indikerar kardinalitet (en-till-en, en-till-många, många-till-många). Crows fotnotation används ofta för att visa kardinalitet.
Kom ihåg att välja den detaljnivå som bäst passar dina behov. Ett enklare diagram är lättare att förstå, men en mer komplex kan vara nödvändig för ett stort och sofistikerat parkeringssystem.