L3 Module Libre
This presentation is the property of its rightful owner.
Sponsored Links
1 / 36

L3 Module Libre PowerPoint PPT Presentation


  • 67 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

L3 Module Libre

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


L3 module libre

L3 Module Libre

Année universitaire 2005-2006

Initiation à la Bioinformatique

Jean-Michel RICHER


L3 module libre

Deuxième Cours

Les Bases de Données

Relationnelles

Application


L3 module libre

Plan

  • Introduction

  • Les bases de données relationnelles

  • Comment construire une base de données

  • Manipuler les données


L3 module libre

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


L3 module libre

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


L3 module libre

Evolution de GenBank

2004 :

44,575,745,176 paires de base

40,604,319 séquences

2005

100 milliards de paires de bases

165.000 organismes


L3 module libre

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


L3 module libre

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


L3 module libre

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:


L3 module libre

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


L3 module libre

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)


L3 module libre

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


L3 module libre

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


L3 module libre

Table, tuple, attribut

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


L3 module libre

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.


L3 module libre

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


L3 module libre

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)


L3 module libre

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


L3 module libre

Un étudiant suit 1 ou plusieurs cours

Un cours est suivi par aucun ou plusieurs étudiants

Modèle Conceptuel de Données

Une association (ou relation) exprime une interaction entre une à plusieurs entités. (Une association peut comporter des attributs)

suit

Etudiant

Cours

0..n

1..n

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


L3 module libre

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.


L3 module libre

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


L3 module libre

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


L3 module libre

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


L3 module libre

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


L3 module libre

Client

Commande

Produit

cl_id

cl_nom

cl_prenom

cl_adresse

co_id

co_date

co_prix

co_id_client

pr_id

pr_libelle

pr_qte_stock

pr_prix_unit

Comprod

id_cmd

id_prod

qte

Modèle Logique des Données

Au final

on obtient

4 tables


L3 module libre

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


L3 module libre

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


L3 module libre

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


L3 module libre

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


L3 module libre

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’)

);


L3 module libre

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;


L3 module libre

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


L3 module libre

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;


L3 module libre

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 les commandes du client N° 2

SELECT *

FROM commandes

WHERE co_id_client=2;


L3 module libre

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;


  • Login