Corso di Laurea in Biotecnologie
Informatica
(Basi di Dati)
Introduzione alle Basi di Dati
Anno Accademico 2009/2010
Da:
• Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati
• Lucidi del Corso di Basi di Dati 1, Prof. Carlo Batini, Laurea in Informatica, AA 2007-2008
1
Cos’è un Sistema Informativo?
Un’organizzazione (azienda, ente, singolo
individuo, etc.) in genere è dotata di un
sistema informativo, ovvero di un sistema di
organizzazione e di gestione delle
informazioni che sono necessarie al suo
funzionamento.
L’esistenza di un sistema informativo è
totalmente indipendente dalla sua eventuale
automazione. I sistemi informativi infatti
esistono da molto prima dell’invenzione dei
calcolatori.
2
Cos’è un Sistema Informatico?
Un sistema informatico è la parte di
sistema informativo che viene
automatizzata e che quindi fa uso di
tecnologie informatiche.
In un sistema informatico le
informazioni vengono rappresentate per
mezzo di dati.
3
Dato vs Informazione
Un dato è ciò che è immediatamente
presente alla conoscenza prima di ogni
elaborazione.
In Informatica è un elemento di
informazione costituito da simboli che
devono essere elaborati. Ad esempio le due
stringhe “Mario Rossi” e “25775” sono due
dati che prima di essere elaborati non
significano nulla.
4
Dato vs Informazione
Un’informazione è una notizia o un elemento
che consente di avere conoscenza più o
meno esatta di fatti, situazioni o modi di
essere. I dati precedenti “Mario Rossi” e
“25775” possono essere interpretati per
arricchire la nostra conoscenza con il fatto
che l’interno telefonico del signor Mario
Rossi è 25775.
5
Cos’è una Base di Dati?
Una Base di Dati (in inglese Database) è,
nella sua accezione generica, una collezione di
dati organizzata per reperire le informazioni
necessarie allo svolgimento delle attività di
un’organizzazione (azienda, ente, persona,
etc.).
In un’accezione specifica, una Base di Dati è
una collezione di dati gestita da un
particolare sistema software che prende il
nome di DataBase Management System
6
(DBMS).
Cos’è una Base di Dati?
Una Base di Dati, nella sua accezione
generica, rientra nella definizione di sistema
informativo e, nella sua accezione specifica,
rientra nella definizione di sistema
informatico. A questo punto ci si chiede: quali
sono le peculiarità di una Base di Dati?
Ovvero, quali caratteristiche deve avere un
sistema informatico per poter essere
definito Base di Dati? Infatti non tutti i
sistemi informatici sono Basi di Dati…
7
Un primo esempio di Sistema
Informativo
…che NON è una Base di Dati  Un’agendina
telefonica (su carta o su calcolatore)
A-B
Berti
Aldini
Bombi
C-D
02 34556743 Ciri
335 4554679 Cometti
323 4565430 Dini
Cirielli
Telefono
Telefono
02
02
02
06
34554322
34221
3443232
3432321
Si supponga che la regola di questa agendina è di
specificare i cognomi e i numeri telefonici con
prefisso, esattamente come nell’esempio riportato
sopra
8
Un primo esempio di Sistema
Informativo
Possibile DIFETTO: nessuno può impedire il non
rispetto della regola precedente e quindi, di
scrivere come nell’esempio di seguito riportato
A-B
Berti
Aldo
B.
C-D
02 34556743 Casa
335 4554679 Comune
323 4565430 Dini
Telefono
Telefono
02 34554322
02 34221
02 3443232
Ciro (a Roma) 3432321
Al posto del cognome c’è un nome (Aldo e Ciro), o solo l’iniziale con un punto (B.),
o un luogo (Casa) o un riferimento sociale (Comune). Nel numero telefonico di
Ciro (a Roma) manca il prefisso in quanto la persona che ha scritto questa
agendina ha specificato la città (Roma) e quindi implicitamente si riferisce al
9
prefisso 06.
Un secondo esempio di Sistema
Informativo
…che NON è una Base di Dati  due archivi
separati gestiti da due uffici distinti di una
stessa università:
 Archivio 1  orario delle lezioni gestito
dall’Ufficio A
 Archivio 2  orario di ricevimento dei docenti
