basi di dati - dipartimento di matematica e...
Post on 14-Feb-2019
217 Views
Preview:
TRANSCRIPT
Basi di dati
Alberto Policriti
Dipartimento di Matematica e InformaticaIstituto di Genomica Applicata
15 Maggio, 2018
A. Policriti Basi di dati 1/41
Attività di un’organizzazione
Raccolta delle informazioniRappresentazione delle informazioni (dati)Organizzazione dei datiConservazione dei datiReperimento/interrogazione dei dati
. . . per il perseguimento degli scopi dell’organizzazione
Sistema informativo
A. Policriti Basi di dati 3/41
Sistema informativo vs sistema informatico
http://www.gutenberg.org/
A. Policriti Basi di dati 4/41
Base di dati
Collezione strutturata di dati. . .
di dimensioni arbitrariepersistentecondivisa
A. Policriti Basi di dati 5/41
DBMS
DataBase Management System (Sistema di gestione di basi didati)
strumento software (collezione di programmi)per la creazione e manipolazione di basi di datidi qualunque dimensione e per qualunque scopo
Esempi:OraclePostgreSQLMySQL. . .
A. Policriti Basi di dati 6/41
File + programmi: problemi
Ridondanza e inconsistenza dei datiDifficoltà di accesso ai dati (programmi ad hoc)Disomogeneità dei datiAnomalie causate da accessi concorrenti ai datiProblemi di sicurezza/protezione dei datiProblemi di integrità dei dati
A. Policriti Basi di dati 8/41
Tecnologia delle BdD: vantaggi
Integrazione di tutta l’informazionePersistenzaAccesso concorrenteIndipendenza dei dati (dalle applicazioni)Viste parziali sui datiIntegrità dei datiAffidabilitàSicurezzaEfficienzaEfficacia
A. Policriti Basi di dati 10/41
Modello dei dati
Collezione di concetti e regole per la descrizione dei dati, dellerelazioni tra i dati e dei vincoli di consistenza sui dati.
Proprietà statiche:oggetti di informazione, entitàproprietà degli oggetti (attributi)relazioni tra gli oggettivincoli su oggetti e relazioni
Proprietà dinamiche:operazioni su oggetti e relazionirelazioni tra operazioni (transazioni)vincoli sull’evoluzione degli oggetti e delle relazioni
A. Policriti Basi di dati 11/41
Modelli dei dati
Modelli dei dati primitivi (ma vedi i ‚“flat file”. . . )basati sulla gestione diretta di fileOperazioni sui dati ≡ operazioni sui file
Modelli dei dati classiciFondamento dei DBMS attualiObiettivo: indipendenza dei datiModello relazionale
Modelli dei dati semanticiStrumenti per la progettazioneModello entità-relazione (ER)
A. Policriti Basi di dati 12/41
Modello gerarchico
Strutture dati: segmento e alberooggetto ↔ nodo; relazione tra oggetti ↔ arcoRappresentazione diretta di relazioni “uno a molti”
Sequenza
BLAST Annot.
GenomaDatabase = GenomiSegmento = Genoma, padre = null,Campo = specie, . . .Campo = genere, . . .Campo = dimensione, . . .Segmento = Sequenza, padre = Genoma,Campo = accession, . . .etc. . .
Linguaggi di interrogazione “navigazionali”Cf. XML
A. Policriti Basi di dati 13/41
Modello entità-relazione
Volo Cittàcod
oraatterra a
decolla da
abitantiNome Paese
temp.
A. Policriti Basi di dati 14/41
Il modello relazionale
Storia:Proposto da E. Codd nel 1970Acquista popolarità negli anni OttantaAttualmente, il modello più diffuso
Caratteristiche:Semplicità: l’utente percepisce la base di dati come uninsieme di tabelleLe relazioni tra le tabelle sono implicitamente rappresentatedai valoriLinguaggi di manipolazione dichiarativi
specificano che risultato ottenere, non le modalità perottenere il risultato)
Prospettiva algebrica: insieme di strutture dati e operatoriProspettiva logica: SQL
A. Policriti Basi di dati 15/41
Schema di relazione
R(A1, . . . , An)
Nome di relazione: RAttributi: A1, . . . , An
A ciascun Ai è associato un dominio.
Lo schema di una base di dati è un insieme di schemi di relazione
A. Policriti Basi di dati 16/41
Esempio
Genoma(organismo, dimensione)Sequenza(accession, seq_grezza, specie)Blast(database, data, risultato, seq_id)
Rappresentazione tabulare:
Genomaorganismo dimensione
Sequenzaaccession seq_grezza specie
Blastdb data risultato seq_id
A. Policriti Basi di dati 17/41
Istanza di base di dati
Genomaorganismo dimensione
Homo Sapiens 3000Arabidopsis Thaliana 100
Sequenzaaccession seq_grezza specie
1234 ATGCT. . . Homo Sapiens567 GTCCGT. . . Arabidopsis890 TGGGGA. . . Homo Sapiens
Blastdb data risultato seq_id
nr 12-03-05 . . . 567
A. Policriti Basi di dati 18/41
Relazioni e tabelle
Concetto relazionale:relazioneattributogradotuplacardinalità
Equivalente informale:tabellacolonnanumero di colonneriganumero di righe
Differenze tra tabelle e relazioni:in una tabella le colonne e le righe sono ordinate
nelle relazioni non sussistono tali ordinamentiin una tabella possono esistere righe ripetute
una relazione è un insieme, pertanto non ci possono esseretuple ripetute
A. Policriti Basi di dati 19/41
Mappe biologiche: schema
!"#$
!%&' (
)!"*#+,)-./
01,2),)
34%"+4)
054626"7
82+2))
94+4)#)
3"%*+:"
3"%*+:4
3#%#+6
3"%"+*
9*+4)))
9*+4"#)
;%"*44
36%4+4"
<4)+4#))
36%:+6
=")+47)
;24"+4
34%4+"
34%7+,
;3=>?"+4
34:+7))
8#+7))
;%@A"#)4
>=;%6)
;%@A""7:
;+-BCDEFGHCI
;+-BCDEFGHCI-!-;>;"
;B-JGKL&'C-@MFNO-555-;>;"
G P % 9 <
9C&ENMC-QROCIS
T9J;
@CKCMG.UU=-;MG/CM
%CKN-UR/VFDIS
G %&O-UCE-5KWF
P %&O-BCE&GDI
% %&EMGX-YGCZ
? BCDCEC-%&O
9 9DGO-%&O
< <CZ-%&O-YGCZ
A%&O-[)+4:
Mappa(id, specie, nome, tipo, unità, start,stop)Marker(id, mappa, tipo, nome, start, stop)
A. Policriti Basi di dati 20/41
Mappe: un’istanza
Mappaid specie nome tipo unità start stop
1 F1 LG I gen cM 0 70.62 F1 LG II gen cM 0 122.43 D2 Chr IV seq bp 0 1437893
Markerid mappa tipo nome start stop
0 1 SSR PM1234 36.8 null1 1 SSR PM3245 18.4 null2 3 SSR PM334 748876 7489673 1 AFLP E5M1.3 8.3 null
A. Policriti Basi di dati 21/41
Vincoli d’integrità
Proprietà, associate a uno schema di base di dati, che devonoessere soddisfatte da tutte le istanze che rappresentanoinformazioni corrette della base di dati.
Si specificano insieme allo schema della base di datiil DBMS verifica la consistenza dei dati rispetto ai vincoliVincoli intrarelazionali
coinvolgono una o più tuple di una stessa relazioneVincoli interrelazionali
coinvolgono tuple di relazioni diverse
A. Policriti Basi di dati 22/41
Esempio
Mappa(id, specie, nome, tipo, u, start, stop)Marker(id, mappa, tipo, nome, start, stop)
I valori di start e stop devono essere non negativiNon ci possono essere id ripetutiIl valore di mappa in Marker deve corrispondere a qualchemappaI nomi dei marcatori devono essere sempre noti. . .
A. Policriti Basi di dati 23/41
Chiavi
Tupla ≡ entità del mondo realeIdentificabile mediante un sottoinsieme di valori
univocisempre noti
Chiavi: sottoinsiemi minimali con tali caratteristicheChiave primaria: scelta dal progettista tra le chiavicandidate
A. Policriti Basi di dati 24/41
Esempio
Esame(matricola, corso, data, voto, lode)
Quali sono le chiavi? L’unica è {matricola, corso}Visita(data, ora, stanza, medico, paziente, referto)
Quali sono le chiavi?1 {data, ora, stanza}
A una data ora di un certo giorno ci può essere solo unavisita per stanza
2 {data, ora,medico}A una data ora di un certo giorno un medico non può farepiù di una visita
3 {data, ora, paziente}A una data ora di un certo giorno un paziente non puòessere sottoposto a più visite
A. Policriti Basi di dati 25/41
Integrità referenziale
I valori di uno o più attributi di una relazione devono occorrerein attributi corrispondenti di un’altra relazione (e.g., specie →organismo)
Chiave esterna
Genomaorganismo dimensione
Homo Sapiens 3000Arabidopsis T. 100
Sequenzaaccession seq_grezza specie
1234 ATGCT. . . Homo Sapiens1235 GTCCGT. . . Arabidopsis T.
A. Policriti Basi di dati 26/41
Esempio
Corsocodice nome CFU periodo
BDD Basi di dati 5 IINF Informatica 5 IIIING Inglese 2 III
Studentematr nome
728 Glauco928 Jone
Iscrizionecorso matr
BDD 728BDD 928ING 728INF 928
A. Policriti Basi di dati 27/41
Notazione
R(A1, A2, A3, A4)UNI: {A2, A3}
S(B1, B2, B3, B4, B5)CE: (B3, B4)→ R(A2, A3)VNN: {B5}
La chiave primaria è sottolineataCE: chiave esternaVNN: vincolo di valor non nulloUNI: vincolo d’unicità
A. Policriti Basi di dati 28/41
Basi di dati: raffinamento della definizione
Uno schema di base di dati è composto daun insieme di schemi di relazione con nomi diversile definizioni delle chiavi primarie di ciascuno schemaun insieme di ulteriori vincoli d’integrità
Ogni istanza valida della base di dati deve soddisfare tutti ivincoli d’integrità.
A. Policriti Basi di dati 29/41
Esercizi
1 Definire uno schema relazionale completo per rappresentarel’informazione relativa ai libri letti dai soci di unabiblioteca.
2 Definire uno schema relazionale completo per rappresentarel’informazione relativa ai voli internazionali di unacompagnia aerea. Ciascun volo è identificato da un codice eda una data, e decolla e atterra in determinati aeroporti(che devono essere sempre noti), che si trovano indeterminate città, di cui interessa sapere il numero diabitanti. Si tenga conto che:
una città può avere diversi aeroporti;città di stati diversi possono avere lo stesso nome.
A. Policriti Basi di dati 30/41
Beh, perché non usare un foglio elettronico?
File + programmi?!Assenza di linguaggi d’interrogazione ≡ limitate possibilitàdi estrarre le informazioni desiderateInconsistenze, assenza di condivisione e concorrenza, etc. . .
A. Policriti Basi di dati 31/41
Ensembl
Joint project to develop a software system which produces andmaintains automatic annotation on selected eukaryotic genomes.
Many databases, even for the same organismAll data sets in the Ensembl system are stored in relationaldatabases (MySQL)Data can be obtained by FTP(ftp://ftp.ensembl.org/pub/)Data can be queried directly (the database schema ispublic)
mysql -u anonymous -h ensembldb.ensembl.org
A. Policriti Basi di dati 32/41
Protein Data Bank
PDB (http://www.rcsb.org/pdb/home/home.do) provides avariety of tools and resources for studying the structures ofbiological macromolecules and their relationships to sequence,function, and disease.
Single database (MySQL): 461 tablesThe database schema is public, but the db can be queriedonly through the web interfaceComplex queries through ‚“Advanced search”Experimental and theoretical models are kept distinctIntegrates also data from Swiss-Prot, Genbank, PubMed.
A. Policriti Basi di dati 34/41
Entrez
Entrez (http://www.ncbi.nlm.nih.gov/Entrez/) integratesthe scientific literatureDNA and protein sequence databases3D protein structure and protein domain datapopulation study datasetsexpression dataassemblies of complete genomestaxonomic information
It is a retrieval system designed for searching its linkeddatabases.
A. Policriti Basi di dati 37/41
PubMed
PubMed is a service of the U.S. National Library of Medicinethat includes over 17 million citations from MEDLINE and otherlife science journals for biomedical articles back to the 1950s.PubMed Central is the U.S. National Institutes of Health (NIH)free digital archive of biomedical and life sciences journalliterature.
One of the literature databases of EntrezNumber of records in PubMed: 17.505.726 (8/11/07, 12:40)Search can be done by author, title, journalMakes extensive use of XML technology
A. Policriti Basi di dati 39/41
top related