La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Introduzione alle Basi di Dati. Materiale Teoria: bastano le slide – In alternativa: Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone.

Presentazioni simili


Presentazione sul tema: "Introduzione alle Basi di Dati. Materiale Teoria: bastano le slide – In alternativa: Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone."— Transcript della presentazione:

1 Introduzione alle Basi di Dati

2 Materiale Teoria: bastano le slide – In alternativa: Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Basi di dati: Modelli e linguaggi di interrogazione Esercizi: bastano le slide – Se vi servono altri esercizi Braga Brambilla Campi Eserciziario basi di dati Editrice Esculapio

3 Dal dato allinformazione Dato: unità elementare (grezza) di unità elementare (grezza) di informazione informazione Informazione: elaborazione dei dati per rispondere elaborazione dei dati per rispondere a esigenze specifiche dell'impresa a esigenze specifiche dell'impresa

4 Dal dato allinformazione Dato: Informazione: – Chi insegna basi di dati? Stefano Ceri – Quando si tiene il corso? Al I semestre del III anno.

5 BASE DI DATI E FILE SYSTEM A CONFRONTO PROGRAMMA APPLICATIVO PROGRAMMA APPLICATIVO FILE SYSTEM DATI PROGRAMMA APPLICATIVO PROGRAMMA APPLICATIVO DATI PROGRAMMA APPLICATIVO PROGRAMMA APPLICATIVO PROGRAMMA APPLICATIVO PROGRAMMA APPLICATIVO PROGRAMMA APPLICATIVO PROGRAMMA APPLICATIVO PROGRAMMA APPLICATIVO PROGRAMMA APPLICATIVO DBMS

6 Principali caratteristiche dei DBMS condivisione dei dati condivisione dei dati - assenza di replicazione nei file - assenza di replicazione nei file - concorrenza - concorrenza qualità dei dati qualità dei dati - vincoli di integrità - vincoli di integrità efficienza efficienza - caricamento, query, sort - caricamento, query, sort controllo dell'accesso controllo dell'accesso - privatezza - privatezza robustezza robustezza

7 INTEGRAZIONE DEI DATI OGNI DATO, A PRESCINDERE DALLE APPLICAZIONI DALLE QUALI VENGA UTILIZZATO, COMPARE UNA SOLA VOLTA – ELIMINA INUTILI RIDONDANZE E SPRECHI DI MEMORIA – MIGLIORA LA CONSISTENZA DEI DATI (non è infatti possibile che lo stesso dato abbia contemporaneamente due valori diversi)

8 Come si usa un DBMS ? a definendo la struttura generale dei dati dei dati b definendo le specifiche operazioni sui dati operazioni sui dati STRUTTURA DEI DATI SUI CONTI CORRENTI conto corrente di Giorgio Rossi conto corrente di Paolo Bianchi ……………………………………….schemaistanza

9 Esempio : studenti universitari studenteMATR NOMECarloPaolaAntonio CITTABolognaTorinoRomaC-DIPInfInfLog

10 I linguaggi del DBMS DATA DEFINITION LANGUAGE (DDL) es: CREATE, DROP, ALTER es: CREATE, DROP, ALTER DATA MANIPULATION LANGUAGE (DML) es: SELECT, INSERT, UPDATE, DELETE es: SELECT, INSERT, UPDATE, DELETE

11 DML: Query Language select * from Studente where Città = Bologna Matr123NomeCarloCittàBolognaCDipInf

12 Il modello relazionale

13 MODELLI DEI DATI I MODELLI COSTITUISCONO UNA STRUTTURAZIONE SEMPLIFICATA DELLA REALTA CHE NE ACCOGLIE ASPETTI SPECIFICI E AIUTA A COMPRENDERLA MEGLIO MONDO REALE MODELLO CONCETTUALE MODELLI LOGICI GERARCHICO RETICOLARE RELAZIONALE

