500 likes | 680 Views
BASI DI DATI. Sommario. Introduzione e obiettivi Il modello di dati relazionale SQL Software per la gestione di base di dati. Introduzione. Le informazioni rappresentano una delle risorse strategiche più importanti che ciascuna azienda deve gestire.
E N D
Sommario • Introduzione e obiettivi • Il modello di dati relazionale • SQL • Software per la gestione di base di dati
Introduzione • 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.
Sistema informativo • 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.
Sistema informatico • 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
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) • Banche dati: consentono l’aggiunta di informazioni NON SONO IN GRADO DI GESTIRE AGGIORNAMENTI FREQUENTI DELLE INFORMAZIONI
Basi di Dati • Una base di dati (o Database, DB) è una collezione di dati • condivisa tra applicazioni e utenti diversi • persistente: ha un tempo di vita superiore al tempo di esecuzione delle applicazioni che la utilizzano
Database Management System • DBMS: sistema software in grado di gestire collezioni di dati che siano grandi, condivise e persistenti. Garantisce: • affidabilita’ • privatezza • efficacia ed efficienza
Affidabilita’ • 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
Privatezza • 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
Modello dei dati • Insieme dei concetti utilizzati per organizzare i dati e descriverne la struttura • Tipi di modelli • gerarchico • reticolare • relazionale • modello a oggetti
Esempio Studenti Esami Corsi
Schema e istanza • 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 • 6545 Rossi Maria 15/10/1978 8678 Pinti Paola 13/12/1976 4567 Verdi Luigi 02/09/1979 3465 Rossi Mario 11/12/197
Esempio Studenti Esami Corsi
Indipendenza 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.
Modello relazionale • proposto da Codd nel 1970 • basato sul concetto matematico di relazione • i riferimenti fra dati diversi sono realizzati usando unicamente valori (indipendenza fisica dei dati) Libri Autori
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. • I valori di una stessa colonna devono essere omogenei fra di loro.
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. • 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.
Esempio di prodotto cartesiano • Insieme “Lettere” = {A,B} • Insieme “Numeri” = {1,2} • Prodotto cartesiano Lettere X Numeri = { (A,1), (A,2), (B,1), (B,2) }
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). • 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.
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 e’ costituita da una riga della tabella.
Definizioni formali • 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.
Relazioni e tabelle • 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
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 • Uno schema della base di dati e’ costituito da un insieme di schemi di tabelle
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. • Un’istanza di base di dati e’ costiutito da un insieme di tabelle.
Vantaggi del modello relazionale • Indipendenza dalle strutture fisiche di memorizzazione • I dati sono trasportabili piu’ facilmente da un sistema all’altro • Si rappresenta solo cio’ che e’ rilevante dal punto di vista dell’applicazione
Informazione incompleta Utenti Valore sconosciuto Valore inesistente Valore senza informazione Ogni attributo deve avere un valore!
Valori nulli • Nel caso di informazione incompleta si usa un valore convenzionale: NULL Utenti
Errori nei dati Esami
Vincoli di integrita’ • Permettono di limitare l’immissione di dati non corretti. • 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
Vincoli di dominio • Sono vincoli intrarelazionali • Esprimono delle condizioni sui valori di un singolo attributo di una singola ennupla • Esempio: 18 <= voto <= 30
Vincoli di ennupla • Sono vincoli intrarelazionali • Esprimono delle condizioni sui valori di piu’ attributi di una singola ennupla • Esempio: Se Voto = 30 allora lode = {si/no}
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 • per ogni tabella esiste sempre una chiave • fra tutte le chiavi ne viene scelta una detta chiave primaria • sulla chiave primaria non sono permessi valori nulli. • Esempio: chiave primaria {Studende,Corso}
Vincoli di integrita’ referenziale • vincoli interrelazionali • permettono di correlare i dati memorizzati in tabelle diverse • 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 • Esempio: L’attributo “corso” della tabella esami deve essere chiave primaria di Corsi
DDL e DML • La definizione di una base di dati comporta due aspetti: • Definizione dei dati • Definizione delle interrogazioni sui dati stessi
DDL e DML • 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 • Spesso DDL e DML coesistono nello stesso linguaggio
Data Definition Language • 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.
Data Manipulation Language • 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
Costrutti principali • Operatori insiemistici (unione, intersezione, differenza) • Ridenominazione • Proiezione • Selezione • Join Un’interrogazione in un DML relazionale è riconducibile ad un’espressione ottenuta usando gli operatori elencati sopra.
Proiezione • Operatore unario che effettuata una decomposizione verticale della tabella (toglie alcune delle colonne)
Selezione • Operatore unario che produce una decomposizione orizzontale della tabella (toglie alcune righe della tabella)
Join • È l’operatore più importante • 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.
Software per la gestione di basi di dati • prodotti software per la gestione di basi di dati di piccole dimensioni: • Microsoft Access XP • MySQL 4.0.
Microsoft Access • è un software per la gestione di Database Management System (DBMS) • opera in ambiente Windows • è corredato da altre funzionalità che permettono la realizzazione di una interfaccia utente alla base di dati
MySQL • è 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. • 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.