Data Base
Master "Bio Info"
Reti e Basi di Dati Lezione 5
Sommario

I concetti fondamentali



Database e DBMS
Tipi di Database
Database Relazionale
Attributi, Tupla , Vincoli di integrità, Chiavi,
 Vincolo di integrità referenziale ,Relazioni
 Query e SQL



MySql
I Data Base e la Bioinformatica
Master "Bio Info"
Reti e Basi di Dati Lezione 5
Sezione 1
I concetti fondamentali
Master "Bio Info"
Reti e Basi di Dati Lezione 5
I Concetti fondamentali
Database e DBMS
 Database insieme di dati correlati tra loro, memorizzati su un
supporto di memoria di massa, costituenti un tutt'uno, che possono
essere manipolati da più programmi applicativi
 DBMS insieme di dati tra loro collegati e in aggiunta un sistema
software per la gestione, quindi per l'aggiornamento, la
manutenzione e la consultazione dei dati contenuti in un supporto di
memoria di massa.
 DBMS = Database+ Programmi per la gestione dei dati
 Per gestione dei dati si intende:




Immissione, cancellazione e modifica di dati già introdotti
ricerca di dati attraverso criteri definiti dall'utente
ordinamento e classificazione dei dati singolarmente o secondo vari criteri,
stampa di rapporti o relazioni
Master "Bio Info"
Reti e Basi di Dati Lezione 5
I Concetti fondamentali Tipi di Database
Database gerarchici
 Sviluppati negli anni ’60 un database gerarchico è un insieme di archivi
composti da record (segmenti) che sono in rapporto gerarchico tra loro
attraverso legami di tipo padre-figlio (struttura ad albero)
 Nel modello gerarchico si individua un segmento principale (padre o
radice) dal quale dipendono n segmenti figli, che a loro volta sono
padri per altri figli e così via, i figli possono essere raggiunti solo
attraverso il padre, non è possibile dal figlio risalire al padre.
Master "Bio Info"
Reti e Basi di Dati Lezione 5
I Concetti fondamentali
Database reticolari
 Nel modello reticolare sviluppato nei primi anni ’70, contrariamente al
DB gerarchici dove un figlio può avere solo un padre, ogni record può
avere un numero qualsiasi di record subordinati e di record precedenti,
i legami avvengono attraverso record di collegamento (member)
 ll modello reticolare utilizza due tipi di strutture il record ed il set che
permette di correlare i record.
Master "Bio Info"
Reti e Basi di Dati Lezione 53
I Concetti fondamentali
Database relazionali
 Il modello relazionale, nato negli anno ‘70, si basa su due concetti
relazione e tabella.
 La nozione di relazione proviene dalla teoria degli insiemi, mentre il
concetto di tabella è semplice ed intuitivo.
 Dati due insiemi D1 e D2 si chiama prodotto cartesiano di D1 e D2
(D1xD2), l’insieme delle coppie ordinate (v1, v2), con v1 elemento di
D1 e v2 è un elemento di D2. Una relazione sugli insiemi D1 e D2 è
un sottoinsieme del prodotto cartesiano di D1xD2.
 Esempio:
Dati gli insiemi A={1, 2 ,4} e B={a, b}
A x B= {(1, a), (1, b), (2, a), (2, b), (4, a), (4, b)}
una possibile relazione su A e B è
R1= {(1, a), (1, b), (4, b)}
Master "Bio Info"
Reti e Basi di Dati Lezione 53
I Concetti fondamentali
Database relazionali
 Le relazioni possono esse rappresentate graficamente, in maniera
utilmente espressiva, sotto forma tabellare.
 Esempio:
NAPOLI
MILAN
2
0
PALERMO


INTER
7
0
La relazione precedente è un sottoinsieme del prodotto cartesiano:
Stringa x Stringa x Intero x Intero
L’ordine con cui compaiono i dati nelle righe è fondamentale
(cambiando l’ordine di alcune colonne i risultati vengono stravolti), a
ciò si ovvia utilizzando gli attributi come intestazioni per le colonne.
Squadra di casa
Squadra ospitata
Reti casa
Reti ospitata
NAPOLI
MILAN
2
0
PALERMO
INTER
7
0
Master "Bio Info"
Reti e Basi di Dati Lezione 53
I Concetti fondamentali
Database relazionali
 Modificando la definizione di relazione con l’introduzione degli