14 Cronologia dei modelli per la rappresentazione dei dati Modello gerarchico (anni 60) Modello reticolare (anni 70) Modello relazionale (anni 80) Modello a oggetti (anni 90) Modello XML (anni 00)

15 MODELLI LOGICI DEI DATI GERARCHICO – I DATI SONO RAPPRESENTATI COME RECORD – LE ASSOCIAZIONI TRA I DATI SONO RAPPRESENTATE CON PUNTATORI IN UNA STRUTTURA AD ALBERO GERARCHICO

16 MODELLI LOGICI DEI DATI RETICOLARE (CODASYL) – I DATI SONO RAPPRESENTATI COME RECORD – LE ASSOCIAZIONI TRA I DATI SONO RAPPRESENTATE CON PUNTATORI IN UNA STRUTTURA A GRAFO COMPLESSO RETICOLARE

17 MODELLI LOGICI DEI DATI RELAZIONALE – I DATI SONO RAPPRESENTATI COME TABELLE – LE ASSOCIAZIONI TRA I DATI SONO OTTENUTE ASSOCIANDO VALORI DI ATTRIBUTI IN TABELLE DIVERSE RELAZIONALE

18 Cronologia del modello relazionale Inventato da T. Codd, 1970 (IBM Research di Santa Teresa, Cal) Primi progetti: SYSTEM R (IBM), Ingres (Berkeley Un.) Principali scoperte tecnologiche: Primi sistemi commerciali: inizio anni 80 (Oracle, IBM-SQL DS e DB2, Ingres, Informix, Sybase) Successo commerciale: dal 1985.

19 Definizione informale schemaistanza studente MATR NOMECarloGiovanniPaolaAntonioCITTABolognaMilanoTorinoRomaINDIRInfLogInfLog colonnaschema istanza studente MATR NOMECarloGiovanniPaolaAntonioCITTABolognaMilanoTorinoRomaINDIRInfLogInfLog rigaschemaistanza studente MATR NOMECarloGiovanniPaolaAntonioCITTABolognaMilanoTorinoRomaINDIRInfLogInfLog

20 Relazione: tre accezioni relazione matematica: come nella teoria degli insiemi; relazione (dallinglese relationship) che rappresenta una classe di fatti una relazione matematica fra due entità, nel modello Entity-Relationship; talvolta tradotto con associazione o correlazione relazione secondo il modello relazionale dei dati.

21 Definizione formale D1, D2, …, Dn (n insiemi anche non distinti) Il prodotto cartesiano D1×D2×…×Dn, è linsieme di tutte le n-uple ordinate tali che d1 D1, d2 D2, …, dn Dn. Una relazione matematica su D1, D2, …, Dn è un sottoinsieme del prodotto cartesiano D1×D2×…×Dn. D1, D2, …, Dn sono i domini della relazione. Una relazione su n domini ha grado n. Il numero di n-uple è la cardinalità della relazione. Nelle applicazioni reali, la cardinalità è sempre finita. Dominio D: qualunque insieme di valoriDominio D: qualunque insieme di valori

22 Esempio D 1 = (a,b)D 1 = (a,b) D 2 = (1,2,3)D 2 = (1,2,3) D 1 x D 2 = (,,,, D 1 x D 2 = (,,,,, ), ) R1 = (, ) R1 = (, ) R2 = (,, ) R2 = (,, ) R3 = ( ) R3 = ( ) R4 = (,,,, R4 = (,,,,, ), )

23 Proprietà Grado della relazione:Grado della relazione: numero di domini (n) numero di domini (n) Cardinalita' della relazione:Cardinalita' della relazione: numero di tuple numero di tuple Attributo:Attributo: nome dato al dominio in una nome dato al dominio in una relazione relazione [I nomi di attributo in una relazione [I nomi di attributo in una relazione devono essere tutti distinti fra loro] devono essere tutti distinti fra loro]

