ENTITÀ - RELAZIONE MODELLO ENTITÀ E ATTRIBUTI DOMINI RELAZIONI

Slides:



Advertisements
Presentazioni simili
La progettazione concettuale
Advertisements

Informatica II – Basi di Dati (08/09) – Parte 1
Corso di Laurea in Biotecnologie Informatica (Basi di Dati)
DB - Modello relazionale dei dati
IL MODELLO ENTITÀ-RELAZIONE Gli altri costruttori
PROGETTAZIONE DI BASE DI DATI Metodologie e modelli.
IL MODELLO ENTITA’ - RELAZIONE I costruttori di base
Progettazione concettuale
Informatica Recupero debito quarto anno Terzo incontro.
Progettazione concettuale
DATABASE Sono strumenti informatici con i quali è possibile memorizzare e gestire numerose quantità di informazioni di un’ organizzazione, in modo: Semplice;
1 Sistemi per il recupero delle informazioni PARTE - III COME SI MODELLA.
DOCUMENTAZIONE DI SCHEMI E/R
1 Progettazione Concettuale: Entity/Relationships (E/R) Esigenza di strumenti efficaci, chiari e sintetici per rappresentare i dati di interesse e le loro.
Progettazione Concettuale: Il modello Entità-Relazioni
4 – Progettazione – Introduzione e Modello E-R
5 – Progettazione Concettuale
Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.
Il modello relazionale: strutture e vincoli
Relazioni Relazione: Associazione o legame logico esistente tra due o più entità Socio Prenota Campo.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
L’uso dei database in azienda
teoria … e pratica con Microsoft Access
Corso di Informatica (Basi di Dati)
Corso di Informatica (Basi di Dati)
LA PROGETTAZIONE LOGICA
Metodologie e Modelli di Progetto
Basi di dati 2002 EER Vogliamo aumentare lespressività degli Entity Model EER: Entity Model Esteso.
Modello E-R Generalizzazioni
Progettazione di una base di dati
Relazioni Relazione : concetto mutuato dalla definizione di relazione matematica della teoria degli insiemi, come sottoinsieme del prodotto cartesiano.
Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti.
Partizionamento/accorpamento di concetti
Modello E-R Generalizzazioni
Modello Relazionale Proposto agli inizi degli anni ‘70 da Codd
Informazione incompleta Le tuple che compongono la base di dati devono essere omogenee. Quindi ad ogni attributo deve essere associato un valore in ogni.
Implementare un modello di dati
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
LA PROGETTAZIONE DELLE BASI DI DATI
Il modello ER Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.
MODELLO E/R.
DB- Sistemi Informativi
Modellazione dei Dati Fabio Scanu a.s. 2012/2013.
I DBMS BASI DI DATI (DATABASE) Insieme organizzato di dati utilizzati
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
Diagramma delle Classi
Il modello relazionale. Modello logico dei dati basato su concetti relazione e tabella Relazione: da teoria degli insiemi Tabella: rappresentazione grafica.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
Basi di dati e Relazioni Uno schema di relazione R(X) è costituito da un simbolo (nome della relazione) R e da una serie di attributi X={A 1, A 2, …, A.
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
Progettazione di una base di dati relazionale Vincoli.
Strategie di progetto Si possono utilizzare le strategie tipiche dello sviluppo di un processo di ingegnerizzazione (es. ingegneria del software). Strategie.
Intelligenza Artificiale 1 Gestione della conoscenza lezione 15 Prof. M.T. PAZIENZA a.a
Sistemi di Elaborazione delle Informazioni
PROGETTAZIONE DI BASE DI DATI Metodologie e modelli.
Descrizione del modello EA con uno schema (parziale) EA Compito 1 di laboratorio: Progetto e realizzazione di una base dati per gestire la documentazione.
Metodologie e modelli per il progetto. 2 Introduzione alla progettazione Il problema: progettare una base di base di dati a partire dai suoi requisiti.
1 Esami Esame scritto: Tra 21 e 25 domande: 20 domande chiuse (20 punti),  5 domande aperte (10 punti) 1½ ore Esame orale/applicativo: Esercizi usando.
Eprogram informatica V anno.
Cloud informatica V anno.
MODELLO E/R.
NORMALIZZAZIONE ESERCIZI. INTRODUZIONE La modellazione E-R ci ha consentito di descrivere schemi relazionali Lo strumento base per la modellizzazione.
Prima esercitazione di Basi di Dati Barcelli, Bardine, Loconsole, Manganelli e MIgliorini.
Progettazione concettuale Castagnozzi Savino Ciaramello Massimo Emiliano Galeazzi Federico Guerriero Lorenzo Macauda Giorgio.
Linguaggi per basi di dati Linguaggi di definizione dei dati Utilizzati per definire gli schemi e le autorizzazioni per l’accesso Linguaggi di manipolazione.
Il Modello Relazionale. I modelli logici dei dati Tradizionalmente, esistono tre modelli logici: –gerarchico –reticolare –relazionale I modelli gerarchico.
Il modello relazionale. Modello Relazionale 2 Dal modello concettuale a quello logico Una volta stabilita la rappresentazione concettuale della realtà.
Progettazione di Database l Progettazione Concettuale: strutturazione della “realtà” che si vuole rappresentare secondo uno schema concettuale l Dallo.
Transcript della presentazione:

ENTITÀ - RELAZIONE MODELLO ENTITÀ E ATTRIBUTI DOMINI RELAZIONI GENERALIZZAZIONI IDENTIFICATORI ENTITA’ DEBOLI VINCOLI DI CARDINALITA’

MODELLO ENTITA’ - RELAZIONE Caratteristiche Modello ad alto livello di astrazione, per la rappresentazione concettuale dei dati Proposto da P.P. Chen, anni ‘76 Intuitivo, facile da comprendere, molto diffuso ed utilizzato per la progettazione di basi di dati Usato per la progettazione concettuale dei dati, produzione di schemi Entità-Relazione Usato come linguaggio di comunicazione tra il progettista informatico e l’utente del sistema Fornisce una serie di costrutti e vincoli atti a descrivere la realtà di interesse in modo semplice e naturale, con astrazione dalla particolare organizzazione logica e fisica dei dati richiesta dal DBMS

MODELLO ENTITA’ - RELAZIONE Costrutti e loro rappresentazione grafica (n,m) ( P,E ) Entità Relazione Attributo Attributo composto Cardinalità relazione Identificatore interno Cardinalità attributo Identificatore esterno Generalizzazione

MODELLO ENTITA’ - RELAZIONE Costrutto Entità Entità come istanza ( Entity ) rappresenta un oggetto della realtà che, ai fini dell’applicazione di interesse, ha una propria identità : è distinguibile da altri oggetti indipendentemente dai valori dei propri attributi ha una esistenza fisica, es: PERSONA, AULA oppure ha una esistenza concettuale, es: ESAME, CORSO Entità come tipo ( Entity Type ) esprime il l’idea astratta dell’oggetto che si vuol rappresentare e che viene descritto dal Nome e dagli Attributi , aspetto intensionale della rappresentazione Entità come classe ( Entity Set ) insieme delle entità, istanze, dello stesso tipo, aspetto estensionale della rappresentazione

MODELLO ENTITA’ - RELAZIONE Costrutti Attributo e Dominio Attributi descrivono proprietà elementari di Entità e Relazioni di interesse ai fini dell’applicazione es: Nome, Età, Indirizzo di STUDENTE Domini ogni attributo associa a ciascuna istanza di entità, o di relazione, un valore appartenente ad un insieme predefinito di valori ammissibili, detto dominio dell’attributo es: l’insieme delle stringhe di 15 caratteri per l’attributo Nome dell’entità STUDENTE es: gli interi compresi tra 18 e 65 per l’attributo Età dell’entità STUDENTE La gran parte dei dati memorizzati in una base di dati è costituita dai valori degli attributi delle entità in essa rappresentate

MODELLO ENTITA’ - RELAZIONE Tipologia degli Attributi Semplice - Composto Scalare - Multivalore Derivato - Memorizzato Semplice non scomponibile in componenti più elementari Nome, Età di STUDENTE Composto costituito da più componenti ciascuna rappresentabile con un attributo semplice avente un significato proprio ed indipendente Data formata da Giorno, Mese, Anno Indirizzo formato da Numero, Via, Città Multivalore associa ad ogni istanza di una entità un insieme di valori NumTel di PERSONA con più numeri di telefono { tel-casa, tel-ufficio, . . . } Autore di LIBRO con più autori { Elmasri, Navathe }

MODELLO ENTITA’ - RELAZIONE Tipologia e Cardinalità degli Attributi Memorizzato attributo i cui valori sono presenti, effettivamente memorizzati, nella base di dati Derivato attributo i cui valori, non presenti nella base di dati, sono calcolati a partire da valori di attributi memorizzati Età derivato da Data-Nascita Numero-Studenti di un CORSO derivato dalla relazione tra STUDENTE e CORSO Cardinalità degli attributi specifica il numero minimo e massimo di valori dell’attributo associati a ciascuna istanza di entità

MODELLO ENTITA’ - RELAZIONE Valori Nulli Valore Nullo è un particolare valore polimorfo (appartiene a più Tipi ) che indica assenza di informazione Può significare che all’attributo non è possibile assegnare un valore Cognome da nubile di IMPIEGATO maschio che, per il momento, non si conosce il valore da assegnare all’attributo Matricola di STUDENTE trasferito che non si sa se è possibile o meno applicare un valore : non si sa se il valore esiste o, in caso affermativo, non lo si conosce

MODELLO ENTITA’ - RELAZIONE Valori Nulli Il comitato ANSI ha individuato e fissato ben 14 diversi significati di valore NULLO 1. Non Applicabile 2. Applicabile, al momento Ignoto 3. Esistente, ma Riservato 4. Esistente, Non Disponibile . . . . . . . . . . . . . 8. Disponibile, in Aggiornamento 9. Disponibile, di Validità Incerta 10. Disponibile, Non Valido 14. Derivato da Valori Nulli

MODELLO ENTITA’ - RELAZIONE Costrutto Relazione definisce una corrispondenza tra le istanze di due o più entità rappresenta un legame, significativo per l’applicazione, tra due o più entità modella fatti significativi della realtà che mettono in relazione le istanze di due o più entità

MODELLO ENTITA’ - RELAZIONE Definizione formale di Relazione una relazione R è un sottoinsieme del prodotto cartesiano delle entità, insiemi Ei , partecipanti alla relazione: Istanza una istanza della relazione R è una ennupla ordinata di istanze ei appartenenti alle Entità (insiemi) Ei coinvolte nella relazione Dalla definizione di relazione del modello E-R consegue che una relazione non ammette ennuple ripetute Ad esempio, la relazione ESAME non è in grado di descrivere il fatto che un certo studente ha ripetuto più volte lo stesso esame

MODELLO ENTITA’ - RELAZIONE Costrutto Relazione STUDENTE SEGUE CORSO Livello intesionale della relazione SEGUE : descrizione del legame logico esistente tra le entità STUDENTE e CORSO ( s ,c ) 1 1 s 1 ( s ,c ) c 1 3 1 s c 2 ( s ,c ) 2 2 1 s 3 ( s ,c ) c 3 2 3 ( s ,c ) 2 2 Livello estensionale della relazione SEGUE : insieme delle istanze della relazione: coppie ordinate formate da uno specifico STUDENTE e uno specifico CORSO

MODELLO ENTITA’ - RELAZIONE Grado di una Relazione il grado di una relazione è determinato dal numero di entita partecipanti alla relazione STUDIA STUDENTE CITTA' RISIEDE due relazioni binarie tra le entità STUDENTE e CITTA’ STUDENTE ESAME CORSO DOCENTE una relazione ternaria tra STUDENTE, DOCENTE e CORSO

MODELLO ENTITA’ - RELAZIONE Relazioni ricorsive Relazione ricorsiva una relazione si dice ricorsiva se sussiste tra una entità e se stessa: se associa coppie di istanze appartenenti alla stessa entità AMICIZIA PERSONA ricorsiva simmetrica PARENTELA PERSONA Padre Figlio ricorsiva asimmetrica in questo caso è necessario indicare il ruolo svolto dall’entità nella relazione

MODELLO ENTITA’ - RELAZIONE Identificatore di Entità di una entità specifica l’attributo(i) e/o le entità che permettono di identificare in maniera univoca ciascuna singola istanza dell’entità Identificatore interno se è costituito da uno o più attributi della entità stessa; per l’identificazione delle istanze non sono necessari attributi e/o entità esterne

MODELLO ENTITA’ - RELAZIONE Identificatore esterno di Entità Identificatore esterno (entità debole) quando gli attributi di una entità, detta entità debole, non sono sufficienti ad identificare le sue istanze; per l’identificazione delle istanze è necessario ricorrere ad una o più altre entità, dette entità forti la relazione tra entità debole ed entità forte e sempre una relazione binaria, con cardinalità (1,1) dal lato dell’entità debole una identificazione esterna può coinvolgere entità a loro volta identificache esternamente, purchè non si formino dei cicli di identificazione

MODELLO ENTITA’ - RELAZIONE Esempio di entità debole Una operazione bancaria di versamento/prelievo su/da un conto corrente NON può avere una esistenza autonoma : l’operazione deve essere rifarita al conto corrente su cui veine effettuata Nome CLIENTE Indirizzo Cod-Fiscale (1,N) FIRMA Data (1,N) Numero CONT.COR Saldo (1,N) EFF.SU (1,1) Numero OPERAZ Data Importo

MODELLO ENTITA’ - RELAZIONE Vincoli di Cardinalità Cardinalità delle relazioni sono specificati per ogni entità partecipante ad una relazione indicano il numero minimo e massimo di istanze della relazione a cui le istanze delle entità coinvolte possono partecipare modellano particolari situazioni della realtà ( 1, 3 ) ( 1, 2 ) DOCENTE TIENE CORSO dal lato DOCENTE : ogni DOCENTE deve tenere almeno 1 corso , può tener al più 3 corsi dal lato CORSO : ogni CORSO deve essere tenuto da almeno un docente, al più da due docenti Obbligatorietà / Opzionalità cardinalità minima zero significa che la partecipa-zione di una entità alla relazione è opzionale cardinalità minima uno significa che la partecipa-zione di una entità alla relazione è obbligatoria

MODELLO ENTITA’ - RELAZIONE Esempio di Cardinalità Corrispondenza uno-a-uno (1 :1) obbligata ( totale ) dal lato DOCENTE obbligata ( totale ) dal lato CORSO Situazione ipotizzata: ogni DOCENTE deve tenere un solo CORSO ogni CORSO è tenuto da un solo DOCENTE TIENE DOCENTE CORSO (1,1) D 1 C 2 3 4 5

MODELLO ENTITA’ - RELAZIONE Esempio di Cardinalità Corrispondenza uno-a-molti (1:N) opzionale ( parziale ) dal lato DOCENTE obbligata ( totale ) dal lato CORSO Situazione ipotizzata: un DOCENTE può tenere nessuno o più CORSI un CORSO deve essere tenuto da un solo DOCENTE TIENE DOCENTE CORSO (1,1) (0,N) D 1 C 2 3 4 5

MODELLO ENTITA’ - RELAZIONE Esempio di Cardinalità Corrispondenza molti-a-uno ( N:1 ) obbligata ( totale ) dal lato DOCENTE parziale ( opzionale ) dal lato CORSO Situazione ipotizzata: ogni DOCENTE deve tenere un solo corso CORSO un CORSO può essere tenuto da più DOCENTI o da nessun docente ( alcuni corsi non sono attivati ) TIENE DOCENTE CORSO (0,N) (1,1) D 1 C 2 3 4 5

MODELLO ENTITA’ - RELAZIONE Esempio di Cardinalità Corrispondenza molti-a-molti ( N:M ) obbigata ( totale ) dal lato DOCENTE obbligata ( totale ) dal lato CORSO Situazione ipotizzata: ogni DOCENTE deve tenere almeno un CORSO ogni CORSO è tenuto da almeno un DOCENTE TIENE DOCENTE CORSO (1,N) D 1 C 2 3 4 5

MODELLO ENTITA’ - RELAZIONE Esempio di Relazione Ternaria Un FORNITORE fornisce : una data PARTE per un dato PRODOTTO in una data Quantità Quantità FORN.RE F.SCE PRODOTTO PARTE F 1 2 P 3 4 5 A

MODELLO ENTITA’ - RELAZIONE Relazioni Ternarie e Binarie Una relazione ternaria non è in generale rappresenta-bile mediante tre distinte relazioni binarie FORN.RE F_ A ARTICOLO F_P PARTE P_ A F 1 2 P A 3

MODELLO ENTITA’ - RELAZIONE Relazioni Ternarie e Binarie Una relazione ternaria non è in generale rappre-sentabile mediante tre relazioni binarie I tre fatti ( istanze delle tre relazioni binarie ) : < f1, p1 > (< f1, p1 ,? >) : il FORNITORE f1 fornisce la PARTE p1 per un qualche ARTICOLO < p1, a2 > (< ?, p1, a2>) : un qualche FORNITORE fornisce la PARTE p1 per l’ARTICOLO a2 < f1, a2 > (< f1, ? , a2 >) : il FORNITORE f1 fornisce una qualche PARTE per l’ ARTICOLO a2 non implicano necessariamente il fatto ( istanza della relazione ternaria ) : < f1, p1, a2 > : il FORNITORE f1 fornisce la PARTE p1 per l’ARTICOLO a2 mentre vale l’implicazione inversa le tre distinte relazioni binarie non ci dicono: quale fornitore quale parte ha fornito per un dato articolo la relazione ternaria contiene più informazione delle tre relazioni binarie con cui si pensa poterla rappre-sentare o sostituirla

MODELLO ENTITA’ - RELAZIONE Relazioni Ternarie e Binarie D_S DOCENTE D_C_S SEMESTRE D_C CORSO C_S Le tre distinte relazioni binarie non dicono ciò che dice la relazione ternaria: in quale semestre un determinato docente tiene un dato corso

MODELLO ENTITA’ - RELAZIONE Relazioni Ternarie e Binarie Come rappresentare una relazione ternaria mediante tre distinte relazioni binarie FORN.RE ARTICOLO Quantità F_ F A _ F F_ P_ A P_ F PARTE la relazione ternaria può essere rappresentata con : una entita debole senza identificatore interno più tre relazioni binarie identificanti una istanza dell’entità debole (rappresentante una istanza della relazione ternaria ) è identificata dalla combinazione delle istanze delle tre entità dominanti

MODELLO ENTITA’ - RELAZIONE Generalizzazione Generalizzazione - è un meccanismo di astrazione che consente di specificare una classe ( superclasse ) come generalizzazione di altre classi ( sottoclassi ) considerando le proprità (attributi e relazioni ) che esse hanno in comune l’insieme delle entità PERSONA è costituito da sottogruppi ( ovvacati, ingegneri, studenti ) : che sono significativi ai fini dell’applicazione e che, perciò, debbono essere rappresentati in modo esplicito tra l’entità padre e le entità figlie esiste una relazione del genere tipo-sottotipo, detta relazione ISA : uno STUDENTE è-una PERSONA Studente ha tutte le caratteristiche di Persona più altre caratteristiche che lo specializzano in quanto studente

MODELLO ENTITA’ - RELAZIONE Generalizzazione una istanza di una sottoclasse è anche istanza della superclasse e rappresenta la stessa entità-reale viceversa, non tutte le entità della superclasse sono necessariamente anche istanze di una delle sottoclassi

MODELLO ENTITA’ - RELAZIONE Generalizzazione Ereditarietà una entità che è istanza di una sottoclasse eredita tutte le proprietà ( attributi e relazioni ) della superclasse Motivazione all’uso di gerarchie di generalizzazione nel modellare i dati il motivo principale che rende opportuno e necessario l’uso di superclassi e sottoclassi è che certi attributi sono applicabili ad alcune ma non a tutte le istanze di una entità ( della superclasse ) Vincoli sulle Generalizzazioni le generalizzazioni sono caratterizzate da due tipi di vincoli, tra loro ortogonali : totale - se ogni istanza della superclasse è istanza di almeno una delle sottoclassi, parziale - altrimenti esclusiva - se ogni istanza della superclasse è istanza di al più una sola delle sottoclassi, sovrapposta - altrimenti

MODELLO ENTITA’ - RELAZIONE Esempio di Generalizzazione Totale ed Esclusiva PERSONA UOMO DONNA ( T,E )

MODELLO ENTITA’ - RELAZIONE Esempio di Generalizzazione Parziale e Sovrapposta PERSONA SUDENTE LAVORATORE ( P,S )

MODELLO ENTITA’ - RELAZIONE Esempio di Generalizzazione Parziale ed Esclusiva PERSONA SUDENTE DOCENTE ( P,E )

Descrizione del modello E-R con il modello E-R MODELLO ENTITA’ - RELAZIONE Esempio Descrizione del modello E-R con il modello E-R Nome APPARTENENZA GENERALIZZA ZIONE COSTRUTTO BASE ENTITA’ RELAZIONE ( 1 ,1 ) ( 0 , N ) PARTECIPAZIONE Card.Max Card.Min ( 1 , N ) PADRE FIGLIA ATTRIBUTO

Descrizione del modello E-R con il modello E-R MODELLO ENTITA’ - RELAZIONE Esempio Descrizione del modello E-R con il modello E-R Lettura dello schema : una ENTITA’ può partecipare a zero o a più RELAZIONI e una REALZIONE può coinvolgere una (nel caso di relazione ricorsiva) o più ENTITA’ la partecipazione di una entità ad una relazione ha una CARDINALITA’ minima e massima un ATTRIBUTO ha un nome, una cardinalità minima e massima, ed è associato ad un concetto base una GENERALIZZAZIONE ha una sola entità PADRE e una o più entità FIGLIE una ENTITA può essere PADRE e FIGLIA di diverse generalizzazioni, o anche di nessuna un COSTRUTTO BASE è identificato univocamente dal suo NOME un ATTRIBUTO è identificato dal suo NOME e dal COSTRUTTO BASE a cui è associato nello schema i vincoli di CARDINALITA’ delle relazioni sono stati rappresentati come attributi non tutte le caratteristiche del modello E-R sono state rappresentate nello schema