Basi di Dati. Progettazione Logica

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Basi di Dati. Progettazione Logica"

Transcript

1 Basi di Dati Progettazione Logica

2 Concetti Fondamentali Introduzione Raccolta dei Requisiti Diagramma Concettuale delle Classi Classe Associazione Cardinalità Generalizzazione Linee Guida per la Modellazione 2

3 Sommario Introduzione Il Processo di Progetto della BD Algoritmo di Progettazione Logica raduzione delle Classi raduzione delle Gerarchie raduzione delle Associazioni molti a molti raduzione delle Associazioni 1-1 e 1-molti 3

4 Progettazione Logica >> Introduzione Introduzione Siamo nella fase di progettazione si è conclusa (un iterazione del)la fase di analisi Attività da svolgere definire l architettura dell applicazione definire la struttura e i metodi delle classi definire la struttura della base di dati Fase successiva: sviluppo 4

5 Il Processo di Progetto della BD Punto di partenza il modello concettuale dei dati Progettazione Logica dallo schema concettuale viene derivato uno schema logico standard e i necessari schemi esterni Progettazione Fisica lo schema logico viene sottoposto a verifica e viene ottimizzato 5

6 Il Processo di Progetto della BD Progettazione logica viene condotta sulla base di un semplice algoritmo sistematico Progettazione fisica attività mista: progettazione e tuning difficilmente sistematizzabile In questa lezione ci concentriamo sulla progettazione logica 6

7 Algoritmo di Progettazione Logica I passo: trad. iniziale delle classi non coinvolte in gerarchie II passo: trad. iniziale delle gerarchie III passo: trad. degli attributi multivalore IV passo: trad. delle assoc. molti a molti V passo: trad. delle assoc. uno a molti VI passo: trad. delle assoc. uno a uno VII passo: introduzione di eventuali ulteriori vincoli VIII passo: progettazione degli schemi esterni 7

8 0..* titolarità Corso <<id>> codice titolo ciclo 1 < relativo a relatore solo se al 3 anno 1 0..* Esame voto lode data ha sostenuto > 0..* Docente Studente irocinio 0..* cognome nome qualifica numelefono [0..*] relatore > * <<id>> matricola cognome nome anno 1 sede datainizio durata ha svolto > 0..1 DocenteInterno Supplente Studente Studente facolta Laurea Laurea Schema Concettuale riennale Specialistica tutor > 0..*

9 Notazione Grafica per le abelle Stereotipo di UML tabella e attributi chiave primaria chiave esterna Studente matricola INEGER cognome CHAR(20) nome CHAR(20) anno INEGER Esempio: ciclo CHAR(20) relatore CHAR(4) FK CREAE ABLE Studente ( Docente matricola integer PRIMARY KEY, cognome char(20), codice CHAR(4) nome char(20), anno integer, ciclo char(20), relatore char(4) REFERENCES Docente(codice)); 9

10 I Passo: raduzione delle Classi Idea ogni classe diventa una tabella inizialmente gli stessi attributi monovalore successivamente possono essere aggiunti altri attributi E necessario individuare il tipo degli attributi individuare la chiave primaria individuare eventuali chiavi esterne 10

11 I Passo: raduzione delle Classi Chiave primaria deve essere semplice da usare e compatta identificatore interno esplicito (es: matricola per Studente, codice per Corso) un identificatore esterno può diventare una chiave primaria esterna (es: matricola dello studente per irocinio) purchè sia compatto altrimenti si aggiunge un identificatore sintetico 11

12 I Passo: raduzione delle Classi Corso <<id>> codice Corso codice CHAR(3) identificatore esplicito titolo titolo CHAR(20) ciclo ciclo CHAR(20) Esame voto lode Esame codice CHAR(5) voto INEGER identificatore sintetico data lode BOOL data DAE irocinio luogo irocinio matricola INEGER, FK identificatore esterno datainizio sede CHAR(20) durata datainizio DAE durata INEGER 12

