Presentazione di PowerPoint

annuncio pubblicitario
“Le Basi di Dati”
1
Basi di Dati
Struttura della sezione
Parte 5: Tabelle
– Creazione di una tabella
– Indici e chiavi primarie
– Relazioni e integrità referenziale
2
LE BASI DATI
Parte 5
Le TABELLE
3
Parte 5: LE BASI DATI
A cosa servono le tabelle?
Le Tabelle sono l’unità base di un Database.
Rappresentano la struttura tipica all’interno della quale vengono
memorizzati i dati; un Database è in grado di gestire
contemporaneamente più tabelle.
Loro scopo è quello di raggruppare record omogenei, ovvero
raccolgono un insieme di dati relativi ad un argomento
specifico (ENTITA’).
Esempio: nell’archivio per la gestione dei libri di una biblioteca,
tutti i dati di ogni singolo libro possono essere raggruppati in
una tabella “Libri”
4
Parte 5: LE BASI DATI
Struttura delle Tabelle
Una tabella è costituita da:
 un insieme di campi, cioè spazi nei quali vengono inseriti i dati,
nonché le informazioni relative all’argomento della tabella (es. nella
tabella “Libri” titolo del libro, autore, anno di pubblicazione, …).
Titolo
Autore
Anno
CAMPO
CAMPO
CAMPO
 ogni RIGA prende il nome di record e contiene tutte le informazioni
relative ad un’entità dell’argomento (es.titolo, autore e anno di un
singolo libro).
Titolo
Autore
Anno
I miei Anni
Ferrari
1980
 ogni COLONNA riporta le informazioni relative ad uno specifico
attributo (campo).
5
Parte 5: LE BASI DATI
Creazione di una Tabella
Una tabella è il risultato della trasformazione del diagramma ER.
La prima fase della sua creazione consiste nel determinare:
 Lo scopo della tabella e quindi l’argomento cui fa riferimento
che nel diagramma ER rappresenta l’ENTITA’;
ciò
 I campi della tabella e quindi il tipo di informazioni che si intendono
