Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 010/011 Basi di dati Le presenti slide sono tratte dalle slide del libro di testo Atzeni, Ceri, Paraboschi, Torlone Basi di dati (Modelli e Linguaggi di interrogazione 3/ed) McGraw-Hill, 009 09/1/010
Gestione delle informazioni Raccolta, acquisizione Archiviazione, conservazione Elaborazione, trasformazione, produzione Distribuzione, comunicazione, scambio Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-
Gestione delle informazioni Nelle attività umane, le informazioni vengono gestite in forme diverse: idee informali linguaggio naturale (scritto o parlato, formale o colloquiale, in varie lingue) disegni, grafici, schemi numeri e codici e su vari supporti mente umana, carta, dispositivi elettronici Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-3
Gestione delle informazioni Nelle attività standardizzate dei sistemi informativi complessi, sono state introdotte col tempo forme di organizzazione e codifica delle informazioni Ad esempio, nei servizi anagrafici si è iniziato con registrazioni discorsive e poi nome e cognome estremi anagrafici codice fiscale Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-4
Informazioni e dati Nei sistemi informatici (e non solo), le informazioni vengono rappresentate in modo essenziale, spartano: attraverso i dati informazione: notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere. dato: ciò che è immediatamente presente alla conoscenza, prima di ogni elaborazione; (in informatica) elementi di informazione costituiti da simboli che debbono essere elaborati (definizioni dal Vocabolario della lingua italiana 1987) Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-5
Informazioni e dati Un esempio: Mario 75 su un foglio di carta sono due dati e non significano molto Se il foglio di carta viene fornito in risposta alla domanda A chi mi devo rivolgere per il problema X; qual è il suo numero di telefono?, allora i dati possono essere interpretati per fornire informazione e arricchire la conoscenza Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-6
Perché i dati? La rappresentazione precisa di forme più ricche di informazione e conoscenza è difficile I dati costituiscono spesso una risorsa strategica, perché più stabili nel tempo di altre componenti (processi, tecnologie, ruoli umani): ad esempio, i dati delle banche o delle anagrafi Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-7
Base di dati Accezione generica, metodologica Insieme organizzato di dati utilizzati per il supporto allo svolgimento delle attività di un ente (azienda, ufficio, persona) Accezione specifica, metodologica e tecnologica insieme di dati gestito da un DBMS Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-8
DataBase Management System (DBMS) Sistema che gestisce collezioni di dati: Grandi: dimensioni (molto) maggiori della memoria centrale dei sistemi di calcolo utilizzati il limite deve essere solo quello fisico dei dispositivi Persistenti: hanno un tempo di vita indipendente dalle singole esecuzioni dei programmi che le utilizzano Condivise: Ogni organizzazione (specie se grande) è divisa in settori o comunque svolge diverse attività Ciascun settore/attività ha un (sotto)sistema informativo (non necessariamente disgiunto) Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-9
DBMS Prodotti software (complessi) disponibili sul mercato; esempi: Access DB Oracle Informix Sybase SQLServer Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-10
Modelli dei dati I modelli costituiscono una strutturazione semplificata della realtà che ne accoglie aspetti specifici e aiuta a comprenderla meglio Mondo Reale Modello Concettuale RETICOLARE RELAZIONALE GERARCHICO MODELLI LOGICI Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-11
Modelli logici dei dati Supportano una descrizione dei dati che puo essere elaborata dal sistema (DBMS) Vengono mappati facilmente sulle strutture fisiche di memorizzazione Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-1
Cronologia dei modelli Modello gerarchico (anni 60) Modello reticolare (anni 70) Modello relazionale (anni 80) Modello ad oggetti (anni 90) Modello XML (anni 000) Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-13
Modello gerarchico I dati sono rappresentati come record Le associazioni tra i dati sono rappresentate con puntatori in una struttura ad albero GERARCHICO Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-14
Modello reticolare I dati sono rappresentati come record Le associazioni tra i dati sono rappresentate con puntatori in una struttura a grafo complesso RETICOLARE Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-15
Modello relazionale I dati sono rappresentati come sequenze di valori di attributi Dati caratterizzati dalle stesse sequenze di attributi sono raggruppati in tabelle Le associazioni tra i dati sono ottenute associando valori di attributi in tabelle diverse RELAZIONALE Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-16
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 010/011 Modello relazionale
Definizione informale di relazione studente colonna schema MATR NOME CITTA C-DIP 13 Carlo Bologna Inf 307 415 Giovanni Paola Milano Torino Log Inf istanza 70 Antonio Roma Log riga Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-18
Definizione formale di relazione Dominio D: un qualunque insieme di valori Prodotto cartesiano su n domini D 1 xd x xd n (non necessariamente distinti): insieme delle n-ple (tuple) <d 1,d,...,d n >, con d i D i, 1 i n Relazione su R D 1 xd x xd n : Un qualunque sottoinsieme di D 1 xd x xd n Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-19
Esempio Domini D 1 = (a,b) D = (1,,3) Prodotto cartesiano D 1 x D = ( <a,1>, <b,1>, <a,>, <b,>, <a,3>, <b,3> ) Esempi di relazioe R1 = ( <a,1>, <b,3> ) R = ( <c,1>, <b,3>, <a,> ) R3 = ( ) R4 = ( <a,1>, <b,1>, <a,>, <b,>, <a,3>, <b,3> ) Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-0
Proprietà Grado della relazione: numero di domini (n) Cardinalita della relazione: numero di tuple Attributo: nome dato al dominio in una relazione I nomi di attributo in una relazione devono essere tutti distinti fra loro Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-1
Proprietà Schema (di una relazione): tabella (attributo1, attributon) [I nomi delle relazioni in uno schema devono essere tutti distinti fra loro] R1(A,B) R(C,D) A B C D a 1 c 1 b 3 b 3 a Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-
Confronto della terminologia DEFINIZIONE FORMALE relazione attributo tupla, n-pla dominio cardinalita' grado DEFINIZIONE INFORMALE tabella colonna riga tipo di dato numero di righe numero di colonne Una differenza significativa DEFINIZIONE FORMALE assenza di duplicati DEFINIZIONE INFORMALE possibili duplicati Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-3
Esempio: gestione degli esami universitari (v.1) corso COD- CORSO 1 TITOLO matematica informatica DOCENTE Barozzi Meo esame MATR COD- CORSO DATA VOTO 13 1 7-9-97 30 13 8-1-98 8 70 7-9-97 0 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-4
Esempio: gestione degli esami universitari (v.) studente MATR NOME CITTA C-DIP 13 Carlo Bologna Inf 415 Paola Torino Inf 70 Antonio Roma Log esame MATR COD- CORSO DATA VOTO corso COD- CORSO TITOLO DOCENTE 13 1 7-9-97 30 1 matematica Barozzi 13 8-1-98 8 informatica Meo 70 7-9-97 0 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-5
Interrogazioni 1/ quali professori hanno esaminato Carlo? studente MATR NOME CITTA C-DIP 13 Carlo Bologna Inf 415 Paola Torino Inf 70 Antonio Roma Log esame MATR COD- CORSO DATA VOTO corso COD- CORSO TITOLO DOCENTE 13 1 7-9-97 30 1 matematica Barozzi 13 8-1-98 8 informatica Meo 70 7-9-97 0 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-6
Interrogazioni / quali studenti hanno preso 30 in matematica? studente MATR NOME CITTA C-DIP 13 Carlo Bologna Inf 415 Paola Torino Inf 70 Antonio Roma Log esame MATR COD- CORSO DATA VOTO corso COD- CORSO TITOLO DOCENTE 13 1 7-9-97 30 1 matematica Barozzi 13 8-1-98 8 informatica Meo 70 7-9-97 0 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-7
Esempio: gestione del personale impiegato MATR NOME DATA-ASS SALARIO MATR-MGR 1 Piero 1-1-95 3 M Giorgio 1-1-97,5 M null 3 Giovanni 1-7-96 M assegnamento progetto MATR NUM-PROG PERC NUM-PROG TITOLO TIPO 1 3 50 3 Idea Esprit 1 4 50 4 Wide Esprit 3 100 3 4 100 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-8
Interrogazione 1/ chi e' il manager di Piero? impiegato MATR NOME DATA-ASS SALARIO MATR-MGR 1 Piero 1-1-95 3 M Giorgio 1-1-97,5 M null 3 Giovanni 1-7-96 M assegnamento progetto MATR NUM-PROG PERC NUM-PROG TITOLO TIPO 1 3 50 3 Idea Esprit 1 4 50 4 Wide Esprit 3 100 3 4 100 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-9
Interrogazioni in quali tipi di progetti lavora Giovanni? impiegato MATR NOME DATA-ASS SALARIO MATR-MGR 1 Piero 1-1-95 3 M Giorgio 1-1-97,5 M null 3 Giovanni 1-7-96 M assegnamento progetto MATR NUM-PROG PERC NUM-PROG TITOLO TIPO 1 3 50 3 Idea Esprit 1 4 50 4 Wide Esprit 3 100 3 4 100 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-30
Esempio: ricevuta fiscale DUE ISTANZE DI RICEVUTA FISCALE Da Filippo Via Roma 3 9100 Chissadove P.I. 01345678 Ricevuta n. 369 del 1/5/1997 Da Filippo Via Roma 3 9100 Chissadove P.I. 01345678 Ricevuta n. 456 del 16/5/1997 3 coperti 3,15 antipasti 6, 3 primi 1,60 bistecche 19,00 coperti,10 1 antipasti 3,11 primi 8,40 orate 5,0 caffè 1,60 Totale 41,98 Totale 39,41 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-31
Rappresentazione relazionale v.1 ricevute NUMERO DATA TOTALE 369 1/5/1997 41,98 456 16/5/1997 39,41 dettaglio NUMERO QUANTITA DESCRIZIONE IMPORTO 369 3 coperti 3,15 369 antipasti 6, 369 3 primi 1,60 369 bistecche 19,00 456 coperti,10 456 1 antipasti 3,11 456 primi 8,40 456 orate 5,0 456 caffè 1,60 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-3
Rappresentazione relazionale v. ricevute NUMERO DATA TOTALE 369 1/5/1997 41,98 456 16/5/1997 39,41 dettaglio NUMERO RIGA QUANTITA DESCRIZIONE IMPORTO 369 1 3 coperti 3,15 369 antipasti 6, 369 3 3 primi 1,60 369 4 bistecche 19,00 456 1 coperti,10 456 1 antipasti 3,11 456 3 primi 8,40 456 4 orate 5,0 456 5 caffè 1,60 Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-33
Come arricchire lo schema VINCOLI DI INTEGRITA': escludono alcune istanze in quanto non rappresentano correttamente il mondo applicativo CHIAVI VINCOLI SUI VALORI NULLI INTEGRITA' REFERENZIALE VINCOLI GENERICI Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-34
Nozione di chiave Sottoinsieme degli attributi dello schema che ha la proprietà di unicità e minimalità unicità: non esistono due tuple con chiave uguale minimalità: sottraendo un qualunque attributo alla chiave si perde la proprieta' di unicita' Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-35
Esempio: gestione esami universitari studente MATR NOME CITTA C-DIP esame chiave MATR COD-CORSO DATA VOTO corso COD-CORSO TITOLO DOCENTE Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-36
Esempio: gestione del personale impiegato MATR NOME DATA-ASS SALARIO MATR-MIL assegnamento chiave MATR NUM-PROG PERC progetto NUM-PROG NOME PREZZO Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-37
Esempio: gestione ordini cliente COD-CLI INDIRIZZO P-IVA ordine COD-ORD COD-CLI DATA IMPORTO chiave dettaglio COD-ORD COD-PROD QTA prodotto COD-PROD NOME PREZZO Atzeni-Ceri-Paraboschi-Torlone, Basi di dati, Capitoli 1-38