Initiation à la Bioinformatique

Slides:



Advertisements
Présentations similaires
Bases de données : modèlisation et SGBD
Advertisements

Créer une base de données MySQL
Créer une base de données MySQL Et création de tables, enregistrements, interaction avec PHP.
Le Modèle Logique de Données
Année universitaire Système dinformation Le SQL (Structured Query Language) langage dinterrogation dune base de données.
Faculté I&C, Claude Petitpierre, André Maurer Bases de données SQL (Structured Query Language)
LE LANGAGE SQL : LDD La création de tables L’ordre CREATE CREATE TABLE nom_de_table (Nom_colonne Type_colonne, Nom_colonne Type_colonne,
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Développement d’applications web
AYARI Mejdi Formation 2121 * ISD * 1 tructured uery Anguage 2006.
Faculté I&C, Claude Petitpierre, André Maurer Bases de données SQL (Structured Query Language)
Contrôles d'accès aux données
L’utilisation des bases de données
Rappel sur les bases de données et le vocabulaire
BASE DE DONNEES RELATIONNELLES
Systèmes d Information : 10b Michel de Rougemont Université Paris II Les Bases de Données : Access.
Initiation aux bases de données et à la programmation événementielle
Geti2101 : Systèmes d’Information et Informatique
Les bases de données Cours assuré par: Mlle Smii imen
Chap 4 Les bases de données et le modèle relationnel
Initiation aux bases de données
Bases de données et SGBD relationnels
L’utilisation des bases de données
Modèle Logique de Données
Les concepts et les méthodes des bases de données
L3 Module Libre Année universitaire Initiation à la Bioinformatique Jean-Michel RICHER.
Initiation aux bases de données et à la programmation événementielle
Introduction Le SQL (Structured  Query Language) est un langage universel de gestion des bases de données. Il a une triple fonction : LDD Langage de Définition.
Introduction.
PHP & My SQL.
Chapitre 5 : Le langage SQL
Présenté par COMTE Jeremy et DE LAZZARI Thomas Sommaire b Présentation générale b Include b Notion de variables b MySQL.
Comment stocke-t-on des données sur un site web ?
Cours n°4M2. ESCE (S. Sidhom) Séminaire ( 6-12 Février 2007 ) Promo. M2 ESCE-Tunis 2006/07 Conception d’un système d'information sur Internet Architecture.
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
Introduction aux bases de données
 Requêtes MySQL en PHP Introduction
05/02/98WEB ESNIG Modèle logique de données Oracle Designer/2000 & Oracle Web Server.
1 PHP 5 Notions fondamentales (cours #5) Formation continue – Cégep de Sainte-Foy.
Bases de données : modèlisation et SGBD
G.KEMBELLEC - UP81 Master 2 THYP Cas pratique d’utilisation De simpleXML Un lecteur de RSS Novembre 2009.
Le Langage SQL Introduction. 2 Historique du Langage SQL E. F. CODD : premiers articles dans les années 70 IBM crée le langage SEQUEL (Structured English.
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
 Le langage SQL Introduction SQL : Strutured Query Language, est un langage de requête, que l'on retrouve dans divers SGBDR (Access de Microsoft, MySQL,
Cours n°4M1.ist-ie (S. Sidhom) UE 203 Promo. M1 IST-IE 2006/07 Conception d’un système d'information sur Internet Architecture trois-tiers : technologies.
Cours Access TuanLoc NGUYEN. Contact Nguyen TuanLoc Tél: Web:
1 Structure en MC Principes Stockage des données dans la mémoire volatile d’un ordinateur Problèmes Stockage temporaire «Petits» volumes de données Langages.
06/04/06 LES BASES DE DONNEES INTRODUCTION CogniTIC – Bruxelles Formation - Cepegra.
Structured Query Language 1/34. SQL Types de données Langage de Définition de Données (LDD) Langage de Manipulation de Données (LDM) Langage de Contrôle.
LES BASES DE DONNEES PRÉSENTÉ PAR CATHY ET THIBAULT.
Le langage SQL.
Séance /10/2004 SGBD - Approches & Principes.
Initiation aux bases de données et à la programmation événementielle
Initiation aux bases de données et à la programmation événementielle
INTRODUCTION AUX BASES DE DONNEES Base et métabase
Cours n°2 Implémentation et exploitation
Introduction Module 1.
Analyse, élaboration et exploitation d’une Base de Données
CONCEPTS BD - Synthèse journée 1 :
Le langage SQL LA Plan 1. Introduction Rappels sur le modèle relationnel Les caractéristiques du langage SQL 2. Le Langage d'Interrogation des.
Modélisation et utilisation Aurélien Marion1 Aurélien Marion
De Arnault Chazareix :
Les bases de données Séance 4 Construction du Modèle Physique (la BDD)
Bases de données : modèlisation et SGBD Séance 3.
Schéma de base de données Présentation. Conception du schéma logique  Transformation du schéma conceptuel en structures de données supportées par les.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
1 Les bases de données Séance 5 -- Le Langage de Définition de Données ou la manœuvre de la structure de la base -- Le Langage de Manœuvre de Données.
ملخص Initiation à la sgbdr
L3 Module Libre Année universitaire Initiation à la Bioinformatique Jean-Michel RICHER.
Transcription de la présentation:

Initiation à la Bioinformatique L3 Module Libre Année universitaire 2005-2006 Initiation à la Bioinformatique Jean-Michel RICHER

Deuxième Cours Les Bases de Données Relationnelles Application

Plan Introduction Les bases de données relationnelles Comment construire une base de données Manipuler les données

Volume d’Information Trop d’information tue l’information 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 Exemples : GenBank, PDB

GenBank GenBank comprehensive public database of nucleotide sequences and supporting bibliographic and biological annotation, built and distributed by the National Center for Biotechnology Information (NCBI), a division of the National Library of Medicine (NLM), located on the campus of the US National Institutes of Health (NIH) in Bethesda, Maryland. http://www.ncbi.nlm.nih.gov/Entrez/ http://www.ncbi.nlm.nih.gov/Genbank/genbankstats.html

Evolution de GenBank 2004 : 2005 44,575,745,176 paires de base 40,604,319 séquences 2005 100 milliards de paires de bases 165.000 organismes

PDB PDB (Protein DataBank) The RCSB PDB provides a variety of tools and resources for studying the structures of biological macromolecules and their relationships to sequence, function, and disease

Attention ! Ce qu’une base de données n’est pas : un fichier Word un fichier Excel un fichier texte Une base de données utilise un SGBD (Système de Gestion de Base de Données) pour manipuler les données : Oracle Access MySQL

Attention ! On peut cependant organiser l’information de manière cohérente dans un fichier texte (ex PDB) pour l’insérer dans une base de données ou la traiter ultérieurement 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: …

Structuration Une BDD = ensemble structuré de données enregistrées avec le minimum de redondance Pour pouvoir gérer des données il faut les stocker de manière structurée pour : identifier clairement les données (champs, tables) pouvoir y accéder rapidement (index) Un SGBD = offre la possibilité de manipuler les représentations abstraites des données, indépendamment de leur organisation et de leur implantation sur des supports physiques

Historique Naissance des SGBD dans les années 60 Systèmes propriétaires (IBM) 1970 T. Codd chercheur chez IBM propose Le modèle relationnel Tables Algèbre relationnelle Démarche cohérente et unifiée concernant Le LDD (Langage de Description des Données) Le LMD (Langage de Manipulation des Données)

Les Systèmes actuels ORACLE gros systèmes (entreprises, administrations) ACCESS PC sous Windows (MS Office) MySQL PC sous Windows ou Linux (gratuit) et bien d’autres encore… SQL-Server, PostGreSQL, Interbase, sybase, DB2

Organisation un SGDB est composé de bases de données une base de données est composée de tables chaque table est composée de champs SGBD BD BD BD tables

Table, tuple, attribut LE MODELE RELATIONNEL Champs (attributs ou colonnes) fabricant modèle fréquence Intel Pentium 4 3000 Tuples (enregistrements Ou lignes) Intel Pentium M 2000 table Intel Pentium D 3000 AMD Athlon XP 2800 AMD Athlon 64 X2 3800 LE MODELE RELATIONNEL

Notion de clé et d’index Un index est un mécanisme qui permet d’accéder rapidement à l’information Exemple : on possède un fichier de clients et on désire afficher les noms des clients qui habitent Angers on ne possède pas d’index sur le champ ville : il faut réaliser une recherche séquentielle on possède un index sur le champ ville : il n’est nécessaire de parcourir tous les enregistrements. Remarque : on peut créer des index sur plusieurs champs.

Notion de clé et d’index Une clé primaire (aussi appelée identifiant) permet d’identifier de manière unique un enregistrement (tuple) Exemples : numéro de client numéro d’étudiant nom + prénom

Elaboration d’une BD On passe par deux phases : Création du Modèle Conceptuel des Données (MCD) traduction du MCD en Modèle Logique des Données (MLD)

Modèle Conceptuel de Données Il décrit l’organisation initiale des données sous forme d’entités et de relations Une entité est un être ou un objet (concret ou abstrait) qui peut être distingué d’un autre objet. Une entité est composée de champs (ou attributs) Etudiant Cours Nom Prénom N°Etud … Intitulé Nbr heures …

Modèle Conceptuel de Données Une association (ou relation) exprime une interaction entre une à plusieurs entités. (Une association peut comporter des attributs) Un étudiant suit 1 ou plusieurs cours suit Etudiant Cours 0..n 1..n Un cours est suivi par aucun ou plusieurs étudiants La Cardinalité d’un couple entité – association permet de préciser les nombres minimum et maximum de fois pour lesquelles une entité est concernée par l’association

Modèle Conceptuel de Données Exemple Créer un MCD pour modéliser le problème suivant : Une société de vente par correspondance met en vente des produits. Chaque produit est identifié par un numéro, un prix unitaire et une quantité en stock. Un client identifié par un numéro de client, un nom, un prénom et une adresse passe commande à une date donnée d’un ensemble de produits.

Modèle Conceptuel de Données Client Produit 1..1 1..n N°client Nom Prénom Adresse N°produit Libellé Descriptif Prix unitaire Qté en stock passe contient qté Commande 1..n 1..n Date Prix total

Modèle Logique des Données Comment passer du MCD au MLD ? 1) Les entités sont traduites en tables Client Commande Produit cl_id cl_nom cl_prenom cl_adresse co_id co_date co_prix pr_id pr_libelle pr_qte_stock pr_prix_unit

Modèle Logique des Données 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 co_id_client

Modèle Logique des Données Traduction des relations 1..n <-> 1..n Il faut créer une nouvelle table qui comprend les identifiants des deux entités Comprod id_cmd id_prod qte Identifiant de commande Identifiant de produit Quantité commandée

Modèle Logique des Données Au final on obtient 4 tables Client cl_id cl_nom cl_prenom cl_adresse Commande co_id co_date co_prix co_id_client Comprod id_cmd id_prod qte Produit pr_id pr_libelle pr_qte_stock pr_prix_unit

Utilisation de MySQL Sous Linux installer le serveur MySQL Sous Windows installer EasyPHP ou LAMP (Linux Apache MySQL Php Si on installe un serveur web on peut utiliser phpmyadmin qui est une interface web pour MySQL

Utilisation de MySQL Utilisation en ligne de commande MySQL est un serveur qui utilise un système de connexion par login et mot de passe mysql –h richer –u audrey –p -h (host) spécifie le nom du serveur -u (user) nom de l’utilisateur -p (password) il faut saisir un mot de passe

Utilisation de MySQL Utiliser la base de données appelée test mysql> use test; Donner la liste des table de test mysql> show tables; … On préférera utiliser phpmyadmin qui ne demande aucune connaissance préalable des commandes de SQL

Le Langage SQL SQL (Structured Query Language) est un langage de manipulation et d’interrogation des bases de données. Il fait office de LDD et LMD. Il permet notamment de : Créer une base de données CREATE Créer une table CREATE Rechercher des enregistrements SELECT Ajouter un nouvel enregistrement INSERT Modifier des attributs d’un enregistrement UPDATE Supprimer des enregistrements DELETE

Créer une table Exemple : création de la table produits CREATE TABLE produits ( pr_id int(11) NOT NULL auto_increment, pr_libelle varchar(50) NOT NULL default ‘’, pr_qte_stock int(11) NOT NULL default ‘0’, pr_prix_unit float NOT NULL default ‘0’, PRIMARY KEY (‘pr_id’), KEY ‘pr_libelle’ (‘pr_libelle’) );

Manipuler des enregistrements Insérer un enregistrement INSERT INTO produits VALUES ( 1, ‘Carte mère MSI Neo2’, 5, 70 ); Modifier un enregistrement UPDATE produits SET pr_prix_unit = 75 WHERE pr_id = 1; Supprimer un enregistrement DELETE FROM produits WHERE pr_id = 1;

Rechercher des enregistrements Pour rechercher des informations on utilise la commande SELECT qui possède le format suivant : SELECT attribut1, attribu2, … FROM table1, table2, … WHERE conditions ORDER BY attribut GROUP BY attribut

Rechercher des enregistrements Afficher tous les noms des clients SELECT cl_nom FROM clients; Afficher tous les noms des clients par ordre alphabétique SELECT cl_nom FROM clients ORDER BY cl_nom; Afficher tous les noms des clients par ordre inverse SELECT cl_nom FROM clients ORDER BY cl_nom DESC;

Rechercher des enregistrements Afficher les commandes du client N° 2 SELECT * FROM commandes WHERE co_id_client=2; Afficher le montant total des commandes du client N° 2 SELECT SUM(co_prix_total) FROM commandes WHERE co_id_client=2;

Rechercher des enregistrements Afficher le libellé de tous les produits de la commande N° 1 SELECT pr_libelle FROM comprod, produits WHERE id_cmd=1 and id_prod=pr_id;