gestito dall’Ufficio B
10
Un secondo esempio di Sistema
Informativo
Archivio 1
11
Un secondo esempio di Sistema
Informativo
Archivio 2
12
Un secondo esempio di Sistema
Informativo
Possibili DIFETTI:
1. Ridondanza delle informazioni (ad esempio
l’informazione che Mario Bruni insegna Fisica
I e Fisica II è ricavabile da entrambi gli
archivi)
2. Incoerenza delle informazioni (Luigi Neri
insegna Analisi Matematica I o II?)
13
Le Basi di Dati
Motivazione di una Base di Dati
Ogni organizzazione (università, azienda, ufficio,
etc.) è divisa in settori e svolge diverse attività.
In genere ogni settore ha un proprio sistema
informativo. Possono però esistere sovrapposizioni
tra i dati di interesse dei vari settori. Ad esempio
i dati sui docenti, e sui corsi che insegnano, sono di
interesse sia per l’ufficio orario lezioni che per
quello di ricevimento docenti. Si rende quindi evidente
la necessità di creare un risorsa di informazione
integrata e condivisa dai vari settori di
un’organizzazione.
14
Le Basi di Dati
Una Base di Dati è una risorsa di informazione:
 grande in termini di dimensioni di memoria sul
calcolatore
 condivisa (cioè applicazioni e utenti diversi devono
poter accedere a dati comuni)  ciò riduce la
ridondanza e la ripetizione delle informazioni
 persistente (cioè la sua vita non è limitata a quella
dei programmi che la utilizzano)
 affidabile (cioè il suo contenuto deve essere
conservato intatto anche in caso di malfunzionamenti
e devono essere previste funzionalità di ripristino e
di salvataggio, recovery e backup)
15
Le Basi di Dati
Una Base di Dati è una risorsa di informazione:
 privata (cioè ogni utente deve essere riconosciuto
e di conseguenza autorizzato a svolgere solo
determinate attività sui dati)
 efficiente (cioè deve permettere agli utenti di
svolgere le attività utilizzando risorse di tempo e
spazio che siano accettabili)
 efficace (cioè rende produttiva l’attività degli
utenti che ne fanno uso)
16
Le Basi di Dati
Una Base di Dati è quindi una risorsa di informazione
che richiede:
 meccanismi di autorizzazione (protezione dei dati
condivisi in modo che l’accesso avvenga solo da parte
di soggetti autorizzati e secondo modalità
prestabilite)
 meccanismi di controllo della concorrenza
(gestione contemporanea dell’accesso ai dati condivisi
da parte di più soggetti)
Una Base di Dati necessità di un particolare
sistema di gestione  il DBMS
17
Le Basi di Dati: il DBMS
Un DBMS (DataBase Management System) è
un software in grado di gestire Basi di Dati, cioè
collezioni di dati che siano:
 grandi
 condivise
 persistenti
 affidabili
 private
 efficienti
 efficaci
18
Le Basi di Dati: il DBMS
Alcuni esempi di DBMS sul mercato:
 Access
 DB2
 Oracle
 Informix
 Sybase
 SQLServer
19
Il modello dei dati
I “protagonisti” di una Base di Dati sono i
dati relativi ad una certa realtà (ad
esempio la realtà di un’università, di
un’azienda, di un ente pubblico, etc.).
Quindi, una Base di Dati contiene i dati
relativi ad una certa realtà e permette
il reperimento di informazioni che
descrivono tale realtà. In sintesi, una
Base di Dati rappresenta una certa
realtà.
20
Il modello dei dati
Come vengono descritti e rappresentati i
dati relativi alla realtà di interesse di
una Base di Dati?
Ovvero, come vengono modellizzati i dati
di interesse di una Base di Dati?
In generale un modello dei dati è un
insieme di costrutti utilizzati per
descrivere e rappresentare i dati propri
di una realtà di interesse.
21
I livelli di modellizzazione
I livelli di modellizzazione dei dati di una
determinata realtà di interesse di una
Base di Dati sono tre:
1. Livello concettuale  modelli
concettuali
2. Livello logico  modelli logici
3. Livello fisico  modelli fisici
22
Il livello concettuale
A livello concettuale, più che modellizzare i dati
relativi ad una certa realtà, si cerca di
descrivere i concetti della realtà stessa
(modellizzazione del mondo reale).
I modelli concettuali offrono infatti i concetti e
i costrutti che permettono di descrivere una
realtà di interesse in maniera indipendente
dall’organizzazione della Base di Dati che poi
la rappresenterà. Essi sono utilizzati nella
fase preliminare di progettazione di una Base
di Dati.
23
Il livello concettuale
Cosa vedremo?
Il modello concettuale più usato è il Modello
Entità-Relazione (Modello E-R), in cui il
concetto di relazione è da intendersi nel senso
di legame (in inglese relationship). Il modello
E-R descrive la realtà di interesse attraverso
i costrutti principali di entità e di relazione.
24
Il livello logico
A livello logico, si modellizzano i dati relativi ad
una certa realtà al fine di descrivere la loro
organizzazione nella Base di Dati.
I modelli logici offrono i concetti e i costrutti
che permettono di organizzare i dati nella
Base di Dati in modo indipendente dalle
strutture fisiche effettivamente utilizzate
per memorizzare i dati su calcolatore.
25
Il livello logico
I modelli logici usati per le Basi di Dati sono:




modello relazionale
modello gerarchico
modello reticolare
modello ad oggetti
26
Il livello logico
In base al modello logico che seguono, le Basi di
Dati si possono quindi suddividere nelle
seguenti categorie:
 Basi di Dati relazionali se seguono il
modello relazionale
 Basi di Dati gerarchiche se seguono il modello
gerarchico
 Basi di Dati reticolari se seguono il modello
reticolare
 Basi di Dati ad oggetti se seguono il modello
ad oggetti
27
Il livello logico
Di conseguenza, i DBMS funzionano sulla base del
particolare modello logico della Base di Dati e
quindi si avranno:
 DBMS relazionali per Basi di Dati
relazionali
 DBMS gerarchici per Basi di Dati gerarchiche
 DBMS reticolari per Basi di Dati reticolari
 DBMS a oggetti per Basi di Dati a oggetti
28
Il livello logico
Cosa vedremo?
Il modello relazionale è attualmente il modello logico
più diffuso per organizzare i dati di una Base di
Dati. Esso utilizza il costrutto di relazione,
inteso in questo caso come concetto matematico
proveniente dalla teoria degli insiemi (e non come
legame/relationship), e organizza i dati secondo
relazioni. Vedremo che una relazione potrà essere
interpretata come una tabella a struttura fissa e
vedremo che in sostanza una Base di Dati
relazionale organizza (logicamente) i dati in
29
tabelle.
Il modello (logico) relazionale
Ad esempio i dati degli studenti di una Base di Dati
relazionale di un’università possono essere organizzati
dal punto di vista logico nella seguente relazione (o
tabella):
Matricola
545
876
454
111
Cognome
Rossi
Verdi
Bianchi
Rossi
Nome
Marco
Andrea
Luca
Chiara
Nascita
15-06-1987
13-01-1986
16-04-1985
25-08-1988
Ogni riga (o record) corrisponde ad uno studente. Gli
attributi di ogni studente sono le intestazioni
delle colonne (cioè “Matricola”, “Cognome”, “Nome”,
“Nascita”).
30
Il livello fisico
A livello fisico, si modellizzano i dati per
descrivere la loro organizzazione fisica sulla
memoria del calcolatore.
31
In sintesi…
Un modello concettuale descrive una realtà di
interesse in maniera completamente
indipendente da come i relativi dati verranno
poi organizzati logicamente nella Base di Dati
(cioè indipendentemente dal modello logico).
Un modello logico descrive l’organizzazione dei
dati in una Base di Dati in maniera
completamente indipendente da come questi
verranno poi effettivamente memorizzati sulla
memoria del calcolatore (cioè
indipendentemente dal modello fisico)
32
Schema e istanza
Lo schema di una Base di Dati è la parte che
rimane invariata nel tempo e che definisce la struttura
logica dei dati. Ad esempio la tabella (o relazione)
precedente ha uno schema definito da 4 colonne (4
attributi) con intestazione “Matricola”, “Cognome”,
“Nome”, “Nascita”.
L’istanza di una Base di Dati è la parte che varia
nel tempo ed è costituita dai dati contenuti. Ad
esempio l’istanza della tabella precedente sono le 4
righe (o record) che corrispondono ai dati relativi a 4
studenti. L’istanza varia nel tempo poiché si possono
aggiungere studenti (immatricolazione) o togliere
studenti (quando si laureano).
33
Linguaggi per Basi di Dati
I linguaggi per Basi di Dati si possono distinguere
in due categorie:
 linguaggi di definizione dei dati (Data
Definition Language, DDL)  per definire lo
schema della Base di Dati
 linguaggi di manipolazione dei dati (Data
Manipulation Language, DML)  per
interrogare e aggiornare la Base di Dati (istanza).
Il linguaggio SQL (che vedremo)
(Structured Query Language) è sia un DDL che
Un DML
34
Scarica

IntroduzioneBasiDiDati