bioinfo3 - lezione 081 create table est( gi int unsigned primary key auto_increment, acc char(8)not...
Post on 02-May-2015
225 Views
Preview:
TRANSCRIPT
BIOINFO3 - Lezione 08 11
create table est(
gi int unsigned primary key auto_increment,
acc char(8)not null,
nome varchar(20),
descrizione varchar(255),
sequenza text
);
insert into est values(‘’,’BU275994’,’ Cr_Emb_01B02_TEXF1’,’’,’ GGGGAATAATGCTC’);
BIOINFO3 - Lezione 08 22
QUERYQUERY
Ci interessano tutti i nomi degli enzimi ordinati alfabeticamente
Vogliamo vedere i nomi degli enzimi, ordinati per lunghezza del nome e, a parità di lunghezza, alfabeticamente
BIOINFO3 - Lezione 08 33
QUERYQUERY
Vorremmo vedere tutti i nomi degli enzimi e la corrispondente lunghezza della sequenza, ordinati per lunghezza decrescente e, a parità di lunghezza, in ordine alfabetico
BIOINFO3 - Lezione 08 44
QUERYQUERY
Ci interessa sapere il numero degli enzimi che tagliano in posizione 1
BIOINFO3 - Lezione 08 55
QUERYQUERY
Ci interessa sapere il nome e la posizione di taglio degli enzimi che tagliano fuori della sequenza
BIOINFO3 - Lezione 08 66
QUERYQUERY
Come si chiama l’enzima che riconosce la sequenza GGATCC
Ci interessano i nomi e le sequenze riconosciute degli enzimi che riconoscono sequenze contenenti basi indefinite, ordinati alfabeticamente secondo il nome
BIOINFO3 - Lezione 08 77
BACKUPBACKUP
Per sicurezza, vogliamo effettuare un dump del database
BIOINFO3 - Lezione 08 88
Tabella “orfconsensus”
Tabella “orfannotation”
BIOINFO3 - Lezione 08 99
Vogliamo selezionare il campo name dalla tabella “orfconsensus” e il campo description dalla tabella “orfannotation” relativo ai geni sul chromosoma 1 che vanno dalla base 100 alla base 5000
select orfconsensus.name, orfannotation.description, orfconsensus.chromStart, orfconsensus.chromEndfrom orfconsensus,orfannotation where orfconsensus.chromStart>=100 and orfconsensus.chromEnd<=5000 and orfconsensus.name=orfannotation.name and orfconsensus.chrom='chr1';
BIOINFO3 - Lezione 08 1010
Vogliamo selezionare il campo name, chromStat, chromEnd dalla tabella “orfconsensus” e il campo description dalla tabella “orfannotation” relativo ai primi 10 geni sul chromosoma 1 che hanno una descrizione che contiene la parola “transporter”, ordinati per posizione sul cromosoma.
select orfconsensus.name, orfannotation.description, orfconsensus.chromStart, orfconsensus.chromEnd from orfconsensus,orfannotationwhere orfannotation.description like '% transporter %' and orfconsensus.name=orfannotation.name and orfconsensus.chrom='chr1' order by orfconsensus.chromStart limit 10;
BIOINFO3 - Lezione 08 1111
REQUISITI UTENTEREQUISITI UTENTE
Parallelamente (ma spesso è la prima cosa da fare!) bisogna pensare allo schema esterno, cioè al progetto di una interfaccia che permetta agli utenti finali di interagire (tipicamente attraverso INTERNET) in modo intuitivo e semplice (non di certo attraverso SQL!) con il database e la tabella enzimir in particolare.
E’ importante che siano chiare quali saranno le esigenze degli utenti (REQUISITI UTENTE)
Nel nostro esempio, tipicamente un utente vorrà poter visualizzare i record del database impostando dei criteri di ricerca. Si potrebbe poi decidere che gli utenti possano anche cancellare o modificare i record oppure inserirne di nuovi
BIOINFO3 - Lezione 08 1212
SCHEMA ESTERNOSCHEMA ESTERNO
Query
Inserimento
Inserimento da file
ENZIMI RENZIMI R. nome
sequenza
posiz. sito
RICERCA
nome
sequenza
posiz. sito
INSERISCI
nome
sequenza
posiz. sito
MODIFICA
nome
sequenza
posiz. sito
CANCELLA
file
INSERISCI
TROVA
nome sequenza posiz. sito
Form per l’inserimento di un record
Form per l’inserimento di un file di
record
Form per la modifica di un record
Form per la cancellazione di un record
Pagina WEB
iniziale (MENU)
Form di ricerca
Tabella con i record selezionati
BIOINFO3 - Lezione 08 1313
SCHEMA ESTERNOSCHEMA ESTERNO•Pagina WEB iniziale (MENU)Funziona da menu, cioè permette all’utente di scegliere quale operazione eseguire tra quelle disponibili
•Form di ricerca
Permette di inserire in alcune caselle di input, corrispondenti ai vari campi, i valori richiesti per i record da visualizzare (o di selezionare i valori da un insieme già predisposto)
•Tabella con i record selezionati
Elenca, sotto forma tabellare, i record selezionati dalla query
•Form per la modifica di un record
Permette di modificare un record selezionato, sostituendo direttamente il valore dei campi
•Form per la cancellazione di un record
Permette di cancellare un record selezionato
•Form per l’inserimento di un record
Permette di inserire un record, digitando direttamente i valori dei campi nelle corrispondenti caselle
•Form per l’inserimento di un file di record
Permette di inserire più record, leggendoli da un file, il cui nome è inserito in una casella di input
BIOINFO3 - Lezione 08 1414
ESERCIZIO SQLESERCIZIO SQL
Supponiamo che esista una tabella di sequenze EST creata con il seguente comando
create table est(
gi int unsigned primary key,
acc char(8),
nome varchar(20),
descrizione varchar(255),
sequenza text
)
BIOINFO3 - Lezione 08 1515
ESERCIZI SQLESERCIZI SQL
Selezionare tutti i nomi delle est in ordine alfabetico
select nome from est order by nome
Selezionare le sequenze delle est che non contengono nucleotidi indefiniti (N)
select sequenza from est
where not (sequenza like ‘%N%’)
OPPURE
select sequenza from est where sequenza not like ‘%N%’
Selezionare tutte le sequenze est e la loro lunghezza ordinate per lunghezza crescente
select sequenza,length(sequenza) from est
order by length(sequenza)
BIOINFO3 - Lezione 08 1616
ESERCIZI SQLESERCIZI SQL
Selezionare gi e sequenza delle est che non contengono N e sono di lunghezza superiore a 200 basi, ordinate per gi
select gi, sequenza from est
where sequenza not like ‘%N%’
and length(sequenza)>200
order by gi
BIOINFO3 - Lezione 08 1717
LE PROSSIME LEZIONILE PROSSIME LEZIONI
Nelle prossime lezioni impareremo a progettare delle pagine web contenenti delle form in grado di ricevere degli input dall’utente
Impareremo successivamente anche a scrivere dei semplici programmi per interpretare gli input ricevuti, interagire con il database e restituire all’utente delle pagine web con i risultati opportunamente formattate
BIOINFO3 - Lezione 08 1818
RIEPILOGORIEPILOGO
•Progettazione di un database di enzimi di restrizione (creazione di un modello informatico di un aspetto ben preciso e limitato del mondo reale)
•Analisi
•Schema concettuale
•Schema logico
•Implementazione
•Schema esterno
•Query a volontà...
top related