1. PROGETTARE UNA
BASE DI DATI –
TEORIA
GIUSEPPE CRAMAROSSA
ALTERNANZA SCUOLA-LAVORO @ LICEO SCIENTIFICO «G. GALILEI» BITONTO
4 FEBBRAIO 2017
2. SOMMARIO
Generalità
I database
Tipi di database
Entità
Campi
Relazioni
Per capire: facciamo un gioco – nomi, cognomi e città
3. GENERALITÀ
La necessità di salvare informazioni è diventata molto
importante
Data mining
Profilazione degli utenti
Salvataggio di dati
Tali informazioni devono essere organizzati in modo tale
da essere facilmente usufruibili e in poco tempo, anche
da più utenti
A quali informazioni può accedere l’utente? E a quali non
può accedere?
4. I DATABASE
I database permettono di gestire grandi quantità dati in
maniera efficiente e semplice
Gestiscono l’accesso simultaneo ai dati, sia in lettura che
in scrittura
Gestiscono gli utenti che possono usufruire dei dati
Permettono di essere interrogati attraverso un linguaggio
di interrogazione (SQL)
Permettono di fare ricerche nei dati secondo certi
parametri
Verrà visto più tardi
5. TIPI DI DATABASE
Esistono vari tipi di database
Ad oggetti
Reticolari
Gerarchici
Relazionali
La scelta dipende dal tipo di applicazione da sviluppare
Studieremo un database di tipo relazionale (RDBMS)
MySQL
Open source (gratuito)
Robusto (maturo)
6. ENTITÀ
Rappresentano classi di oggetti che hanno elementi comuni tra loro
Persone
Lingue
Sono le tabelle del database
Contengono campi, che determinano gli elementi da inserire
Le entità possono essere collegate tra loro attraverso relazioni
Un’entità può anche essere relazionata a se stessa (relazione riflessiva)
Ogni entità deve avere una chiave primaria
7. CAMPI
Indicano i dati da inserire nella tabella
L’insieme dei campi costituisce un record (o tupla)
Possono essere di vari tipi
Intero, stringa, enumerativo, booleano, …
I campi possono avere anche delle proprietà
Autoincremento
Indice
Unica
8. RELAZIONI
Permettono di collegare più tabelle tra loro
Bisogna fare attenzione all’integrità referenziale
Esistono vari tipi di relazioni
Uno a uno (1:1)
A un record di una tabella è associato un solo record di un’altra tabella
Uno a molti (1:N)
A un record di una tabella sono associati più record di un’altra tabella
Molti a molti (N:N)
A ogni record di una tabella sono associati più record di un’altra tabella
e viceversa
9. PER CAPIRE: FACCIAMO UN GIOCO -
NOMI, COGNOMI E CITTÀ (1/2)
NOMI COGNOMI CITTÀ
Carlo Rossi Padova
Giovanna Bianchi Mantova
Giulio Verdi Padova
Mario Gialli Padova
Giovanni Arancioni Trieste
Tizio Caio Matera
Sempronio Scipione Aosta
Facciamo il gioco di nomi, cognomi e città
Prendiamo come esempio i dati riportati nella
tabella a sinistra
Trasformiamo la tabella in una base di dati
I dati devono essere organizzati in modo tale
da eliminare le rindondanze
Tale operazione viene definita
normalizzazione e viene fatta anche sui
campi della tabella
I nomi e cognomi sono tipici delle persone.
Verrà creata quindi la tabella persone con
questi campi
Le città costituiranno un entità a parte
DA RICORDARE: Ogni tabella deve avere una
chiave primaria (verrà sottolineata)
10. PER CAPIRE: FACCIAMO UN GIOCO -
NOMI, COGNOMI E CITTÀ (2/2)
PERSONE
IDPERSONA NOME COGNOME EXTIDCITTA
1 Carlo Rossi 1
2 Giovanna Bianchi 2
3 Giulio Verdi 1
4 Mario Gialli 1
5 Giovanni Arancioni 3
6 Tizio Caio 4
7 Sempronio Scipione 5
CITTA
IDCITTA NOMECITTA
1 Padova
2 Mantova
3 Trieste
4 Matera
5 Aosta