Bioinformatique BTV Stockage des données



Documents pareils
Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

Les bases de données

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Bases de données relationnelles

CREATION WEB DYNAMIQUE

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Information utiles. webpage : Google+ : digiusto/

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

PHP 4 PARTIE : BASE DE DONNEES

PHP 5. La base de données MySql. A. Belaïd 1

Bases de Données relationnelles et leurs systèmes de Gestion

Bases de données Outils de gestion

Introduction au Système de Gestion de Base de Données et aux Base de Données

Pratique et administration des systèmes

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Langage SQL : créer et interroger une base

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Le langage SQL (première partie) c Olivier Caron

Le langage SQL Rappels

1 Introduction et installation

Les bases de données Page 1 / 8

Le langage SQL pour Oracle - partie 1 : SQL comme LDD

Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)

Le Langage SQL version Oracle

16H Cours / 18H TD / 20H TP

SQL Historique

Bases de données élémentaires Maude Manouvrier

OpenPaaS Le réseau social d'entreprise

Dossier I Découverte de Base d Open Office

La problématique de la Préservation des Bases de Données. Olivier ROUCHON CINES Groupe PIN Jeudi 7 Octobre

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre

UNIVERSITE DE CONSTANTINE 1 FACULTE DES SIENCES DE LA TECHNOLOGIE DEPARTEMENT D ELECTRONIQUE 3 ème année LMD ELECTRONIQUE MEDICALE

Présentation du module Base de données spatio-temporelles

Bases de données Cours 1 : Généralités sur les bases de données

Mercredi 15 Janvier 2014

Olivier Mondet

CESI Bases de données

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

Cours Bases de données

Chaîne opératoire de réalisation d une base de données. ANF «Comment concevoir une base de données» (29-30/01/2015)

Les BASES de DONNEES dans WampServer

Bases de Données Avancées

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

Bases de données relationnelles : Introduction

Introduction aux bases de données: application en biologie

Pour les débutants. langage de définition des données

Vincent Augusto

NFA 008. Introduction à NoSQL et MongoDB 25/05/2013

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL

Séance 1 Introduction aux bases de données

Rappel sur les bases de données

PHP et les Bases de données - Généralités

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

I4 : Bases de Données

Installation d'un serveur FTP géré par une base de données MySQL

A QUOI SERVENT LES BASES DE DONNÉES?

INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES. 2. Les questions sont indépendantes les unes des autres.

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

Bases de données avancées Introduction

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Introduction aux Bases de Données

Bases de Données. Plan

Introduction aux Bases de Données

Introduction aux Bases de Données Relationnelles Conclusion - 1

Master I Génie Logiciel

Utiliser Access ou Excel pour gérer vos données

Bases de données cours 1

Objectifs du TP : Initiation à Access

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

PHP. PHP et bases de données

Principes de la conception des bases de données

SQL MAP. Etude d un logiciel SQL Injection

Formavie Différentes versions du format PDB Les champs dans les fichiers PDB Le champ «ATOM» Limites du format PDB...

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

Introduction aux bases de données Cours 1 : Généralités sur les bases de données

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

Application web de gestion de comptes en banques

TP Bases de données réparties

Introduction à MySQL (ou MySQL en 3 heures montre en main)

Historisation des données

Le Langage De Description De Données(LDD)

Bases de données - Modèle relationnel

SQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

INTRODUCTION : Données structurées et accès simplifié

Introduction à JDBC. Accès aux bases de données en Java

Jérôme FESSY. IUT de Paris 5. Base de Données. Cours Introductif. Base de Données

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

Création et Gestion des tables

Gestion des bases de données

Systèmes d information et bases de données (niveau 1)

Transcription:

1 / 64 Bioinformatique BTV Stockage des données Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer Juillet 2008

2 / 64 Plan Plan 1 Introduction 2 Format de stockage texte 3

3 / 64 Introduction Introduction Introduction

Introduction Volume d information colossal Bioinformatique Les volumes de données générés par la bioinformatique sont colossaux : comment stocker l information de manière non redondante comment extraire l information utile GenBank http://www.ncbi.nlm.nih.gov/genbank PDB www.pdb.org 4 / 64

