Cos'è la modellazione ER? Impara con l'esempio

Sommario:

Anonim

Cos'è la modellazione ER?

Entity Relationship Model (ER Modeling) è un approccio grafico alla progettazione di database. È un modello di dati di alto livello che definisce gli elementi di dati e la loro relazione per un sistema software specificato. Un modello ER viene utilizzato per rappresentare oggetti del mondo reale.

Un'entità è una cosa o un oggetto nel mondo reale che si distingue dall'ambiente circostante. Ad esempio, ogni dipendente di un'organizzazione è un'entità separata. Di seguito sono riportate alcune delle principali caratteristiche delle entità.

  • Un'entità ha un insieme di proprietà.
  • Le proprietà dell'entità possono avere valori.

In questo tutorial imparerai-

  • Modello Enhanced Entity Relationship (EER)
  • Perché utilizzare ER Model?
  • Entità nella libreria "MyFlix"
  • Definizione delle relazioni tra le entità

Consideriamo di nuovo il nostro primo esempio. Un dipendente di un'organizzazione è un'entità. Se "Peter" è un programmatore (un dipendente ) in Microsoft, può avere attributi ( proprietà) come nome, età, peso, altezza, ecc. È ovvio che questi contengono valori rilevanti per lui.

Ogni attributo può avere valori . Nella maggior parte dei casi un singolo attributo ha un valore. Ma è possibile che gli attributi abbiano anche più valori . Ad esempio l'età di Pietro ha un unico valore. Ma la sua proprietà "numeri di telefono" può avere più valori.

Le entità possono avere relazioni tra loro. Consideriamo l'esempio più semplice. Si supponga che a ogni programmatore Microsoft venga assegnato un computer. È chiaro che anche il computer di Peter è un'entità. Peter sta usando quel computer e lo stesso computer è usato da Peter. In altre parole, c'è una relazione reciproca tra Peter e il suo computer.

In Entity Relationship Modeling, modelliamo le entità, i loro attributi e le relazioni tra le entità.

Modello Enhanced Entity Relationship (EER)

Il modello EER (Enhanced Entity Relationship) è un modello di dati di alto livello che fornisce estensioni al modello Entity Relationship (ER) originale. I modelli EER supportano un design più dettagliato. EER Modeling è emerso come una soluzione per la modellazione di database altamente complessi.

EER utilizza la notazione UML. UML è l'acronimo di Unified Modeling Language; è un linguaggio di modellazione generico utilizzato durante la progettazione di sistemi orientati agli oggetti. Le entità sono rappresentate come diagrammi di classe. Le relazioni sono rappresentate come associazioni tra entità. Il diagramma mostrato di seguito illustra un diagramma ER utilizzando la notazione UML.

Perché utilizzare ER Model?

Ora potresti pensare perché usare la modellazione ER quando possiamo semplicemente creare il database e tutti i suoi oggetti senza modellazione ER? Una delle sfide affrontate durante la progettazione di un database è il fatto che i progettisti, gli sviluppatori e gli utenti finali tendono a visualizzare i dati e il loro utilizzo in modo diverso. Se questa situazione viene lasciata deselezionata, possiamo finire per produrre un sistema di database che non soddisfa i requisiti degli utenti.

Gli strumenti di comunicazione compresi da tutte le parti interessate (utenti tecnici e non tecnici) sono fondamentali nella produzione di sistemi di database che soddisfino i requisiti degli utenti. I modelli ER sono esempi di tali strumenti.

I diagrammi ER aumentano anche la produttività degli utenti poiché possono essere facilmente tradotti in tabelle relazionali.

Case Study: diagramma ER per la libreria video "MyFlix"

Ora lavoriamo con il sistema di database MyFlix Video Library per aiutare a comprendere il concetto di diagrammi ER. Useremo questo database per tutte le operazioni manuali nel resto di questo tutorial

MyFlix è un'entità commerciale che affitta film ai suoi membri. MyFlix ha archiviato manualmente i suoi record. La direzione ora vuole passare a un DBMS

Diamo un'occhiata ai passaggi per sviluppare il diagramma EER per questo database-

  1. Identifica le entità e determina le relazioni che esistono tra di loro.
  2. Ogni entità, attributo e relazione dovrebbe avere nomi appropriati che possono essere facilmente compresi anche dalle persone non tecniche.
  3. Le relazioni non dovrebbero essere collegate direttamente l'una all'altra. Le relazioni dovrebbero connettere le entità.
  4. Ogni attributo in una determinata entità dovrebbe avere un nome univoco.

