Informatica
Introduzione alle basi di dati
Lezione 1
Scienze e tecniche psicologiche dello sviluppo e
dell'educazione, laurea magistrale
Anno accademico: 2005-2006
Orario e aula
Prima parte: 6 marzo – 3 aprile

Lunedì 16:00 - 19:00
Seconda parte: 10 aprile – fine del
corso

Lunedì 9:00 - 12:00
Aula 9, corso San Maurizio 31/a
2
Libro
P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone
Basi di dati – Modelli e linguaggi di
interrogazione
McGraw-Hill, 2002
Capitoli: 1, 2, 3 (fino a 3.1.9), 4
(introduzione, sezione 4.2), 6 (introduzione,
sezione 6.1, sezione 6.2), Appendice A (su
Access)
3
Docente
Jeremy Sproston
Ufficio:

Ufficio 33, Dipartimento di Informatica, corso
Svizzera 185 (entrata: via Pessinetto 12)
Indirizzo email:

sproston[at]di.unito.it
Telefono:

011 670 6772
Pagina web:

http://www.di.unito.it/~sproston/
4
Docente
Ore di ricevimento (Dip. di Informatica):


Mercoledì 10:00 – 12:00
Per informazione aggiornata:
http://www.di.unito.it/~sproston/Psicologia/
didattica.html
5
1 - Introduzione
1a – Introduzione ai basi di dati
1b – Insiemi
Sistemi informativi e basi di
dati
Ogni organizzazione ha bisogno di
memorizzare e mantenere informazioni
specifiche. Per esempio:




Utenze telefoniche
Conti correnti bancari
Studenti iscritti a un corso di laurea
Quotazioni di azioni nei mercati telematici
7
Esempio:Rappresentazione astratta
di utenze telefoniche
Utente





Codice
Cognome
Nome
Comune
ListaTelefonate
Telefonata




NumeroTelefonico
OrarioInizio
OrarioFine
NumeroScatti
8
Sistemi informativi e basi di
dati
I sistemi informativi organizzano e
gestiscono le informazioni necessarie
alle attività di un’organizzazione:



Inizialmente non erano automatizzati
(per esempio, gli archivi bancari)
Informatica  gestione automatica dei
dati  basi di dati
Informazione memorizzata in modo
rigoroso
9
Informazione e dati
Distinzione tra informazione i dati:

Dati = elementi di informazione, che di
per sé non hanno interpretazione
 Mario Rossi  nome e cognome
 10150  numero matricola? Numero di abitanti
di una città? CAP? Numero di telefono?
10
Informazione e dati
Distinzione tra informazione i dati:

Dati + interpretazione = informazione
 Domanda: “Chi è il responsabile del ufficio
tecnico e qual è il suo numero di telefono?” 
interpretazione della risposta
 Risposta: Mario Rossi, 10150  dati
 Domanda + risposta: informazione

Nei sistemi informatici, le informazioni
vengono rappresentate per mezzo di dati
11
Dati e applicazioni
I dati possono variare nel tempo (per esempio,
importo conto corrente)
Le modalità con cui i dati sono rappresentati in
un sistema sono di solito stabili
Le operazioni sui dati variano spesso (per
esempio, ricerche)
separare i dati dalle applicazioni che
operano su essi
12
Basi di Dati (DB) e DBMS
Basi di dati = collezione di dati per
rappresentare informazioni di
interesse:
grandi,
 condivise,
 persistenti

13
Caratteristiche dei basi di dati
Grandi = miliardi di byte (gestione in
memoria secondaria)
Condivisibili = diverse applicazioni e utenti
possono accedere a dati comuni



Evitare le ridondanze
Aggiornamenti agevoli
Evitare le inconsistenze dovute agli accessi
concorrenti
Persistenti = dati sempre disponibili, non
“vivono” dentro una sola applicazione
14
Basi di Dati (DB) e DBMS
DBMS
= Data Base Management System
= software in grado di gestire collezioni
di dati
Un DBMS deve essere: affidabile,
sicuro, efficiente, efficace
15
Caratteristiche dei DBMS
Affidabilità = protezione dei dati, in caso di
guasto HW o SW capacità di ripristinare i dati
(almeno parzialmente)
Sicurezza/privatezza = abilitazioni diverse a
seconda dell’utente
Efficienza = tempi di risposta e occupazione
spazio accettabili (dipende molto dalla tecnica di
memorizzazione dei dati)
Efficacia = facilitare l’attività di organizzazione
16
Basi di dati vs. file system
Tecnicamente, i basi di dati sono
collezioni di file:


Si potrebbero usare direttamente i file per
memorizzare i dati…
…ma si perdono le buone proprietà
garantite dai DBMS
 Normalmente, file pensati per una specifica
applicazione e non per servire più di una applicazione,
magari in parallelo
17
Come organizzare i dati in un
base di dati
Insieme di concetti per organizzare le
informazioni di interesse e descriverne
la struttura
Meccanismi per strutturare tipi di dati
complessi a partire da tipi semplici

Per esempio:
data = <giorno, mese, anno>
18
Modello logico dei dati
Sottointende una specifica
rappresentazione dei dati (tabelle,
alberi, grafi, oggetti…)
Descrive i dati a un livello
intermedio, tra ciò che vede
l’utente e il livello
dell’implementazione
Molte proposte in DBMS
commerciali
Utente
Modello
logico
Implementazione
19
Modello concettuale
Per la progettazione di un base di dati:
analisi della realtà di interesse
Modello astratto
Indipendente dal modello logico
Modello concettuale = rappresentazione
dei concetti
Modello logico = rappresentazione dei dati
20
Modello logico dei dati
Modello gerarchico (anni ‘60) =
struttura gerarchica (albero)
Modello reticolare (inizio ‘70) =
struttura a grafo
Modello relazionale (fine ‘70) =
struttura a tabelle
Modello orientato agli oggetti (anni
‘80) = struttura a classi/oggetti
21
Modello logico dei dati
Modello gerarchico (anni ‘60) =
Per esempio:
struttura gerarchica (albero)
Microsoft
Modello reticolare (inizio
‘70) =
Access
struttura a grafo
Modello relazionale (fine ‘70) =
struttura a tabelle
Modello orientato agli oggetti (anni
‘80) = struttura a classi/oggetti
22
Modello relazionale
Basato sul concetto di relazione
Relazione = rappresentazione di
un’entità complessa tramite attributi
Graficamente, una relazione può essere
rappresentata da una tabella:


Colonna = attributo (oppure campo)
Riga = valore degli attributi di un individuo
appartenente all’entità
23
Esempio (modello relazionale)
Dati relativi a docenti
nomi relazioni
Docenza
individui
attributi
corso
docente
Informatica
Bianchi
Economia
Rossi
Architettura
Verdi
Esempio (modello relazionale)
Dati relativi a corsi
nomi relazioni
individui
OrganizzCorsidiLaurea
attributi
cdl
materia
anno
Informatica
Basi di dati
2
Matematica
Analisi I
1
Lettere
Latino
1
Informatica
Programma
zione
1
Esempio (modello relazionale)
Dati relativi a corsi e docenti (Dbcorsi)
OrganizzCorsidiLaurea
Docenza
cdl
materia
anno
corso
docente
Informatica
Bianchi
Informatica
Basi di dati
2
Economia
Rossi
Matematica
Analisi I
1
Architettura
Verdi
Lettere
Latino
1
Informatica
Programma
zione
1
Schema di una relazione
Schema di una relazione = definizione
della struttura della relazione
È formata dall’intestazione della relazione:
NomeRelazione(Attr1,…,Attrn)
Non varia nel tempo (modulo ristrutturazione
del DB)
Per esempio: in Dbcorsi
Docenza(corso,docente)
27
Istanza di una relazione
Istanza di una relazione = dati che
descrivono gli individui appartenenti alla
relazione (sono le righe della tabella)
Varia nel tempo (aggiunta, modifica,
eliminazione dei dati riguardanti gli
individui)
28
Schema e istanza di un base
di dati
Schema di un base di dati = insieme
degli schemi delle relazioni (struttura)
Istanza (o stato) di un base di dati
= valori dei dati nelle tabelle (righe)
29
Livelli di astrazione nel DBMS
Architettura standard su 3 livelli:
Livello esterno: descrizione di una porzione
del base di dati (per vedere i dati da punti di
vista diversi a seconda dell’utente)
Livello logico: descrizione del base di dati
tramite le strutture-dati del modello logico del
DBMS (per esempio, le tabelle del modello
relazionale)
Livello interno: “mapping” tra schema
logico e strutture fisiche di memorizzazione
(file)
30
Livelli di astrazione del DBMS
Utente
Livello esterno
(viste)
Docenza
Livello logico
(tabelle)
OrganizzCorsidiLaurea
corso
docente
cdl
materia
anno
Informatica
Bianchi
Informatica
Basi di dati
2
Economia
Rossi
Matematica
Analisi I
1
Architettura
Verdi
Lettere
Latino
1
Informatica
Programmazio
ne
1
Livello interno
(file)
Organizzazione
fisica di
memorizzazione
31
Livelli di astrazione del DBMS
Utente
Livello esterno
(viste)
Livello logico
(tabelle)
Il DBMS lavora
per “mettere
d’accordo” i livelli
Livello interno
(file)
Organizzazione
fisica di
memorizzazione
32
Indipendenza dei dati
Garantita dai livelli di astrazione:

Indipendenza fisica: permette di interagire con
DB in modo indipendente da struttura fisica in cui
sono memorizzati i dati
 Se i dati vengono riorganizzati fisicamente, le
applicazioni funzionano lo stesso

Indipendenza logica: permette di accedere al
DB in modo indipendente da struttura logica dei
dati (per esempio, tabelle)
 Modificare livello logico senza modificare le viste (livello
esterno)
 Estendere le viste senza alterare livello logico
33
Linguaggi per basi di dati
Data Definition Language (DDL) =
definisce livelli fisici, logici, esterni del
DB (tratta anche le autorizzazioni di
accesso)
Data Manipulation Language (DML)
= per formulare interrogazioni e
aggiornamenti delle istanze del base di
dati
34
DDL e DML relazionali
Due paradigmi:


Dichiarativo  SQL (Structured Query
Language)
Procedurale  algebra relazionale
Varie proposte commerciali (non esiste
un vero “standard SQL”, sintassi un po’
diverse)
35
Accesso ai dati
Mediante linguaggi testuali (per esempio,
SQL)
Tramite comandi speciali integrati nei
linguaggi di programmazione
Tramite interfacce “amichevoli” (per esempio,
Wizards, in Access, ecc.)
36
Accesso ai dati
Esempio:



Mediante
linguaggi
testuali (per
esempio, SQL)
…
Tramite
interfacce
“amichevoli”
(per esempio,
Wizards, in
Access, ecc.)
Un esempio di codice SQL:
SELECT Disco,GruppoMusicale
FROM Gruppi
WHERE
GruppoMusicale=“Radiohead”
OR GruppoMusicale=“Franz
Ferdinand”
37
Utenti di un base di dati
Amministratori del base di dati: progetta,
controlla e amministra il base di dati
Progettisti e programmatori di applicazioni:
sviluppano i programmi che interagiscono con
DBMS
Utenti: usano il base di dati per trovare le
informazioni di interesse (possono essere più
o meno esperti)
38
Vantaggi dei DBMS
Permettono di considerare i dati come
risorsa di un’organizzazione

Una risorsa comune: a disposizione di
molteplici utenti e applicazioni
Offrono un modello formale della realtà
di interesse

Preciso, riutilizzabile
39
Vantaggi dei DBMS
Controllo centralizzato dei dati

Riduzione di ridondanze e inconsistenze
Indipendenza dei dati

Sviluppo di applicazioni flessibili e
modificabili
40
Svantaggi dei DBMS
Complessi, costosi, hanno specifici
requisiti in termini di software e
hardware
Difficile separare servizi utili da quelli
inutili
Inadatti alla gestione di poche
informazioni condivise da un numero
basso di utenti
41
Differenze rispetto ad un
foglio elettronico (Excel)
Un foglio elettronico è come una sola
tabella

Non abbiamo la possibilità di collegare più
tabelle come in un base di dati
Possibilità di informazione ripetuta


Inserire in diverse parti (ridondanza)
Modifiche devono essere propagate (per
esempio, cambio di affiliazione) per
mantenere la consistenza
42
Scarica

bdd_lez1 - Dipartimento di Informatica