Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C

Slides:



Advertisements
Presentazioni simili
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
Advertisements

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
Partizionamento/accorpamento di concetti
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
La progettazione concettuale
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Progettazione di una base di dati relazionale
Rileaborato da M. Lenzerini - Basi di dati
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Le Basi di dati: progettazione concettuale.
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
PROGETTAZIONE DATABASE SECONDO COMPITO CAROLINA CASIELLO
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Esercitazione Modello ER 1
Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitolo 3
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
A. A – 2008 Basi di dati 1 Corso Prof
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Progettazione di una base di dati relazionale
Universita’ di Milano Bicocca Corso di Basi di Dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Un’università vuole raccogliere ed organizzare in un database
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
I vincoli di integrità Alcuni aspetti della realtà NON possono essere modellati solamente con entità, attributi e relazioni, per esempio i vincoli di integrità.
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
FAQ.
Rielaborato da Atzeni et al., Basi di Dati, Mc-Graw Hill
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Progettazione logica: Il modello relazionale
Partizionamento/accorpamento di concetti
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
OGGETTO E TIPO DI OGGETTO
ER Primo esonero Basi DATI 2015
Progettazione di una base di dati
Strategie di progetto Si possono utilizzare le strategie tipiche dello sviluppo di un processo di ingegnerizzazione (es. ingegneria del software). Strategie.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1999
Il questionario: progettazione e redazione II Modulo
Vincoli di Integrità Non tutte le combinazioni possibili di valori dei domini su cui è definita una relazione sono accettabili. Alcuni attributi possono.
Transcript della presentazione:

Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C. Batini 8. Progettazione logica 8.7 Fase 2 - Traduzione Relazioni

Traduzione delle relationship uno a molti Una prima traduzione delle relationship uno a molti e’ quella gia’ vista per le relationship molti a molti. Vediamo nella pagina successiva un esempio. adattato da Atzeni et al., Basi di dati, McGrawHill

Relationship uno a molti Cognome Giocatore Squadra Contratto Data nascita Città Nome Ingaggio (1,1) (0,N) Ruolo Colori sociali Giocatore(Cognome, DataNascita, Ruolo) Contratto(CognGiocatore, DataNascG, Squadra, Ingaggio) Squadra(Nome, Città, ColoriSociali) adattato da Atzeni et al., Basi di dati, McGrawHill

Relationship uno a molti Data nascita Cognome Ingaggio Città Nome (1,1) (0,N) Contratto Giocatore Squadra Ruolo Colori sociali Attenzione!, nella traduzione Giocatore(Cognome, DataNascita, Ruolo) Contratto(CognGiocatore, DataNascG, Squadra, Ingaggio) Squadra(Nome, Città, ColoriSociali) [CognGiocatore, DataNascG, Squadra] e’ superchiave, ma non e’ chiave primaria, perche’ [CognGiocatore, DataNascG], in virtu’ delle cardinalita’ 1,1 determinano univocamente la Squadra adattato da Atzeni et al., Basi di dati, McGrawHill

C’e’ una soluzione più compatta, ma ugualmente corretta Giocatore(Cognome, DataNascita, Ruolo) Contratto(CognGiocatore, DataNascG, Squadra,Ingaggio) Squadra(Nome, Città, ColoriSociali) Giocatore(Cognome, DataNasc, Ruolo, Squadra, Ingaggio) Squadra(Nome, Città, ColoriSociali) adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Considerazione Come emerge dal precedente esempio, per le relationship uno a molti non si applica la regola generale, ma una regola che da’ luogo a una soluzione piu’ compatta con due sole relazioni: 1. in una delle quali e’ rappresentata la entita’ con cardinalita’ (x,1) e la relationship e 2. nell’altra e’ rappresentata la seconda entita’ adattato da Atzeni et al., Basi di dati, McGrawHill

Vincoli definiti sullo schema Esiste un vincolo di integrità referenziale fra Squadra in Giocatore e la chiave di Squadra Inoltre, se la cardinalità minima della relationship è 0 (nel nostro esempio, se Giocatore puo’ non avere appartenere a nessuna Squadra), allora Squadra in Giocatore deve ammettere valore nullo Giocatore(Cognome, DataNasc, Ruolo, Squadra,Ingaggio) Squadra(Nome, Città, ColoriSociali) adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Esercizio 8.7.1 Esprimi la precedente regola in modo piu’ formale, facendo riferimento ad uno schema ER in cui Entita’, Relazioni, Attributi, Identificatori hanno nomi simbolici. Dai poi una dimostrazione informale che la regola e’ corretta, nel senso che da’ luogo a uno schema dal contenuto informativo equivalente a quello di partenza. adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Approfondimento Approfondisci la problematica della traduzione di relationship uno a molti studiando la sezione 9.3.2 del libro di riferimento (in cui, ricordiamo, le relationship sono chiamate associazioni). adattato da Atzeni et al., Basi di dati, McGrawHill

Traduzione di entita’ con identificazione esterna adattato da Atzeni et al., Basi di dati, McGrawHill

