modello er
TRANSCRIPT
ILIL MODELLOMODELLO
E-RE-R
COS’È IL MODELLO E-R?
Il Modello Entità-Relazioni è un modello per la rappresentazione concettuale
dei dati sotto forma di entità e di relazioni
tra di esse.
LE ENTITÀ
In un Modello E-R, le entità sono gli oggetti principali su cui vengono
raccolte le informazioni.Ogni entità del Modello E-R serve a
rappresentare graficamente un concetto del mondo reale.
DocenteClasseStudente
ENTITÀ FORTI ed
ENTITÀ DEBOLI
Un’entità si dice: Forte se non ha bisogno di altre entità per
essere identificata; Debole se richiede altre entità per essere
identificata.
ESEMPIOPrendiamo in considerazione due entità, il Libro e il Titolo.
Il Libro è un’entità forte, poiché esiste indipendentemente dal Titolo, che è un’entità debole in quanto la sua esistenza è giustificata solo dall’esistenza di un libro.
ENTITÀ ASSOCIATIVE
Le entità associative (o di intersezione) sono entità usate per associare due o
più entità allo scopo di risolvere un’associazione multipla.
ESEMPIOPrendiamo in considerazione due entità, il Docente e la Classe.
Un Docente insegna in diverse classi e una Classe ha diversi docenti (Relazione N-N).
È quindi necessario introdurre un’entità associativa, per esempio l’Orario, che associa il Docente alla Classe
ISTANZA
L’istanza di un’entità consiste in un singolo oggetto descritto dall’entità.
ESEMPIOPrendiamo in considerazione l’entità Studenti.
L’entità Studenti sarà l’insieme di tutti gli studenti di una classe, mentre ogni singolo studente rappresenta un’istanza dell’entità.
ATTRIBUTI
Gli attributi descrivono le entità con le quali sono associati.
Studente Classe Docente
NomeCognome
SezioneIndirizzo
MateriaCognome
CARATTERISTICHE degli
ATTRIBUTI
Per ogni attributo si devono individuare sempre tre caratteristiche fondamentali,
che sono: Il formato, che indica il tipo di valori che
assume. I tre formati base sono carattere, numerico, data/ora;
La dimensione, cioè la quantità massima di caratteri o cifre inseribili;
L’opzionalità, che indica la possibilità di non essere sempre valorizzato.
OPZIONALITÀ di un
ATTRIBUTO
L’attributo può essere: Obbligatorio, se deve necessariamente
avere un valore non nullo; Facoltativo, se sono accettabili valori
nulli.
Il valore nullo rappresenta un’informazione mancante, inapplicabile o sconosciuta.
VALORE di un ATTRIBUTOe
DOMINIO di un ATTRIBUTO
Il valore è una particolare istanza di un attributo.
Per esempio, dato un attributo Data, un suo valore può essere il 18/07/1996
Il dominio di un attributo è la collezione di tutti i possibili valori che un attributo può
avere. Per esempio, dato un attributo Data, il suo
dominio sono tutti i giorni dalla notte dei tempi alla fine del mondo.
IDENTIFICATORI e
DESCRITTORI
Gli attributi possono essere classificati come:
Identificatori, chiamati anche chiavi, identificano in modo univoco un’istanza di un’entità;
Descrittori, che descrivono una caratteristica non unica di un’istanza di un entità.
LE RELAZIONI
Una relazione rappresenta un’associazione tra due o più entità. Ogni associazione ha due versi. Ogni
verso ha: Un’entità di partenza; Un’entità di arrivo; Una descrizione per comprendere il
significato dell’associazione.
SezioneIndirizzo
NomeCognome
Studente Classe
È frequentata
Frequenta
CLASSIFICAZIONE delle
RELAZIONI
Le relazioni sono classificate secondo: Il grado; La cardinalità; La direzione; L’esistenza.
IL GRADO
Il grado di una relazione è il numero di entità associate alla relazione.
La relazione n-aria è la forma generale di grado n.
Le relazioni binarie (Grado 2) sono le relazioni più comuni nel mondo reale;
Una relazione binaria ricorsiva si ha quando una relazione è associata a se stessa;
Una relazione n-aria è in genere decomposta in più relazioni binarie.
LA CARDINALITÀ
La cardinalità di una relazione descrive la mappa delle istanze delle entità associate
nelle relazioni. Il valore della cardinalità è “Uno” (1) o
“Molti” (N).Le cardinalità possono essere:
Uno a uno (1-1) Uno a molti (1-N) Molti a molti (N-N)
DIREZIONE
La direzione di una relazione indica l’entità da cui trae origine la relazione binaria.
L’entità da cui si parte si chiama entità padre, l’entità a cui si arriva si chiama
entità figlio.La direzione della relazione è determinata
dalla sua cardinalità: Nelle relazioni 1-1 la direzione va
dall’entità forte a quella debole. Se sono entrambe forti la direzione è arbitraria;
Nelle relazioni 1-N l’entità padre è l’entità con cardinalità 1;
Nelle relazioni N-N la direzione è arbitraria.
L’ESISTENZA
L’esistenza denota se l’esistenza di un’istanza di entità è dipendente
dall’istanza di un’altra entità correlata.L’esistenza di un’entità in una relazione
viene definita: Obbligatoria se, date due entità A e B, A
deve per forza esserci perché B sia incluso nella relazione. Per esempio, un voto deve essere attribuito a uno studente;
Opzionale se, date due entità A e B, non è necessario che ci sia B perché esista A. Per esempio, uno studente esiste anche se non ha nessun voto.
CHIAVI E ATTRIBUTI
La teoria relazionale si fonda su due componenti di base:
Le chiavi primarie, cioè quelle che identificano in modo univoco le istanze delle entità;
Le chiavi esterne, che completano l’associazione tra due entità.
LE CHIAVI PRIMARIE
La chiave primaria è un attributo o una serie di attributi che identifica univocamente una
specifica istanza di un’entità.Perché un attributo possa essere definito
chiave primaria deve avere le seguenti proprietà:
Deve poter essere specificato il suo valore per ogni istanza dell’entità;
Il valore deve essere unico per ogni istanza dell’entità;
Il valore non può cambiare o diventare nullo durante la vita di ogni istanza dell’entità.
CHIAVI CANDIDATE e
CHIAVI ALTERNATIVE
In alcuni casi un’entità può avere più di un attributo adatto a diventare chiave
primaria. Ognuno di questi attributi viene chiamato chiave candidata.
Ciascuna chiave candidata che non è, poi, scelta come chiave primaria
prenderà il nome di chiave alternativa.
CHIAVI COMPOSTE
Può capitare che, per identificare univocamente un’entità, serva una chiave primaria composta da più
attributi.Questo tipo di chiave prende il nome di
chiave composta.
CHIAVI ARTIFICIALI
La chiave artificiale è formata da un attributo privo di significato proprio,
che viene aggiunto in modo strumentale se, tra gli altri attributi, nessuno riesce a identificare in modo univoco l’entità.
A questa chiave, in genere, viene dato un nome formato da ID + il nome
dell’entità, ed è composta da un contatore che si incrementa
automaticamente a ogni istanza aggiunta all’entità.
CHIAVI ESTERNE
Una chiave esterna è un vincolo per creare una relazione tra due entità.
In una relazione binaria, quella chiave che nella sua specifica entità è chiamata chiave primaria, diventerà la chiave
esterna dell’altra entità.
ESEMPIOPrendiamo in considerazione due entità, la Persona e il Lavoro.
L’entità Persona avrà al suo interno diversi attributi tra cui la chiave primaria IDPersona, così come l’entità Lavoro avrà al suo interno diversi attributi tra cui la
chiave primaria IDLavoro. Se spostiamo IDLavoro nell’entità Persona, IDLavoro diventerà chiave secondaria dell’entità Persona.
DALL’ENTITÀ alla TABELLA
Ogni entità può essere riportata in una tabella.
NomeCognomeData di NascitaLuogo di Nascita
Persona
ID ID PERSONAPERSONA
NOMENOME COGNOMECOGNOME DATA di DATA di NASCITANASCITA
LUOGO DI LUOGO DI NASCITANASCITA
1 Marco Sandri 25/10/1986 Treviso
2 Lucia Ferro 14/04/1970 Milano
3 Andrea Ruso 03/08/1990 Roma
Tabella Persona
LE CHIAVI ESTERNE NELLE TABELLE
A seconda della cardinalità delle relazioni si verificano diversi eventi:
1-N: metto la chiave primaria dell’entità 1 nella tabella dell’entità n. La chiave prenderà il nome di chiave esterna della tabella-entitàN;
1-1: unisco le due tabelle; 2-N: la tabella-entitàN avrà 2 chiavi
esterne; N-N: aggiungo una tabella ponte.
LE TABELLE PONTE
La tabella ponte è una tabella che permette di rappresentare una relazione di tipo N-N.
Viene aggiunta tra le due tabelle e contiene le chiavi primarie delle due tabelle ed
eventuali attributi contenuti nella relazione che le lega.
ID PERS
ID LAV
1 1
ID PERS
NOME COGNOME
1 Matteo Menegozzo
ID LAV DATORE AZIENDA
1 Lorenzi TrashSound
TABELLA PONTE
Tabella LavoroTabella Persona
LE REGOLE DI INTEGRITLE REGOLE DI INTEGRITÀ
L’integrità dei dati è una delle colonne portanti del modello relazionale, poiché
garantisce che i valori siano validi e consistenti.
L’integrità in un database relazionale è la coerenza tra tabelle accoppiate.
Le regole di integrità che devono sempre essere rispettate sono due:
Integrità dell’entità; Integrità referenziale.
LE REGOLE DI INTEGRITLE REGOLE DI INTEGRITÀ
L’integrità dei dati è una delle colonne portanti del modello relazionale, poiché
garantisce che i valori siano validi e consistenti.
L’integrità in un database relazionale è la coerenza tra tabelle accoppiate.
Le regole di integrità che devono sempre essere rispettate sono due:
Integrità dell’entità; Integrità referenziale.
INTEGRITINTEGRITÀ DELL’ENTITÀ
La regola dell’integrità dell’entità dice che la chiave primaria di ogni istanza di
un’entità deve avere un valore esistente, unico e non nullo.
Questa esigenza è necessaria in quanto la chiave primaria di un’entità è usata per
identificare una singola riga in modo univoco, e quindi il suo valore deve
essere sempre specificato e non deve mai essere duplicato o vuoto.
INTEGRITÀ REFERENZIALE
La regola dell’integrità dell’referenziale dice che per ogni valore della chiave esterna deve esistere un valore di
chiave primaria nella tabella associata.Ogni valore della chiave esterna deve
essere, perciò, o null, oppure deve coincidere con la chiave primaria della
tabella a cui fa riferimento.
REGOLE DI INSERZIONE,CANCELLAZIONE e MODIFICA
Una chiave esterna crea una relazione gerarchica tra due entità associate.
L’entità che contiene la chiave esterna si chiama figlio, l’entità che contiene la chiave
primaria da cui è tratta quella esterna si chiama padre.
Per mantenere l’integrità referenziale tra entità padre e entità figlio devono essere prese in considerazione alcune regole di
inserzione, cancellazione o modifica.
REGOLE DI INSERZIONE Inserimento dipendente: consente l’inserzione
nell’entità figlio solo se l’entità padre esiste già;
Inserimento automatico: consente l’inserzione di un’istanza nell’entità figlio, e se l’istanza dell’entità padre non esiste viene creata;
Inserzione nulla: consente l’inserzione di un’entità figlio, e se l’istanza dell’entità padre non esiste la chiave esterna viene messa nulla;
Inserzione di dafault: consente l’inserzione di un’entità figlio, e se l’istanza dell’entità padre non esiste la chiave esterna viene impostata a un valore predefinito;
Nessun effetto: l’inserzione è sempre permessa, senza controlli.
REGOLE DI CANCELLAZIONE Cancellazione con restrizione: consente la
cancellazione dell’istanza dell’entità padre solo se non ci sono istanze dell’entità figlio;
Cancellazione a cascata: consente la cancellazione di un’istanza dell’entità padre e cancella tutte le istanze dell’entità figlio corrispondenti;
Cancellazione nulla: consente la cancellazione di un’entità padre, e imposta i valori dell’entità figlio come nulli;
Cancellazione di dafault: consente la cancellazione di un’entità padre, e mette i valori dell’entità figlio a un valore predefinito;
Nessun effetto: la cancellazione è sempre permessa, senza controlli.
REGOLE DI MODIFICAREGOLE DI MODIFICA
Le regole di modifica sono identiche a quelle di inserimento, in quanto la
modifica può essere vista come un caso particolare di inserimento.