attributi, l’ordinamento delle colonne risulta irrilevante.
 Una tupla su un insieme di attributi X (con x insieme di attributi della
relazione) è una funzione t che associa a ciascun attributo A di X un
valore del dominio DOM(A)
 Nell’esempio
X= {Squadra di casa,Squadra ospitata,Reti casa,Reti ospitata}
A1=Squadra di casa DOM(A1)= (Palermo,Milan,Juventus…)
A2=Squadra ospitata DOM(A2)=(Palermo,Milan,Juventus…)
A3=Reti casa DOM(A3)=N=(0,1,2, …)
A4=Reti ospitata DOM(A4)=N=(0,1,2, …)
Master "Bio Info"
Reti e Basi di Dati Lezione 53
I Concetti fondamentali
Database relazionali
 La struttura del modello relazionale è molto semplice e potente e al
tempo stesso impone un certo grado di rigidità poiché in ogni
relazione possiamo rappresentare solo tuple corrispondenti allo
schema della relazione stessa.
 In moti casi, i dati disponibili possono non corrispondere esattamente
al formato previsto.
 Ad esempio:
Persone (Cognome, Nome, Indirizzo, Telefono)
 Il valore dell’attributo Telefono potrebbe non essere disponibile per
tutte le tuple, Per rappresentare la non disponibilità di valori, viene
assunto un particolare valore per quel attributo detto valore nullo.
 In genere quando si definisce una relazione bisogna specificare quali
saranno gli attributi in cui è possibile inserire il valore nullo.
Master "Bio Info"
Reti e Basi di Dati Lezione 53
I Concetti fondamentali
Vincoli di integrità
 In una database si deve evitare di inserire dati privi di senso o
sbagliati, per limitare che ciò accada, durante la creazione del
database vengono stabiliti dei vincoli.
 Un vincolo è un predicato assume valore vero se l’istanza soddisfa il
vincolo falso viceversa.
 In generale, ad uno schema di database associamo un insieme di
vincoli e consideriamo corrette le istanze che soddisfano tutti i vincoli.
 Esempi di vincoli di integrità:


Non permettere l’inserimento del codice di avviamento postale usando lettere
invece di cifre numeriche o non accettare che vengano inseriti più di 5 cifre.
Non consentire la cancellazione di un capo vendite senza che i suoi subalterni
(venditori) siano gerarchizzati ad altro capo vendita o cancellati
precedentemente..
Master "Bio Info"
Reti e Basi di Dati Lezione 53
I
Concetti
fondamentali
Le Chiavi
Chiave candidata

l’attributo o l’insieme di attributi che individuano univocamente la
tupla all’interno della relazione.
Chiave primaria
 la chiave con minor numero di attributi
Chiave esterna
 l’attributo, o l’insieme di attributi, che può essere usata come chiave
primaria per un'altra relazione.
Master "Bio Info"
Reti e Basi di Dati Lezione 53
I Concetti fondamentali
Auto
Targa
IDProp
Indirizzo
RM 1A2396
1
Via Tigli
FI 1A2300
1
Via Tigli
TV 2F4560
2
Via Migli




Proprietati
IDProp
Nome
Cognome
1
Giuseppe
Verdi
2
Carlo
Felice
Si possono considerate chiavi candidate della tabella Auto i tre
attributi insieme, o gli attributi Targa e Proprietario insieme.
Gli attributi Proprietario e Indirizzo, non possono essere considerati
chiave candidata della relazione Auto sia da soli che insieme.
È decisamente chiave primaria della tabella Auto l’attributo Targa.
L’attributo IDProp comparendo come chiave primaria nella relazione
Proprietari è chiave esterna.
Master "Bio Info"
Reti e Basi di Dati Lezione 53
I Concetti fondamentali
Vincolo di integrità referenziale:
 Si ha un vincolo di integrità referenziale quando uno o più attributi di
una relazione R1 compaiano come valori della chiave primaria in
un’altra relazione R2.
Cani
 Esempio:
Proprietati
ID_Cane
Nome
56
Fido
Setter
134
93
Birillo
Meticcio
21
Diana Cocker

Razza
Proprietario
IDProp
Nome
Cognome
356
134
Giuseppe
Verdi
356
356
Carlo
Felice
Nelle due tabelle abbiamo rispettato il vincolo di integrità in quanto
le tutte le tuple sono correlate tra di loro. Tutti i cani hanno un
proprietario
Master "Bio Info"
Reti e Basi di Dati Lezione 53
I Concetti fondamentali
Tipi di relazioni tra tabelle:
 Un database in genere è composto da diversi tipi di informazione