5 / 64 Introduction GenBank GenBank Augmentation du volume des données : Année Paires de Base Entrées 1982 680.338 606 1987 10.961.380 10.913 1992 83.894.652 65.100 1997 786.898.138 1.192.505 2002 17.089.143.893 15.465.325 2007 71.292.211.453 67.218.344 2008 99.116.431.942 98.868.465 Référence : ftp://ftp.ncbi.nih.gov/genbank/gbrel.txt

6 / 64 Introduction GenBank - Paires de base 1e+11 GenBank 9e+10 8e+10 7e+10 6e+10 5e+10 4e+10 3e+10 2e+10 1e+10 0 1985 1990 1995 2000 2005

7 / 64 Introduction PDB - Nombre d entrées 1e+08 PDB 9e+07 8e+07 7e+07 6e+07 5e+07 4e+07 3e+07 2e+07 1e+07 0 1975 1980 1985 1990 1995 2000 2005

8 / 64 Format de stockage texte Stockage au format texte Stockage au format texte

Format de stockage texte Stockage au format texte Texte Il existe plusieurs formats de stockage du texte : non structuré structuré du type PDB format CSV (Comma Separated Values) format XML 9 / 64

10 / 64 Format de stockage texte Stockage au format PDB (1/2) HEADER OXIDOREDUCTASE 27-OCT-03 1UR5 TITLE STABILIZATION OF A TETRAMERIC MALATE DEHYDROGENASE BY TITLE 2 INTRODUCTION OF A DISULFIDE BRIDGE AT THE DIMER/DIMER TITLE 3 INTERFACE COMPND MOL_ID: 1; COMPND 2 MOLECULE: MALATE DEHYDROGENASE; COMPND 3 CHAIN: A, C; COMPND 4 EC: 1.1.1.37; COMPND 5 ENGINEERED: YES; COMPND 6 MUTATION: YES SOURCE MOL_ID: 1; SOURCE 2 ORGANISM_SCIENTIFIC: CHLOROFLEXUS AURANTIACUS; SOURCE 3 EXPRESSION_SYSTEM: ESCHERICHIA COLI; SOURCE 4 EXPRESSION_SYSTEM_STRAIN: DH5A KEYWDS OXIDOREDUCTASE, TRICARBOXYLIC ACID CYCLE, KEYWDS 2 MALATE DEHYDROGENASE EXPDTA X-RAY DIFFRACTION AUTHOR A.BJORK,B.DALHUS,D.MANTZILAS,V.G.H.EIJSINK,R.SIREVAG

11 / 64 Format de stockage texte Stockage au format PDB (2/2) SEQRES 1 A 309 MET ARG LYS LYS ILE SER ILE ILE GLY ALA GLY PHE VAL SEQRES 2 A 309 GLY SER THR THR ALA HIS TRP LEU ALA ALA LYS GLU LEU SEQRES 3 A 309 GLY ASP ILE VAL LEU LEU ASP ILE VAL GLU GLY VAL PRO SEQRES 4 A 309 GLN GLY LYS ALA LEU ASP LEU TYR GLU ALA SER PRO ILE SEQRES 5 A 309 GLU GLY PHE ASP VAL ARG VAL THR GLY THR ASN ASN TYR SEQRES 6 A 309 ALA ASP THR ALA ASN SER ASP VAL ILE VAL VAL THR SER SEQRES 7 A 309 GLY ALA PRO ARG LYS PRO GLY MET SER ARG GLU ASP LEU SEQRES 8 A 309 ILE LYS VAL ASN ALA ASP ILE THR ARG ALA CYS ILE SER... SEQRES 1 C 309 MET ARG LYS LYS ILE SER ILE ILE GLY ALA GLY PHE VAL SEQRES 2 C 309 GLY SER THR THR ALA HIS TRP LEU ALA ALA LYS GLU LEU SEQRES 3 C 309 GLY ASP ILE VAL LEU LEU ASP ILE VAL GLU GLY VAL PRO SEQRES 4 C 309 GLN GLY LYS ALA LEU ASP LEU TYR GLU ALA SER PRO ILE SEQRES 5 C 309 GLU GLY PHE ASP VAL ARG VAL THR GLY THR ASN ASN TYR SEQRES 6 C 309 ALA ASP THR ALA ASN SER ASP VAL ILE VAL VAL THR SER SEQRES 7 C 309 GLY ALA PRO ARG LYS PRO GLY MET SER ARG GLU ASP LEU SEQRES 8 C 309 ILE LYS VAL ASN ALA ASP ILE THR ARG ALA CYS ILE SER...

