MODELLO ER

Post on 13-Jun-2015

472 views 3 download

Transcript of MODELLO ER

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.

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.