24 Proprietà In base alle definizioni, una relazione matematica è un insieme di n-uple ordinate: tali che d1 D1, d2 D2, …, dn Dn Una relazione è un insieme; quindi: non è definito alcun ordinamento fra le n-uple; le n-uple di una relazione sono distinte luna dallaltra; le n-uple sono ordinate: l i-esimo valore di ciascuna proviene dall i-esimo dominio; è cioè definito un ordinamento fra i domini.

25 Partite string × string × integer × integer Ciascuno dei domini ha due ruoli distinti, distinguibili attraverso la posizione: il primo e il terzo dominio si riferiscono a nome e reti della squadra ospitante; il secondo e il quarto a nome e reti della squadra ospitata. La struttura è posizionale Juve Lazio 3 1 Lazio Milan 2 0 Juve Roma 1 2 Roma Milan 0 1

26 Nei DB, invece, associamo a ciascun dominio un nome (attributo), unico nella relazione, che descrive il ruolo del dominio. – Nella rappresentazione tabulare, gli attributi possono essere usati come intestazioni delle colonne. – Lordinamento fra gli attributi è irrilevante: la struttura è non posizionale Casa Fuori RetiCasa RetiFuori Juve Lazio 31 Lazio Milan 20 Juve Roma 1 2 Roma Milan 0 1

27 Formalizzando Lassociazione fra domini e attributi è definita da una funzione dom che associa a ciascun attributo un dominio Una ennupla su un insieme di attributi X è una funzione che associa a ciascun attributo A in X un valore del dominio dom(A) Una relazione su X è un insieme di ennuple su X

28 Se t è una ennupla su X e A X, allora t[A] (o t. A ) indica il valore di t su A. Nellesempio, se t è la prima ennupla della tabella t[Fuori] = Lazio La stessa notazione è estesa anche ad insiemi di attributi, nel qual caso denota ennuple: t[Fuori,RetiFuori] è una ennupla su due attributi e vale Formalizzando

29 Una tabella rappresenta una relazione se i valori di ciascuna colonna sono fra loro omogenei (dallo stesso dominio) le righe sono diverse fra loro le intestazioni delle colonne sono diverse tra loro Inoltre, in una tabella che rappresenta una relazione lordinamento tra le righe è irrilevante lordinamento tra le colonne è irrilevante Tabelle e relazioni

30 Confronto della terminologia DEFINIZIONEFORMALErelazioneattributo tupla, n-pla dominiocardinalita'gradoDEFINIZIONEINFORMALEtabellacolonnariga tipo di dato numero di righe numero di colonne Una differenza significativa DEFINIZIONEFORMALEassenza di duplicati DEFINIZIONEINFORMALE possibili duplicati

31 Il modello relazionale è basato su valori I riferimenti fra dati in relazioni diverse sono rappresentati per mezzo di valori dei domini che compaiono nelle ennuple.

32

33

34 Perché sui valori? Indipendenza dalle strutture fisiche (si potrebbe avere anche con puntatori di alto livello) che possono cambiare anche dinamicamente Si rappresenta solo ciò che è rilevante dal punto di vista dellapplicazione (dellutente); i puntatori sono meno comprensibili per lutente finale (senza, lutente finale vede gli stessi dati dei programmatori) I dati sono portabili più facilmente da un sistema ad un altro I puntatori sono direzionali

35 Interrogazioni Quali professori hanno esaminato Carlo? Quali professori hanno esaminato Carlo?studenteMATR NOMECarloPaolaAntonioCITTABolognaTorinoRomaINDIRInfInfLog esame MATR COD- CORSO 122DATA VOTO corso 1 2 TITOLOmatematicainformatica DOCENTEBarozziMeo

36 Interrogazioni Quali studenti hanno preso 10 in matematica? Quali studenti hanno preso 10 in matematica?studenteMATR NOMECarloPaolaAntonioCITTABolognaTorinoRomaINDIRInfInfLog esame MATR COD- CORSO 122DATA VOTO corso 1 2 TITOLOmatematicainformatica DOCENTEBarozziMeo