Entità con identificazione esterna Esempio Iscrizione Studente Università Cognome Matricola AnnoDiCorso Nome Indirizzo (1,1) (1,N) Città Studente(Matricola, Università, Cognome, AnnoDiCorso) Università(Nome, Città, Indirizzo) con vincolo di integrita’ referenziale tra Universita’ di STUDENTE e Nome di UNIVERSITA’ adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Commento Rappresentando l’identificatore esterno si rappresenta anche la relationship tra le due entita’. Infatti le entita’ identificate esternamente partecipano alla relationship con cardinalita’ minima e massima pari a uno Studente(Matricola, Università, Cognome, AnnoDiCorso) Università(Nome, Città, Indirizzo) adattato da Atzeni et al., Basi di dati, McGrawHill

Consideriamo infine le relationship uno a uno adattato da Atzeni et al., Basi di dati, McGrawHill

Relationship uno a uno: tre casi Caso 1 – Entrambe le entita’ hanno cardinalita’ minima pari ad 1 Caso 2 – Una entita’ ha cardinalita’ minima pari a 0 Caso 3 – Entrambe le entita’ hanno cardinalita’ minima pari a 0 Iscrizione A B (1,1) Iscrizione A B (0,1) (1,1) Iscrizione A B (0,1) adattato da Atzeni et al., Basi di dati, McGrawHill

Caso 1: cardinalita’ minime = 1 (partecipazione obbligatoria) adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Caso 1: Relationship uno a uno, entrambe le entita’ con partecipazione obbligatoria Data inizio Direttore Dipartimento Direzione Cognome Codice Sede Nome (1,1) Stipendio Telefono Due possibilità per la traduzione: Soluzione 1.1. fondere la relationship da una parte o dall'altra con una delle due entita’ Soluzione 1.2 fondere le due entita’ e la relationship in una unica relazione adattato da Atzeni et al., Basi di dati, McGrawHill

Soluzione 1.1 Fondere la relationship con una delle due entita’ Data inizio Cognome Sede Nome Codice (1,1) (1,1) Direzione Direttore Dipartimento Stipendio Telefono Due possibilita’ equivalenti e simmetriche: Soluzione 1.1.1 Impiegato (Codice, Cognome, Stipendio) Dipartimento (Nome, Sede, Telefono, Direttore, InizioD) con vincolo di integrità referenziale tra Direttore e Codice, senza valori nulli adattato da Atzeni et al., Basi di dati, McGrawHill

Soluzione 1.1 Fondere la relationship con una delle due entita’ Direttore Dipartimento Direzione Cognome Codice Sede Nome (1,1) Stipendio Telefono Domanda 8.7.1: Trova la soluzione simmetrica adattato da Atzeni et al., Basi di dati, McGrawHill

Soluzione 1.1 Fondere la relationship con una delle due entita’ Direttore Dipartimento Direzione Cognome Codice Sede Nome (1,1) Stipendio Telefono Risposta: Soluzione 1.1.2 Impiegato (Codice, Cognome, Dipartimento_Diretto, Stipendio, InizioD) Dipartimento (Nome, Sede, Telefono) con vincolo di integrità referenziale simmetrico, senza valori Nulli. adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Soluzione 1.2 - Fondere le due entita’ e la relationship in una unica relazione Direttore Dipartimento Direzione Cognome Codice Sede Nome (1,1) Stipendio Telefono E’ una soluzione corretta, ma da escludere perche’ a questo punto della progettazione avremmo gia’ dovuto decidere di fondere le due entita’ in una unica entita’ nel passo 1.3 di accorpamento di entità/ relationship. Se non lo abbiamo fatto, significa che vanno tenute separate adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Caso 2: una delle due entita’ con cardinalita’ minima = 0 (partecipazione opzionale) adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Caso 2: Relationship uno a uno, una delle due entita’ ha cardinalita’ min = 0 Direttore Dipartimento Direzione Cognome Codice Sede Nome Data inizio (0,1) (1,1) Stipendio Telefono Impiegato-Direttore (Codice, Cognome, Stipendio) Dipartimento (Nome, Sede, Telefono, Direttore, InizioD) con vincolo di integrità referenziale, senza valori nulli Preferibile rispetto alla simmetrica perche’ questa seconda presenta valori nulli per Dipartimento adattato da Atzeni et al., Basi di dati, McGrawHill

Caso 3: relationship uno a uno, entrambe le entita’ hanno card min = 0 In questo caso c’e’ un ’altra possibilita’ rispetto alla precedente, che usa tre relazioni, per le due entita’ e per la relationship. Vantaggio: non ci sono valori nulli sugli attributi della relazione R che rappresenta la relationship. Svantaggio: tre relazioni, quindi maggior numero di relazioni, alcune interrogazioni piu’ complesse Da preferire quando ci sono poche istanze nella relazione R adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Approfondimento Leggere il paragrafo 9.3.7 del libro di riferimento, dedicato alla documentazione di schemi logici, in cui viene introdotto un semplice formalismo grafico per gli schemi relazionali adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Approfondimento Leggere la sezione 9.6 del libro di riferimento, dedicato alla progettazione fisica, in cui vengono discusse alcune problematiche legate alla scelta delle strutture fisiche di accesso. Il tema e’ sviluppato maggiormente nei corsi di basi di dati successivi a questo. adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Esercizio 8.7.2 Svolgi l’esercizio 9.5 del testo di riferimento adattato da Atzeni et al., Basi di dati, McGrawHill

adattato da Atzeni et al., Basi di dati, McGrawHill Concetti introdotti Traduzione di relationship uno a molti Traduzione di relationship uno a uno adattato da Atzeni et al., Basi di dati, McGrawHill