Basi di dati - Dipartimento di Matematica e...

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

Transcript of Basi di dati - Dipartimento di Matematica e...

Basi di dati

Alberto Policriti

Dipartimento di Matematica e InformaticaIstituto di Genomica Applicata

15 Maggio, 2018

A. Policriti Basi di dati 1/41

Informazioni

A. Policriti Basi di dati 2/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

A. Policriti Basi di dati 7/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

A. Policriti Basi di dati 9/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

Ensembl Home Page

A. Policriti Basi di dati 33/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

Protein Data Bank Home Page

A. Policriti Basi di dati 35/41

PDB Database: Reference

A. Policriti Basi di dati 36/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

Entrez Global Query

A. Policriti Basi di dati 38/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

A PubMed record

A. Policriti Basi di dati 40/41

A PubMed XML record

A. Policriti Basi di dati 41/41