Progettazione di Database



Похожие документы
Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

Progettazione Logica. Progettazione Logica

Corso di Sistemi di Elaborazione delle Informazioni I Anno 2005/2006. Esercizi entità relazione risolti. a cura di Angela Campagnaro

Modello dei Dati ENTITÀ-RELAZIONE (ENTITY-RELATIONSHIP) é l insieme di concetti, simboli, regole che useremo per rappresentare il modello concettuale

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Progettazione di basi di dati. Progettazione di basi di dati. Ciclo di vita dei sistemi informativi. Fasi del ciclo di vita [1]

Basi di dati. Concetti Introduttivi ESEMPIO. Fisica, Analisi, Informatica. Entità Relazioni Interrogazioni. Database 2

Basi di Dati. Conversione Modello ER in Modello Relazionale. K. Donno - Conversione Modello ER in Modello Relazionale

Database/Banche Dati/Sistemi Informativi

Cardinalità e identificatori. Informatica. Generalizzazioni. Generalizzazioni. Generalizzazioni. Generalizzazioni

Basi di dati II prova intermedia 16 Marzo 2006 Compito 1

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014

Lezione 2. Il modello entità relazione

Progettazione di Basi di Dati

Traduzione da ER a Relazionale

Vincoli di integrità

Modello E-R. Modello relazionale

Rappresentazione grafica di entità e attributi

Progettazione logica relazionale (1/2)

Progettare una base di dati che permetta di gestire il problema descritto nel seguito, nei seguenti punti:

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli

Basi di Dati e Sistemi Informativi. Progettazione logica: Il modello relazionale

Basi di dati Progettazione logica. Elena Baralis Politecnico di Torino

Progettazione di un DB....in breve

Progettazione di Database. Un Esempio

Basi di Dati. Progettazione del Modello ER. K. Donno - Progettazione del Modello ER

Elena Baralis 2013 Politecnico di Torino 1

Alessandra Raffaetà. Basi di Dati

BASI DATI BIOINGEGNERIA ED INFORMATICA MEDICA. Lezione II - BioIngInfMed

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

I DATABASE Database relazionale

Informatica per l'impresa. Sistemi per la gestione di basi di Dati

Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome.

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

Gestione Voti Scolastici

Informatica (Basi di Dati)

MODELLO RELAZIONALE. Introduzione

Progettazione base dati relazionale

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro

Composizione. Tipo. Pubblicità. Numero ripetizioni. (1,N) (1,1) Composizione. Tipo. Messaggio promozionale. Codice. Azienda. Prodotto.

5.2.1 RELAZIONI TRA TABELLE Creare una relazione uno-a-uno, uno-a-molti tra tabelle 9

LE ASSOCIAZIONI (parte 1) le associazioni parte 1 1

Organizzazione degli archivi

I database. Cosa sono e a cosa servono i Database

Perché progettare Progettazione di basi di dati. Il linguaggio di progettazione ad oggetti (ER esteso) Cognome

BASI DI DATI - : I modelli di database

Introduzione alla teoria dei database relazionali. Come progettare un database

CAPITOLO 7 ESERCIZI SUL MODELLO ER

Basi di Dati corso C Esercitazione 18/12/2002 Autonoleggio tempo: 3 ore

Esercitazione di Basi di Dati

Basi di dati. Esercitazione ER. Paolo Papotti. Esercizio giugno 2005

Basi di dati 9 febbraio 2010 Compito A

Basi di Dati e Microsoft Access

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.

Identificatori delle entità

MODELLO E/R. Modellazione dei dati

Fasi del progetto ( 1 )

ESAME di INFORMATICA e ARCHIVIAZIONE

Esercizio data base "Biblioteca"

Il modello Entity-Relationship: pattern di progettazione

PROGETTAZIONE CONCETTUALE

Capitolo 13. Interrogare una base di dati

BASI DI DATI I. Progettazione di un DBMS per un negozio di materiale elettrico. Progetto realizzato da: Iero Demetrio Matricola:

Il modello relazionale

La progettazione concettuale: il modello ER. 17/12/2007 Unità di Apprendimento A2 1

Associazioni. Informatica. Associazioni. Associazioni. Associazioni. Attributi. Possono esistere associazioni diverse che coinvolgono le stesse entità

La progettazione di un database

DB - Modello relazionale dei dati. DB - Modello Relazionale 1

GERARCHIA IS-A (è un) GENERALIZZAZIONI / SPECIALIZZAZIONI ESEMPIO 1

LABORATORIO di INFORMATICA

Progetto Motorizzazione. Si vuole realizzare un'applicazione base di dati per la gestione di un ipotetico ufficio della motorizzazione.

PROGETTAZIONE DI UN DATABASE

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1

Informatica Industriale Modello funzionale: Informazione Progettazione concettuale

Esercitazione 3: progettazione logica. Sistemi Informativi L-B. Home Page del corso:

BASE DI DATI: sicurezza. Informatica febbraio ASA

Introduzione alla progettazione. Metodologie e modelli per la progettazione di basi di dati. Il ciclo di vita dei sistemi informativi

Esercizio. Atzeni e altri, Basi di dati, Capitolo 8 64

Database 1 biblioteca universitaria. Testo del quesito

Il modello Entity-Relationship per il progetto delle basi di dati

Capitolo 2. Esercizio 2.1. Esercizio 2.2

Esercitazione di Basi di Dati

Soluzione dell esercizio del 12 Febbraio 2004

A.S. 2010/2011 M070 - ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE

Basi di dati I Soluzione Quinto Homework del 9 gennaio 2013

Capitolo 8. Esercizio 8.1

IL SISTEMA INFORMATIVO

Basi di Dati Relazionali

Progettazione del Software, Laurea in Ingegneria Gestionale Progettazione del Software Laurea in Ing. Gestionale

Stefania Marrara - Esercitazioni di Tecnologie dei Sistemi Informativi. Integrazione di dati di sorgenti diverse

Definizione Un modello astratto è la rappresentazione formale di idee e conoscenze relative a un fenomeno.

PROGETTAZIONE CONCETTUALE

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi

Basi di dati. Le funzionalità del sistema non vanno però ignorate

database: modello entityrelationship

Progettazione concettuale

Транскрипт:

Progettazione di Database Progettazione Concettuale: strutturazione della realtà che si vuole rappresentare secondo uno schema concettuale Dallo schema concettuale si ricava lo schema del database relazionale Modello concettuale: Entità/Relazione

DB Prenotazioni ad Alberghi Il database deve rappresentare le prenotazioni fatte da clienti ad un albergo. Si vogliono mantenere informazioni sui clienti, sugli alberghi e sulle prenotazioni. Dei clienti si vogliono mantenere dati identificativi. Gli alberghi possono essere Hotel o Agriturismi. In entrambe i casi si vogliono mantenere dati identificativi degli alberghi, il numero di camere (suddivise in singole, doppie, triple), e in quali periodi dell'anno e' aperto l'albergo. Nel caso degli alberghi si vuole memorizzare la categoria. Nel caso degli agriturismi si vogliono memorizzare i servizi offerti (come gli sport praticabili). Delle prenotazioni si vogliono mantenere le informazioni riguardo a chi l'ha fatta e per quale albergo, la data di arrivo e quella presunta di partenza (o il numero presunto dei giorni prenotati), quale tipo di stanza un cliente ha prenotato. Ogni cliente puo' prenotare piu' stanze nello stesso periodo.

Database di un Museo Il museo contiene tre tipi di oggetti: reperti archeologici, materiale etnografico e opere d arte (quadri, sculture) Conseguentemente, il museo ha tre sezioni: Archeologica, Etnografica, Collezione (di opere) d arte Di tutti i pezzi del museo si vogliono mantenere le informazioni: numero di inventario, provenienza datazione, descrizione, misure, se ha subito restauri o no, sala ed eventualmente collocazione (scaffale, etc ) Se un oggetto ha subito restauri, si vuole mantenere l informazione riguardo presso quale centro è stato restaurato e quando

