Introduzione alle basi di dati
DA FILE DI TESTO A FILE STRUTTURATO
FILE DI TESTO:
una sequenza potenzialmente infinita di
caratteri.
FILE STRUTTURATO:
una sequenza potenzialmente infinita di records ,
tutti della stessa lunghezza.
RECORD:
un insieme finito di informazioni diverse
su uno stesso concetto di base, organizzate
secondo un formato predefinito.
RECORD
Esempio di record:
RSSMRA58.. Mario Rossi Cosenza via Roma, 24
coniugato
12/4/58 ...
Il concetto di base di questo record è l' anagrafe di Mario
Rossi.
Le informazioni necessarie per descrivere l'anagrafe di
Mario Rossi sono: il codice fiscale, il nome e cognome,
il luogo e la via di residenza, il suo stato civile, la data
di nascita, ...
FILE STRUTTURATO
Esempio di file strutturato:
il file strutturato che rappresenta l' anagrafe di un
comune avrà la forma:
RSSMRA58.. Mario Rossi Cosenza via Roma, 24
coniugato
12/4/58 ...
BNCPNI54.. Pino Bianchi Cosenza via P. Priamo
coniugato
21/2/54 ...
...
LNELSU36..
Luisa Leone Cosenza via Roma, 21
nubile
31/5/36 ...
dove ogni record contiene le informazioni necessarie per
descrivere l'anagrafe di un cittadino.
FILE STRUTTURATO
per definire un file strutturato e‘ necessario
descrivere il generico record che esso contiene,
cioe' descrivere le
diverse categorie di informazione che
caratterizzano ogni record contenuto nel file.
FILE STRUTTURATO
Consideriamo un possibile file strutturato relativo
agli impiegati di un’azienda:
Codice
Nome
Cognome
DataNascita
CodFiscale
Qualifica
1
Paola
Verdi
05/06/78
VRDPLA78…
Specialista
2
Bruno
Bianchi
09/09/70
BNCBRN70…
Senior
3
Bianca
Rossi
08/07/69
RSSBNC69..
Senior
.....
ogni record
contenuto nel file deve essere composto da:
• un numero, che corrisponde al numero di codice,
• un insieme di caratteri, per il nome
• un insieme di caratteri per il cognome,
• una data, per la data di nascita,
• ...
RECORD
OGNI INFORMAZIONE CONTENUTA IN UN RECORD
SI CHIAMA CAMPO DEL RECORD.
RSSMRA58.. Mario Rossi Cosenza via Roma, 24
coniugato
campi del record anagrafe di Mario Rossi
12/4/58 ...
CAMPI DI UN RECORD
PER DESCRIVERE UN CAMPO DI UN RECORD
E' NECESSARIO FORNIRE:
• IL NOME DEL CAMPO
• IL TIPO DEI DATI CONTENUTO NEL CAMPO
• LA LUNGHEZZA DEL CAMPO
CAMPI DI UN RECORD
FORNIRE IL NOME AD UN CAMPO SIGNIFICA
COMUNICARE AL SISTEMA IL NOME DELLA
INFORMAZIONE CONTENUTA IN QUEL CAMPO.
Esempio:
001
Luisa Neri
matricola
5/6/52 Milano
data di nascita
nome e cognome
NRPL52B51
Caporeparto 12/2/80
codice fiscale
luogo di nascita
qualifica
data assunzione
CAMPI DI UN RECORD
assegnare un tipo di dati ad un campo significa
comunicare al sistema quali dati (valori) aspettarsi in quel
campo e quali operazioni si possono fare sul campo.
Esempio:
001
Luisa Neri
numero
5/6/52
data
sequenza di caratteri
Milano
NRPL52B51.. Caporeparto 12/2/80
sequenza di caratteri
sequenza di caratteri
data
CAMPO DI UN RECORD
assegnare una lunghezza ad un campo significa
comunicare al sistema quanta memoria deve riservare
per quel campo.
Esempio:
001
Luisa Neri
2 bytes
5/6/52
Milano
NRPL52B51.. Caporeparto 12/2/80
15 bytes
8 bytes
30 bytes
15 bytes
16 bytes
8 bytes
TIPI DI DATI
• NUMERICO (INTERI E REALI)
• TESTO (SEQUENZA DI CARATTERI DI UNA CERTA
LUNGHEZZA MASSIMA FISSATA)
• DATA (COMPOSTA DA giorno/mese/anno)
• BOOLEANO (SOLO DUE VALORI: SI O NO,
VERO O FALSO, 1 O 0, ON O OFF)
TIPI DI DATI
Esempio:
testo
booleano
001
Luisa Neri 5/6/52
numerici
... SI
20000000 Caporeparto
data
12/2/80 ...
considerata la grande quantita' dei dati
memorizzata, bisogna:
•
permettere che diverse persone (utenti) possano
accedervi
•
garantire la consistenza delle informazioni
memorizzate
•
fornire strumenti per poter scrivere le
applicazioni che usano diversi files
BASI DI DATI (DB) E SISTEMI PER
LA GESTIONE DELLE BASI DI
DATI (DBMS)
Cos’è un database?
“Un database è un insieme di dati strutturati e permanenti
raggruppati in insiemi omogenei che risultano collegati
fra loro ed organizzati con la minima ridondanza per
essere usati da diverse applicazioni in modo controllato”
“Un database non è altro che un sistema informatico per
la memorizzazione di informazioni” (Date 1986)
“dati che sono memorizzati più o meno in modo
permanente in un computer” (Ullman 1982)
Vantaggi di un database
- riduzione della ridondanza
- eliminazione delle inconsistenze
- condivisione dei dati
- accesso controllato ai dati
- integrità dei dati
- indipendenza dei dati dalle applicazioni
- maggiore facilità per lo sviluppo di applicazioni
CARATTERISTICHE DI UN DBMS
UN DBMS OFFRE:
• un "modello" per la rappresentazione dei
dati e delle loro interconnessioni
• un linguaggio per la definizione e l'aggiornamento dei
dati e delle loro interconnessioni
• un linguaggio per la interrogazione dei dati
• meccanismi per la memorizzazione ottimale
dei dati
CARATTERISTICHE DI UN DBMS
UN DBMS OFFRE:
• MECCANISMI PER IL RECUPERO DEI DATI IN CASO
DI CADUTA DEL SISTEMA
UN DBMS CONSENTE:
• UN ACCESSO EFFICIENTE AI DATI
• UN ACCESSO CONTEMPORANEO DA PARTE DI PIU'
UTENTI
• IL CONTROLLO DELL'ACCESSO AI DATI
Database Relazionali
Un database relazionale è un database che viene
percepito dagli utenti come una collezione di
tabelle.
I database relazionali sono basati sul concetto
matematico di “relazioni” secondo la teoria degli
insiemi. (Codd 1970)