Top Banner
Basi di dati Alberto Policriti Dipartimento di Matematica e Informatica Istituto di Genomica Applicata 15 Maggio, 2018 A. Policriti Basi di dati 1/41
41

Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

Feb 14, 2019

Download

Documents

vothu
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

Basi di dati

Alberto Policriti

Dipartimento di Matematica e InformaticaIstituto di Genomica Applicata

15 Maggio, 2018

A. Policriti Basi di dati 1/41

Page 2: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

Informazioni

A. Policriti Basi di dati 2/41

Page 3: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

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

Page 4: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

Sistema informativo vs sistema informatico

http://www.gutenberg.org/

A. Policriti Basi di dati 4/41

Page 5: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

Base di dati

Collezione strutturata di dati. . .

di dimensioni arbitrariepersistentecondivisa

A. Policriti Basi di dati 5/41

Page 6: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

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

Page 7: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

File + programmi

A. Policriti Basi di dati 7/41

Page 8: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

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

Page 9: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

Tecnologia delle BdD

A. Policriti Basi di dati 9/41

Page 10: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

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

Page 11: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

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

Page 12: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

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

Page 13: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

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

Page 14: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

Modello entità-relazione

Volo Cittàcod

oraatterra a

decolla da

abitantiNome Paese

temp.

A. Policriti Basi di dati 14/41

Page 15: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

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

Page 16: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

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

Page 17: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

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

Page 18: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

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

Page 19: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

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

Page 20: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

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

Page 21: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

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

Page 22: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

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

Page 23: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

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

Page 24: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

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

Page 25: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

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

Page 26: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

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

Page 27: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

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

Page 28: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

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

Page 29: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

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

Page 30: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

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

Page 31: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

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

Page 32: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

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

Page 33: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

Ensembl Home Page

A. Policriti Basi di dati 33/41

Page 34: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

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

Page 35: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

Protein Data Bank Home Page

A. Policriti Basi di dati 35/41

Page 36: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

PDB Database: Reference

A. Policriti Basi di dati 36/41

Page 37: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

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

Page 38: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

Entrez Global Query

A. Policriti Basi di dati 38/41

Page 39: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

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

Page 40: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

A PubMed record

A. Policriti Basi di dati 40/41

Page 41: Basi di dati - Dipartimento di Matematica e Informaticausers.dimi.uniud.it/.../bioinformatica-triennale/Basi-di-Dati.pdf · Basi di dati Alberto Policriti Dipartimento di Matematica

A PubMed XML record

A. Policriti Basi di dati 41/41