UD 1 I d i i UD 1 I d i i U.D.1 : Introduzione ai D B U.D. 1

U D 1 : Introduzione
U.D.
I
d i
aii
D B
DataBase
Prof. Giuseppe Di Capua
G
Generalità
li à e definizione
d fi i i
di un Data
D
B
Base
Introduzione
In ogni modello di organizzazione della vita dell’uomo vengono
trattate INFORMAZIONI
Una volta individuate e poi raccolte
raccolte, tali informazioni devono
essere memorizzate, in modo che si possa facilmente:
Recuperarle in base a criteri di ricerca;
Aggiungerne di nuove;
Modificarle, apportando variazioni nel tempo;
Modificarle
C
Cancellarle,
Cancellarle
ll l quando
d non sono più
iù necessarie;
i
Introduzione
La necessità di raccogliere informazioni era già sentita prima
dell’avvento
dell
avvento del computer ma solo ll’informatica
informatica ha permesso di
realizzare strumenti idonei alla gestione di informazioni (anche in
grandi quantità)
Nell’informatica, la Teoria delle Basi di Dati studia come
organizzare al meglio grandi quantità di informazioni per poterle
gestire in modo:
Introduzione
•Semplice
Semplice, ovvero le informazioni devono essere facilmente
f ibili in
fruibili
i ambiti
bi i diversi
di
i e da
d utentii diversi;
di
i
•Efficiente
Efficiente, perché l’utilizzo delle risorse del computer deve essere
ottimizzata;
• efficace
efficace, nel senso che le informazioni devono rappresentare la
realtà che si vuole analizzare (p
(per esempio
p un’età non ppuò essere
negativa);
•Sicuro, le operazioni sui dati deve essere consentita solo ad utenti
id tifi bili e autorizzati
identificabili
t i ti
Introduzione
In base a quanto detto possiamo dare una prima definizione di
Base di dati:
Una Base di Dati (in inglese DataBase) può essere
considerata come una raccolta di dati progettati per
essere fruibili in maniera ottimizzata da applicazioni
diverse e da utenti diversi
Archivi
Prima dell’avvento dei Database, le informazioni venivano
memorizzate e gestite attraverso i cosiddetti archivi (file).
(file)
Venivano usati, per memorizzare le informazione file diversi non
collegati tra loro.
Gli archivi convenzionali presentano dei limiti (come vedremo in
seguito)
Le tecniche di ggestione delle basi di dati nascono pper superare
p
i
problemi e i limiti insiti nelle tradizionali organizzazioni degli
archivi in modo non integrato.
Limiti degli archivi convenzionali
Esempio di applicazione pratica
Si vuole gestire i dati legati ad una università.
università In particolare
l’orario di un corso e i ricevimenti docenti.
Con gli archivi classici verranno creati due file.
Il primo riporta ll’orario
orario dei corsi con ll’indicazione
indicazione della Materia,
Materia
docente,Aula e orario;
Il secondo riporta
p
il docente, le materie e l’orario di ricevimento
Limiti degli archivi convenzionali
1/7
Limiti degli archivi convenzionali
1/7
Limiti degli archivi convenzionali
Problemi
C’è ridondanza di dati (L’associazione docente/materia è
ripetuta)
• il fatto che ggli stessi dati ((nome dei docenti, materie)) compaiano
p
in due archivi diversi può causare anomalie in fase di
aggiornamento e quindi problemi di incongruenza e
i
inconsistenza
it
( il dato
(se
d t viene
i
modificato
difi t in
i un archivio
hi i e non
nell’altro).
Limiti degli archivi convenzionali
Gestione
orario lezioni
Archivio
A
hi i 1:
1
orario lezioni
Gestione
ricevimento
Archivio 2:
ricevimento
i
i
t
Limiti degli archivi convenzionali
Gestione
orario lezioni
Base di dati
Gestione
ricevimento
Limiti degli archivi convenzionali
Altro esempio di applicazione pratica
Si vogliono
li
gestire
i i contii correntii di un’azienda
’ i d bancaria
b
i
appartenenti alle diverse filiali e i movimenti contabili che
vengono effettuati sui conti.
conti
Nella sede centrale della banca si vogliono organizzare le
informazioni
f
riguardanti
g
i conti delle ffiliali.
Per ciascun conto occorre registrare il numero di conto, il nome
dell’intestatario
dell
intestatario, ll’indirizzo
indirizzo, il codice della filiale e la descrizione
della filiale.
1/7
Limiti degli archivi convenzionali
Soluzione del problema con l’approccio tradizionale
Le informazioni vengono organizzate in un archivio i cui record
hanno il seguente tracciato:
NUMCONTO
NOME
INDIRIZZO
CODFILIALE
DESCRIZ
9
40
30
5
20
Al contempo, nelle filiali bisogna registrare le informazioni sui
movimenti effettuati sui conti: numero del conto, nome del
correntista città,
correntista,
città data del movimento,
mo imento importo e causale.
ca sale
Il record del file corrispondente possiede il seguente tracciato:
NUMCODICE
9
DESCRIZ
40
CITTA
20
DATA
8
IMPORTO
10
CAUSALE
3
2/7
Limiti degli archivi convenzionali
Quando si vogliono associare tra loro i dati contenuti nei due
archivi ppossono nascere pproblemi di qquesto tipo:
p
• i sono due campi con nomi diversi che rappresentano lo stesso
dato (NumConto e NumCodice);
• lo stesso dato viene rappresentato in formati diversi (Indirizzo
nel primo tracciato e Città nel secondo);
• ci sono due campi con lo stesso nome che rappresentano dati
diversi (Descriz nel primo archivio rappresenta la filiale e nel
secondo l’intestatario del conto);
NUMCONTO
NOME
INDIRIZZO
CODFILIALE
DESCRIZ
9
40
30
5
20
NUMCODICE
9
DESCRIZ
40
CITTA
20
DATA
8
IMPORTO
10
CAUSALE
3
3/7
Limiti degli archivi convenzionali
Quando si vogliono associare tra loro i dati contenuti nei due
archivi ppossono nascere pproblemi di qquesto tipo:
p
• c’è ridondanza di dati (la descrizione della filiale è ripetuta per
ogni
g conto nel pprimo tracciato,, il nome e la città del correntista
vengono ripetuti per ogni movimento);
• il fatto che ggli stessi dati compaiano
p
in due archivi diversi ppuò
causare anomalie in fase di aggiornamento e quindi problemi di
inconsistenza (se il dato viene modificato in un archivio e non
nell’altro).
ll’ lt )
NUMCONTO
NOME
INDIRIZZO
CODFILIALE
DESCRIZ
9
40
30
5
20
NUMCODICE
9
DESCRIZ
40
CITTA
20
DATA
8
IMPORTO
10
CAUSALE
3
4/7
Limiti degli archivi convenzionali
Quali sono le cause?
RIDONDANZA DEI DATI
(Gli stessi dati compaiono in maniera duplicata)
INCONGRUENZA
(se il dato viene aggiornato in un archivio
e non in
i un altro,
lt oppure se sono presentiti
valori diversi per lo stesso dato)
INCONSISTENZA DEI DATI
(i dati a disposizione non sono più affidabili,
perché
hé non sii sa iin modo
d certo
t quale
l d
deii di
diversii
valori sia quello corretto)
Tutto ciò deriva dal fatto che i dati sono organizzati in
archivi diversi, in maniera non integrata.
5/7
Limiti degli archivi convenzionali
Soluzione
Individuare con precisione quali sono gli elementi che
caratterizzano l’applicazione.
Associamo a ciascuno di essi un archivio,, il cui tracciato contiene
i campi che individuano l’elemento e una chiave (tipicamente un
codice).
L
La
chiave
hi
id ifi
identifica
univocamente
i
il recordd all’interno
ll’i
dell’archivio e consente di stabilire legami con gli altri archivi.
• archivio delle filiali, con codice filiale e descrizione filiale;
• archivio dei conti, con codice conto, nome del correntista,
i di i
indirizzo,
città,
i à codice
di filiale
fili l di appartenenza;
• archivio dei movimenti, con numero del movimento, data,
importo causale,
importo,
causale codice del conto sul quale è stato effettuato il
movimento.
6/7
Limiti degli archivi convenzionali
CODFILIALE
5
DESCRIZ
20
NUMCONTO
NOME
INDIRIZZO
CITTA
FILIALE
9
40
30
20
5
NUMMOV
DATA
IMPORTO
CAUSALE
CODICE
6
8
10
3
9
• archivio delle filiali, con codice filiale e descrizione filiale;
• archivio dei conti, con codice conto, nome del correntista,
i di i
indirizzo,
città,
i à codice
di filiale
fili l di appartenenza;
• archivio dei movimenti, con numero del movimento, data,
importo causale,
importo,
causale codice del conto sul quale è stato effettuato il
movimento.
7/7
Le basi di dati
Basi di dati (database): archivi di dati, organizzati in modo integrato
attraverso tecniche di modellazione dei dati e gestiti sulle memorie di
massa dei
d i computer
t
attraverso
tt
appositi
iti software
ft
(DBMS) con
(DBMS),
l’obiettivo di raggiungere una grande efficienza nel trattamento e nel
ritrovamento dei dati.
Il database è una collezione di archivi di dati ben organizzati e ben
strutturati in modo che possano costituire una base di lavoro per utenti
strutturati,
diversi con programmi diversi.
Es: i dati relativi agli articoli del magazzino di un’azienda possono
essere utilizzati dal programma che stampa le fatture e dal programma
magazzino
che stampa i listini di magazzino.
LISTINI
FATTURE
ARTICOLI
Caratteristiche delle basi di dati
La teoria
eo
dei d
de
database
b se introduce
oduce uuna nuova
uov metodologia
e odo og d
di
organizzazione degli archivi di dati, con l’obiettivo di superare i
limiti visti.
Caratteristiche fondamentali:
Utilizzo da parte di più utenti: i dati organizzati in un unico
database possono essere utilizzati da più utenti con i loro
pprogrammi,
g
, consentendo anche una visione solo pparziale del
database da parte del singolo utente;
eliminazione della ridondanza: gli stessi dati non compaiono più
volte in archivi diversi;
1/2
Caratteristiche delle basi di dati
facilità di accesso: il ritrovamento dei dati è facilitato e svolto con
velocemente;
l
integrità dei dati: vengono previsti controlli per evitare anomalie
ai dati causate dai programmi e dalle applicazioni degli utenti;
sicurezza dei dati: sono previste procedure di controllo per
impedire
p
accessi non autorizzati ai dati contenuti nel database e di
protezione da guasti accidentali;
uso di linguaggi per la gestione del database: il database viene
gestito
i attraverso comandi
di per la
l manipolazione
i l i
d i dati
dei
d i in
i esso
contenuti e comandi per effettuare interrogazioni alla base di dati,
al fine di ottenere le informazioni desiderate.
desiderate
2/2
DBMS
DBMS (DataBase Management System):
È un prodotto software che offre la possibilità di gestire un
database su una memoria di massa.
massa
Un DBMS è dotato di appositi comandi grazie ai quali gestisce il
d b se.
database.
L’insieme di tali comandi costituiscono un vero e proprio
linguaggio.
In particolare abbiamo:
DDL (data definition language) –usato per descrivere i dati,
tabelle;
DML (Data Manipulation Data) – usato per accedere ai dati per
inserirli,, modificarli,, cancellarli;;
DCL (Data Control Language) – usato per stabilire vincoli di
accesso e permessi ai dati, vincoli di integrità;
QL (Query Language) – usato per interrogare il database per
ritrovare i dati in esso inseriti.
FINE