raccogliere relative all’argomento
ciò che nel diagramma ER
rappresentano gli ATTRIBUTI.
6
Parte 5: LE BASI DATI
Esempio di creazione di una tabella
Immaginiamo di voler archiviare i libri conservati in una biblioteca, per
poter tenere sotto controllo la loro gestione.
È necessario quindi raccogliere in una tabella importanti informazioni
relative ad ogni singolo libro.
Quindi:
ARGOMENTO = Libri;
CAMPI = Titolo, Anno di pubblicazione, Autore.
Tabella Libri:
Titolo
Anno di pubblicazione
Autore
7
Parte 5: LE BASI DATI
Regole per la creazione di Tabelle
• Non ripetere le stesse informazioni in più tabelle,
quindi evitare ridondanze;
• Evitare di creare voci con lo stesso nome che
contengono informazioni diverse;
• Ogni
tabella
deve
contenere
informazioni
omogenee in modo da agevolare l’archiviazione e
la ricerca delle informazioni.
8
Parte 5: LE BASI DATI
Chiavi primarie
L’ultimo elemento da considerare nella creazione di una tabella è
l’inserimento di un campo chiave o chiave primaria, che
permette di identificare in modo inequivocabile ogni singolo
record. In genere è numerato in modo progressivo.
ID Libro
Titolo
Anno di pubblicazione
Autore
Pertanto il campo chiave non può mai:
• ammettere duplicati;
• Essere vuoto.
9
Parte 5: LE BASI DATI
ID Libro
Titolo
Anno di pubblicazione
Autore
1
Il cielo
1990
Scalise
2
Era mio padre
1985
Rossi
Nell’esempio, l’ “ID Libro=1” identifica solo ed esclusivamente il
libro “Il cielo”, per tanto il secondo libro non può essere
identificato con lo stesso ID (1), bensì con l’ ID=2, che identifica
solo il secondo libro, e così via.
Ricorda:
- Un campo chiave può essere dato anche da un gruppo di
campi:
- I campi candidati ad essere campi primari di una tabella sono
detti determinanti.
10
Parte 5: LE BASI DATI
Gli Indici
La chiave primaria di una tabella è un campo indicizzato, perché
permette di ordinare i dati secondo un ordine logico e di
trovare rapidamente quelli che cerchiamo.
In una tabella, gli indici permettono quindi di:
• ORDINARE I RECORD secondo un ordine logico, basato cioè sul
contenuto (alfabetico, numerico, cronologico) e non sull’ordine
di inserimento;
• TROVARE I RECORD che ci interessano più velocemente,
evitando di doverli scorrere tutti; in altre parole consentono di
raggiungere direttamente il record che vogliamo.
11
Parte 5: LE BASI DATI
- In una tabella l’INDICE può essere anche un campo diverso da quello chiave.
- Tra le proprietà attribuibili a ogni campo c’è infatti anche “Indicizzato”
Esempio:
Anno di pubblicazione
indicizzato
Ciò significa che i record della tabella saranno ordinati secondo il
contenuto di quel campo e la fase di ricerca delle informazioni sarà
agevolata proprio attraverso il campo stesso.
12
Parte 5: LE BASI DATI
Le Relazioni tra tabelle
Sappiamo che per organizzare al meglio un archivio, bisogna creare
tante tabelle quante sono le tipologie di dati da raccogliere (es.
tabella ‘libri’ e tabella ‘autori’) :
ID Libro
Titolo
Anno di pubblicazione
Autore
ID Autore
Nome
Cognome
Data di nascita
Tra le tabelle che costituiscono un archivio è possibile creare delle
relazioni, in modo da poter estrarre informazioni da più tabelle
contemporaneamente, e quindi unire tali informazioni.
Per RELAZIONI si intendono quindi associazioni tra tabelle.
13
Parte5: LE BASI DATI
Come stabilire le Relazioni
Due tabelle per essere correlate devono avere un campo in comune.
Una relazione tra due tabelle si basa sempre sull’uso di una:
• CHIAVE PRIMARIA, che nella tabella A, detta tabella primaria,
identifica in modo univoco ogni singolo record e perciò non ammette
duplicati;
• CHIAVE ESTERNA, che permette di collegare la tabella B, detta tabella
secondaria, con la tabella A, riportando gli stessi dati della chiave
primaria di quest’ultima, ammettendo duplicati.
! Una Relazione è quindi una corrispondenza tra il campo chiave primaria
di una tabella x e il campo chiave esterna di una tabella y.
14
Parte 5: LE BASI DATI
Esempio: creare una relazione
Immaginiamo sempre di voler gestire i dati relativi ai libri di una
biblioteca e agli autori dei volumi:
Tabella Autori
ID Autore
Nome
Cognome
Data di nascita
Tabella Libri
ID Libro
ID Autore
Titolo
Anno di pubblicazione
ID Autore
Chiave primaria nella prima tabella e non ammette duplicati perché
identifica in maniera univoca ogni singolo autore;
Chiave esterna nella seconda e ammette duplicati perché libri diversi
possono essere stati scritti dallo stesso autore
15
Parte 5: LE BASI DATI
Per cui, inserendo i dati, potremmo avere:
ID Autore
Nome
Cognome
Data di nascita
1
Carlo
Insegno
13-04-1950
2
Antonio
Ponti
14-09-1953
ID Libro
Titolo
Anno di pubblicazione
ID Autore
1
Il gabbiano
1977
1
2
L’Alba
1980
1
Nell’esempio, i due libri sono stati scritti dallo stesso autore.
Grazie alla relazione tra le due tabelle resa dalla CHIAVE ESTERNA “ID
Autore”, per ogni libro è possibile avere delle informazioni anche
sull’autore, estrapolate dalla tabella primaria.
16
Parte 5: LE BASI DATI
Quanti tipi di Relazioni esistono?
La Relazione che intercorre tra due tabelle di un
Database può essere di tre tipi:
 RELAZIONE UNO A UNO;
 RELAZIONE UNO A MOLTI;
 RELAZIONE MOLTI A MOLTI.
