SQL VOOR BIOLOGEN © 2011 M.L. Hekkelman CMBI Radboud UMC.

16
SQL VOOR BIOLOGEN © 2011 M.L. Hekkelman CMBI Radboud UMC

Transcript of SQL VOOR BIOLOGEN © 2011 M.L. Hekkelman CMBI Radboud UMC.

Page 1: SQL VOOR BIOLOGEN © 2011 M.L. Hekkelman CMBI Radboud UMC.

SQL VOOR BIOLOGEN© 2011 M.L. Hekkelman

CMBI Radboud UMC

Page 2: SQL VOOR BIOLOGEN © 2011 M.L. Hekkelman CMBI Radboud UMC.

Wat is SQL

SQL = Structured Query Language Bedacht in de jaren ’70 bij IBM als tool

voor managers Gebruikt in RDBMS

RDBMS = Relational Data Base Management System

Page 3: SQL VOOR BIOLOGEN © 2011 M.L. Hekkelman CMBI Radboud UMC.

Data opslag

X_aa01,C. Elegans,13.5

X_aa02,C. Elegans,12.4

X_aa03,S. Cerevisiae,113.9

X_aa04,S. Cerevisiae,93.6

Page 4: SQL VOOR BIOLOGEN © 2011 M.L. Hekkelman CMBI Radboud UMC.

Data opslag

Meting Organisme Resultaat

X_aa01 C. Elegans 13,5

X_aa02 C. Elegans 12,4

X_aa03 S. Cerevisiae 113,9

X_aa04 S. Cerevisiae 93,6

Page 5: SQL VOOR BIOLOGEN © 2011 M.L. Hekkelman CMBI Radboud UMC.

Data opslag

Tabel Experiment

Meting Tekst

Organisme Tekst

Resultaat Getal

Page 6: SQL VOOR BIOLOGEN © 2011 M.L. Hekkelman CMBI Radboud UMC.

Data opslag

Meting Organisme Resultaat

X_aa01 C. Elegans 13,5

X_aa02 C. Elegans 12,4

X_aa03 S. Cerevisiae 113,9

X_aa04 S. Cerevisiae 93,6

Redunante data!

Page 7: SQL VOOR BIOLOGEN © 2011 M.L. Hekkelman CMBI Radboud UMC.

Data opslag

Meting Organisme_nr

Resultaat

X_aa01 1 13,5

X_aa02 1 12,4

X_aa03 2 113,9

X_aa04 2 93,6

Nr Naam

1 C. Elegans

2 S. Cerevisiae

Tabel Experiment

Tabel Organisme

Page 8: SQL VOOR BIOLOGEN © 2011 M.L. Hekkelman CMBI Radboud UMC.

Data opslag

Tabel Experiment

Meting Tekst

Organisme_nr

Getal

Resultaat Getal

Tabel Organisme

Nr Getal

Naam Tekst

Page 9: SQL VOOR BIOLOGEN © 2011 M.L. Hekkelman CMBI Radboud UMC.

Data opslag

Tabel Experiment

Meting Tekst

Organisme_nr

Getal

Resultaat Getal

Tabel Organisme

Nr Getal

Naam Tekst

Meting is de unieke sleutel voor tabel Experiment

Nr is de unieke sleutel voor tabel Organisme

Meting en Nr noemen we Primary Keys Organisme_nr is een Foreign Key

Page 10: SQL VOOR BIOLOGEN © 2011 M.L. Hekkelman CMBI Radboud UMC.

SQL – De taal

SQL definitie bestaat uit drie onderdelen:

Data Definition Language (DDL)tabellen definiëren

Data Manipulation Language (DML)data toevoegen aan tabellen

Data Control Language (DCL)transacties

Page 11: SQL VOOR BIOLOGEN © 2011 M.L. Hekkelman CMBI Radboud UMC.

SQL – Data Definition Language CREATE TABLE Organisme (

nr INTEGER PRIMARY KEY,naam VARCHAR

);

CREATE TABLE Experiment (meting VARCHAR PRIMARY KEY,organisme_nr INTEGER REFERENCES

Organism(nr),resultaat NUMERIC(4,1)

);

Page 12: SQL VOOR BIOLOGEN © 2011 M.L. Hekkelman CMBI Radboud UMC.

SQL – Data Manipulation Language

INSERT INTO Organism (nr, naam) VALUES (1, 'C. Elegans',2, 'S. Cereviciae'

);

SELECT naam FROM Organism WHERE nr = 1;

DELETE FROM Organism WHERE nr = 1;

Page 13: SQL VOOR BIOLOGEN © 2011 M.L. Hekkelman CMBI Radboud UMC.

Ontsluiten van de data

Data in een relationele databank kan gebruikt worden in andere programma’s.

Taal Methode

Perl DBD/DBI

Java JDBC, Hibernate

Python DB-API

Diverse Windows applicaties

ODBC

Page 14: SQL VOOR BIOLOGEN © 2011 M.L. Hekkelman CMBI Radboud UMC.

Perl DBI

#!/usr/bin/perluse DBI;

my $dbh = DBI->connect("DBI:Pg:dbname=mydb","joe", "secret", {'RaiseError' => 1});

my $sth = $dbh->prepare("SELECT nr, naam FROM Organisme");$sth->execute();

while(my $ref = $sth->fetchrow_hashref()) { print "$ref->{'nr'} is een $ref->{'naam'}\n";}

$dbh->disconnect();

Page 15: SQL VOOR BIOLOGEN © 2011 M.L. Hekkelman CMBI Radboud UMC.

Alternatieven voor SQL

Excel sheets Makkelijk en bekend Riskant door automatische data interpretatie (datum) Beperkte hoeveelheid data

Kaartenbak programma’s als FileMaker Makkelijk in gebruik voor niet programmeurs Niet geschikt voor grote hoeveelheden data Niet echt bruikbaar vanuit een script

Full Text indexeringssoftware als MRS (en Lucene?) Snel voor zeer grote datasets Niet relationeel Geen echte datatypes, vooral gericht op tekst

Page 16: SQL VOOR BIOLOGEN © 2011 M.L. Hekkelman CMBI Radboud UMC.

Referenties

PostgreSQL Tutorial:http://www.postgresql.org/docs/9.0/static/tutorial.html

Perl DBI: http://www.perl.com/pub/1999/10/DBI.html