2. 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.
3. 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.
Studente
Classe
Docente
4. 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.
ESEMPIO
Prendiamo 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.
5. ENTITÀ ASSOCIATIVE
Le entità associative (o di intersezione) sono
entità usate per associare due o più entità
allo scopo di risolvere un’associazione
multipla.
ESEMPIO
Prendiamo 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
6. ISTANZA
L’istanza di un’entità consiste in un singolo
oggetto descritto dall’entità.
ESEMPIO
Prendiamo 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à.
7. ATTRIBUTI
Gli attributi descrivono le entità con le
quali sono associati.
Studente
Nome
Cognome
Classe
Docente
Sezione
Indirizzo
Materia
Cognome
8. 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.
9. 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.
10. VALORE di un ATTRIBUTO
e
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.
11. 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à.
12. 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.
Studente
Nome
Cognome
Classe
Frequenta
È frequentata
Sezione
Indirizzo
14. 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.
15. 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)
16. 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.
17. 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.
18. 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à.
19. 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à.
20. 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.
21. 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.
22. 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à.
23. 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à.
ESEMPIO
Prendiamo 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.
24. DALL’ENTITÀ alla
TABELLA
Ogni entità può essere riportata in una tabella.
Tabella Persona
ID
NOME
PERSONA
COGNOME
DATA di
NASCITA
LUOGO DI
NASCITA
1
Marco
Sandri
25/10/1986
Treviso
2
Lucia
Ferro
14/04/1970
Milano
3
Andrea
Ruso
03/08/1990
Roma
25. 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.
26. 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.
Tabella Persona
Tabella Lavoro
ID
PERS
NOME
COGNOME
ID
PERS
ID LAV
ID LAV
DATORE
AZIENDA
1
Matteo
Menegozzo
1
1
1
Lorenzi
TrashSound
TABELLA PONTE
27. LE REGOLE DI INTEGRITÀ
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.
28. INTEGRITÀ DELL’ENTITÀ
INTEGRIT
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.
29. 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.
30. 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.
31. 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.
32. 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
33. REGOLE 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.