Le opere d arte hanno associata l informazione sugli autori Per i reperti archeologici si vuole mantenere l informazione sulla data del ritrovamento Gli oggetti della sezione etnografica sono divisi in tre tipologie: costumi, mobili, suppellettili Ogni sezione comprende alcune sale. Le sale possono essere condivise da sezioni diverse e l attribuzione di una sala ad una sezione puo cambiare nel tempo. Alle sale è associata altra informazione (che non verrà condiderata nell esempio) Le sezioni hanno un impiegato responsabile

Il modello entità/relazione Consiste in una descrizione a diagrammi i cui concetti base sono: entità Relazioni (Associazioni) attributi Classi di oggetti omogenei Classi di fatti omogenei che correlano entità Proprietà di entità o associazioni

Esempi di modello entità-relazione utente prestito libro autore scrittura libro

studente esame corso Nome Cognome Matricola Data Voto codice titolo Docente

Relazioni uno-a-molti Una relazione si dice uno-a-molti se ad ogni istanza della prima entità corrisponde al più una della seconda, ma esiste un istanza della seconda cui corrisponde più di un istanza della prima. Anche indicata con (1:n) massimo 1,1 0,n persona Nato a luogo minimo Il minimo = 1 indica a sinistra che l' associazione è totale: ad ogni valore della prima entità ne corrisponde uno della seconda. Il minimo 1 a destra indica che l'associazione è suriettiva (per ogni valore della seconda entità ne esiste uno della prima).

Relazioni uno-a-uno Una relazione è uno-a-uno se ad ogni istanza della prima entità corrisponde al più un istanza della seconda entità e viceversa. Anche indicata con (1:1) 0,1 0,1 uomo sposati donna Nota. Il minimo = 0 indica a sinistra che la relazione non è necessariamente totale, ed a destra che non è necessariamente suriettiva.

Relazioni molti-a-molti Una relazione si dice molti-a-molti se esiste un istanza della prima entità in relazione con più di un istanza della seconda, e viceversa. Indicata con (m:n) 0,m 0,n studente esame corso

Altri esempi Relazione uno-a-uno 0,1 1,1 impiegato dirige biblioteca

Relazioni uno a molti libro 1,1 edizione 0,n Casa_editrice Relazioni molti a molti 0,m 0,n utente prestito libro

Relazioni a più argomenti Data destinatario mittente Spedizione merce

Attributi delle entità Qualificazione degli attributi (proprietà delle entità): Tipo (dei valori) degli attributi attributi semplici/composti cardinalità (mono/multi-valore) attributo identificatore (chiave) attributi ereditati nelle gerarchie

Tipi di attributi Entità Attr. multivalore Identificatori Attr. monovalore Attr. composti Attr. 1. Attr. N.

Esempio scaffale ripiano Collocaz. LIBRO N.invent Anno_ed. Casa_ed. autori titolo Autori: attributo multi-valore

Gerarchie Speciale tipo di relazione (Sottoclasse di/ sopraclasse di) che consente una rappresentazione più compatta e più naturale dei dati Ereditarietà Casa edit. collocaz Titolo. pubblicazioni prezzo autori libri periodicità riviste

Schema ER -> DB relazionale (1) Modello concettuale -> Insieme di tabelle Entità -> Tabella Attributi -> Attributi della tabella Identificatore -> Chiave primaria attributi composti -> appiattiti attributi multi-valore -> Altra relazione attributi ereditati -> dipende da come vengono tradotte le gerarchie

scaffale ripiano Collocaz. Entità LIBRO N.invent Anno_ed. Casa_ed. autori titolo LIBRO(N_Inv,Titolo, casa_ed, anno_ed, collocazione) Attributo composto: viene ricondotto ad un attributo di tipo testuale che congloba secondo un certo formato i due attributi scaffale e ripiano