13 Progettazione Logica >> Algoritmo di raduzione I Passo: raduzione delle Classi Corso <<id>> codice titolo ciclo Corso codice CHAR(3) titolo CHAR(20) ciclo CHAR(20) {ADS Algoritmi e Strutt. Dati laurea tr.} {PR1, Programm. I laurea tr.} {INF, Inf. eorica laurea sp.} codice titolo ciclo PR1 Programmazione I laurea tr. ASD Algoritmi e Str. Dati laurea tr. INF Informatica eorica laurea sp. 13

14 Progettazione Logica >> Algoritmo di raduzione I Passo: raduzione delle Classi irocinio luogo datainizio durata irocinio matricola INEGER sede CHAR(20) datainizio DAE durata INEGER, FK {SOGEI 1/7/2002, 4 mesi} {Microsoft, 25/06/2002, 3 mesi} {Microsoft, 25/06/2002, 3 mesi} studente sede datainizio durata 444 Microsoft Microsoft Basica

15 II Passo: raduzione delle Gerarchie E l unico passo di una certa complessità non esiste la generalizzazione nel modello relazionale re possibili strade tradurre solo il padre della gerarchia tradurre solo i figli della gerarchia tradurre il padre e i figli collegandoli con chiavi esterne 15

16 II Passo: raduzione delle Gerarchie I Soluzione: Solo il padre un unica tabella con il nome del padre la tabella deve avere tutti gli attributi di padre e figli serve un ulteriore attributo (es: tipo) per distinguere le istanze dei figli conveniente se le operazioni sui figli non sono particolarmente rilevanti nell appl. genera valori nulli 16

17 II Passo: raduzione delle Gerarchie I Soluzione: Solo il padre Docente Docente cognome nome qualifica per ora l attributo multivalore viene trascurato codice CHAR(4) cognome CHAR(20) nome CHAR(20) numelefono [0..*] facolta CHAR(10) qualifica CHAR(15) tipo CHAR(10) DocenteInterno facolta Supplente tipo può valere: -interno oppure -supplente 17

18 II Passo: raduzione delle Gerarchie II Soluzione: Solo i figli una tabella per ciascun figlio ciascun figlio eredita le associazioni e gli attributi del padre possibile solo se la gerarchia è completa conveniente se l applicazione richiede spesso di accedere singolarmente ai figli costringe ad effettuare molte unioni 18

19 II Passo: raduzione delle Gerarchie II Soluzione: Solo i figli Docente cognome nome qualifica numelefono [0..*] DocenteInterno codice CHAR(4) cognome CHAR(20) nome CHAR(20) facolta CHAR(10) qualifica CHAR(15) DocenteInterno facolta Supplente Supplente codice CHAR(4) cognome CHAR(20) nome CHAR(20) qualifica CHAR(15) 19

20 II Passo: raduzione delle Gerarchie III Soluzione: Sia il padre che i figli una tabella per il padre e una per ciascun figlio (per ogni istanza del figlio: parte degli attributi nella tabella specifica, parte nella tabella generale) riferimento da ciascun figlio al padre conveniente se bisogna spesso accedere tanto al padre che singolarmente ai figli costringe ad effettuare molti join 20

21 II Passo: raduzione delle Gerarchie III Soluzione: Sia il padre che i figli Docente cognome nome qualifica numelefono [0..*] Docente codice CHAR(4) cognome CHAR(20) nome CHAR(20) qualifica CHAR(15) DocenteInterno Supplente codice CHAR(4),FK codice CHAR(4), FK DocenteInterno Supplente facolta CHAR(10) indirizzo CHAR(20) facolta indirizzo 21

22 II Passo: raduzione delle Gerarchie III Soluzione: Sia il padre che i figli Docente codice cognome nome qualifica F otti Francesco ordinario CV Vieri Christian associato ADP Del Piero Alessandro null DocenteInterno Supplente codice facolta codice Indirizzo F Ingegneria ADP Stadio delle Alpi, orino CV Scienze 22

23 II Passo: raduzione delle Gerarchie Nel nostro esempio soluzione n.1 per i docenti un unica tabella Docente soluzione n.1 per gli studenti un unica tabella Studente Studente matricola INEGER cognome CHAR(20) nome CHAR(20) anno INEGER ciclo CHAR(15) 23

24 III Passo: rad. degli Attributi Multiv. Ogni attributo multivalore genera una nuova tabella chiave esterna per fare riferimento alla tabella che traduce la classe originale Docente Docente codice CHAR(4) Numeri cognome cognome CHAR(20) numero CHAR(15) nome nome CHAR(20) docente CHAR(4) FK qualifica facolta CHAR(10) numelefono [0..*] qualifica CHAR(15) tipo CHAR(10) 24

25 IV Passo: rad. delle Associazioni m-m Ogni associazione molti a molti genera una tabella riferimenti (chiavi esterne) alle tabelle che traducono le classi coinvolte eventuali attributi dell associazione la chiave della tabella deve includere le chiavi esterne 25

26 IV Passo: rad. delle Associazioni m-m Corso Corso codice CHAR(3) 1..* <<id>> codice titolo titolo CHAR(20) ciclo CHAR(20) ciclo titolarità Docente itolarità corso CHAR(3) docente CHAR(4), FK, FK cognome primoannoit INEGER nome 0..* primoannoit qualifica numelefono [0..*] Docente codice CHAR(4) cognome CHAR(20) nome CHAR(20) attributo dell associazione (nel seguito omesso) 26

27 IV Passo: rad. delle Associazioni m-m 1..* titolarità Corso <<id>> codice titolo ciclo codice titolo ciclo PR1 Programmazione I laurea tr. ASD Algoritmi e Str. Dati laurea tr. INF Informatica eorica laurea sp. docente corso primoannoit F PR * Docente cognome nome qualifica numelefono [0..*] CV ASD 2002 F ASD 1999 codice cognome nome F otti Francesco primoannoit CV Vieri Christian ADP Del Piero Alessandro 27

28 V Passo: rad. delle Associazioni 1-m Potrebbero essere tradotte con nuove tabelle sarebbe inefficiente costringerebbe a più join del normale Generano chiavi esterne ciascuna istanza dell associazione è identificata dall oggetto dal lato 1 chiave esterna della tabella dal lato 1 nella tabella corrispondente alla classe dal lato m 28

29 V Passo: rad. delle Associazioni 1-m Corso <<id>> codice titolo 1 < relativo a 0..* Esame voto lode ciclo data Corso Esame codice CHAR(3) codice CHAR(5) titolo CHAR(20) ciclo CHAR(20) voto INEGER lode BOOL data DAE corso CHAR(3) FK 29

30 V Passo: rad. delle Associazioni 1-m Docente cognome nome qualifica numelefono [0..*] relatore > * Studente <<id>> matricola cognome nome anno Docente Studente codice CHAR(4) cognome CHAR(20) matricola INEGER cognome CHAR(20) nome CHAR(20) nome CHAR(20) facolta CHAR(10) anno INEGER qualifica CHAR(15) ciclo CHAR(15) tipo CHAR(10) relatore CHAR(4) FK 30

31 V Passo: rad. delle Associazioni 1-m Docente cognome nome qualifica numelefono [0..*] relatore > * Studente <<id>> matricola cognome nome anno codice cognome nome F otti Francesco CV Vieri Christian ADP Del Piero Alessandro matricola cognome nome relatore 111 Rossi Mario null 222 Neri Paolo null 333 Rossi Maria null 444 Pinco Palla F Bruno Pasquale F Pinco Pietro CV 31

32 V Passo: rad. delle Associazioni 1-m Attenzione: nel caso degli studenti, l associazione del tutorato produrrebbe un vincolo di riferimento ricorsivo (scomodo) Studente Laurea riennale Studente Laurea Specialistica 0..* 0..1 tutor > nonostante non sia scorretta, non adotteremo questa soluzione Studente matricola INEGER cognome CHAR(20) nome CHAR(20) anno INEGER relatore CHAR(4) tutor INEGER FK FK 32

33 V Passo: rad. delle Associazioni 1-m Studente Laurea Studente Laurea riennale Specialistica tutor > 0..* 0..1 utorato Studente studente INEGER, FK matricola INEGER tutor INEGER, FK cognome CHAR(20) nome CHAR(20) anno INEGER relatore CHAR(4) FK 33

34 VI Passo: rad. delle Associazioni 1-1 Discorso simile a quelle 1 a molti posso scegliere dove mettere la chiave est. si preferisce un lato in cui la card. min. è 1 Studente Studente irocinio matricola INEGER <<id>> matricola cognome nome ha svolto sede datainizio durata irocinio anno matricola INEGER sede CHAR(20), FK datainizio DAE durata INEGER 34

35 itolarità Corso corso CHAR(3), FK codice CHAR(3) Esame docente CHAR(4), FK titolo CHAR(20) ciclo CHAR(20) codice CHAR(5) voto INEGER irocinio studente INEGER sede CHAR(20) datainizio DAE durata INEGER, FK Docente codice CHAR(4) cognome CHAR(20) nome CHAR(20) facolta CHAR(10) lode BOOL data DAE corso CHAR(3) stud INEGER Numeri FK FK qualifica CHAR(15) numero CHAR(15) Studente tipo CHAR(10) docente CHAR(4) FK matricola INEGER cognome CHAR(20) nome CHAR(20) ciclo CHAR(15) anno INEGER utorato studente INEGER tutor INEGER, FK, FK relatore CHAR(4) FK 35

36 VII Passo: Aggiunta di Vincoli Ulteriori A questo punto sono definite le tabelle gli attributi le chiavi primarie i vincoli di riferimento Per ottenere lo schema conclusivo è possibile aggiungere altri vincoli (NO NULL, DEFAUL, CASCADE, CHECK ecc.) 36

37 VII Passo: Aggiunta di Vincoli Ulteriori In particolare le cardinalità minime danno origine a vincoli NO NULL Esempio: Corso <<id>> codice titolo 1 < relativo a 0..* Esame voto lode ciclo data CREAE ABLE Esame ( codice char(5) PRIMARY KEY, corso char(3) NO NULL REFERENCES Corso(codice),... ); 37

38 Progettazione Logica >> Lo Schema Finale Lo Schema Finale CREAE ABLE Docente ( codice char(4) PRIMARY KEY, cognome varchar(20) NO NULL, nome varchar(20) NO NULL, qualifica char(15), facolta char(10), tipo char(10) NO NULL ); CREAE ABLE Studente ( matricola integer PRIMARY KEY, cognome varchar(20) NO NULL, nome varchar(20) NO NULL, ciclo char(20), anno integer, relatore char(4) REFERENCES Docente(codice), CHECK(relatore is NULL or anno=3 or ciclo= Laurea sp. ) ); 38

39 CREAE ABLE Corso ( codice char(3) PRIMARY KEY, titolo varchar(20) NO NULL, ciclo char(20) ); CREAE ABLE Esame ( codice char(5) PRIMARY KEY, studente integer NO NULL REFERENCES Studente(matricola) ON DELEE cascade ON UPDAE cascade, corso char(3) NO NULL REFERENCES Corsi(codice), voto integer, lode bool, data date, CHECK (voto>=18 and voto<=30), CHECK (not lode or voto=30), UNIQUE (studente, corso) ); CREAE ABLE utorato ( studente integer REFERENCES Studente(matricola), tutor integer REFERENCES Studente(matricola), PRIMARY KEY (studente, tutor) ); 39

40 CREAE ABLE Numeri ( numero char(9) PRIMARY KEY, docente char(4) REFERENCES Docente(codice) ); CREAE ABLE irocinio ( studente integer PRIMARY KEY REFERENCES Studente(matricola), sede char(20) NO NULL, datainizio date, durata integer ); CREAE ABLE itolarita ( docente char(4) REFERENCES Docente(codice), corso char(3) REFERENCES Corso(codice), PRIMARY KEY (docente, corso) ); 40

41 Progettazione Logica >> Lo Schema Finale Una Possibile Istanza Docente codice cognome nome qualifica facolta tipo F otti Francesco ordinario Ingegneria interno CV Vieri Christian associato Scienze interno ADP Del Piero Alessandro null null supplente Studente matricola cognome nome ciclo anno relatore 111 Rossi Mario laurea tr. 1 null 222 Neri Paolo laurea tr. 2 null 333 Rossi Maria laurea tr. 1 null 444 Pinco Palla laurea tr. 3 F Bruno Pasquale laurea sp. 1 F Pinco Pietro laurea sp. 1 CV 41

42 Corso Esame codice titolo ciclo PR1 Programmazione I laurea tr. ASD Algoritmi e Str. Dati laurea tr. INF Informatica eorica laurea sp. utorato studente tutor codice studente corso voto lode data pr PR1 27 false asd ASD 30 true inft1 111 INF 24 false pr PR1 21 false asd ASD 20 false asd ASD 28 false pr PR1 30 false inft INF 30 true

43 irocinio studente sede datainizio durata 444 Microsoft Microsoft SOGEI Numeri numero docente docente corso itolarita F F PR F VC ADP ADP CV ADP ADP F ASD INF PR1 ASD 43

44 Progettazione Logica >> Algoritmo di raduzione VIII Passo: Schemi Esterni Dallo schema logico è necessario derivare gli schemi esterni eventuali viste autorizzazioni agli utenti su tabelle e viste Esempio: due categorie di utenti segreteria: accesso a tutti i dati docenti: accesso a dati ristretti sugli esami (es: una vista EsameSenzaVoto ) 44

45 Progettazione Logica >> Sommario Sommario Introduzione Il Processo di Progetto della BD Algoritmo di Progettazione Logica raduzione delle Classi raduzione delle Gerarchie raduzione delle Associazioni molti a molti raduzione delle Associazioni 1-1 e 1-molti 45

46 Progettazione Logica >> Modello Concettuale 0..* titolarità Corso <<id>> codice titolo ciclo 1 < relativo a relatore solo se al 3 anno 1 0..* Esame voto lode data ha sostenuto > 0..* Docente Studente irocinio 0..* cognome nome qualifica numelefono [0..*] relatore > * <<id>> matricola cognome nome annodicorso 1 sede datainizio durata ha svolto > 0..1 DocenteInterno Supplente Studente Studente facolta Laurea Laurea Schema Concettuale riennale Specialistica tutor > 0..*

BASE DI DATI. Esercizi Progettazione concettuale Progettazione logica. Informatica Umanistica Università di Pisa

BASE DI DATI. Esercizi Progettazione concettuale Progettazione logica. Informatica Umanistica Università di Pisa BASE DI DAI Esercizi Progettazione concettuale Progettazione logica Informatica Umanistica Università di Pisa Esercizio: Parcheggi Si consideri la seguente realtà riguardante una società di gestione dei

Dettagli

4/16/07. Le Basi di Dati Relazionali. Concetti Fondamentali. Base di dati, tabella, ennupla, attributo, dominio. Valori nulli

4/16/07. Le Basi di Dati Relazionali. Concetti Fondamentali. Base di dati, tabella, ennupla, attributo, dominio. Valori nulli Base di dati, tabella, ennupla, attributo, dominio Le Basi di Dati Relazionali Concetti Fondamentali Valori nulli Vincoli di chiave, di ennupla, di riferimento 2 Modello logico dei DBMS (Data Base Management

Dettagli

BASE DI DATI. Esercizio: FACEBOOK Progettazione concettuale Progettazione logica. Informatica Umanistica Università di Pisa

BASE DI DATI. Esercizio: FACEBOOK Progettazione concettuale Progettazione logica. Informatica Umanistica Università di Pisa BASE DI DAI Esercizio: FACEBOOK Progettazione concettuale Progettazione logica Informatica Umanistica Università di Pisa Esercizio: Facebook Si considerino i seguenti fatti riguardanti una base di dati

Dettagli

BASE DI DATI. Esercizio: Agenzia pubblicitaria Progettazione concettuale Progettazione logica. Informatica Umanistica Università di Pisa

BASE DI DATI. Esercizio: Agenzia pubblicitaria Progettazione concettuale Progettazione logica. Informatica Umanistica Università di Pisa BASE DI DAI Esercizio: Agenzia pubblicitaria Progettazione concettuale Progettazione logica Informatica Umanistica Università di Pisa Esercizio: agenzia pubblicitaria Si considerino i seguenti fatti riguardanti

Dettagli

BASE DI DATI. Esercizio: Campionato corse Progettazione concettuale Progettazione logica. Informatica Umanistica Università di Pisa

BASE DI DATI. Esercizio: Campionato corse Progettazione concettuale Progettazione logica. Informatica Umanistica Università di Pisa BASE DI DAI Esercizio: Campionato corse Progettazione concettuale Progettazione logica Informatica Umanistica Università di Pisa Esercizio: campionato corse Si vuole costruire una base di dati che contenga

Dettagli

2 - Metodologie e modelli per la progettazione di BD. Informatica II Basi di Dati (08/09) Parte 1. Introduzione alla progettazione

2 - Metodologie e modelli per la progettazione di BD. Informatica II Basi di Dati (08/09) Parte 1. Introduzione alla progettazione Informatica II Basi di Dati (08/09) Parte 1 Gianluca Torta Dipartimento di Informatica dell Università di Torino [email protected], 0116706782 2 - Metodologie e modelli per la progettazione di BD Introduzione

Dettagli

Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2

Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2 Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.2 Data Description Language - 2 Vincoli di integrita 2 Cosa e un vincolo di integrita E una proprieta sempre valida

Dettagli

Progettazione concettuale usando il modello Entità-Relazione (ER)

Progettazione concettuale usando il modello Entità-Relazione (ER) Progettazione concettuale usando il modello Entità-Relazione (ER) 1 Introduzione alla progettazione delle basi di dati Progettazione concettuale (in questa fase si usa il modello ER) Quali sono le entità

Dettagli

SCHEMA E/R DI UNA UNIVERSITA'

SCHEMA E/R DI UNA UNIVERSITA' UNIVERSITÀ: SCHEMA E/R & PROGETTO LOGICO Lo schema descrive i professori, gli studenti e i corsi di una università. I professori afferiscono ad un dipartimento e tengono dei corsi; gli studenti hanno nel

Dettagli

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, SQL Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 : SQL SQL originariamente "Structured Query Language", ora "nome proprio" linguaggio con varie funzionalità: contiene sia il DDL sia

Dettagli

Traduzione ER - relazionale

Traduzione ER - relazionale Traduzione ER - relazionale 1 Introduzione Algoritmo applicato ad uno schema ER ristrutturato:!! I. Traduzione delle entità (non deboli)! II. Traduzione delle associazioni 2 I.Traduzione delle entità (1)

Dettagli

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Progettazione logica. Dati di ingresso e uscita

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Progettazione logica. Dati di ingresso e uscita Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 8: Progettazione logica 17/10/2002 Progettazione concettuale Requisiti della base di dati Schema concettuale Progettazione

Dettagli

ESAME di INFORMATICA e ARCHIVIAZIONE

ESAME di INFORMATICA e ARCHIVIAZIONE UNIVERSITÀ DEGLI STUDI DI UDINE Facoltà di Medicina e Chirurgia CORSO DI LAUREA IN TECNICHE DI RADIOLOGIA MEDICA PER IMMAGINI E RADIOTERAPIA ESAME di INFORMATICA e ARCHIVIAZIONE 8 settembre 2011 1 Progettazione

Dettagli

Dichiarazione degli schemi in SQL DDL 1

Dichiarazione degli schemi in SQL DDL 1 Dichiarazione degli schemi in SQL DDL 1 Storia di SQL Definito nell'ambito del progetto SYSTEM R (IBM S. JOSE) nel 1976 Nome originario: SEQUEL Adottato progressivamente da tutti i sistemi commerciali

Dettagli

Esercitazione 3. Vincoli di integrità. Approccio Procedurale

Esercitazione 3. Vincoli di integrità. Approccio Procedurale Esercitazione 3 Vincoli di integrità Approccio Procedurale Dalla progettazione concettuale alla realizzazione del database su MySQL Progettazione concettuale Requisiti Progettazione logica Schema concettuale

Dettagli

Corso di Basi di Dati

Corso di Basi di Dati Corso di Basi di Dati Progettazione Logica Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/ Analisi dei requisiti e progettazione in dettaglio Studio/analisi dei requisiti Risultati SCHEMA CONCETTUALE

Dettagli

Concettuale. Giuseppe Amato

Concettuale. Giuseppe Amato Esercitazione Progettazione Concettuale 14 Aprile 2010 Giuseppe Amato Esercitazione Progettazione Concettuale Si considerino i i seguenti fttidi fatti interesse di un agenzia immobiliare. Immobili in vendita:

Dettagli

LE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA LOGICO Regole di derivazione Tabelle riassuntive

LE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA LOGICO Regole di derivazione Tabelle riassuntive LE BASI DI DATI Seconda parte La progettazione di database Relazionali SCHEMA LOGICO Regole di derivazione Tabelle riassuntive ELENCO DEI TERMINI USATI NEI DIVERSI LIVELLI DI ASTRAZIONE Livello concettuale

Dettagli

Laboratorio di Basi di Dati

Laboratorio di Basi di Dati Laboratorio di Basi di Dati Esercizi di progettazione concettuale e logica Anno accademico 2016-2017 Paolo Perlasca Parte di questi lucidi è tratta da una versione precedente di Marco Mesiti, Stefano Valtolina,

Dettagli

Basi di Dati Corso di Laura in Informatica Umanistica

Basi di Dati Corso di Laura in Informatica Umanistica Basi di Dati Corso di Laura in Informatica Umanistica Appello del 26/07/2010 Parte 1: Algebra Relazionale e linguaggio SQL Docente: Giuseppe Amato Sia dato il seguente schema di base di dati per la gestione

Dettagli

Lezione 4. Dallo schema ER al relazionale

Lezione 4. Dallo schema ER al relazionale Lezione 4 Dallo schema ER al relazionale Pag.1 Insieme di entità ER e tabelle relazionali CREATE TABLE ( CHAR(15), CHAR(20), INTEGER, PRIMARY KEY ()) Pag.2 Traduzione di relazioni ER (segue) dal r rid

Dettagli

PROGETTAZIONE LOGICA. Prof. Ing. Alfredo GARRO 1/6. Artista. Cantante. DataDiNascita. Codice. Nazionalità

PROGETTAZIONE LOGICA. Prof. Ing. Alfredo GARRO 1/6. Artista. Cantante. DataDiNascita. Codice. Nazionalità PROGETTAZIONE LOGICA L obiettivo della fase di progettazione Logica è progettare lo Schema Logico della Base di Dati partendo da quanto prodotto nella fase di progettazione Concettuale. Si ricorda che,

Dettagli

Progettazione logica relazionale (1/2) Progettazione logica. Progettazione logica relazionale (2/2) Introduzione. Progettazione logica

Progettazione logica relazionale (1/2) Progettazione logica. Progettazione logica relazionale (2/2) Introduzione. Progettazione logica Progettazione logica Progettazione logica relazionale (1/2) Introduzione Ristrutturazione dello schema ER Eliminazione delle gerarchie Partizionamento di concetti Eliminazione degli attributi multivalore

Dettagli