37 Riflessioni a differenza fra schema e istanza b due attivita' assai differenti: - progetto dello schema - progetto dello schema - gestione dell'istanza - gestione dell'istanza c passaggio dai dati all'informazione (Query language) (Query language)

38 UN ESEMPIO Da Filippo Via Roma Chissadove P.I coperti 2,10 1 antipasti 3,11 2 primi 8,40 2 orate25, 5 2 caffè 1,60 Totale39,41 Ricevuta n del 16/5/1997 DUE ISTANZE DI RICEVUTA FISCALE Da Filippo Via Roma Chissadove P.I coperti 3,15 2 antipasti 6,22 3 primi12,60 2 bistecche19,00 Totale41,98 Ricevuta n del 12/5/1997

39 RAPPRESENTAZIONE RELAZIONALE, 1 NUMERODATATOTALE /5/199741, /5/199739,41 ricevute NUMEROQUANTITA DESCRIZIONEIMPORTO coperti 3, antipasti 6, primi 12, bistecche 19, coperti 2, antipasti 3, primi 8, orate 25, caffè 1,60 dettaglio

40 RAPPRESENTAZIONE RELAZIONALE, 2 NUMERODATATOTALE /5/199741, /5/199739,41 ricevute dettaglio NUMERO RIGAQUANTITA DESCRIZIONEIMPORTO coperti 3, antipasti 6, primi 12, bistecche 19, coperti 2, antipasti 3, primi 8, orate 25, caffè 1,60

41 Informazione incompleta ll modello relazionale impone ai dati una struttura rigida: –le informazioni sono rappresentate per mezzo di ennuple –solo alcuni formati di ennuple sono ammessi: –quelli che corrispondono agli schemi di relazione I dati disponibili possono non corrispondere esattamente al formato previsto, per varie ragioni.

42 Informazione incompleta Firenze è provincia, ma non conosciamo l'indirizzo della prefettura Tivoli non è provincia: non ha prefettura Prato è nuova provincia: ha la prefettura?

43 Informazione incompleta Non conviene (anche se spesso si fa) utilizzare valori ordinari del dominio (0, stringa nulla, 99, etc), per vari motivi: –potrebbero non esistere valori non utilizzati –valori non utilizzati potrebbero diventare significativi Risulta necessario ogni volta tener conto del significato di questi valori

44 Informazione incompleta Si adotta una tecnica rudimentale ma efficace: –valore nullo: denota lassenza di un valore del dominio (e non è un valore del dominio) Formalmente, è sufficiente estendere il concetto di ennupla: t[A], per ogni attributo A, è un valore del dominio dom(A) oppure il valore nullo NULL Si possono (e debbono) imporre restrizioni sulla presenza di valori nulli

45 Informazione incompleta

46 NULL Tre casi differenti –valore sconosciuto: esiste un valore del dominio,ma non è noto (Firenze) –valore inesistente: non esiste un valore del dominio (Tivoli) –valore senza informazione: non è noto se esista o meno un valore del dominio (Prato) I DBMS non distinguono i tipi di valore nullo (e quindi implicitamente adottano il valore senza informazione)

47 Vincoli di integrità Esistono istanze di basi di dati che, pur sintatticamente corrette, non rappresentano informazioni possibili per lapplicazione di interesse.

48 Vincoli di integrità Escludono alcune istanze in quanto non rappresentano correttamente il mondo applicativo - VINCOLI SUI VALORI NULLI - VINCOLI SUI VALORI NULLI - INTEGRITA' REFERENZIALE - INTEGRITA' REFERENZIALE - VINCOLI GENERICI - VINCOLI GENERICI - CHIAVI - CHIAVI

49 Vincoli di integrità Definizione –proprietà che deve essere soddisfatta dalle istanze che rappresentano informazioni corrette per lapplicazione ogni vincolo può essere visto come una funzione booleana (o un predicato) che associa ad ogni istanza il valore vero o falso.

