Basi di dati - Dipartimento di Matematica e...

of 41/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
  • date post

    14-Feb-2019
  • Category

    Documents

  • view

    215
  • download

    0

Embed Size (px)

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 unorganizzazione

Raccolta delle informazioniRappresentazione delle informazioni (dati)Organizzazione dei datiConservazione dei datiReperimento/interrogazione dei dati

. . . per il perseguimento degli scopi dellorganizzazione

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

http://www.gutenberg.org/

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 linformazionePersistenzaAccesso concorrenteIndipendenza dei dati (dalle applicazioni)Viste parziali sui datiIntegrit dei datiAffidabilitSicurezzaEfficienzaEfficacia

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, entitpropriet degli oggetti (attributi)relazioni tra gli oggettivincoli su oggetti e relazioni

Propriet dinamiche:operazioni su oggetti e relazionirelazioni tra operazioni (transazioni)vincoli sullevoluzione 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 navigazionaliCf. XML

A. Policriti Basi di dati 13/41

Modello entit-relazione

Volo Cittcod

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: lutente 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, . . . , AnA 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"

Mappe: unistanza

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 dintegrit

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? Lunica {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 puessere 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 unaltra 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 dunicit

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 dintegrit

Ogni istanza valida della base di dati deve soddisfare tutti ivincoli dintegrit.

A. Policriti Basi di dati 29/41

Esercizi

1 Definire uno schema relazionale completo per rappresentarelinformazione relativa ai libri letti dai soci di unabiblioteca.

2 Definire uno schema relazionale completo per rappresentarelinformazione 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 dinterrogazione limitate possibilitdi 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

ftp://ftp.ensembl.org/pub/

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 searchExperimental and theoretical models are kept distinctIntegrates also data from Swiss-Prot, Genbank, PubMed.

A. Policriti Basi di dati 34/41

http://www.rcsb.org/pdb/home/home.do

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

http://www.ncbi.nlm.nih.gov/Entrez/

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