Cos'รจ la modellazione ER? Impara con l'esempio
โก Riepilogo intelligente
La modellazione entitร -relazione (ERM) รจ un approccio grafico alla progettazione di database che rappresenta oggetti del mondo reale come entitร , li descrive con attributi e cattura il modo in cui sono connessi attraverso le relazioni, producendo un progetto chiaro prima ancora che vengano create le tabelle.

Cos'รจ la modellazione ER?
Modello di relazione tra entitร (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 specifico. Un modello ER viene utilizzato per rappresentare oggetti del mondo reale.
Un'entitร รจ una cosa o un oggetto del mondo reale che si distingue dall'ambiente circostante. Ad esempio, ogni dipendente di un'organizzazione รจ un'entitร separata. Di seguito sono elencate alcune delle principali caratteristiche delle entitร .
- Un'entitร ha un insieme di proprietร .
- Le proprietร dell'entitร possono avere valori.
Consideriamo di nuovo il nostro primo esempio. Un dipendente di un'organizzazione รจ un'entitร . Se "Peter" รจ un programmatore (un dipendente) presso MicrosoftPuรฒ avere attributi (proprietร ) come nome, etร , peso, altezza, ecc. ร ovvio che questi abbiano valori rilevanti per lui.
Ogni attributo puรฒ avere dei valori. Nella maggior parte dei casi, un singolo attributo ha un solo valore. Tuttavia, รจ possibile che gli attributi abbiano anche piรน valori. Ad esempio, l'etร di Peter ha un solo valore, ma la sua proprietร "numeri di telefono" puรฒ avere piรน valori.
Le entitร possono avere relazioni tra loro. Consideriamo l'esempio piรน semplice. Supponiamo che ciascuna Microsoft Al programmatore viene dato un computer. ร chiaro che anche il computer di Peter รจ un'entitร . Peter usa quel computer, e lo stesso computer viene usato da Peter. In altre parole, esiste una relazione reciproca tra Peter e il suo computer.
Nella modellazione Entitร -Relazione, modelliamo le entitร , i loro attributi e le relazioni tra le entitร .
Perchรฉ utilizzare un modello ER?
Ora potresti pensare perchรฉ utilizzare 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 progettisti, sviluppatori e utenti finali tendono a visualizzare i dati e il loro utilizzo in modo diverso. Se questa situazione non viene controllata, possiamo finire per produrre un sistema di database che non soddisfa i requisiti degli utenti.
Strumenti di comunicazione comprensibili a tutte le parti interessate (utenti tecnici e non tecnici) sono fondamentali per la realizzazione di sistemi di database che soddisfino i requisiti degli utenti. I modelli ER sono un esempio di tali strumenti.
I diagrammi ER aumentano anche la produttivitร degli utenti, poichรฉ possono essere facilmente convertiti in tabelle relazionali.
Modello Enhanced Entity Relationship (EER).
Il modello EER (Enhanced Entity Relationship) รจ un modello di dati di alto livello che fornisce estensioni al modello ER (Entity Relationship) originale. I modelli EER supportano una progettazione piรน dettagliata. La modellazione EER รจ emersa come soluzione per la modellazione di database altamente complessi.
EER utilizza la notazione UML. UML รจ l'acronimo di Linguaggio di modellazione unificato; รจ 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 il Notazione UML.
Caso di studio: Diagramma ER per la videoteca โMyFlixโ
Ora lavoriamo con il sistema di database della libreria video MyFlix per comprendere meglio il concetto di diagrammi ER. Useremo questo database per tutte le esercitazioni pratiche di questo tutorial.
MyFlix รจ un'entitร commerciale che noleggia film ai suoi membri. MyFlix ha archiviato i suoi record manualmente. La direzione ora vuole passare ad a DBMS.
Analizziamo i passaggi necessari per sviluppare un diagramma EER per questo database:
- Identificare le entitร e determinare le relazioni che esistono tra loro.
- Ogni entitร , attributo e relazione dovrebbe avere nomi appropriati che possano essere facilmente compresi anche da persone non tecniche.
- Le relazioni non dovrebbero essere collegate direttamente tra loro. Le relazioni dovrebbero connettere le entitร .
- Ogni attributo in una determinata entitร dovrebbe avere un nome univoco.
Entitร presenti nella libreria โMyFlixโ
Gli enti da inserire nel ns Diagramma ER siamo:
- Membri โ questa entitร conterrร le informazioni relative ai membri.
- Film โ questa entitร conterrร informazioni relative ai film.
- Categorie โ questa entitร conterrร le informazioni che classificano i film in diverse categorie, come "Drammatico", "Azione", "Epico", ecc.
- Noleggio film: questa sezione conterrร le informazioni relative ai film noleggiati ai membri.
- Pagamenti โ questa sezione conterrร le informazioni relative ai pagamenti effettuati dai membri.
Definire le relazioni tra le entitร
Membri e film
Per quanto riguarda le interazioni tra le due entitร vale quanto segue.
- Un membro puรฒ noleggiare piรน di un film in un dato periodo.
- Un film puรฒ essere noleggiato da piรน membri in un dato periodo.
Dallo scenario sopra descritto, possiamo notare che la natura della relazione รจ molti-a-molti. I database relazionali non supportano le relazioni molti-a-molti. ร necessario introdurre un'entitร di collegamento. Questo รจ il ruolo svolto dall'entitร MovieRentals. Essa ha una relazione uno-a-molti con la tabella Members e un'altra relazione uno-a-molti con la tabella Movies.
Entitร di film e categorie
Quanto segue vale per i film e le categorie.
- Un film puรฒ appartenere a una sola categoria, ma una categoria puรฒ contenere piรน di un film.
Da ciรฒ possiamo dedurre che la natura della relazione tra le tabelle delle categorie e dei film รจ di tipo uno-a-molti.
Membri ed entitร di pagamento
Quanto segue รจ valido in merito ai membri e ai pagamenti.
- Un membro puรฒ avere un solo account ma puรฒ effettuare piรน pagamenti.
Da ciรฒ possiamo dedurre che la natura della relazione tra i membri e gli enti di pagamento รจ di tipo uno-a-molti.
Creare il modello EER utilizzando MySQL banco di lavoro
In MySQL banco di lavoro, clicca sul pulsante โ+โ.
Double Fai 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 a ciascuna entitร .
- La relazione con il luogo
Questo pulsante ci permette di definire le relazioni tra le entitร .
L'entitร Membri avrร i seguenti attributi
- Numero di iscrizione
- Nomi completi
- Genere
- Data di nascita
- Indirizzo fisico
- indirizzo postale
Ora creiamo la tabella Membri.
1. Trascina l'oggetto tabella dal pannello degli strumenti.
2. Trascinalo nell'area di lavoro. Apparirร un'entitร denominata tabella 1.
3. Double Fai clic su di esso. Apparirร la finestra delle proprietร mostrata di seguito.
Il prossimo,
- Modifica la tabella 1 in Membri.
- Modificare il valore predefinito idtable1 in membership_number.
- Fai clic sulla riga successiva per aggiungere il campo successivo.
- Procedi allo stesso modo per tutti gli attributi identificati nell'entitร Membri.
La finestra delle proprietร ora dovrebbe assomigliare a questa.
Ripetere i passaggi precedenti per tutte le entitร identificate.
L'area di lavoro del diagramma dovrebbe ora assomigliare a quella mostrata di seguito.
Creiamo un rapporto tra i membri e il noleggio di film
- Seleziona la relazione di posizione utilizzando lo strumento colonne esistenti.
- Fai clic su membership_number nella tabella Members.
- Fai clic su reference_number nella tabella MovieRentals.
Ripeti i passaggi precedenti per le altre relazioni. Il tuo diagramma ER dovrebbe ora apparire cosรฌ:









