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

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "BASE DI DATI. Progettazione logica. Informatica Umanistica Università di Pisa"

Transcript

1 BASE DI DAI Progettazione logica Informatica Umanistica Università di Pisa

2 Concetti Fondamentali (precedente lezione) Introduzione Raccolta dei Requisiti Diagramma Concettuale delle Classi Classe Associazione Cardinalità Generalizzazione Linee Guida per la Modellazione Progettazione logica 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 Progettazione logica 3

4 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 Requisiti della base di dati Progettazione concettuale Schema concettuale Progettazione logica Schema logico Progettazione fisica Schema fisico Progettazione logica 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 viene condotta sulla base di un semplice algoritmo sistematico Progettazione Fisica lo schema logico viene sottoposto a verifica e viene ottimizzato attività mista: progettazione e tuning difficilmente sistematizzabile In questa lezione ci concentriamo sulla progettazione logica Progettazione logica 5

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

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

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

9 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 Progettazione logica 9

10 I Passo: raduzione delle Classi individuare la chiave primaria Chiave primaria deve essere semplice da usare e compatta identificatore interno esplicito (es: matricola per, 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 Progettazione logica 10

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

12 I Passo: raduzione delle Classi Esempio: Classi e chiave primaria 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. Progettazione logica 12

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

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

15 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 applicazioni genera valori nulli Esempio: cognome nome qualifica per ora l attributo multivalore viene trascurato codice CHAR(4) numelefono [0..*] Dipartimento CHAR(10) qualifica CHAR(15) Interno Dipartimento Supplente tipo CHAR(10) tipo può valere: -interno oppure -supplente Progettazione logica 15

16 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 cognome Interno codice CHAR(4) Dipartimento CHAR(10) Esempio: nome qualifica numelefono [0..*] qualifica CHAR(15) Supplente codice CHAR(4) Interno Dipartimento Supplente qualifica CHAR(15) Progettazione logica 16

17 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 Esempio: cognome codice CHAR(4) nome qualifica qualifica CHAR(15) numelefono [0..*] Interno Supplente codice CHAR(4),FK codice CHAR(4), FK Dipartimento CHAR(10) indirizzo CHAR(20) Interno Supplente Dipartimento indirizzo Progettazione logica 17

18 II Passo: raduzione delle Gerarchie (cont. esempio) III Soluzione: Sia il padre che i figli codice CHAR(4) qualifica CHAR(15) codice cognome nome qualifica Interno Supplente F otti Francesco ordinario CV Vieri Christian associato codice CHAR(4) Dipartimento CHAR(10),FK codice CHAR(4) indirizzo CHAR(20), FK ADP Del Piero Alessandro null Interno Supplente codice Dipartimento codice Indirizzo F Ingegneria ADP Stadio delle Alpi, orino CV Informatica Progettazione logica 18

19 II Passo: raduzione delle Gerarchie (cont. esempio) Gerarchia: Docenti soluzione n.1 per i docenti (Solo il padre) un unica tabella cognome nome qualifica numelefono [0..*] per ora l attributo multivalore viene trascurato codice CHAR(4) Dipartimento CHAR(10) qualifica CHAR(15) tipo CHAR(10) Interno Dipartimento Supplente tipo può valere: -interno oppure -supplente Progettazione logica 19

20 II Passo: raduzione delle Gerarchie (cont. esempio) Gerarchia: Studenti soluzione n.1 per gli studenti (Solo il padre) un unica tabella <<id>> matricola cognome Nome anno matricola INEGER anno INEGER Laurea riennale Laurea Specialistica ciclo CHAR(15) Progettazione logica 20

21 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 Esempio: cognome codice CHAR(4) Numeri nome numero CHAR(15) qualifica docente CHAR(4) FK numelefono [0..*] Dipartimento CHAR(10) qualifica CHAR(15) tipo CHAR(10) Progettazione logica 21

22 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 titolarità 1..* 0..* Corso <<id>> codice titolo ciclo cognome nome qualifica Corso codice CHAR(3) titolo CHAR(20) ciclo CHAR(20) itolarità corso CHAR(3) docente CHAR(4) primoannoit INEGER, FK, FK numelefono [0..*] codice CHAR(4) primoannoit Progettazione logica 22

23 IV Passo: rad. delle Associazioni m-m (cont. esempio) 1..* Corso <<id>> codice titolo ciclo Corso codice CHAR(3) titolo CHAR(20) ciclo CHAR(20) codice titolo ciclo PR1 Programmazione I laurea tr. ASD Algoritmi e Str. Dati laurea tr. INF Informatica eorica laurea sp. titolarità 0..* cognome nome qualifica numelefono [0..*] itolarità corso CHAR(3) docente CHAR(4) primoannoit INEGER codice CHAR(4), FK, FK docente corso primoannoit F PR CV ASD 2002 F ASD 1999 codice cognome nome F otti Francesco primoannoit CV Vieri Christian ADP Del Piero Alessandro Progettazione logica 23

24 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 Oggetto Lato < relativo a 0..* Oggetto Lato m Chiave esterna su oggetto Lato 1 Progettazione logica 24

25 V Passo: rad. delle Associazioni 1-m (cont. Esempio) Corso <<id>> codice titolo 1..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 Progettazione logica 25

26 V Passo: rad. delle Associazioni 1-m (cont. Esempio) cognome nome qualifica numelefono [0..*] relatore > * <<id>> matricola cognome Nome Anno ciclo codice CHAR(4) matricola INEGER Dipartimento CHAR(10) anno INEGER qualifica CHAR(15) Ciclo CHAR(20) tipo CHAR(10) relatore CHAR(4) FK Progettazione logica 26

27 V Passo: rad. delle Associazioni 1-m (cont. Esempio) cognome nome qualifica numelefono [0..*] relatore > * <<id>> matricola cognome Nome Anno ciclo codice CHAR(4) Dipartimento CHAR(10) qualifica CHAR(15) tipo CHAR(10) matricola INEGER anno INEGER Ciclo CHAR(20) relatore CHAR(4) FK 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 Progettazione logica 27

28 V Passo: rad. delle Associazioni 1-m (cont. Esempio) Attenzione: nel caso degli studenti, l associazione del tutorato produrrebbe un vincolo di riferimento ricorsivo (scomodo) Il sistema deve tenere traccia delle attività di tutorato svolte dagli studenti della laurea sp. nei confronti degli studenti della laurea triennale <<id>> matricola cognome Nome anno Lurea Laurea riennale Specialistica 0..* 0..1 tutor > matricola INEGER anno INEGER ciclo CHAR(15) matricola INEGER anno INEGER Ciclo CHAR(20) relatore CHAR(4) FK tutor INEGER FK nonostante non sia scorretta, non adotteremo questa soluzione Progettazione logica 28

29 V Passo: rad. delle Associazioni 1-m (cont. Esempio) I sistema deve tenere traccia delle attività di tutorato svolte dagli studenti della laurea sp. nei confronti degli studenti della laurea triennale Laurea Laurea riennale Specialistica 0..* 0..1 tutor > utorato studente INEGER tutor INEGER, FK, FK matricola INEGER anno INEGER Ciclo CHAR(20) relatore CHAR(4) FK Progettazione logica 29

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

31 Corso itolarità codice CHAR(3) corso CHAR(3), FK titolo CHAR(20) Esame docente CHAR(4), FK ciclo CHAR(20) codice CHAR(5) voto INEGER irocinio studente INEGER sede CHAR(20) datainizio DAE, FK codice CHAR(4) lode BOOL data DAE corso CHAR(3) stud INEGER FK FK durata INEGER dipartimento CHAR(10) Numeri qualifica CHAR(15) tipo CHAR(10) numero CHAR(15) docente CHAR(4) FK matricola INEGER utorato anno INEGER Ciclo CHAR(20) studente INEGER tutor INEGER, FK, FK relatore CHAR(4) FK Progettazione logica 31

32 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.) Progettazione logica 32

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

34 Lo Schema Finale Vincolo: Gli studenti della laurea triennale possono chiedere un relatore solo se sono iscritti al terzo anno codice CHAR(4) CREAE ABLE ( codice char(4) PRIMARY KEY, cognome varchar(20) NO NULL, nome varchar(20) NO NULL, qualifica char(15), dipartimento char(10), tipo char(10) NO NULL ); matricola INEGER CREAE ABLE ( matricola integer PRIMARY KEY, anno INEGER cognome char(20), Ciclo CHAR(20) nome char(20), anno integer, relatore CHAR(4) ciclo char(20), relatore char(4) REFERENCES (codice)) CHECK(relatore is NULL or anno=3 or ciclo= Laurea sp. ) ); FK dipartimento CHAR(10) qualifica CHAR(15) tipo CHAR(10) Progettazione logica 34

35 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 (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) ); Corso codice CHAR(3) titolo CHAR(20) ciclo CHAR(20) Esame codice CHAR(5) voto INEGER lode BOOL data DAE Vi deve essere un vincolo sul voto? corso CHAR(3) stud INEGER Vi deve essere un vincolo sulla lode? FK FK Vi deve essere un vincolo su «studente» e «corso»? Progettazione logica 35

36 CREAE ABLE irocinio ( studente integer PRIMARY KEY REFERENCES (matricola), sede char(20) NO NULL, datainizio date, durata integer ); irocinio CREAE ABLE utorato ( studente integer REFERENCES (matricola), tutor integer REFERENCES (matricola), PRIMARY KEY (studente, tutor) ); studente INEGER sede CHAR(20) datainizio DAE durata INEGER matricola INEGER, FK anno INEGER Ciclo CHAR(20) utorato studente INEGER tutor INEGER, FK, FK relatore CHAR(4) FK Progettazione logica 36

37 Corso itolarità codice CHAR(3) corso CHAR(3), FK titolo CHAR(20) docente CHAR(4), FK ciclo CHAR(20) codice CHAR(4) CREAE ABLE Numeri ( numero char(9) PRIMARY KEY, docente char(4) REFERENCES (codice) ); dipartimento CHAR(10) Numeri qualifica CHAR(15) tipo CHAR(10) numero CHAR(15) docente CHAR(4) FK CREAE ABLE itolarita ( docente char(4) REFERENCES (codice), corso char(3) REFERENCES Corso(codice), PRIMARY KEY (docente, corso) ); Progettazione logica 37

38 Una Possibile Istanza codice cognome nome qualifica dipartimento tipo F otti Francesco ordinario Ingegneria interno CV Vieri Christian associato Informatica interno ADP Del Piero Alessandro null null supplente 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 Progettazione logica 38

39 Corso utorato Esame codice titolo ciclo PR1 Programmazione I laurea tr. ASD Algoritmi e Str. Dati laurea tr. INF Informatica eorica laurea sp. 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 Progettazione logica 39

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

41 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 ) Progettazione logica 41

42 Riepilogo Algoritmo di Progettazione Logica raduzione delle Classi raduzione delle Gerarchie traduzione degli attributi multivalore raduzione delle Associazioni molti a molti 1-molti 1-1 introduzione di eventuali ulteriori vincoli progettazione degli schemi esterni Progettazione logica 42

43 Esempio Università: Schema 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..* irocinio 0..* cognome nome qualifica relatore > * <<id>> matricola cognome nome 1 luogo datainizio durata numelefono [0..*] annodicorso ha svolto > 0..1 Interno Supplente facolta Laurea Laurea riennale Specialistica 0..* tutor > 0..1 Progettazione logica 43

44 Esempio Università: Schema logico Corso itolarità codice CHAR(3) corso CHAR(3), FK titolo CHAR(20) Esame docente CHAR(4), FK ciclo CHAR(20) codice CHAR(5) voto INEGER irocinio studente INEGER sede CHAR(20) datainizio DAE, FK codice CHAR(4) lode BOOL data DAE corso CHAR(3) stud INEGER FK FK durata INEGER dipartimento CHAR(10) Numeri qualifica CHAR(15) tipo CHAR(10) numero CHAR(15) docente CHAR(4) FK matricola INEGER utorato anno INEGER studente INEGER, FK Ciclo CHAR(20) tutor INEGER, FK relatore CHAR(4) FK Progettazione logica 44

Basi di Dati. La Progettazione Logica. Sommario. Il Processo di Progetto della BD. Algoritmo di Progettazione Logica

Basi di Dati. La Progettazione Logica. Sommario. Il Processo di Progetto della BD. Algoritmo di Progettazione Logica Basi di Dati La Progettazione Logica Progettazione Logica >> Sommario Sommario Introduzione Il Processo di Progetto della BD Algoritmo di Progettazione Logica raduzione delle Classi raduzione delle Gerarchie

Dettagli

Basi di Dati. Progettazione Logica

Basi di Dati. Progettazione Logica Basi di Dati Progettazione Logica Concetti Fondamentali Introduzione Raccolta dei Requisiti Diagramma Concettuale delle Classi Classe Associazione Cardinalità Generalizzazione Linee Guida per la Modellazione

Dettagli

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

Gestione e Analisi dei Dati. Lezione 2 Vincoli su attributo Selezioni semplici su una tabella

Gestione e Analisi dei Dati. Lezione 2 Vincoli su attributo Selezioni semplici su una tabella Gestione e Analisi dei Dati Lezione 2 Vincoli su attributo Selezioni semplici su una tabella Vincoli sui Dati Regole del dominio di interesse Unicità di codici di corso e matricole Un codice deve corrispondere

Dettagli

Algebra Relazionale. Concetti Fondamentali

Algebra Relazionale. Concetti Fondamentali Algebra Relazionale Concetti Fondamentali Introduzione La Base di Dati di Esempio Algebra Relazionale selezione, proiezione prodotto cartesiano, join unione, intersezione, differenza ridenominazioni Forma

Dettagli

Basi di Dati. Modello Concettuale

Basi di Dati. Modello Concettuale Basi di Dati Modello Concettuale Dettagli e Approfondimenti Mod. Concettuale >> Sommario Dettagli e Approfondimenti Classi e identificatori Generalizzazioni Cardinalità Associazioni Il Modello Entità-Relazione

Dettagli

Basi di Dati. Definizione del Modello Concettuale dei Dati: Concetti Fondamentali

Basi di Dati. Definizione del Modello Concettuale dei Dati: Concetti Fondamentali Basi di Dati Definizione del Modello Concettuale dei Dati: Concetti Fondamentali Concetti Fondamentali Introduzione Raccolta dei Requisiti Diagramma Concettuale delle Classi Classe Associazione Cardinalità

Dettagli

Basi di Dati. Algebra Relazionale. Concetti Fondamentali

Basi di Dati. Algebra Relazionale. Concetti Fondamentali Basi di Dati Algebra Relazionale Concetti Fondamentali Concetti Fondamentali u Introduzione u La Base di Dati di Esempio u Algebra Relazionale selezione, proiezione prodotto cartesiano, join unione, intersezione,

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

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

Algebra Relazionale. Concetti Fondamentali

Algebra Relazionale. Concetti Fondamentali Algebra Relazionale Concetti Fondamentali Introduzione La Base di Dati di Esempio Algebra Relazionale selezione, proiezione prodotto cartesiano, join unione, intersezione, differenza ridenominazioni Forma

Dettagli

Basi di Dati. Sistemi per Basi di Dati Relazionali: Modello Logico. Concetti Fondamentali. Concetti Fondamentali

Basi di Dati. Sistemi per Basi di Dati Relazionali: Modello Logico. Concetti Fondamentali. Concetti Fondamentali Basi di Dati Sistemi per Basi di Dati Relazionali: Modello Logico Concetti Fondamentali Introduzione Concetti Fondamentali Base di dati, tabella, ennupla, attributo, dominio Valori nulli Vincoli di chiave,

Dettagli

Basi di Dati. Algebra Relazionale. Concetti Fondamentali

Basi di Dati. Algebra Relazionale. Concetti Fondamentali Basi di Dati Algebra Relazionale Concetti Fondamentali Concetti Fondamentali Introduzione La Base di Dati di Esempio Algebra Relazionale selezione, proiezione prodotto cartesiano, join unione, intersezione,

Dettagli

BASI di DATI. SQL: concetti fondamentali

BASI di DATI. SQL: concetti fondamentali BASI di DATI SQL: concetti fondamentali 1 SQL-92 >> Sommario Concetti Fondamentali Introduzione Creazione ed eliminazione di bd Creazione ed eliminazione di tabelle Inserimenti di ennuple Interrogazioni

Dettagli

Basi di Dati. Concetti Avanzati

Basi di Dati. Concetti Avanzati Basi di Dati Concetti Avanzati Concetti Avanzati Raggruppamenti Clausole GROUP BY e HAVING Forma Generale della SELECT Nidificazione Uso nel DML e DDL Nidificazione, Viste e Potere Espressivo Esecuzione

Dettagli

Mirco Nanni ISTI CNR, Pisa. CdL in Lettere A.A. 2007/2008

Mirco Nanni ISTI CNR, Pisa. CdL in Lettere A.A. 2007/2008 Informatica per le scienze umane Mirco Nanni ISTI CNR, Pisa CdL in Lettere A.A. 2007/2008 Informazione strutturata Le Basi di Dati Relazionali Concetti Fondamentali Concetti Fondamentali Base di dati,

Dettagli

Basi di Dati. Concetti Fondamentali SQL-92 25/02/2004. Concetti Fondamentali. Introduzione. Interrogazioni. Creazione ed eliminazione di bd

Basi di Dati. Concetti Fondamentali SQL-92 25/02/2004. Concetti Fondamentali. Introduzione. Interrogazioni. Creazione ed eliminazione di bd Basi di Dati SQL-92 Concetti Fondamentali SQL-92 >> Sommario Introduzione Creazione ed eliminazione di bd Creazione ed eliminazione di tabelle Inserimenti di ennuple Concetti Fondamentali Interrogazioni

Dettagli

Introduzione. Introduzione

Introduzione. Introduzione Basi di Dati Algebra Relazionale Concetti Fondamentali Introduzione Concetti Fondamentali La Base di Dati di Esempio Algebra Relazionale selezione, proiezione prodotto cartesiano, join unione, intersezione,

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

Basi di Dati SQL-92. Concetti Fondamentali

Basi di Dati SQL-92. Concetti Fondamentali Basi di Dati SQL-92 Concetti Fondamentali SQL-92 >> Sommario Concetti Fondamentali Introduzione Interrogazioni clausola SELECT Creazione ed eliminazione clausola FROM di bd clausola WHERE clausola ORDER

Dettagli

Basi di Dati. Dettagli e Approfondimenti

Basi di Dati. Dettagli e Approfondimenti Basi di Dati Dettagli e Approfondimenti Dettagli e Approfondimenti Altre Forme di Join Funzioni Aggregative Approfondimenti DDL Espressioni Algebra Relazionale >> Dettagli e Approfondimenti Operatori Binari

Dettagli

Interrogazioni con Raggruppamenti

Interrogazioni con Raggruppamenti Basi di Dati SQL-92 Concetti Avanzati SQL-92 >> Sommario Concetti Avanzati Raggruppamenti Clausole GROUP BY e HAVING Forma Generale della SELECT Nidificazione Uso nel DML e DDL Nidificazione, Viste e Potere

Dettagli

BASE DI DATI. Esercizi Progettazione concettuale Progettazione logica Concetti avanzati SQL: Raggruppamento Nidificazione

BASE DI DATI. Esercizi Progettazione concettuale Progettazione logica Concetti avanzati SQL: Raggruppamento Nidificazione BASE DI DAI Esercizi Progettazione concettuale Progettazione logica Concetti avanzati SQL: Raggruppamento Nidificazione Informatica Umanistica Università di Pisa Esercizio: Agenzia immobiliare Si considerino

Dettagli

BASE DI DATI. Concetti trattati: Funzioni aggregate Raggruppamenti Nidificazione Viste. Informatica Umanistica Università di Pisa

BASE DI DATI. Concetti trattati: Funzioni aggregate Raggruppamenti Nidificazione Viste. Informatica Umanistica Università di Pisa BASE DI DATI Concetti trattati: Funzioni aggregate Raggruppamenti Nidificazione Viste Informatica Umanistica Università di Pisa Corsi T Esami T codice CHAR(3) titolo VARCHAR(20) PK Numeri T corso CHAR(3)

Dettagli

SQL: RAGGRUPPAMENTI, QUANTIFICAZIONE, METODO. Patrizio Dazzi a.a

SQL: RAGGRUPPAMENTI, QUANTIFICAZIONE, METODO. Patrizio Dazzi a.a SQL: RAGGRUPPAMENTI, QUANTIFICAZIONE, METODO Patrizio Dazzi a.a. 2017-2018 COMUNICAZIONI Prove in itinere Primo compitino il 6 novembre Secondo compitino il 19 dicembre Homeworks Poche consegne del II

Dettagli

BASE DI DATI. Concetti trattati: Funzioni aggregate Raggruppamenti Nidificazione Viste. Informatica Umanistica Università di Pisa

BASE DI DATI. Concetti trattati: Funzioni aggregate Raggruppamenti Nidificazione Viste. Informatica Umanistica Università di Pisa BASE DI DATI Concetti trattati: Funzioni aggregate Raggruppamenti Nidificazione Viste Informatica Umanistica Università di Pisa Corsi T Esami T codice CHAR(3) titolo VARCHAR(20) PK Numeri T corso CHAR(3)

Dettagli

Basi di Dati. Dettagli e Approfondimenti SQL-92 25/02/2004. Dettagli e Approfondimenti. DDL: Tabelle. DML: Aggiornamenti.

Basi di Dati. Dettagli e Approfondimenti SQL-92 25/02/2004. Dettagli e Approfondimenti. DDL: Tabelle. DML: Aggiornamenti. Basi di Dati SQL-92 Dettagli e Approfondimenti SQL-92 >> Sommario Dettagli e Approfondimenti DDL: Tabelle valori di default vincoli di riferimento modifiche allo schema DDL: Viste definizione e uso DDL:

Dettagli

Basi di Dati SQL-92. Dettagli e Approfondimenti

Basi di Dati SQL-92. Dettagli e Approfondimenti Basi di Dati SQL-92 Dettagli e Approfondimenti SQL-92 >> Sommario Dettagli e Approfondimenti DDL: Tabelle valori di default vincoli di riferimento modifiche allo schema DDL: Viste definizione e uso DDL:

Dettagli

Basi di Dati SQL-92. Dettagli e Approfondimenti

Basi di Dati SQL-92. Dettagli e Approfondimenti Basi di Dati SQL-92 Dettagli e Approfondimenti SQL-92 >> Sommario Dettagli e Approfondimenti DDL: Tabelle valori di default vincoli di riferimento modifiche allo schema DDL: Viste definizione e uso DDL:

Dettagli

VISTE. 19/11/2015 Concetti Avanzati - SQL 71

VISTE. 19/11/2015 Concetti Avanzati - SQL 71 VISTE 19/11/2015 Concetti Avanzati - SQL 71 Viste Le Viste Logiche o Viste o View possono essere definite come delle tabelle virtuali, i cui dati sono riaggregazioni dei dati contenuti nelle tabelle fisiche

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

SQL: ALTRE FORME DI JOIN, FUNZIONI AGGREGATIVE, ESPRESSIONI. Patrizio Dazzi a.a

SQL: ALTRE FORME DI JOIN, FUNZIONI AGGREGATIVE, ESPRESSIONI. Patrizio Dazzi a.a SQL: ALTRE FORME DI JOIN, FUNZIONI AGGREGATIVE, ESPRESSIONI Patrizio Dazzi a.a. 2017-2018 COMUNICAZIONI Homeworks preso il prossimo! Compitini un po di pazienza Assistente Vinicius Monteiro De Lira PICCOLO

Dettagli

4/16/07. Algebra Relazionale. Introduzione. La Base di Dati di Esempio

4/16/07. Algebra Relazionale. Introduzione. La Base di Dati di Esempio Algebra Relazionale Concetti Fondamentali Introduzione La Base di Dati di Esempio Algebra Relazionale selezione, proiezione prodotto cartesiano, join unione, intersezione, differenza ridenominazioni Forma

Dettagli

IL MODELLO RELAZIONALE. Patrizio Dazzi a.a

IL MODELLO RELAZIONALE. Patrizio Dazzi a.a IL MODELLO RELAZIONALE Patrizio Dazzi a.a. 2017-2018 COMUNICAZIONE AI MIEI CARI STUDENTI! La mail che mandate per la Mailing List deve avere come Oggetto/Subject [BDD-INFUMA-2017-18] e come contenuto:

Dettagli

Gestione e Analisi dei Dati. Lezione 4 Relazioni multi tabella Relazioni uno-a-uno, uno-a-molti, molti-a-molti

Gestione e Analisi dei Dati. Lezione 4 Relazioni multi tabella Relazioni uno-a-uno, uno-a-molti, molti-a-molti Gestione e Analisi dei Dati Lezione 4 Relazioni multi tabella Relazioni uno-a-uno, uno-a-molti, molti-a-molti Prodotto Cartesiano Finora operatori unari lavorano sui dati di un unica tabella In realtà

Dettagli

BASE DI DATI. Progettazione Concettuale Parte I: Definizione del Modello Concettuale dei Dati: Concetti Fondamentali

BASE DI DATI. Progettazione Concettuale Parte I: Definizione del Modello Concettuale dei Dati: Concetti Fondamentali BASE DI DATI Progettazione Concettuale Parte I: Definizione del Modello Concettuale dei Dati: Concetti Fondamentali Informatica Umanistica Università di Pisa La Progettazione Progettare una basi di dati

Dettagli

Progettazione di basi di dati D B M G

Progettazione di basi di dati D B M G Progettazione di basi di dati D B M G Progettazione logica relazionale (1/2) Introduzione Ristrutturazione dello schema ER Eliminazione delle gerarchie Partizionamento di concetti Eliminazione degli attributi

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

Corso di Laurea in Ingegneria Informatica Fondamenti di informatica II Modulo Basi di dati a.a

Corso di Laurea in Ingegneria Informatica Fondamenti di informatica II Modulo Basi di dati a.a Corso di Laurea in Ingegneria Informatica Fondamenti di informatica II Modulo Basi di dati a.a. 2012-2013 2013 Docente: Gigliola Vaglini Docenti laboratorio: Francesco Pistolesi, Antonio Virdis Lezione

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 torta@di.unito.it, 0116706782 2 - Metodologie e modelli per la progettazione di BD Introduzione

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

Progettazione logica relazionale (1/2)

Progettazione logica relazionale (1/2) Progettazione di basi di dati D B M G (1/2) Introduzione Ristrutturazione dello schema ER Eliminazione delle gerarchie Partizionamento di concetti Eliminazione degli attributi multivalore Eliminazione

Dettagli

SQL: SCRIVERE INTERROGAZIONI E ANNIDARLE. Patrizio Dazzi a.a

SQL: SCRIVERE INTERROGAZIONI E ANNIDARLE. Patrizio Dazzi a.a SQL: SCRIVERE INTERROGAZIONI E ANNIDARLE Patrizio Dazzi a.a. 2017-2018 COMUNICAZIONI Homeworks oggi ultimo giorno per la consegna!!!! 3h di ricevimento rimaste prima del compitino PICCOLO RIASSUNTO DELLA

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

STRUCTURED QUERY LANGUAGE (SQL) E INTERROGAZIONI. Patrizio Dazzi a.a

STRUCTURED QUERY LANGUAGE (SQL) E INTERROGAZIONI. Patrizio Dazzi a.a STRUCTURED QUERY LANGUAGE (SQL) E INTERROGAZIONI Patrizio Dazzi a.a. 2017-2018 COMUNICAZIONI Oggi andiamo di corsa take care. Prove in itinere Primo compitino il 30 o il 31 ottobre (disponibilità aule)

Dettagli

Alessandra Raffaetà. La costruzione di una base di dati

Alessandra Raffaetà. La costruzione di una base di dati Lezione 4 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia La costruzione

Dettagli

Progettazione logica. Algoritmo di traduzione E-A in DDL-SQL

Progettazione logica. Algoritmo di traduzione E-A in DDL-SQL Progettazione logica Algoritmo di traduzione E-A in DDL-QL E-A QL Uno schema E-A contiene: Entità forti Associazioni Entità deboli Gerarchie Categorie } } Alberi Grafi Attributi di entità e relazioni distinti

Dettagli

Traduzione. Scelta degli identificatori principali

Traduzione. Scelta degli identificatori principali Scelta degli identificatori principali E molto importante per l importanza rivestita dalle chiavi nel modello relazionale Bisogna scegliere una chiave principale secondo i seguenti criteri: Escludere gli

Dettagli

La progettazione logica Traduzione dal modello Entità-Associazione al modello relazionale Anno accademico 2008/2009

La progettazione logica Traduzione dal modello Entità-Associazione al modello relazionale Anno accademico 2008/2009 La progettazione logica Traduzione dal modello Entità-Associazione al modello Anno accademico 2008/2009 Obiettivo: Costruire uno schema logico in grado di descrivere le informazioni contenute nello schema

Dettagli

Basi di da' Il modello relazionale. Anna Monreale Università di Pisa

Basi di da' Il modello relazionale. Anna Monreale Università di Pisa Basi di da' Il modello relazionale Anna Monreale Università di Pisa Sommario Introduzione Base di da', tabella, ennupla, a6ributo, dominio Valori nulli Vincoli di integrità di chiave di ennupla di riferimento

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 20 luglio 2011 1 Progettazione

Dettagli

Il modello Entità-Relazioni (entity-relationship)

Il modello Entità-Relazioni (entity-relationship) Il modello Entità-Relazioni (entity-relationship) Introduzione alla progettazione Problema: progettare una base di dati a partire da requisiti sulla realtà di interesse Progettare=definire struttura caratteristiche

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 28/06/2010 Parte 1: Algebra Relazionale e linguaggio SQL Docente: Giuseppe Amato Sia dato il seguente schema di base di dati per la gestione

Dettagli

Basi di Dati. Progettazione di Basi di Dati: Introduzione. Sommario. Il Processo di Sviluppo dell Applicazione

Basi di Dati. Progettazione di Basi di Dati: Introduzione. Sommario. Il Processo di Sviluppo dell Applicazione Basi di Dati Progettazione di Basi di Dati: Introduzione Progettazione della Base di Dati >> Sommario Introduzione Sommario Il Processo di Sviluppo dell Applicazione Analisi Modello Concettuale Progettazione

Dettagli

REGISTRO DELLE LEZIONI

REGISTRO DELLE LEZIONI UNIVERSITÀ DEGLI STUDI DI GENOVA DIPARTIMENTO DI INFORMATICA, BIOINGEGNERIA, ROBOTICA E INGEGNERIA DEI SISTEMI CORSO DI LAUREA IN INFORMATICA REGISTRO DELLE LEZIONI del Corso Ufficiale nome: BASI DI DATI

Dettagli

Scopo Laboratorio di Informatica

Scopo Laboratorio di Informatica Corso di laurea triennale in Chimica - Laboratorio di Informatica 1 Corso di laurea triennale in Chimica - Laboratorio di Informatica 2 Scopo Laboratorio di Informatica Gestione dell informazione per la

Dettagli

Model o relazionale 1

Model o relazionale 1 Modello relazionale 1 Definizioni Base di dati insieme di tabelle tabella = relazione Tabella collezione di righe riga = tupla Riga insieme di coppie (attributo, valore) attributo = colonna = campo 2 Esempio:

Dettagli

LA PROGETTAZIONE LOGICA

LA PROGETTAZIONE LOGICA LA PROGETTAZIONE LOGICA DALLO SCHEMA ER ALLO SCHEMA RELAZIONALE Da concettuale a logico! Traduzione di uno schema concettuale (ER) in uno schema (relazionale) logico! Fare attenzione ai vincoli di integrità!!

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

Partizionamento/accorpamento di concetti

Partizionamento/accorpamento di concetti Partizionamento/accorpamento di concetti Gli accessi possono essere ridotti separando gli attributi di uno stesso concetto cui fanno accesso operazioni diverse e raggruppando attributi di concetti diversi

Dettagli

Modello relazionale e algebra relazionale

Modello relazionale e algebra relazionale Modello relazionale e algebra relazionale DB M B G Modello relazionale Introduzione Definizioni Riferimenti tra relazioni Assenza di valore Vincoli d integrità Chiave primaria Vincoli di tupla e di dominio

Dettagli

Scopo Informatica. Sistema informativo. Sistema informatico. Gestione dell informazione per le lauree triennali

Scopo Informatica. Sistema informativo. Sistema informatico. Gestione dell informazione per le lauree triennali Scopo Informatica Gestione dell informazione per le lauree triennali LEZIONE 9 Elaborazione di dati: Basi di dati Informazione: difficile da definire ma a tutti è chiara l importanza della sua gestione

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

D B M G. Sistemi informativi. Modello relazionale e algebra relazionale. Modello relazionale. Algebra relazionale

D B M G. Sistemi informativi. Modello relazionale e algebra relazionale. Modello relazionale. Algebra relazionale Sistemi informativi DB M B G e algebra relazionale Algebra relazionale 2007 Politecnico di Torino 1 e algebra relazionale DB M B G Introduzione Definizioni Riferimenti tra relazioni Assenza di valore Vincoli

Dettagli

Modello relazionale e algebra relazionale

Modello relazionale e algebra relazionale Sistemi informativi Algebra relazionale 2007 Politecnico di Torino 1 Introduzione Definizioni Riferimenti tra relazioni Assenza di valore Vincoli d integrità Chiave primaria Vincoli di tupla e di dominio

Dettagli

Elena baralis 2007 Politecnico di Torino 1

Elena baralis 2007 Politecnico di Torino 1 e algebra relazionale Algebra relazionale 2007 Politecnico di Torino 1 e algebra relazionale Introduzione Definizioni Riferimenti tra relazioni Assenza di valore Vincoli d integrità Chiave primaria Vincoli

Dettagli

Informatica. per laurea triennale di area non informatica. 1 Le basi di dati

Informatica. per laurea triennale di area non informatica. 1 Le basi di dati 1 Informatica per laurea triennale di area non informatica LEZIONE 7 - 2 Scopo Gestione dell informazione Informazione: difficile da definire ma a tutti è chiara l importanza della sua gestione in diversi

Dettagli

Informatica documentale Laurea in Scienze della Comunicazione Prova scritta del 25 giugno Cognome e nome: Matricola:

Informatica documentale Laurea in Scienze della Comunicazione Prova scritta del 25 giugno Cognome e nome: Matricola: Informatica documentale Laurea in Scienze della Comunicazione Prova scritta del 25 giugno 2012 Cognome e nome: Matricola: Parte prima Domanda 1 Domanda 2 Domanda 3 Totale Istruzioni: È vietato portare

Dettagli

Progettazione logica relazionale. Basi di dati. Elena Baralis 2007 Politecnico di Torino D B M G D B M G3 D B M G6 D B M G5

Progettazione logica relazionale. Basi di dati. Elena Baralis 2007 Politecnico di Torino D B M G D B M G3 D B M G6 D B M G5 (1/2) Progettazione di basi di dati Introduzione Ristrutturazione dello schema ER Eliminazione delle gerarchie Partizionamento di concetti Eliminazione degli attributi multivalore Eliminazione degli attributi

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

Fondamenti di Informatica e Programmazione

Fondamenti di Informatica e Programmazione Fondamenti di Informatica e Programmazione Prof. G ianni D Angelo Email: giadangelo@unisa.it A. A. 2018/19 Dati e Basi di Dati 1/4 I dati sono importanti poiché costituiscono una risorsa aziendale La loro

Dettagli

Basi di dati e Relazioni

Basi di dati e Relazioni Basi di dati e Relazioni Studenti (Matricola,Cognome,Nome,DataNascita) Corsi (Codice,Titolo,Docente) Esami (Studente,Voto,Corso) Studenti Corsi Esami contiene dati su un insieme di studenti contiene dati

Dettagli

INTRODUZIONE ALLA PROGETTAZIONE. Patrizio Dazzi a.a

INTRODUZIONE ALLA PROGETTAZIONE. Patrizio Dazzi a.a INTRODUZIONE ALLA PROGETTAZIONE Patrizio Dazzi a.a. 2017-2018 COMUNICAZIONI Lezione odierna e successive Metodologia di progetto Progettazione concettuale Progettazione logica Fondamentali per il secondo

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

Corso di Basi di Dati

Corso di Basi di Dati Corso di Basi di Dati Progettazione Concettuale: Il Diagramma E-R Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/ Progettazione di DB Analisi dei requisiti e progettazione in dettaglio Studio/analisi

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

SQL /10/2016 Basi di dati - SQL 1

SQL /10/2016 Basi di dati - SQL 1 SQL 24-27/10/2016 Basi di dati - SQL 1 Esercitazioni pratiche Per SQL è possibile (e fondamentale) svolgere esercitazioni pratiche Verranno anche richieste copme condizione per svolgere le prove parziali

Dettagli

Obiettivi della progettazione logica. Fasi della progettazione logica. Ristrutturazione dello schema ER. Parte VI. Progettazione logica

Obiettivi della progettazione logica. Fasi della progettazione logica. Ristrutturazione dello schema ER. Parte VI. Progettazione logica Obiettivi della progettazione logica Parte VI Progettazione logica Basi di dati - prof. Silvio Salza - a.a. 2014-2015 VI - 1 Tradurre lo schema concettuale (schema ER con vincoli) in uno schema logico

Dettagli

Vincoli. In ogni schema E/R sono presenti dei vincoli Alcuni sono impliciti, in quanto dipendono dalla semantica stessa dei costrutti del modello:

Vincoli. In ogni schema E/R sono presenti dei vincoli Alcuni sono impliciti, in quanto dipendono dalla semantica stessa dei costrutti del modello: Vincoli In ogni schema E/R sono presenti dei vincoli Alcuni sono impliciti, in quanto dipendono dalla semantica stessa dei costrutti del modello: ogni istanza di relazione deve riferirsi ad istanze di

Dettagli

Scopo. Informatica. Sistema informativo. Sistema informatico

Scopo. Informatica. Sistema informativo. Sistema informatico BASI DI DATI 1 BASI DI DATI 2 Scopo Informatica Elaborazione di dati: Basi di dati Gestione dell informazione Informazione: difficile da definire ma a tutti è chiara l importanza della sua gestione in

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

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

Basi di dati I 8 settembre 2011 Tempo a disposizione: un ora e trenta minuti. Libri chiusi.

Basi di dati I 8 settembre 2011 Tempo a disposizione: un ora e trenta minuti. Libri chiusi. Basi di dati I 8 settembre 2011 Tempo a disposizione: un ora e trenta minuti. Libri chiusi. Cognome: Nome: Matricola: Corso di studi: Domanda 1 (25%) Mostrare uno schema concettuale che rappresenti una

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

Esame di Basi di Dati SOLUZIONE APPELLO 05/09/2011

Esame di Basi di Dati SOLUZIONE APPELLO 05/09/2011 Esame di Basi di Dati SOLUZIONE APPELLO 05/09/2011 1. Progettare lo schema Entità-Relazione di un applicazione relativa ai corsi universitari organizzati dal Dipartimento di Informatica e Sistemistica.

Dettagli

Basi di dati (database)

Basi di dati (database) Basi di dati (database) 1 Scopo Gestione dell informazione Informazione: difficile da definire ma a tutti è chiara l importanza della sua gestione in diversi tipi di attività Esempi: aziende, banche, anagrafi,

Dettagli

Modello Relazionale. Università degli Studi di Salerno

Modello Relazionale. Università degli Studi di Salerno Modello Relazionale Università degli Studi di Salerno Corso di Laurea in Scienze della Comunicazione Informatica generale (matr. Dispari) Docente: Angela Peduto A.A. 2005/2006 I modelli logici dei dati!

Dettagli

REGISTRO DELLE LEZIONI

REGISTRO DELLE LEZIONI UNIVERSITÀ DEGLI STUDI DI GENOVA DIPARTIMENTO DI INFORMATICA, BIOINGEGNERIA, ROBOTICA E INGEGNERIA DEI SISTEMI CORSO DI LAUREA IN INFORMATICA REGISTRO DELLE LEZIONI del Corso Ufficiale nome: Basi di Dati

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 09/06/2010 Parte 1: Algebra Relazionale e linguaggio SQL Docente: Giuseppe Amato Sia dato il seguente schema di base di dati per la gestione

Dettagli

Traduzione di associazioni molti a molti

Traduzione di associazioni molti a molti Una volta riorganizzato lo schema si può passare alla traduzione dal modello E-R a quello relazionale. di associazioni molti a molti Tipicamente, passando dal modello E-R a quello relazionale, si procede

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

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

SQL-DDL. Basi di Dati. Prof. Alfredo Cuzzocrea Università degli Studi di Trieste

SQL-DDL. Basi di Dati. Prof. Alfredo Cuzzocrea Università degli Studi di Trieste Basi di Dati Prof. Alfredo Cuzzocrea Università degli Studi di Trieste SQL-DDL Credits to: Prof. P. Atzeni UniRoma3 Prof. S. Ceri PoliMI Prof. S. Paraboschi UniBG Prof. R. Torlone UniRoma3 SQL originariamente

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

Elena Baralis 2007 Politecnico di Torino 1

Elena Baralis 2007 Politecnico di Torino 1 e algebra relazionale Algebra relazionale Sistemi informativi B M B G e algebra relazionale Introduzione efinizioni Riferimenti tra relazioni Assenza di valore Chiave primaria Vincoli di tupla e di dominio

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

Principi di Progettazione del Software a.a

Principi di Progettazione del Software a.a Principi di Progettazione del Software a.a. 2017-2018 Fondamenti di basi di dati: dal modello Entità-Relazioni al modello Relazionale Prof. Università del Salento Obiettivi della lezione Trasformare uno

Dettagli

Progettazione logica D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2012/2013

Progettazione logica D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2012/2013 Progettazione logica D O C E N T E P R O F. A L B E R T O B E L U S S I Anno accademico 2012/2013 Riepilogo lezioni precedenti Modello relazionale Costrutti introdotti Domini di base: caratteri, stringhe

Dettagli