TP BIOINFORMATIQUE Bases de Données relationnelles



Documents pareils
COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

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

CREATION WEB DYNAMIQUE

Bases de données relationnelles

I. MySQL : Serveur et SGBD

Olivier Mondet

Bibliographie Introduction à la bioinformatique

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

TP3 : Creation de tables 1 seance

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

1. Qu'est-ce que SQL? La maintenance des bases de données Les manipulations des bases de données... 5

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

Installation et Mise en œuvre de MySQL

Système de Gestion de Bases de Données Relationnelles. MySQL. Youssef CHAHIR

Devoir Data WareHouse

Le Langage De Description De Données(LDD)

Manuel de référence réduit de mysql (version 4.1.1) + "The MySQL C API" par Paul Dubois Licence Professionnelle Réseaux et Télécommunications Option

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

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

Encryptions, compression et partitionnement des données

Création et Gestion des tables

Partie I : Créer la base de données. Année universitaire 2008/2009 Master 1 SIIO Projet Introduction au Décisionnel, Oracle

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

Mysql avec EasyPhp. 1 er mars 2006

SQL Historique

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

MySQL - Réplication. Fichiers de relais et de statut de la réplication. Mise en place de la réplication

14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble.

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

Cours: Administration d'une Base de Données

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO S2-IO2 Bases de données: Jointures, Transactions

Les BASES de DONNEES dans WampServer

La base de données dans ArtemiS SUITE

Bases de SQL. Hacks 1-6 CHAPITRE UN

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

Historisation des données

1. Base de données SQLite

1 Introduction et installation

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

PHP. Bertrand Estellon. 26 avril Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril / 214

Le Langage SQL version Oracle

Modélisation et Gestion des bases de données avec mysql workbench

Bible MySQL! La première version de MySQL est apparue en Cette première version est créée pour un usage personnel à partir de msql.

Objectifs du TP : Initiation à Access

FileMaker 13. Guide de référence SQL

OpenPaaS Le réseau social d'entreprise

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

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

Les déclencheurs. Version 1.0. Grégory CASANOVA

Mysql. Les requêtes préparées Prepared statements

TP Contraintes - Triggers

Compétences Business Objects

Langage SQL : créer et interroger une base

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

IFT3030 Base de données. Chapitre 1 Introduction

Cours Bases de données 2ème année IUT

Support de cours. Introduction à SQL et MySQL. 2003, Sébastien Namèche

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

FORMATION A L UTILISATION DE PMB QUELQUES NOTIONS DE SQL

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

BTS/CGO P10 SYSTEME INFORMATION Année

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

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

MENER UNE RECHERCHE D INFORMATION

TD : Requêtes SQL (BDR.TD2-1) INSA 3IF

Notes de cours : bases de données distribuées et repliquées

BIRT (Business Intelligence and Reporting Tools)

Application web de gestion de comptes en banques

Bases de données Outils de gestion

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

Exploiter les statistiques d utilisation de SQL Server 2008 R2 Reporting Services

Auto-évaluation Oracle: cours de base

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

I4 : Bases de Données

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

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

Administration des bases de données. Jean-Yves Antoine

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

MS SQL Express 2005 Sauvegarde des données

Sommaire. I.1 : Alimentation à partir d un fichier Access (.mdb)...2

Synchronisation Mysql (Replication)

Gestion des utilisateurs et de leurs droits

DEVAKI NEXTOBJET PRESENTATION. Devaki Nextobjects est un projet sous license GNU/Public.

TP Bases de données réparties

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

Bases de Données Avancées

laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

Table des matières 1 DISASTER RECOVERY SAUVEGARDER RESTAURER BASE DE DONNÉS "SUSPECT"... 28

Configurer la supervision pour une base MS SQL Server Viadéis Services

Guide d installation de Gael

MODE OPERATOIRE OPENOFFICE BASE

Plan. Bases de Données. Sources des transparents. Bases de SQL. L3 Info. Chapitre 4 : SQL LDD Le langage de manipulation de données : LMD

Laboratoires de bases de données. Laboratoire n 6. Programmation SQL. par Danièle BAYERS et Louis SWINNEN

Partie 0 : Gestion des tablespace et des utilisateurs... 3

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

Transcription:

TP BIOINFORMATIQUE Bases de Données relationnelles Objectif : Construire et utiliser une base de données relationnelle simple. Déroulement : Ce TP se déroulera sur 2 séances. 1. Modélisation simplifiée sous forme de tables de la structure de la base de données. 2. Création des tables et stockage des données. 3. Mises à jour et requêtes dans la base de données. Documents utiles : - Manuel d utilisation (si nécessaire) de MySQL - en anglais, avec recherche par mot-clés http://www.mysql.org/doc/ Modélisation sous forme de tables de la structure des entrées de SWISS-2DPAGE A partir de l analyse des entrées P11604 et P04406 de SWISS-2DPAGE, déterminer la meilleure décomposition pour structurer la base de données SWISS-2DPAGE en tables. Préliminaire http://world-2dpage.expasy.org/swiss-2dpage/ Création des tables et stockage des données TOUTES les lignes de commandes MySQL se terminent par un point-virgule. Les noms de commande et mot-clés de MySQL ne sont pas sensibles à la casse, mais pour les différencier dans la table qui suit, ils sont en majuscules. En revanche, les noms de bases de données, de tables, de colonnes des tables sont sensibles à la casse. Les instructions entre '[' et ']' sont optionnelles. Sélectionner une base de données, en connaître la structure,