Attributo multivalore scaffale Collocaz. ripiano Esempio: Autori LIBRO N.invent Anno_ed. Casa_ed. autori titolo nome autore scritturra LIBRO N.invent (n:m) LIBRO (N_Inv,Titolo, casa_ed, anno_ed, collocazione) SCRITTURA (Nome, N_Inv) gli altri attr AUTORE(Nome,ALtreINfo)

Eliminazione delle gerarchie (1) Le entità figlie vengono accorpate all entità padre che ne raccoglie tutti gli attributi, viene introdotto un attributo (flag) per mantenere la distinzione delle entità figlie (2) Le entità figlie accorpano l entità padre e ne raccolgono gli attributi. (3) La generalizzazione viene sostituita con associazioni con vincoli referenziali (Le entita sono identificate esternamente) Vediamo solo le prime due

Gerarchie (1) Titolo. N_Invent Casa edit. pubblicazioni collocaz prezzo autore libri periodicità riviste Titolo. N_Invent Casa edit. pubblicazioni collocaz prezzo autore periodicità Tipo_pub tipo_pub: attributo a valori {libri, riviste}

Traduzione Relazionale Pubblicazioni (N_Inv, casa_ed, titolo, coll, prezzo, autore*, periodicità*,tipo_pub) L asterisco indica che l attributo può assumere valori NULL (nel caso in cui non sia applicabile).

Gerarchie (2) Titolo. N_Invent Casa edit. pubblicazioni collocaz prezzo autore libri periodicità riviste N_Invent Titolo. autore Casa edit. libri collocaz prezzo N_Invent Casa edit. Titolo. periodicità riviste collocaz prezzo

