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

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)
IL MODELLO ENTITÀ-RELAZIONE Gli altri costruttori
LA PROGETTAZIONE LOGICA Seconda parte
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.
Archivio Cé necessità di immagazzinare in modo permanente grandi quantità di dati. Esempio: anagrafe dei cittadini di un comune.
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)
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.
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
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
Secondo Compito Considerare le informazioni per la gestione dei prestiti di una biblioteca personale. Il proprietario presta libri ai suoi amici, che indica.
Progettazione di un Data Base
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 Data Base Daraio Andrea. Si vuole progettare un database per la gestione di una biblioteca personale, dove il proprietario: Presta.
STUDENTE: Arianna Carucci matricola
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
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.
Progettazione di basi di dati Giorgio Ghelli Perché progettare Le basi di dati nascono normalmente senza progettazione, buttando tutti i dati in una.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
Progettazione di Database
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.
Sistemi di Elaborazione delle Informazioni
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.
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.
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.
1. CASO BIBLIOTECA ANALISI DEI REQUISITI Si vuole automatizzare la gestione prestiti dei libri di una biblioteca personale. La progettazione deve tener.
Normalizzazione. Introduzione Nell’organizzazione tradizionale degli archivi, si verificano alcuni problemi, quali: Ridondanza dei dati (gli stessi dati.
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.
Basi di dati - 09Marco Maggini1 Forme normali forme normali  Le forme normali verificano la qualità di uno schema di una base di dati relazionale  Presenza.
Transcript della presentazione:

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

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 istanze di entità Proprietà di entità o relazioni

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

studente esame corso Nome Cognome Matricola codice Docente titoliVoto 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,n1,1 personaNato aluogo minimo massimo Il minimo = 1 indica a sinistra che la relazione è totale, a destra che è suriettiva (per ogni valore della seconda entità ne esiste uno della prima).

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.

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,n0,m studenteesamecorso

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

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

Relazioni a più argomenti mittente Spedizione merce destinatario data

Attributi delle entità Qualificazione degli attributi (proprietà delle entità): l Tipo (dei valori) degli attributi l attributi semplici vs composti l cardinalità (mono/multi-valore) l attributo identificatore (chiave) l attributi ereditati l vincoli su attributi (unique, range)...

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

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

Identificatore esterno l Una entità può anche essere identificata tramite l’identificatore di una entità esterna. Ciò è possibile però solo se la relazione che lega le due entità è una relazione uno-uno o uno-molti Corso di Laurea Nome Nome_Università Studente (n:1) matricolamedia iscrizione

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

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

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

Attributo multivalore l LIBRO (N_Inv,Titolo, casa_ed, anno_ed, collocazione) l AUTORI (Nome, N_Inv) LIBRO N.invent Anno_ed. titolo autori Casa_ed. Collocaz. ripiano scaffale autore scritturra libro (n:m) Nome N_Inv Esempio: Autori

Identificatore esterno l STUDENTE (Matricola, Nome_Corso, Media) l CORSO_DI_LAUREA (Nome_Corso, Nome_Università) Corso di Laurea Nome Nome_Università Studente (n:1) matricolamedia iscrizione

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)

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

Traduzione Relazionale l Pubblicazioni (N_Inv, casa_ed, titolo, coll, prezzo, autori*, periodicità*,tipo_pub) l L’asterisco è una notazione: serve per evidenziare che l’attributo può assumere valori NULL (nel caso in cui non sia applicabile).

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

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

Gerarchie (3) pubblicazioni libri riviste collocaz prezzo periodicità autori Casa edit. Titolo. riviste periodicità libri autori pubblicazioni collocaz prezzo Casa edit. Titolo.

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

VENDITORE PEZZO VENDITA (n:m) NOME TELEFONO CODICE_PEZZO SCONTO DATA PEZZO (CODICE_PEZZO, NOME_PEZZO) VENDITORE (NOME, TELEFONO) VENDITA (CODICE_PEZZO, NOME_VENDITORE, SCONTO,DATA) Esempio: Associazione molti a molti NOME_PEZZO

CLIENTE INDIRIZZO_SPED spedizione NUM_CLIENTE NOME_CLIENTE NUM_CLIENTE INDIRIZZO_SPED SPEDIZ_CLIENTE (NUM_CLIENTE, NOME_CLIENTE, INDIRIZZO_SPED) (1:1) Esempio

CLIENTE CARTA_CREDITO POSSIEDE NUM_CLIENTE NOME_CLIENTE TIPO_CARTA NUM_CARTA CLIENTE (NUM_CLIENTE,NOME_CLIENTE) LIMITE_ CREDITO POSSIEDE_CARTA (TIPO_CARTA,NUM_CARTA,NUM_CLIENTE) CARTA_CREDITO (TIPO_CARTA, NUM_CARTA, LIMITE_CREDITO) Relazioni separate: un’entità (cliente) ha partecipazione parziale alla relazione (1:1) Esempio

CITTA` STATO APPARTIENE_ (1:n) NOME_CITTA` POPOLAZIONE NOME_STATO POPOLAZIONE GOVERNATORE STATO (NOME STATO, GOVERNATORE, POPOLAZIONE) CITTA` (NOME CITTA`, POPOLAZIONE, NOME STATO ) Esempio: relazione 1 a molti 1 n

PRODOTTO FORNITORE FORNISCE CODICE_PRODOTTO NOME CODICE_FORNITORE QUANTITA` NOME DESCRIZIONE INDIRIZZO TELEFONO COMPONENTE COD_COMP DESCRIZIONE COMPONENTE (COD_COMP, DESCRIZIONE) PRODOTTO (CODICE_PRODOTTO, NOME, DESCRIZIONE) FORNITORE (CODICE_FORNITORE, NOME, INDIRIZZO, TELEFONO) FORNISCE (CODICE_PRODOTTO, CODICE_COMPONENTE, CODICE_FORNITORE, QUANTITA`) Esempio: relazione ternaria

IMPIEGATO CAPO_ DI NOME DATA_DI_NASCITA E`_IL_SUPERIORE_DIE`_SUBORDINATO_A Relazione molti a molti: IMPIEGATO(NOME, DATA_DI_NASCITA) CAPO_DI(NOME_CAPO, NOME_SUBORDINATO) Relazione 1 a molti: IMPIEGATO(NOME, DATA_DI_NASCITA) CAPO_DI(NOME_SUBORDINATO, NOME_CAPO) o IMPIEGATO(NOME, DATA_DI_NASCITA, NOME_CAPO) Esempio: relazione ricorsiva 1n

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

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

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

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

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

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)

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

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*)

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 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