N.B. Definire la cardinalità significa esprimere numericamente il
tipo di relazione che c’è tra due tabelle (es. 1:1).
17
Parte 5: LE BASI DATI
Relazione Uno a Uno
Un record di una tabella può essere correlato ad un solo record di
una seconda tabella.
Quindi la chiave esterna NON AMMETTE DUPLICATI.
1
ID Studente
Nome
Cognome
Matricola
1
Rossi
Federica
336498
1
ID Tesi
Titolo
Anno
ID Studente
1
L’arte
2000
1
Nell’esempio, la relazione è del tipo 1:1 perché una determinata tesi
può essere stata scritta da un solo studente.
18
Parte 5: LE BASI DATI
Relazione Uno a Molti
Un record univoco di una tabella può essere correlato a più record
di un’altra tabella, ma non viceversa.
1
ID Docente
Nome
Cognome
1
Mario
Cadillo

ID Studente
Nome
Cognome
ID Docente
1
Roberto
Palumbo
1
2
Caterina
Sola
1
Nell’esempio, la relazione è del tipo 1:¥ perchè un docente può
essere il relatore di più studenti, ma uno studente non può avere più
di un relatore.
19
Parte 5: LE BASI DATI
Relazione Molti a Molti
Più record di una tabella possono essere correlati a più
record di un’altra tabella.
!
Questo tipo di relazione comporta necessariamente
l’introduzione di una terza tabella, detta tabella di
congiunzione, in cui si riportano le chiavi primarie di entrambe
le tabelle, che qui diventano chiavi esterne e quindi
ammettono duplicati.
La TABELLA DI CONGIUNZIONE permette quindi di relazionare
due tabelle aventi più record collegati tra loro, attraverso
l’impostazione di una relazione 1: ¥ tra ciascuna tabella e la
tabella di congiunzione stessa.
20
Parte 5: LE BASI DATI
Immaginiamo che il nostro archivio sia formato dalla tabella “esami” e la tabella
“studenti”:
1
ID Esame
Materia
Docente
1
Geografia
Rossi
2
Storia
Verdi

ID Esame
ID Studente
1
1
2
1
1
2
2
2

1
ID Studente
Nome
Cognome
1
Gaetano
Vitaliano
2
Anna
Crespo
21
Parte 5: LE BASI DATI
Nell’esempio, la relazione è del tipo Molti : Molti perché uno
stesso esame può essere sostenuto da più studenti e
viceversa uno stesso studente può sostenere più esami.
Per cui è necessaria la tabella di congiunzione, con la quale la
tabella “esami” e la tabella “studenti” hanno una relazione 1:
Molti, e grazie a questa tabella è possibile estrapolare
informazioni da entrambe le tabelle principali, e quindi avere
informazioni su tutti gli studenti che hanno sostenuto un
determinato esame oppure sugli esami che un determinato
studente ha sostenuto.
22
Parte 5: LE BASI DATI
L’Integrità Referenziale
Definite le relazioni, è possibile impostare l’ Integrità Referenziale.
L’Integrità referenziale si basa su alcune regole principali:

Non è possibile immettere un valore nel campo chiave esterna della tabella
correlata che non esista nella chiave primaria della tabella primaria;

Non è possibile eliminare un record da una tabella primaria se esistono
record corrispondenti in una tabella correlata;

Non è possibile modificare un valore chiave primaria nella tabella primaria se
quel record dispone di record correlati.
L’Integrità referenziale serve quindi per assicurare che le relazioni tra i record
delle tabelle correlate siano valide.
23
Scarica