Come si disegna un diagramma E-R?

-2

Sto imparando il DBMS nel mio college. Recentemente mi è stato assegnato un incarico per disegnare un modello E-R di un sistema di prenotazione bus che gestisce le prenotazioni, i biglietti e gli annullamenti.
Comprendo la teoria del modello E-R quando studio da un libro, ma diventa confusa quando provo a disegnarne uno da zero.
Come si dovrebbe procedere? Sembrano esserci molti modi per modellare un diagramma E-R per un particolare requisito. È davvero confuso.
Qualcuno può spiegare come prendere Sistema di prenotazione bus come esempio?

Ecco il modello che ho realizzato (ma non ne sono sicuro perché, ad ogni passo, potrei pensare a molte più alternative!) -

Entity_Set Passenger(passengerID,name,age,gender)

Entity_Set Ticket(ticketID,status)

//Status is either WaitingList , Confirmed or Cancelled

Entity_Set Bus (busID,MaxSeats,Type)

//Type is Ac or Non-AC

Entity_Set Route(routeID,ArrivalTime,DepartureTime,Source,Destination)

E una relazione ternaria tra Passenger , Ticket e Bus con attributi come passengerID, ticketID, busID.
Relazione binaria tra Bus e Percorso con attributi come busID, routeID.

Ho pochi dubbi riguardo -
1. Dovremmo prendere il tempo come attributo composito con Arrivo e Partenza come suoi attributi (Qual è la differenza se prendiamo in questo modo?)
2. Lo stesso con Source e Destination. Dovrebbero essere trasformati in un attributo composto "Luogo" o qualcosa come "Posizione"?
3. Ci sono dei set di entità deboli qui? Non ho idea di cosa prendere come set di entità deboli?

    
posta jsp99 27.03.2012 - 14:35
fonte

1 risposta

3

Un diagramma E-R mostra semplicemente gli oggetti (entità) e il loro rapporto reciproco.

Quindi, per disegnare il tuo diagramma, identifica prima i tuoi oggetti. Questi sono spesso identificati da nomi (persone, luoghi, cose - e oggetti sono cose). Inizieremo con quanto segue:

Autobus
Prenotazione

Da lì, ogni oggetto ha determinati attributi che aiutano a descriverli (spesso, sono campi che contengono aggettivi). Quindi potresti avere qualcosa di simile:

Autobus
-ID
-LicensePlate
-Capacità
-PurchaseDate

prenotazione
-ID
-BusID
-PassengerName

Ora, in che modo queste cose si relazionano tra loro? Bene, un autobus può contenere molti passeggeri, ma ogni dato passeggero può trovarsi su un solo bus in qualsiasi momento (come indicato nelle definizioni delle entità precedenti dall'attributo BusID in Prenotazione). Pertanto, la relazione tra un bus e una prenotazione sarebbe da uno a molti e viene generalmente visualizzata da qualcosa di simile a |---> (questa è la notazione di "Crow's Foot", che è quello che mi è stato insegnato come tipicamente usato, regolare se necessario, ovviamente). Per visualizzare la relazione, potresti avere qualcosa di simile a:

Bus <----| Reservation

La testa della freccia dovrebbe essere sul lato di "uno" (un bus, molte prenotazioni). Se sei ancora bloccato, inizia a identificare tutti gli oggetti possibili e disegna i blocchi, quindi inizia a riempire gli attributi, quindi cerca le relazioni tra loro. Uno strumento per diagrammi, come Visio o Dia, rende molto facile disegnare, modificare ed eliminare blocchi di diagrammi, quindi consiglio di prendere qualcosa del genere per aiutarti a risolverlo.

Modifica : il tuo diagramma mi sembra buono. Hai detto che puoi pensare a molte più alternative, quindi poni queste domande:

  1. Se l'alternativa è attributi, sono richiesti per il mio incarico? Ricorda, questo può essere esplicito o implicito (tieni a mente anche le aspettative del tuo professore per i compiti passati per aiutarti a prevedere ciò che è necessario). In caso contrario, probabilmente non è necessario includerlo.
  2. Se l'alternativa è un modo diverso di esprimere le relazioni, la modalità alternativa segue le regole del diagramma E-R che stai costruendo?
  3. Di nuovo sulle relazioni, se hai imparato a conoscere la normalizzazione, segue le regole di normalizzazione? (Questo potrebbe essere o non essere un requisito per te in questo momento, a seconda che tu debba o meno conoscere le tecniche di normalizzazione dei dati.)
  4. Ha davvero senso? Potrebbe valere la pena di tracciare le tue alternative solo per vedere se hanno tanto senso "sulla carta" come hanno fatto nella tua testa. È qui che l'uso di uno strumento di disegno è molto utile, dal momento che puoi disegnarlo abbastanza rapidamente e facilmente in un altro file e confrontare i due affiancati.
risposta data 27.03.2012 - 14:48
fonte

Leggi altre domande sui tag