12 / 64 Format de stockage texte Stockage au format texte CSV CSV Utilisé pour le format d échange tableur (Excel, Calc) les colonnes sont séparées par des ; les chaînes de caractères sont entourées de "

13 / 64 Format de stockage texte Stockage au format texte CSV CSV Utilisé pour le format d échange tableur (Excel, Calc) les colonnes sont séparées par des ; les chaînes de caractères sont entourées de " format simple "malate dehydrogenase" ; "1ur5" ; 2 ; "A C" ;...

14 / 64 Format de stockage texte Stockage au format texte XML XML (extensible Markup Language) langage de balises très utilisé en informatique nombreux programmes / outils de manipulation visualisation sous navigateur on peut associer un format d échange (XSLT) ou de visualisation (XSL)

15 / 64 Format de stockage texte Exemple XML <protein> <id>1ur5</id> <name>malate dehydrogenase</name> <chains> <chain name="a" length="309"> <amino-acid code="m" value="met"/> <amino-acid code="r" value="arg"/> <amino-acid code="k" value="lys"/>... </chain> <chain name="c" length="309"> <amino-acid code="m" value="met"/> <amino-acid code="r" value="arg"/> <amino-acid code="k" value="lys"/>... </chain> </chains> </protein>

16 / 64 Base de données

17 / 64 Qu est ce qu une BD Préliminaire une base de données n est pas un fichier Word un fichier Excel un fichier texte

Qu est ce qu une BD Préliminaire une base de données n est pas BD un fichier Word un fichier Excel un fichier texte une base de données repose sur un SGBD (Système de Gestion de Base de Données) qui permet : le stockage de l information sous forme structurée et non redondante la récupération d information 18 / 64

19 / 64 Base de données définition Definition (Base de données) une base de données (BD ou BDD) est un ensemble structuré et organisé d informations les informations sont placées dans des fichiers, et organisées de manière à pouvoir être facilement triées, classées et modifiées grâce à un SGBD

20 / 64 Base de données définition Definition (Base de données) une base de données (BD ou BDD) est un ensemble structuré et organisé d informations les informations sont placées dans des fichiers, et organisées de manière à pouvoir être facilement triées, classées et modifiées grâce à un SGBD Types de BD hiérarchique réseau relationnel orienté objet...

SGBD Relationnels SGBD-R introduit en 1970 par Edgar Codd stockage sous forme de tables que l on peut mettre en relation algèbre pour l interrogation des données démarche cohérente entre : LDD (Langage de Description des Données) LMD (Langage de Manipulation des Données) 21 / 64

22 / 64 SGBD Relationnels SGBD-R actuels Oracle gros systèmes, PC (entreprises, administrations) Access PC Windows - Microsoft MySQL PC - Linux / Windows Note : il existe bien d autres SGDB-R : PostGreSQL, Interbase, Sybase, DBase

23 / 64 SGBD-R Organisation Organisation un SGBD-R est composé de bases de données

24 / 64 SGBD-R Organisation Organisation un SGBD-R est composé de bases de données une base de données est composée de tables

25 / 64 SGBD-R Organisation Organisation un SGBD-R est composé de bases de données une base de données est composée de tables une table est composée lignes (tuples)

26 / 64 SGBD-R Organisation Organisation un SGBD-R est composé de bases de données une base de données est composée de tables une table est composée lignes (tuples) une ligne est composée de colonnes (champs, attributs)