Entità nella libreria "MyFlix"

Le entità da includere nel nostro diagramma ER sono;

  • Membri : questa entità conserverà le informazioni sui membri.
  • Film : questa entità conserverà le informazioni sui film
  • Categorie : questa entità conterrà le informazioni che collocano i film in diverse categorie come "Dramma", "Azione", "Epico" e così via.
  • Noleggi di film : questa entità conserverà le informazioni sui film noleggiati ai membri.
  • Pagamenti : questa entità conserverà le informazioni sui pagamenti effettuati dai membri.

Definizione delle relazioni tra le entità

Membri e film

Quanto segue è vero per quanto riguarda le interazioni tra le due entità.

  • Un membro può noleggiare più di un film in un determinato periodo.
  • Un film può essere noleggiato da più di un membro in un determinato periodo.

Dallo scenario sopra, possiamo vedere che la natura della relazione è molti-a-molti. I database relazionali non supportano le relazioni molti a molti. Dobbiamo introdurre un'entità di giunzione . Questo è il ruolo svolto dall'entità MovieRentals. Ha una relazione uno-a-molti con la tabella dei membri e un'altra relazione uno-a-molti con la tabella dei film.

Entità di film e categorie

Quanto segue è vero per i film e le categorie.

  • Un film può appartenere solo a una categoria, ma una categoria può contenere più di un film.

Da ciò possiamo dedurre che la natura della relazione tra categorie e tabella dei film è uno-a-molti.

Membri ed entità di pagamento

Quanto segue è vero per i membri e i pagamenti

  • Un membro può avere un solo account ma può effettuare una serie di pagamenti.

Da ciò possiamo dedurre che la natura del rapporto tra i membri e le entità di pagamento è uno-a-molti.

Ora creiamo il modello EER usando MySQL Workbench

Nel workbench MySQL, fare clic sul pulsante - "+"

Fare doppio clic sul pulsante Aggiungi diagramma per aprire l'area di lavoro per i diagrammi ER.

Viene visualizzata la seguente finestra

Diamo un'occhiata ai due oggetti con cui lavoreremo.

  • L'oggetto tabella ci consente di creare entità e definire gli attributi associati alla particolare entità.
  • Il pulsante Posiziona relazione ci consente di definire le relazioni tra le entità.

L' entità dei membri avrà i seguenti attributi

  • Numero di iscrizione
  • Nomi completi
  • Genere
  • Data di nascita
  • Indirizzo fisico
  • indirizzo postale

Creiamo ora la tabella dei membri

1.Trascina l'oggetto tabella dal pannello degli strumenti

2. Rilascialo nell'area di lavoro. Viene visualizzata un'entità denominata tabella 1

3. Fare doppio clic su di esso. Viene visualizzata la finestra delle proprietà mostrata di seguito

Il prossimo ,

  1. Cambia la tabella 1 in Membri
  2. Modifica il valore predefinito idtable1 in membership_number
  3. Fare clic sulla riga successiva per aggiungere il campo successivo
  4. Fai lo stesso per tutti gli attributi identificati nell'entità dei membri.

La tua finestra delle proprietà dovrebbe ora assomigliare a questa.

Ripeti i passaggi precedenti per tutte le entità identificate.

L'area di lavoro del diagramma dovrebbe ora essere simile a quella mostrata di seguito.

Consente di creare relazioni tra membri e noleggi di film

  1. Seleziona la relazione di luogo utilizzando anche le colonne esistenti
  2. Fare clic su membership_number nella tabella Members
  3. Fare clic su reference_number nella tabella MovieRentals

Ripeti i passaggi precedenti per altre relazioni. Il tuo diagramma ER dovrebbe ora assomigliare a questo:

Sommario

  • La forma completa di ER è Diagrammi di entità e relazioni. Svolgono un ruolo molto importante nel processo di progettazione del database. Servono come strumento di comunicazione non tecnico per persone tecniche e non tecniche.
  • Le entità rappresentano le cose del mondo reale; possono essere concettuali come un ordine di vendita o fisici come un cliente.
  • A tutte le entità devono essere assegnati nomi univoci.
  • I modelli ER consentono inoltre ai progettisti di database di identificare e definire le relazioni esistenti tra le entità.

L'intero modello ER è allegato di seguito. Puoi semplicemente importarlo in MySQL Workbench

Fare clic qui per scaricare il modello ER