Créer une table, insérer et modifier des données Commande SHOW DATABASES USE nombase SHOW TABLES DESC[RIBE] nomtable CREATE TABLE nomtable (col1 TYPE1, col2 TYPE2,...) INSERT INTO nomtable [(col1, col2,...)] VALUES ('valeur1', 'valeur2',...) LOAD DATA [LOCAL] INFILE 'chemin/complet/nomfichier.txt' INTO TABLE nomtable [FIELDS [TERMINATED BY '\t'] [[OPTIONALLY] ENCLOSED BY''] [ESCAPED BY '\\' ]] [LINES TERMINATED BY '\n'] [IGNORE number LINES] DROP TABLE nomtable DELETE FROM nomtable [WHERE UPDATE nomtable SET col1='valeur1',col2='valeur2',... [WHERE SELECT * FROM nomtable [WHERE Signification Liste des bases de données disponibles sélectionne la base de données 'nombase' Liste des tables disponibles pour la base sélectionnée Décrit la table 'nomtable' (donne les noms de colonnes, type, valeur par défaut...) créé la table 'nomtable', avec des colonnes col1, col2,... de type respectif TYPE1, TYPE2,... Principaux types que l'on utilisera - INTEGER, FLOAT, CHAR(n) avec 1<=n<=255, DATE (tous les types disponibles) Insère un enregistrement dans la table 'nomtable' avec col1='valeur1', col2='valeur2',... Remarque: si l'on ne précise pas les colonnes à initialiser après le nom de la table, toutes les valeurs des colonnes doivent être données, dans l'ordre établit par la commande CREATE. Insère les données du fichier texte 'chemin/complet/nomfichier.txt' dans la table 'nomtable'. Remarque - le fichier texte contient un enregistrement par ligne, les colonnes étant séparées par des tabulations supprime la table 'nomtable' et tout son contenu supprime de la table 'nomtable' tous les enregistrements [respectivement: ceux satisfaisant 'condition'] mise à jour de la table 'nomtable' avec les nouvelles valeurs col1='valeur1', col2='valeur2',... pour tous les enregistrements [Respectivement: pour ceux satisfaisant 'condition'] affiche toutes les lignes de la table 'nomtable' [respectivement: celles satisfaisant 'condition']

Pour MySQL en ligne de commande seulement (ceux qui l ont installé sur leurs machines), les autres sur c:\program Files\easyphp\mysql\data\ : Sur votre machine, explorer les répertoires '/mysql/data' : '/mysql/data' contient un sous-répertoire pour chaque base de données du serveur. Chacun de ces sous-répertoires contient pour chaque table de la base de données, 3 fichiers binaires: 1. 'nomtable.frm': définition de la table 2. 'nomtable.myd': données de la table 3. 'nomtable.myi': index de la table Getting Started MySQL via EasyPHP : Réaliser les opérations suivantes MySQL en ligne ou bien via l interface EasyPHP : 1. Créer une base de données 'nombase' 2. Lister les tables de votre base de données 3. Créer la table 'espece', ayant 3 colonnes: code (5 caractères), organisme (50 caractères), classification (255 caractères) 4. Vérifier la structure de cette table 5. Insérer la ligne suivante dans la table 'espece': HUMAN Homo sapiens (Human) Eukaryota; Metazoa; Chordata;Craniata; Vertebrata; Mammalia; Eutheria; Primates; Catarrhini;Hominidae; Homo 6. Vérifier que le contenu de la table 'espece' est bien conforme à ce que vous attendez. 7. Créer un fichier 'espece.txt' (dans votre répertoire personnel) avec le reste des données de la table 'espece' (séparer les colonnes par des tabulations) : MOUSE Mus musculus (Mouse) Eukaryota;Metazoa;Chordata;Craniata;Vertebrata; Mammalia; Eutheria; Rodentia;Sciurognathi; Muridae; Murinae; Mus ECOLI Escherichia coli Bacteria; Proteobacteria; gamma subdivision; Enterobacteriaceae; Escherichia DICDI Dictyostelium discoideum (Slime mold) Eukaryota; Dictyosteliida; Dictyostelium YEAST Saccharomyces cerevisiae (Baker's yeast) Eukaryota; Fungi; Ascomycota; Hemiascomycetes; Saccharomycetales; Saccharomycetaceae; Saccharomyces 8. Insérer les données du fichier 'espece.txt' dans la table 'espèce' 9. Vérifier le contenu de la table 'espèce'

10. Créer la table 'release', ayant 3 colonnes: code (entier), rel_num (2 caractères), rel_date (date) 11. Vérifier sa structure 12. Insérer dans la table 'release' les données du fichier 'release.txt' présent sur votre bureau 13. Vérifier le contenu de la table 'release' 14. Modifier les données, si nécessaire - Pour charger les données des autres tables, vous utiliserez en interactif la commande LOAD TABLE à partir des fichiers de données (la commande importer dans EasyPHP), respectivement pour chaque table par exemple le fichier espece.txt sert à charger la table espèce, entries.txt pour la table entries, etc. Des fichiers de commandes vous seront fournis : - Le fichier 'createtables.txt' contient les commandes à exécuter pour créer les différentes tables décomposant SWISS-2DPAGE. Visualiser ce fichier, puis l'utiliser pour créer les tables en mode batch (i.e. sql). Mises à jour et requêtes dans la base de données Commande SELECT * [col1,col2 FROM nomtable [WHERE ALTER TABLE nomtable modifications Signification Affiche toutes les colonnes [respectivement col1 et col2] et toutes les lignes de la table nomtable [respectivement : les lignes satisfaisant condition ] Modifie la structure de la table nomtable selon modifications Requêtes dans une table 1. Lister les espèces par ordre alphabétique 2. Lister les espèces eucaryotes 3. Lister les espèces de mammifères 4. Compter le nombre de protéines dans la base 'nombase' 5. Compter le nombre de protéines humaines dans la base 'nombase' 6. Afficher le ID et la description des protéines de l'espèce Dictyostelium discoideum, dans l'ordre alphabétique de la description 7. Combien de protéines (gene name dans swiss2dpage) ont plusieurs ACs? Afficher ces protéines 8. Rechercher les références disponibles pour l'auteur 'HOCHSTRASSER'. Afficher pour ces références le numéro Medline, les 50 premiers caractères des auteurs, et la localisation; classer par ordre alphabétique de la localisation. 9. Combien existe-t-il de références dont le premier auteur est 'SANCHEZ J.-C.'? 10. Afficher les 50 premiers caractères des auteurs, le titre et la localisation des références où les auteurs 'SANCHEZ' et 'TONELLA' apparaissent conjointement

11. Lister les releases par ordre chronologique 12. Afficher le nombre de protéines identifiées pour chaque master 13. Afficher les différentes bases de données cross-référencées par SWISS-2DPAGE, 14. afficher pour chacune le nombre de cross-références disponibles 15. Afficher le nombre de spots identifiés pour les masters de souris, les classer dans l'ordre croissant 16. Afficher le nombre de releases par année 17. Compter le nombre de protéines par espèce Requêtes dans plusieurs tables 1. Lister les références de l'entrée P00938. Afficher le rang et la localisation de ces références dans leur ordre d'apparition dans l'entrée SWISS-2DPAGE 2. Donner la liste des espèces des protéines identifiées par 'MICROSEQUENCING' 3. Quelles sont les espèces étudiées par l'auteur 'YAN'? 4. Compter le nombre de protéines créées à la release 10. Donner la répartition par espèce 5. Donner la répartition par espèce (afficher l'organisme) du nombre de protéines créées depuis 1999 6. Quelles sont les protéines identifiées dans les masters ECOLI5-6 et ECOLI4.5-5.5? 7. Quelles sont les protéines ayant une cross-référence dans les bases de données PHCI- 2DPAGE et SIENA-2DPAGE? 8. Même requête que précédemment, mais afficher le AC des protéines dans l'ordre alphabétique des AC. Questions «Challenge» 9. Quelle espèce est la mieux représentée dans swiss2dpage (celle qui a le plus grand nombre d entrées) 10. Afficher le nombre de publications par protéine 11. Quelles protéines sont fortement citées 12. Quelles protéines sont exprimées dans toutes les espèces 13. Quelles protéines sont largement exprimées dans les gels de swiss2dpage (celles qui ont un maximum de spots, tous gels confondus)