27 / 64 SGBD-R Organisation Organisation un SGBD-R est composé de bases de données une base de données est composée de tables une table est composée lignes (tuples) une ligne est composée de colonnes (champs, attributs) le langage utilisé est SQL (Structured Query Language)

28 / 64 Exemple : table Exemple Table Personne champs id prénom nom ville ligne 1 1 jean-michel richer dijon ligne 2 25 emmanuel jaspard paris ligne 3 6 gilles hunault angers colonne 1 colonne 2 colonne 3 colonne 4

29 / 64 Notion d index sur une table Definition (Index) champ (ou plusieurs champs) qui permet d accéder rapidement à l information augmente la taille de la BD

30 / 64 Notion d index sur une table Definition (Index) champ (ou plusieurs champs) qui permet d accéder rapidement à l information augmente la taille de la BD Exemple recherche des personnes qui sont nées à angers : pas d index : recherche séquentielle index sur le champ ville : accès direct

31 / 64 Notion de clé primaire sur une table Definition (Clé primaire) champ (ou plusieurs champs) qui permet d identifier de manière unique une ligne de la table (enregistrement)

32 / 64 Notion de clé primaire sur une table Definition (Clé primaire) champ (ou plusieurs champs) qui permet d identifier de manière unique une ligne de la table (enregistrement) Exemple pour une personne : numéro de sécurité sociale clé générée automatiquement

Elaboration d une BD Relationnelle Elaboration d une BD Relationnelle On passe par 3 phases : création du modèle conceptuel des données (MCD) 33 / 64

Elaboration d une BD Relationnelle Elaboration d une BD Relationnelle On passe par 3 phases : création du modèle conceptuel des données (MCD) traduction du MCD en modèle logique (MLD) 34 / 64

Elaboration d une BD Relationnelle Elaboration d une BD Relationnelle On passe par 3 phases : création du modèle conceptuel des données (MCD) traduction du MCD en modèle logique (MLD) implantation de la base 35 / 64

36 / 64 Modèle Conceptuel Definition (Modèle Conceptuel des Données) il décrit l organisation initiale des données sous forme d entités et de relations

37 / 64 Entité Definition (Entité) une entité est un être ou un objet (concret ou abstrait) qui peut être distingué d un autre objet une entité est décrite par des attributs (champs)

38 / 64 Entité Definition (Entité) une entité est un être ou un objet (concret ou abstrait) qui peut être distingué d un autre objet Exemple une entité est décrite par des attributs (champs) protéine (numéro d accession, séquence, bibliographie) classe / type (transferase, ligase, toxine,...) taxonomie (homo sapiens, escherichia coli,...)

39 / 64 Relation Definition (Relation) une relation (ou association) exprime une interaction entre une ou plusieurs entités. une relation peut dans certains cas posséder des attributs Proteine 1..1 comporte 1..n Chaine une protéine comporte 1 à plusieurs chaînes une chaîne appartient à 1 protéine

40 / 64 Cardinalité d une Relation Definition (Cardinalité d une relation) la cardinalité d une relation permet de préciser les relations d interdépendance entre les entités : 0..1 : 0 ou 1 1..1 : exactement 1 0..n : 0 à plusieurs 1..n : 1 à plusieurs

41 / 64 Exemple : commande Client 1..1 1..n Produit numero client nom prenom ville Passe quantite Contient numero produit libelle descriptif prix unitaire quantite en stock 1..n Commande 1..n date prix total

Modèle logique Passer du MCD au MLD les entités sont traduites en tables en fonction des cardinalités les tables sont modifiées ou de nouvelles tables sont crées Client Commande Produit cl_id cl_nom cl_prenom cl_ville co_id co_date co_prix_total pr_id pr_libelle pr_qte_stock pr_prix_unit 42 / 64

43 / 64 Modèle logique Traduction des relations 1..1 1..n L identifiant de l entité de cardinalité 1..1 est ajouté aux attributs de l entité de cardinalité 1..n Commande co_id co_date co_prix_total co_cl_id

44 / 64 Modèle logique Traduction des relations 1..n 1..n il faut créer une nouvelle table qui contient les clés primaires des deux tables en relation. commprod cp_id cp_co_id cp_pr_id

