La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Progettazione di Database l Progettazione Concettuale: strutturazione della “realtà” che si vuole rappresentare secondo uno schema concettuale l Dallo.

Presentazioni simili


Presentazione sul tema: "Progettazione di Database l Progettazione Concettuale: strutturazione della “realtà” che si vuole rappresentare secondo uno schema concettuale l Dallo."— Transcript della presentazione:

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

2 DB Prenotazioni ad Alberghi l Il database deve rappresentare le prenotazioni fatte da clienti ad un albergo. l Si vogliono mantenere informazioni sui clienti, sugli alberghi e sulle prenotazioni. l Dei clienti si vogliono mantenere dati identificativi. l 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. l Nel caso degli alberghi si vuole memorizzare la categoria. Nel caso degli agriturismi si vogliono memorizzare i servizi offerti (come gli sport praticabili). l 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.

3 Database di un Museo l Il museo contiene tre tipi di oggetti: reperti archeologici, materiale etnografico e opere d’arte (quadri, sculture) l Conseguentemente, il museo ha tre sezioni: Archeologica, Etnografica, Collezione (di opere) d’arte l 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…) l Se un oggetto ha subito restauri, si vuole mantenere l’informazione riguardo presso quale centro è stato restaurato e quando

4 l Le opere d’arte hanno associata l’informazione sugli autori l Per i reperti archeologici si vuole mantenere l’informazione sulla data del ritrovamento l Gli oggetti della sezione etnografica sono divisi in tre tipologie: costumi, mobili, suppellettili l 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) l Le sezioni hanno un impiegato responsabile

5 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

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

7 studente esame corso Nome Cognome Matricola codice Docente titoloVoto Data

8 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,n1,1 personaNato aluogo 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).

9 Relazioni uno-a-uno 0,1 uomosposatidonna 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) Nota. Il minimo = 0 indica a sinistra che la relazione non è necessariamente totale, ed a destra che non è necessariamente suriettiva.

10 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,m0,n studenteesamecorso

11 Altri esempi Relazione uno-a-uno impiegatobiblioteca dirige 0,11,1

12 libroCasa_editrice edizione 1,1 Relazioni uno a molti 0,n utente prestito libro Relazioni molti a molti 0,m0,n

13 Relazioni a più argomenti mittente Spedizione merce destinatario Data

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

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

16 Esempio LIBRO N.invent Anno_ed. titolo autori Casa_ed. Collocaz. scaffale ripiano

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

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

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

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

21 Eliminazione delle gerarchie l (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 l (2) Le entità figlie accorpano l’entità padre e ne raccolgono gli attributi. l (3) La generalizzazione viene sostituita con associazioni con vincoli referenziali (Le entita’ sono identificate esternamente) l Vediamo solo le prime due

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

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

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

25 Traduzione relazionale Libri (N_Inv, casa_ed, titolo, coll, prezzo,autore) Riviste (N_Inv, casa_ed, titolo, coll, prezzo, periodicità) l 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à.

26 Schema ER -> DB relazionale (2) l Associazione -> Tabella –chiavi delle entità partecipanti (chiavi esterne) –attributi dell’associazione l 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

27 PRODOTTO (CODICE_PRODOTTO, NOME_PEZZO) VENDITORE (NOME, TELEFONO) VENDITA (CODICE_PRODOTTO, NOME_VENDITORE, SCONTO,DATA) Esempio: Associazione molti a molti VENDITORE PRODOTTO VENDITA telefono codice_prodotto (n:m) sconto nome data nome_prodotto

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

29 Si può eliminare la relazione SPOSATI l UOMO(NOME, INRIDIZZO, CONIUGE, DATA_NOZZE, LUOGO_NOZZE) oppure l 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

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

31 Database di un Museo l Il museo contiene tre tipi di oggetti: reperti archeologici, materiale etnografico e opere d’arte (quadri, sculture) l Conseguentemente, il museo ha tre sezioni: Archeologica, Etnografica, Collezione (di opere) d’arte l 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…) l Se un oggetto ha subito restauri, si vuole mantenere l’informazione riguardo presso quale centro è stato restaurato e quando

32 l Le opere d’arte hanno associata l’informazione sugli autori l Per i reperti archeologici si vuole mantenere l’informazione sulla data del ritrovamento l Gli oggetti della sezione etnografica sono divisi in tre tipologie: costumi, mobili, suppellettili l 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) l Le sezioni hanno un impiegato responsabile

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

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

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

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

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

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

39 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

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


Scaricare ppt "Progettazione di Database l Progettazione Concettuale: strutturazione della “realtà” che si vuole rappresentare secondo uno schema concettuale l Dallo."

Presentazioni simili


Annunci Google