50 Vincoli di integrità Tipi di vincoli: –vincoli intrarelazionali; casi particolari: vincoli su valori (o di dominio) vincoli di ennupla –vincoli interrelazionali

51 Risultano utili al fine di descrivere la realtà di interesse in modo più accurato di quanto le strutture permettano; Forniscono un contributo verso la qualità dei dati Costituiscono uno strumento di ausilio alla progettazione (normalizzazione) Sono utilizzati dal sistema nella scelta della strategia di esecuzione delle interrogazioni Non tutte le proprietà di interesse sono rappresentabili per mezzo di vincoli esprimibili direttamente

52 Vincoli di ennupla Esprimono condizioni sui valori di ciascuna ennupla, indipendentemente dalle altre ennuple. Una possibile sintassi: espressione booleana (con AND, OR e NOT) di atomi che confrontano valori di attributo o espressioni aritmetiche su di essi. Un vincolo di ennupla è un vincolo di dominio se coinvolge un solo attributo Esempi: –(Voto >= 18) AND (Voto <= 30) –(Voto =30) OR NOT (Lode = e lode) –Lordo = (Ritenute + Netto)

53 Nozione di chiave Sottoinsieme degli attributi dello schema che ha la proprieta' di unicita' e minimalita' unicità: non esistono due tuple con chiave uguale minimalità: sottraendo un qualunque attributo alla chiave si perde la proprieta' di unicità Se il sottoinsieme non è minimo si parla di SUPERCHIAVE

54 Chiavi nell'esempio : gestione degli esami universitari MATR COD-CORSO DATA VOTO COD-CORSO TITOLO DOCENTE studentecorso esame MATR NOME CITTA INDIR

55 Con molteplici chiavi: una e' definita CHIAVE PRIMARIA le rimanenti chiavi sono SECONDARIE CLIENTE(COD-CLIENTE,INDIRIZZO,P-IVA) Chiave primaria: Chiave primaria: COD-CLIENTE COD-CLIENTE Chiave secondaria: Chiave secondaria: P-IVA P-IVA

56 Esiste sempre una chiave? Poiché le relazioni sono insiemi, ogni relazione non può contenere ennuple distinte ma uguali fra loro: –ogni relazione ha come superchiave linsieme degli attributi su cui è definita; Poiché linsieme di tutti gli attributi è una superchiave per ogni relazione, ogni schema di relazione ha tale insieme come superchiave; Poiché linsieme di attributi è finito, ogni schema di relazione ha (almeno) una chiave

57 Importanza delle chiavi Lesistenza delle chiavi garantisce laccessibilità a ciascun dato della base di dati Ogni singolo valore è univocamente accessibile tramite: –nome della relazione –valore della chiave –nome dellattributo Le chiavi sono lo strumento principale attraverso il quale vengono correlati i dati in relazioni diverse (il modello relazionale è basato su valori)

58 Chiavi e valori nulli In presenza di valori nulli, i valori degli attributi che formano la chiave –non permettono di identificare le ennuple come desiderato –né permettono di realizzare facilmente i riferimenti da altre relazioni La presenza di valori nulli nelle chiavi deve essere limitata Soluzione pratica: per ogni relazione scegliamo una chiave (la chiave primaria) su cui non ammettiamo valori nulli

59 Foreign Key Informazioni in relazioni diverse sono correlate attraverso valori comuni In particolare, valori delle chiavi (primarie, di solito) Un vincolo di integrità referenziale fra un insieme di attributi X di una relazione R1 e unaltra relazione R2 impone ai valori su X di ciascuna ennupla dellistanza di R1 di comparire come valori della chiave (primaria) dellistanza di R2

60 Chiavi esterne: esempio MATR COD-CORSO DATA VOTO COD-CORSO TITOLO DOCENTE studentecorso esame MATR NOME CITTA INDIR


Scaricare ppt "Introduzione alle Basi di Dati. Materiale Teoria: bastano le slide – In alternativa: Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone."

Presentazioni simili


Annunci Google