Modèle logique final client commande commprod produit cl_id co_id cp_id pr_id cl_nom co_date cp_co_id pr_libelle cl_prenom cl_ville co_prix_total co_cl_id cp_pr_id cp_qte pr_qte_stock pr_prix_unit 45 / 64

46 / 64 Implantation du modèle logique MySQL sous Linux : installer ler serveur MySQL sous Windows : installer EasyPHP ou LAMP

47 / 64 Implantation du modèle logique MySQL sous Linux : installer ler serveur MySQL sous Windows : installer EasyPHP ou LAMP PhpMyAdmin Si on installe un serveur web, on peut utiliser phpmyadmin qui est une interface web capable de gérer MySQL.

Connexion à MySQL MySQL en ligne de commande mysql -h richer -u bioinfo -p -h (host) nom ou adresse du serveur -u (user) nom de l utilisateur -h (password) saisie du mot de passe 48 / 64

49 / 64 Utilisation de MySQL Sélection d une BD mysql> use test ; liste des tables d une BD mysql> show tables ;

50 / 64 Le langage SQL Definition (Structured Query Language) SQL est un langage de manipulation et d interrogation des bases de données il est utilisé pour la création de la base mais aussi pour l interrogation des données

Le langage SQL SQL créer une base : CREATE créer une table : CREATE insérer un enregistrement : INSERT modifier un enregistrement : UPDATE supprimer un enregistrement : DELETE interroger la base : SELECT 51 / 64

52 / 64 Le langage SQL Création d une table 1 CREATE TABLE IF NOT EXISTS client ( 2 cl id int(11) NOT NULL auto increment, 3 cl nom varchar(25) NOT NULL, 4 cl prenom varchar(25) NOT NULL, 5 cl ville varchar(25) NOT NULL, 6 PRIMARY KEY ( cl id ), 7 KEY cl nom ( cl nom, cl ville ) 8 ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO INCREMENT=1 ;

53 / 64 Le langage SQL en pratique Afficher les noms des clients 1 SELECT cl nom 2 FROM clients ;

54 / 64 Le langage SQL en pratique Afficher les noms des clients par ordre alphabétique croissant 1 SELECT cl nom 2 FROM clients 3 ORDER BY cl nom ;

55 / 64 Le langage SQL en pratique Afficher les noms des clients par ordre alphabétique décroissant 1 SELECT cl nom 2 FROM client 3 ORDER BY cl nom DESC ; 4

56 / 64 Le langage SQL en pratique Afficher les commandes du client 2 1 SELECT * 2 FROM commande 3 WHERE co cl id=2 ;

57 / 64 Le langage SQL en pratique Montant total des commandes du client 2 1 SELECT SUM(co prix total) 2 FROM commande 3 WHERE co cl id=2 ;

Exercices Question 1 afficher le numéro des commandes de plus de 200 Euros. 58 / 64

Exercices Question 1 afficher le numéro des commandes de plus de 200 Euros. Requête 1 SELECT co id 2 FROM commande 3 WHERE co prix total > 200 ; 59 / 64

60 / 64 Exercices Question 2 afficher les produits achetés par le client Jean Tube

61 / 64 Exercices Question 2 afficher les produits achetés par le client Jean Tube Requête 1 SELECT pr libelle 2 FROM produit,client,commande,commprod 3 WHERE cl prenom= Jean AND cl nom= Tube AND 4 co cl id=cl id AND 5 cp co id=co id AND 6 cp pr id=pr id ;

62 / 64 Exercices Question 3 afficher les produits achetés par le client Jean Tube de manière à n afficher qu une seule fois un produit qui apparaît plusieurs fois

63 / 64 Exercices Question 3 afficher les produits achetés par le client Jean Tube de manière à n afficher qu une seule fois un produit qui apparaît plusieurs fois Requête 1 SELECT DISTINCT pr libelle 2 FROM produit,client,commande,commprod 3 WHERE cl prenom= Jean AND cl nom= Tube AND 4 co cl id=cl id AND 5 cp co id=co id AND 6 cp pr id=pr id ;

64 / 64 Application Application