Traduzione relazionale Libri (N_Inv, casa_ed, titolo, coll, prezzo,autore) Riviste (N_Inv, casa_ed, titolo, coll, prezzo, periodicità) E` preferibile quando la maggior parte delle ricerche avviene separatamente o sui libri o sulle riviste, o quando vi sono molti attributi diversi tra le due sottoentità.

Schema ER -> DB relazionale (2) Associazione -> Tabella chiavi delle entità partecipanti (chiavi esterne) attributi dell associazione Casi particolari (si può evitare la tabella aggiuntiva) includendo la chiave dell altra entità nel caso di associazioni uno-a-uno associazioni binarie uno-a-molti

Esempio: Associazione molti a molti nome (n:m) VENDITORE VENDITA PRODOTTO telefono sconto data codice_prodotto nome_prodotto VENDITORE (nome, telefono) PRODOTTO (codice_prodotto, nome_prodotto) VENDITA (codice_prodotto, nome_prodotto, sconto,data)

Esempio: Relazione 1:1 (1:1) UOMO SPOSATI DONNA DATA LUOGO NOME INDIRIZZO NOME INDIRIZZO UOMO(nome, indirizzo) DONNA(nome,indirizzo) SPOSATI(nome_uomo, nome_donna,data,luogo) oppure SPOSATI(nome_uomo, nome_donna,data,luogo)

Si può eliminare la relazione SPOSATI UOMO(nome, indirizzo, coniuge, data, luogo) oppure DONNA(nome, indirizzo, coniuge, data, luogo) NOTA: può essere utile mantenere la relazione SPOSATI nel caso in cui molti uomini (o molte donne) risultino non sposati: se la si eliminasse la relazione UOMO (o DONNA) estesa come indicato sopra conterrebbe troppi valori NULL

Esempio: relazione 1 a molti SEZIONE REPERTO 1 APPARTIENE_ n MUSEO (1:n) CODICE PROVENIENZA DATA_RITROV. NOME INDIRIZZO REPERTO(CODICE, PROVENIENZA, DATA_RITR) APPARTIENE(CODICE, NOME_MUSEO,SEZIONE) MUSEO (NOME, INDIRIZZO) OPPURE (MEGLIO): REPERTO(CODICE, PROVENIENZA, DATA_RITR, NOME_MUSEO,SEZIONE) MUSEO (NOME, INDIRIZZO)

Database di un Museo Il museo contiene tre tipi di oggetti: reperti archeologici, materiale etnografico e opere d arte (quadri, sculture) Conseguentemente, il museo ha tre sezioni: Archeologica, Etnografica, Collezione (di opere) d arte Di tutti i pezzi del museo si vogliono mantenere le informazioni: numero di inventario, provenienza datazione, descrizione, misure, se ha subito restauri o no, sala ed eventualmente collocazione (scaffale, etc ) Se un oggetto ha subito restauri, si vuole mantenere l informazione riguardo presso quale centro è stato restaurato e quando

Le opere d arte hanno associata l informazione sugli autori Per i reperti archeologici si vuole mantenere l informazione sulla data del ritrovamento Gli oggetti della sezione etnografica sono divisi in tre tipologie: costumi, mobili, suppellettili Ogni sezione comprende alcune sale. Le sale possono essere condivise da sezioni diverse e l attribuzione di una sala ad una sezione puo cambiare nel tempo. Alle sale è associata altra informazione (che non verrà condiderata nell esempio) Le sezioni hanno un impiegato responsabile

data 1,n 0,n originale restaurato Centro di Restaurato da restauro nome indirizzo N.inv provenienza data descrizione misure Oggetto 1,1 Sta in Collocazione 1,n AltreI identificatore sala 1,n Etnografico Reperto Opera 1,1 nome data n/m Tipologia data_rit nato a Eseguito da Autore 0,n nome responsabile comprende Sezione 1,n

Eliminazione delle gerarchie Originale/restaurato --> soluzione (1) Reperto/etnografico/opera --> soluzione (1)

tipo Stato restauro data 0,n 0,n Restaurato da Centro di restauro nome indirizzo N.inv provenienza data descrizione misure Oggetto data_rit M.E.Tipologia nome data n/m nato a 1,1 0,1 Sta in Eseguito da Autore Collocazione 0,n AltreI 1,n nome responsabile identificatore 1,n sala comprende Sezione 1,n

Entità Oggetto(N_inv, Provenienza, Data, Misure, Tipo, Descrizione, StatoRestauro, ME_Tipologia*, Data_rit*) CentroRestauro(Nome,Indirizzo) Sezione(Nome, Responsabile) Autore(Nome,DataN/M, Luogo) Sala(Identificatore, AltreI)

Relazioni Restaurato_da(Oggetto,Centro,Data) Eseguito_da(Opera, Nome) Sta_in(Oggetto, Sala, Collocazione*) Comprende(NomeSezione,NomeSala)

Eliminazione della relazione (1:n) Sta_in: si aggiungono gli attributi:, Sala,Collocazione* ad Oggetto, che diventa Oggetto(N_inv, Provenienza, Data, Misure, Tipo, Descrizione, StatoRestauro, ME_Tipologia*, Data_rit*, Sala, Collocazione*)

Schema finale DB CentroRestauro(Nome,Indirizzo) Sezione(Nome, Responsabile) Autore(Nome, DataN/M, Luogo) Sala(Identificatore, AltreI) Oggetto(N_inv, Provenienza, Data, Misure, Tipo, Descrizione, StatoRestauro, ME_Tipologia*, Data_rit*, Sala, Collocazione*) Restaurato_da(Oggetto,Centro,Data) Eseguito_da(Opera, Nome) Comprende(NomeSezione, NomeSala) Vincoli di integrità referenziale: attributi delle stesso colore

Vincoli di Dominio: Domini e vincoli Tipo: {Reperto,Etnografico,Opera} ME_tipologia: {Costumi,Mobili,Suppellettili} Vincoli di tupla: Data_rit=NULL OR Tipo=Reperto ME_tipologia=NULL OR Tipo=Etnografico Altri vincoli: se la chiave di un oggetto compare nella relazione Restaurato StatoRestauro deve essere YES