Informatica 3 Liceo Scientifico Scienze Applicate/Modello ER

Wikibooks, manuali e libri di testo liberi.
Jump to navigation Jump to search
CopertinaInformatica 3 Liceo Scientifico Scienze Applicate/Copertina

MODELLO E/R[modifica]


Il modello E/R cioe' Entita' Associazione (Entity–relationship) nasce nel 1976 dall'idea di Peter Chen un Informatico che lavorava presso il MIT Sloan School of Management e serve per rappresentare il livello concettuale nello sviluppo di un Database, l'obiettivo del modello E/R è di poter descrivere una qualsiasi realtà indipendentemente dall'applicativo che la utilizzera'.

Gli elementi alla base di questo modello sono le:

  • Entità: cioe' gli elementi importanti della realtà che si vuole descrivere.
  • Associazione: che rappresentano i collegamenti logici fra due entità:

e poi gli attributi di entita' e associazioni. Se pensiamo che la realta' da descrivere sia la Scuola allora le entità possono essere : gli studenti, i compiti, le materie, gli insegnanti.
naturalmente la scelta delle entita' all'interno della stessa Scuola poteva essere vista in chiave amministrativa e allora le cose importanti sarebbero state: Impiegati, CedoliniStipendi, Fatture etc. . Gli attributi dell'entita' Studenti sono elementi significativi dell'entita' stessa ad esempio: nome dello studente, cognome dello studente, telefono, data di nascita, e matricola dello studente sono attributi dell'entita' studenti, la matricola possiamo indicarla come IDstudente (che rappresenta anche la chiave primaria e puo' essere un numero progressivo attribuito dalla scuola ad ogni suo iscritto ).

Esempio di entità


Per rappresentare una entità basta scriverne il nome e racchiuderla in un rettangolo mentre per rappresentare le associazioni bisogna indicare tre cose : il grado , l'opzionalita' e il verbo che descrive l'associazione .Per il grado che può essere dei seguenti tipi:
  • 1:1 (uno a uno) questo e' per esempio il legame fra un automobilista e la sua patente, ogni automobilista ha una patente e a ogni patente corrisponde un solo automobilista
  • 1:N o N:1 (uno a molti, molti a uno) in questo caso un esempio e' il legame fra studenti e compiti , ad ogni studente corrisponde uno o piu' compiti, mentre a un singolo compito corrisponde un solo studente
  • N:N (molti a molti), in questo caso pensiamo al legame fra studenti e libri di una biblioteca, un studente può aver letto uno o piu' libri, mentre ogni libro può essere stato letto da 1 o piu' studenti

si usa la seguente rappresentazione grafica

Il grado di una associazione modello ER

mentre l' opzionalità si descrive indicando se quella associazione e' obbligatoria o meno,determina in che ordine si devono inserire i dati nelle tabelle, se dico uno studente puo' leggere uno o piu' libri, quel puo' indica che posso inserire i dati degli studenti prima di aver inserito i libri, mentre se dico un lavoratore deve (obbligatoriamente) essere iscritto a un sindacato questo comporta che prima devo costruire la tabella dei sindacati e solo dopo inserire i lavoratori , e quando inserisco il singolo lavoratore devo specificare a quale sindacato appartiene.

I casi sono allora 2 :

  • ci deve essere un elemento associato (graficamente rappresentato da una linea continua)
  • ci può essere un elemento associato (graficamente rappresentato da una linea tratteggiata)
L'opzionalita' nel modello ER

Per indicare il verbo che descrive l'associazione lo si scrive all'interno di un rombo, vedi figura, posso leggere l'associazione fra 2 entita' partendo dalla prima verso la seconda e viceversa
Simbologia modello relazionale

Esempio Attributi


Gli attributi sono rappresentati da un pallino collegato all'entità attraverso una linea. Essi esprimono delle proprietà delle istanze di un'entità (ossia descrivono gli elementi di un'entità).Il pallino nero rappresenta un attributo che in modo univoco identifica le istanze di un'entità (attributo identificatore). Come si può vedere nell'esempio anche le associazioni possono avere degli attributi.


Peter Chen ha descritto inoltre come trasformare questo modello nelle tabelle concrete di diversi database, queste regole si chiamano regole di derivazione . Nella pratica ogni entità diventerà poi una tabella, nelle quali gli attributi diventano i titoli delle colonne, mentre le righe conterranno i dati che si riferiscono agli elementi dell'entità detti istanze, ad esempio Luca Rossi e' un'istanza dell'entita' studenti.

Con altra terminologia possiamo dire che ogni tabella corrisponde ad un archivio del database , le righe sono i records( insieme di dati uniti logicamente tra loro), e le colonne sono i campi del record.

La tabella viene poi popolata con i dati che si desidera immettere nei vari campi, dei quali campi il più importante è di sicuro la chiave primaria cioè quel campo o insieme di campi che identifica univocamente il singolo record, se il record descrive una persona possiamo usare come chiave primaria il suo codice fiscale.