collegati tra loro.
 Per relazione tra tabelle si indica appunti una corrispondenza tra
dati di due tabelle.
 I tipi di relazioni sono:



uno a uno: relazioni tra elementi che hanno una corrispondenza univoca, ad
un elemento di una tabella ne corrisponde uno soltanto in un'altra e
viceversa;
uno a molti: sono relazioni che si stabiliscono tra un record di una tabella e
più records di un'altra tabella, ma non il contrario;
molti a molti: un record può essere relazionato a più di un record di un'altra
tabella e viceversa; questo tipo di relazione è normalmente definita tramite
una terza tabella "ponte" tra le due da relazionare.
Master "Bio Info"
Reti e Basi di Dati Lezione 53
I Concetti fondamentali
Tipi di relazioni tra tabelle:
 Per associazioni tra tabelle si indica una corrispondenza tra dati di due
tabelle. I tipi di associazioni (dette anche relazioni) che possiamo
avere sono:
 uno a uno: relazioni tra elementi che hanno una corrispondenza
univoca, ad un elemento di una tabella ne corrisponde uno soltanto in
un'altra e viceversa;
 uno a molti: sono relazioni che si stabiliscono tra un record di una
tabella e più records di un'altra tabella, ma non il contrario;
 molti a molti: un record può essere relazionato a più di un record di
un'altra tabella e viceversa; questo tipo di relazione è normalmente
definita tramite una terza tabella "ponte" tra le due da relazionare.
Master "Bio Info"
Reti e Basi di Dati Lezione 53
I Concetti fondamentali
Esempio di relazione uno a uno
Email
ID_pers
Indirizzo
ID
Nome
Cognome
1
4
[email protected]
4
Giuseppe
Verdi
2
8
[email protected]
6
Carlo
Felice
3
12
[email protected]
12
Filippo
Pace
ID_mail


Persone
Queste due tabelle hanno una relazione uno a uno, infatti per ogni
elemento di “Persone“ esiste uno ed un solo elemento di “Email” e
viceversa.
Nel caso di una relazione uno-a-uno tutto può essere rappresentato
con una singola tabella
Master "Bio Info"
ID
Nome
Cognome
Indirizzo
4
Giuseppe
Verdi
[email protected]
6
Carlo
Felice
[email protected]
12
Filippo
Pace
[email protected]
Reti e Basi di Dati Lezione 53
I Concetti fondamentali
Esempio di relazione uno a molti
Citta
Persone


ID
Nome
Cognome
citta
4
Giuseppe
Verdi
Palermo
1
Sicilia
Palermo
6
Carlo
Felice
Roma
2
Sicilia
Agrigento
12
Filippo
Pace
Palermo
3
Lazio
Roma
ID
Reg
Citta
Queste due tabelle hanno una relazione uno a molti, infatti per ogni
elemento di “Citta“ possono esistere più elemento di “EPersone”.
Nel caso di una relazione uno a molti nella tabella “molti” si toglie
l’attributo in comune e si sostituisce con la chiave primaria della
relazione “uno”
Master "Bio Info"
ID
Nome
Cognome
ID_Citta
4
Giuseppe
Verdi
1
6
Carlo
Felice
2
12
Filippo
Pace
1
Reti e Basi di Dati Lezione 53
I Concetti fondamentali
Esempio di relazione molti a molti
Autore
ID
Libri


Autore
ID
Titolo
Autore1
Autore2
1
Smith
4
Reti di Calcolatori
Smith
Carson
2
Carson
6
Mamma ho perso…
Lucarelli
Fini
3
Lucarelli
12
Il cavaliere
Smith
4
Fini
Le tabelle hanno una relazione molti a molti, ogni elemento di “Libri“
può avere lo stesso “Autore” che può avere scritto più “Libri”.
Nel caso di una relazione molti a molti si deve creare una tabella di
lookup che non contiene dati reali, ma solo le coppie in relazione
ID
Titolo
4
Reti di Calcolatori
6
Mamma ho perso…
12
Il cavaliere
Master "Bio Info"
ID
Autore
IDlibro
IDAutore
4
1
1
Smith
4
2
2
Carson
6
3
3
Lucarelli
6
4
4
Fini
12
1
Reti e Basi di Dati Lezione 53