Progettazione di Database

Slides:



Advertisements
Presentazioni simili
La progettazione concettuale
Advertisements

IL MODELLO ENTITÀ-RELAZIONE Gli altri costruttori
LA PROGETTAZIONE LOGICA Seconda parte
Progettazione concettuale
Progettazione concettuale
Le base di dati database.
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.
4 – Progettazione – Introduzione e Modello E-R
Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.
Relazioni Relazione: Associazione o legame logico esistente tra due o più entità Socio Prenota Campo.
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
PROGETTO LOGICO. Progetto logico Lo schema E/R descrive un dominio applicativo ad un dato livello di astrazione Lo schema E/R è molto utile per: –fornire.
ENTITÀ - RELAZIONE MODELLO ENTITÀ E ATTRIBUTI DOMINI RELAZIONI
Corso di Informatica (Basi di Dati)
LA PROGETTAZIONE LOGICA
Basi di dati 2002 EER Vogliamo aumentare lespressività degli Entity Model EER: Entity Model Esteso.
Progettare una base di dati che permetta di gestire il problema descritto nel seguito, nei seguenti punti: 1. Definire uno schema Entità/Relazione che.
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
Il Modello Relazionale
Implementare un modello di dati
Esercitazione di Basi di Dati
Progettazione di un Data Base Magistrale Marketing Matricola:
ESERCIZIO N.1 ANALISI DEI REQUISITI Si vuole progettare un Data Base per una biblioteca personale che presti libri. La progettazione tiene conto di quanto.
PROGETTAZIONE DI UN DATABASE
Progettazione di un Data Base
COMPITO 2 CELESTE BONANNO MATR CDL: SDFA.
1.Progettare il seguente DataBase in relazione ai due esempi presenti in piattaforma, Modulo 4, esempi 1 e 2: Considerare le informazioni per la gestione.
Secondo compito: Progettazione di un Data Base Francesco Musmanno –
Progettazione di un DataBase. Dominio applicativo: biblioteca personale; Fine ultimo:ricavare le informazioni relative ai prestiti di libri effettuati.
Progettazione di un Data Base Daraio Andrea. Si vuole progettare un database per la gestione di una biblioteca personale, dove il proprietario: Presta.
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.
Progettare un database
Basi di Dati e Sistemi Informativi
DATABASE Introduzione
DB- Sistemi Informativi
La modellazione degli oggetti
Progettazione di una base di dati Progettazione logica (modello relazionale)
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
Secondo Compito:Progettazione di un database Pinto Vincenzo.
Progettazione di basi di dati Giorgio Ghelli Perché progettare Le basi di dati nascono normalmente senza progettazione, buttando tutti i dati in una.
Il modello relazionale. Modello logico dei dati basato su concetti relazione e tabella Relazione: da teoria degli insiemi Tabella: rappresentazione grafica.
PROGETTAZIONE DI UN DATA BASE PERAGINE MARIANTONELLA MATRICOLA
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.
Progettazione di una base di dati relazionale Terza forma normale.
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.
Progettazione database a cura di Roberta Mancini – matr CdLM in Marketing.
Eprogram informatica V anno.
Analisi dei requisiti Si vuole creare un database che riesca a gestire i prestiti dei libri all’ interno di una biblioteca personale. Per poter eseguire.
Eprogram informatica V anno.
Cloud informatica V anno.
PROGETTAZIONE DI UN DATABASE SARA A. L. DI GAETANO.
NORMALIZZAZIONE ESERCIZI. INTRODUZIONE La modellazione E-R ci ha consentito di descrivere schemi relazionali Lo strumento base per la modellizzazione.
ICT e Sistemi informativi Aziendali Materiale di supporto alla didattica.
DB- Sistemi Informativi Insieme di programmi in grado di acquisire, elaborare, trasmettere ed archiviare informazioni in genere ad uso di un’organizzazione.
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.
Basi di Dati e Sistemi Informativi Esempi & Esercizi Il Modello Relazionale Home page del corso:
1 “ Le Basi di Dati ”. 2 Parte 5: Tabelle –Creazione di una tabella –Indici e chiavi primarie –Relazioni e integrità referenziale Basi di Dati Struttura.
Il modello relazionale. Modello Relazionale 2 Dal modello concettuale a quello logico Una volta stabilita la rappresentazione concettuale della realtà.
BASI DATI: modello relazionale BIOINGEGNERIA ELETTRONICA ED INFORMATICA Lezione IIIb - AA 2014/20151.
Progettazione di Database l Progettazione Concettuale: strutturazione della “realtà” che si vuole rappresentare secondo uno schema concettuale l Dallo.
Transcript della presentazione:

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 (divise 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à Classi di oggetti omogenei Classi di fatti omogenei che correlano entità Relazioni (Associazioni) attributi Proprietà di entità o associazioni

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

studente corso esame Nome Cognome Matricola codice Docente titolo Voto Data

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) 0,n 1,1 persona Nato a luogo minimo massimo 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 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 biblioteca dirige

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

Relazioni a più argomenti Data destinatario mittente merce Spedizione

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 LIBRO autori titolo scaffale Collocaz. ripiano Casa_ed. N.invent Collocaz. LIBRO ripiano Anno_ed. titolo autori Casa_ed.

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

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

Entità LIBRO N.invent Anno_ed. titolo autori Casa_ed. Collocaz. ripiano scaffale 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 LIBRO N.invent Anno_ed. titolo autori Casa_ed. Collocaz. ripiano scaffale Esempio: Autori autore scritturra LIBRO (n:m) N.invent gli altri attr nome LIBRO (N_Inv,Titolo, casa_ed, anno_ed, collocazione) SCRITTURA (Nome, N_Inv) 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) pubblicazioni libri riviste collocaz prezzo periodicità autore Casa edit. Titolo. N_Invent 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) pubblicazioni libri riviste libri riviste N_Invent collocaz prezzo periodicità autore Casa edit. Titolo. N_Invent libri collocaz prezzo autore Casa edit. Titolo. N_Invent riviste periodicità

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 sotto-entità.

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 VENDITORE telefono sconto VENDITA (n:m) data codice_prodotto PRODOTTO nome_prodotto VENDITORE (NOME, TELEFONO) PRODOTTO (CODICE_PRODOTTO, NOME_PEZZO) VENDITA (CODICE_PRODOTTO, NOME_VENDITORE, SCONTO,DATA)

Esempio: Relazione 1:1 (1:1) UOMO(NOME, INRIDIZZO) DONNA SPOSATI NOME INDIRIZZO (1:1) DATA LUOGO UOMO(NOME, INRIDIZZO) DONNA(NOME,INDIRIZZO) SPOSATI(NOMEUOMO,NOMEDONNA,DATA,LUOGO) oppure

Si può eliminare la relazione SPOSATI UOMO(NOME, INRIDIZZO, CONIUGE, DATA_NOZZE, LUOGO_NOZZE) oppure DONNA(NOME, INRIDIZZO, CONIUGE, DATA_NOZZE, LUOGO_NOZZE) 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 REPERTO CODICE PROVENIENZA DATA_RITROV. 1 APPARTIENE_ (1:n) SEZIONE n NOME MUSEO 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

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

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

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

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

Domini e vincoli Vincoli di Dominio: 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