Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoAnna Maria Basile Modificato 9 anni fa
1
BASI DI DATI
2
2 Sommario Introduzione e obiettivi Introduzione e obiettivi Il modello di dati relazionale Il modello di dati relazionale SQL SQL Software per la gestione di base di dati Software per la gestione di base di dati
3
3 Introduzione Le informazioni rappresentano una delle risorse strategiche più importanti che ciascuna azienda deve gestire. Le informazioni rappresentano una delle risorse strategiche più importanti che ciascuna azienda deve gestire. In questo modulo vedremo come le informazioni vengono archiviate in modo tale da consentire di essere ritrovate per una loro successiva elaborazione o distribuzione. In questo modulo vedremo come le informazioni vengono archiviate in modo tale da consentire di essere ritrovate per una loro successiva elaborazione o distribuzione.
4
4 Sistema informativo Un sistema informativo è un sistema di supporto ai processi informativi di un’organizzazione Un sistema informativo è un sistema di supporto ai processi informativi di un’organizzazione La porzione di sistema informativo che viene gestita in modo automatico mediante tecnologie informatiche prende il nome di sistema informatico. La porzione di sistema informativo che viene gestita in modo automatico mediante tecnologie informatiche prende il nome di sistema informatico.
5
5 Sistema informatico I sistemi informatici hanno il compito di : I sistemi informatici hanno il compito di : organizzare le informazioni conservare in modo permanente le informazioni permettere di accedere alle informazioni permettere di aggiornare le informazioni e riflettere rapidamente le loro variazioni
6
6 Sistemi software per la gestione dell’informazione Sistemi di archiviazione: consentono la memorizzazione e la ricerca di informazioni che sono invarianti nel tempo (sistemi statici) Sistemi di archiviazione: consentono la memorizzazione e la ricerca di informazioni che sono invarianti nel tempo (sistemi statici) Banche dati: consentono l’aggiunta di informazioni Banche dati: consentono l’aggiunta di informazioni NON SONO IN GRADO DI GESTIRE AGGIORNAMENTI FREQUENTI DELLE INFORMAZIONI
7
7 Basi di Dati Una base di dati (o Database, DB) è una collezione di dati Una base di dati (o Database, DB) è una collezione di dati condivisa tra applicazioni e utenti diversi condivisa tra applicazioni e utenti diversi persistente: ha un tempo di vita superiore al tempo di esecuzione delle applicazioni che la utilizzano persistente: ha un tempo di vita superiore al tempo di esecuzione delle applicazioni che la utilizzano
8
8 Database Management System DBMS: sistema software in grado di gestire collezioni di dati che siano grandi, condivise e persistenti. Garantisce: DBMS: sistema software in grado di gestire collezioni di dati che siano grandi, condivise e persistenti. Garantisce: affidabilita’ affidabilita’ privatezza privatezza efficacia ed efficienza efficacia ed efficienza
9
9 Affidabilita’ Capacita’ del sistema di conservare sostanzialmente intatto il contenuto della base di dati in caso di malfunzionamenti hardware o software. Capacita’ del sistema di conservare sostanzialmente intatto il contenuto della base di dati in caso di malfunzionamenti hardware o software. Funzionalita’ di salvataggio e ripristino
10
10 Privatezza Ciascun utente e’ abilitato a svolgere solo determinate azioni sui dati, attraverso opportuni meccanismi di autorizzazione Ciascun utente e’ abilitato a svolgere solo determinate azioni sui dati, attraverso opportuni meccanismi di autorizzazione Esempio: solo certi utenti sono abilitati a leggere certi dati Esempio: solo certi utenti sono abilitati a leggere certi dati
11
11 Modello dei dati Insieme dei concetti utilizzati per organizzare i dati e descriverne la struttura Insieme dei concetti utilizzati per organizzare i dati e descriverne la struttura Tipi di modelli Tipi di modelli gerarchico reticolare relazionale modello a oggetti
12
12 Esempio MatricolaCognomeNomeData di nascita 6545RossiMaria15/10/1978 8678PintiPaola13/12/1976 4567VerdiLuigi02/09/1979 3465RossiMario11/12/197 Studenti Esami StudenteVotoCorso 34652903 34652802 65453002 86781801 Corsi CodiceTitoloDocenti 01IngleseMiller 02StoriaRossi 03RussoCelesti
13
13 Schema e istanza Schema della base di dati: parte del DB invariante nel tempo costituita dalle caratteristiche dei dati Schema della base di dati: parte del DB invariante nel tempo costituita dalle caratteristiche dei dati Studente(Matricola, cognome, nome, data nascita) Istanza o stato della base di dati: e’ costituita dai valori effettivi Istanza o stato della base di dati: e’ costituita dai valori effettivi 6545Rossi Maria15/10/1978 8678PintiPaola13/12/1976 4567VerdiLuigi02/09/1979 3465Rossi Mario11/12/197
14
14 Esempio MatricolaCognomeNomeData di nascita url16545RossiMaria15/10/1978 url28678PintiPaola13/12/1976 url34567VerdiLuigi02/09/1979 url43465RossiMario11/12/1978 Studenti Esami VotoCorso link url429link url7 link url428link url6 link url130link url6 link url218link url5 Corsi CodiceTitoloDocenti url501IngleseMiller url602StoriaRossi url703RussoCelesti
15
15 Indipendenza dei dati Consente di interagire con il DBMS in modo indipendente dalla struttura fisica dei dati. Consente di interagire con il DBMS in modo indipendente dalla struttura fisica dei dati. Quindi e’ possibile modificare le strutture fisiche (ad esempio l’allocazione fisica dei file sui dispositivi di memorizzazione) senza influire sulle descrizioni dei dati e quindi sui programmi che utilizzano tali dati. Quindi e’ possibile modificare le strutture fisiche (ad esempio l’allocazione fisica dei file sui dispositivi di memorizzazione) senza influire sulle descrizioni dei dati e quindi sui programmi che utilizzano tali dati.
16
16 Modello relazionale Libri TitoloEditoreAutore SiddhartaAdelphiHesse Diario 42-45AdelphyHillesum Autori NomeCognome HermanHesse EttyHillesum proposto da Codd nel 1970 proposto da Codd nel 1970 basato sul concetto matematico di relazione basato sul concetto matematico di relazione i riferimenti fra dati diversi sono realizzati usando unicamente valori (indipendenza fisica dei dati) i riferimenti fra dati diversi sono realizzati usando unicamente valori (indipendenza fisica dei dati)
17
17 Relazione Nel senso delle basi di dati e’ una tabella nella quale e’ presente una prima riga contenente le intestrazioni di ogni colonna (ossia i nomi delgi attributi) e dove le altre righe contengono i valori. Nel senso delle basi di dati e’ una tabella nella quale e’ presente una prima riga contenente le intestrazioni di ogni colonna (ossia i nomi delgi attributi) e dove le altre righe contengono i valori. I valori di una stessa colonna devono essere omogenei fra di loro. I valori di una stessa colonna devono essere omogenei fra di loro.
18
18 Relazione Nel senso matematico una relazione r su n insiemi D1,…,Dn e’ definita come un qualsiasi sottoinsieme del prodotto cartesiano D1 x … x Dn. Nel senso matematico una relazione r su n insiemi D1,…,Dn e’ definita come un qualsiasi sottoinsieme del prodotto cartesiano D1 x … x Dn. Dati n isniemi D1,…,Dn il prodotto cartesiano D1 x … x Dn e’ l’insieme di tutte le sequenze ordinate di n valori (d1,…,dn) tali che d1 e’ un elemento di D1, …, dn e’ un elemento di Dn. Dati n isniemi D1,…,Dn il prodotto cartesiano D1 x … x Dn e’ l’insieme di tutte le sequenze ordinate di n valori (d1,…,dn) tali che d1 e’ un elemento di D1, …, dn e’ un elemento di Dn.
19
19 Esempio di prodotto cartesiano Insieme “Lettere” = {A,B} Insieme “Lettere” = {A,B} Insieme “Numeri” = {1,2} Insieme “Numeri” = {1,2} Prodotto cartesiano Prodotto cartesiano Lettere X Numeri = {(A,1), (A,2),(B,1), (B,2) }
20
20 Definizioni formali Schema di relazione: e’ costituito da un nome di relazione R e da un insieme di attributi A1, …,An e si indica con R(A1,…,An). Schema di relazione: e’ costituito da un nome di relazione R e da un insieme di attributi A1, …,An e si indica con R(A1,…,An). Ad ogni attributo e’ associato un insieme, detto dominio, che contiene tutti i possibili valori per tale attributo. Ad ogni attributo e’ associato un insieme, detto dominio, che contiene tutti i possibili valori per tale attributo. Uno schema e’ costituito dal nome della tabella e dalle intestazioni delle singole colonne. Uno schema e’ costituito dal nome della tabella e dalle intestazioni delle singole colonne.
21
21 Definizioni formali Una ennupla su un insieme di attributi A1,…,An e’ una funzione che associa a ciascun attributo un valore del dominio ad esso relativo. Una ennupla su un insieme di attributi A1,…,An e’ una funzione che associa a ciascun attributo un valore del dominio ad esso relativo. Una ennupla e’ costituita da una riga della tabella. Una ennupla e’ costituita da una riga della tabella.
22
22 Definizioni formali Un’ istanza di relazione su uno schema R(A1,…,An) e’ costituita da un insieme di ennuple su A1,…,An. Un’ istanza di relazione su uno schema R(A1,…,An) e’ costituita da un insieme di ennuple su A1,…,An. Un’istanza della tabella e’ costituita dall’insieme delle righe della tabella. Un’istanza della tabella e’ costituita dall’insieme delle righe della tabella.
23
23 Relazioni e tabelle Una tabella rappresenta una relazione se sono verificate tutte le seguenti condizioni: Una tabella rappresenta una relazione se sono verificate tutte le seguenti condizioni: ogni colonna ha una diversa intestazione i valori presenti in ogni colonna sono omogenei tra di loro l’ordinamento delle righe e delle colonne e’ irrilevante le righe sono diverse tra di loro
24
24 Basi di dati: definizione formale Schema della base di dati: uno schema di una base di dati e’ costituito da un insieme di schemi di relazione Schema della base di dati: uno schema di una base di dati e’ costituito da un insieme di schemi di relazione Uno schema della base di dati e’ costituito da un insieme di schemi di tabelle Uno schema della base di dati e’ costituito da un insieme di schemi di tabelle
25
25 Basi di dati: definizione formale Istanza di base di dati: dato uno schema di una base di dati R, un’istanza di una base di dati su tale schema e’ costituita da un insieme di istanze di relazioni I. Istanza di base di dati: dato uno schema di una base di dati R, un’istanza di una base di dati su tale schema e’ costituita da un insieme di istanze di relazioni I. Un’istanza di base di dati e’ costiutito da un insieme di tabelle. Un’istanza di base di dati e’ costiutito da un insieme di tabelle.
26
26 Vantaggi del modello relazionale Indipendenza dalle strutture fisiche di memorizzazione Indipendenza dalle strutture fisiche di memorizzazione I dati sono trasportabili piu’ facilmente da un sistema all’altro I dati sono trasportabili piu’ facilmente da un sistema all’altro Si rappresenta solo cio’ che e’ rilevante dal punto di vista dell’applicazione Si rappresenta solo cio’ che e’ rilevante dal punto di vista dell’applicazione
27
27 Informazione incompleta Utenti CognomeNumero di telefono Rossi06 123432 Bianchi? Verdi? Celesti? Valore sconosciuto Valore inesistente Valore senza informazione Ogni attributo deve avere un valore!
28
28 Valori nulli Nel caso di informazione incompleta si usa un valore convenzionale: NULL Nel caso di informazione incompleta si usa un valore convenzionale: NULL Utenti CognomeNumero di telefono Rossi06 123432 BianchiNULL VerdiNULL CelestiNULL
29
29 Errori nei dati Esami StudenteCorsoVotoLode RossiInformatica32No BianchiSemiotica18Si VerdiSci nautico25No
30
30 Vincoli di integrita’ Permettono di limitare l’immissione di dati non corretti. Permettono di limitare l’immissione di dati non corretti. Tipi di vincoli: Tipi di vincoli: vincoli su valori (o di dominio) vincoli di ennupla (o di riga) vincoli di chiave vincoli di integrita’ referenziale I vincoli devono essere soddisfatti da tutte le istanze corrette dello schema I vincoli devono essere soddisfatti da tutte le istanze corrette dello schema
31
31 Vincoli di dominio Sono vincoli intrarelazionali Sono vincoli intrarelazionali Esprimono delle condizioni sui valori di un singolo attributo di una singola ennupla Esprimono delle condizioni sui valori di un singolo attributo di una singola ennupla Esempio: 18 <= voto <= 30
32
32 Vincoli di ennupla Sono vincoli intrarelazionali Sono vincoli intrarelazionali Esprimono delle condizioni sui valori di piu’ attributi di una singola ennupla Esprimono delle condizioni sui valori di piu’ attributi di una singola ennupla Esempio: Se Voto = 30 allora lode = {si/no}
33
33 Vincoli di chiave Una chiave e’ un insieme minimale di attributi che permette di identificare univocamente le righe di una tabella ossia le ennuple di una relazione Una chiave e’ un insieme minimale di attributi che permette di identificare univocamente le righe di una tabella ossia le ennuple di una relazione per ogni tabella esiste sempre una chiave per ogni tabella esiste sempre una chiave fra tutte le chiavi ne viene scelta una detta chiave primaria fra tutte le chiavi ne viene scelta una detta chiave primaria sulla chiave primaria non sono permessi valori nulli. sulla chiave primaria non sono permessi valori nulli. Esempio: chiave primaria {Studende,Corso} Esempio: chiave primaria {Studende,Corso}
34
34 Vincoli di integrita’ referenziale vincoli interrelazionali vincoli interrelazionali permettono di correlare i dati memorizzati in tabelle diverse permettono di correlare i dati memorizzati in tabelle diverse le informazioni sono correlate sulla base di valori comuni le informazioni sono correlate sulla base di valori comuni impongono che i valori degli attributi di una relazione compaiano come valori della chiave primaria di un’altra relazione impongono che i valori degli attributi di una relazione compaiano come valori della chiave primaria di un’altra relazione Esempio: L’attributo “corso” della tabella esami deve essere chiave primaria di Corsi Esempio: L’attributo “corso” della tabella esami deve essere chiave primaria di Corsi
35
35 DDL e DML La definizione di una base di dati comporta due aspetti: La definizione di una base di dati comporta due aspetti: Definizione dei dati Definizione delle interrogazioni sui dati stessi
36
36 DDL e DML Data Definition Language (DDL): linguaggio che permette di definire le tabelle e le autorizzazioni per l’accesso alle stesse. Data Definition Language (DDL): linguaggio che permette di definire le tabelle e le autorizzazioni per l’accesso alle stesse. Data Manipulation Language (DML): linguaggio che permette di esprimere le interrogaizoni per accedere ai dati al fine di ottenere informazioni Data Manipulation Language (DML): linguaggio che permette di esprimere le interrogaizoni per accedere ai dati al fine di ottenere informazioni Spesso DDL e DML coesistono nello stesso linguaggio Spesso DDL e DML coesistono nello stesso linguaggio
37
37 Data Definition Language Permettono di definire le tabelle che compongono lo schema della base di dati. Permettono di definire le tabelle che compongono lo schema della base di dati. Molti DDL permettono di usare delle modalità grafiche per la definizione dei dati. Molti DDL permettono di usare delle modalità grafiche per la definizione dei dati.
38
38 Data Manipulation Language Sono basati su un formalismo teorico detto algebra relazionale Sono basati su un formalismo teorico detto algebra relazionale L’algebra relazionale e’ costituita da un insieme di operatori che hanno come argomenti delle relazioni (ossia delle tabelle) e producono come risultati altre relazioni L’algebra relazionale e’ costituita da un insieme di operatori che hanno come argomenti delle relazioni (ossia delle tabelle) e producono come risultati altre relazioni
39
39 Costrutti principali Operatori insiemistici (unione, intersezione, differenza) Operatori insiemistici (unione, intersezione, differenza) Ridenominazione Ridenominazione Proiezione Proiezione Selezione Selezione Join Join Un’interrogazione in un DML relazionale è riconducibile ad un’espressione ottenuta usando gli operatori elencati sopra.
40
40 Operatori insiemistici
41
41 Operatori insiemistici
42
42 Proiezione Operatore unario che effettuata una decomposizione verticale della tabella (toglie alcune delle colonne) Operatore unario che effettuata una decomposizione verticale della tabella (toglie alcune delle colonne)
43
43 Proiezione
44
44 Selezione Operatore unario che produce una decomposizione orizzontale della tabella (toglie alcune righe della tabella) Operatore unario che produce una decomposizione orizzontale della tabella (toglie alcune righe della tabella)
45
45 Selezione
46
46 Join È l’operatore più importante È l’operatore più importante Permette di correlare i dati presenti in più tabelle diverse Permette di correlare i dati presenti in più tabelle diverse Si tratta di un operatore binario, ossia ha due tabelle come argomenti e produce una tabella come risultato. Si tratta di un operatore binario, ossia ha due tabelle come argomenti e produce una tabella come risultato.
47
47
48
48 Software per la gestione di basi di dati prodotti software per la gestione di basi di dati di piccole dimensioni: prodotti software per la gestione di basi di dati di piccole dimensioni: Microsoft Access XP MySQL 4.0.
49
49 Microsoft Access è un software per la gestione di Database Management System (DBMS) è un software per la gestione di Database Management System (DBMS) opera in ambiente Windows opera in ambiente Windows è corredato da altre funzionalità che permettono la realizzazione di una interfaccia utente alla base di dati è corredato da altre funzionalità che permettono la realizzazione di una interfaccia utente alla base di dati
50
50 MySQL è un DBMS che può essere eseguito su qualunque sistema operativo è un DBMS che può essere eseguito su qualunque sistema operativo può essere integralmente utilizzato sia con interfaccia a linea di comando che con interfaccia grafica. può essere integralmente utilizzato sia con interfaccia a linea di comando che con interfaccia grafica. MySQL è un prodotto Open Source che può essere scaricato e installato gratuitamente MySQL è un prodotto Open Source che può essere scaricato e installato gratuitamente l’utility grafica MySQL Control Center 0.9.3, va scaricata e installata separatamente. l’utility grafica MySQL Control Center 0.9.3, va scaricata e installata separatamente.
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.