bases de données relationnelles - .3 i- introduction « la conception et l'utilisation de bases

Download Bases de Données Relationnelles - .3 I- Introduction « La conception et l'utilisation de bases

Post on 10-Sep-2018

212 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • 1

    CCoouurrss ddee

    BBaasseess ddee DDoonnnneess

    RReellaattiioonnnneelllleess

    Ralis par :

    KHAYATI NIZAR

    Ecole Suprieure de Commerce Electronique Manouba

    2005 - 2006

  • 2

    Public :

    Ce cours est destin aux tudiants de la 2me anne Commerce Electronique de lEcole Suprieure de Commerce Electronique.

    Objectifs du cours :

    Ce cours doit permettre aux tudiant de

    - Comprendre les notions lmentaires des bases de donnes Relationnelles

    - Connatre le langage Algbrique.

    - Utiliser les diffrentes oprations de ce langage afin de rsoudre des requtes.

    - Traduire les requtes algbriques en requtes en langage SQL.

    Webographie :

    www.infotheque.info www.commentcamarche.net

    Plan du Cours :

    I- Introduction....2

    II- Introduction au Modle Relationnel...4

    III- Le langage Algbrique8

    IV- Le langage SQL.18

    V- Applications.28

    VI- Solutions des Applications29

  • 3

    I- Introduction

    La conception et l'utilisation de bases de donnes relationnelles sur micro-ordinateurs n'est pas un domaine rserv aux informaticiens . C'est en tout cas ce que pensent beaucoup d'utilisateurs en voyant ce type de logiciel intgr aux suites bureautiques les plus connues.

    Cependant la matrise d'un SGBDR (Systme de Gestion de Bases de Donnes Relationnelles) est loin d'tre aussi facile acqurir que celle d'un logiciel de traitement de texte ou d'un tableur.

    Plusieurs tapes sont ncessaires la mise en place d'une base de donnes, ds lors que l'on a prcisment dfini ses besoins (ce qui n'est dj pas chose facile !) : la cration de la structure de la base sous forme de tables (tableaux de donnes) relies entre elles par des donnes cls, la conception des requtes qui permettront d'extraire ou de mettre jour les informations qu'elle contient, la conception de l'interface homme-machine (crans et tats) qui rendra plus conviviale la saisie et la restitution des informations.

    Le degr de difficult dans la conception de l'interface varie beaucoup selon le logiciel utilis qui est d'ailleurs le plus souvent diffrent du SGBDR.

    La conception de la structure de la base de donnes, si elle est un peu complexe apprhender, peut ncessiter, en amont, l'utilisation d'outils de modlisation conceptuels de type entits-associations (Modle Conceptuel des Donnes de la mthode MERISE ou diagramme de classes du langage UML). Mais, mme dans les cas les plus simples il faut obligatoirement connatre les concepts du Modle Relationnel, sans quoi un utilisateur non averti pourra toujours arriver crer une structure inadapte et sera vite bloqu dans la conception des requtes.

    Il s'agit ici, d'tudier les principaux oprateurs de l'algbre relationnelle servant de base l'laboration des requtes.

    Les utilisateurs qui voient les matriels informatiques et les logiciels changer tous les trois mois, seraient surpris d'apprendre que l'algbre relationnelle a t dfinie par Codd en 1970.

    Elle est l'origine du langage SQL (Structured Query Language) d'IBM, langage d'interrogation et de manipulation de tous les SGBDR actuels (Oracle, Ingres, DB2, MS SQLServer, MySQL, MS Access et tous les autres).

    Elle est galement mise en uvre de manire plus conviviale travers le langage QBE (Query By Example) que l'on retrouve seulement sur certains SGBDR (Access par exemple).

    Une bonne matrise de l'algbre relationnelle permet de concevoir n'importe quelle requte aussi complexe soit elle avant de la mettre en uvre l'aide du langage QBE ou SQL.

    Parmi les oprations de l'algbre relationnelle, on dispose d'oprations classiques sur les ensembles (union, intersection, diffrence, produit cartsien) puis d'oprations propres (projection, slection, jointure, division).

  • 4

    Sont galement exposes ici des oprations de calcul, de regroupement, de comptage et de tri, non dfinies l'origine par Codd mais trs utiles.

    Tous les oprateurs sont prsents l'aide d'exemples clairs. Pris sparment, ils sont faciles apprhender. La rdaction de requtes (combinaison d'oprateurs) est illustre par des exercices concrets.

    Le langage SQL n'est abord que dans le cadre des oprations voques ci-dessus. Seule l'instruction SELECT et ses multiples aspects sont donc prsents.

    II- Introduction au Modle Relationnel

    L'exemple suivant, relatif la gestion simplifie des tapes du Tour de France 97, va nous servir introduire le vocabulaire li au modle relationnel.

    CodeEquipe NomEquipe DirecteurSportif BAN BANESTO Eusebio UNZUE

    COF COFIDIS Cyrille GUIMARD

    CSO CASINO Vincent LAVENU

    FDJ LA FRANCAISE DES JEUX Marc MADIOT

    FES FESTINA Bruno ROUSSEL

    GAN GAN Roger LEGEAY

    ONC O.N.C.E. Manolo SAIZ

    TEL TELEKOM Walter GODEFROOT

    ... ... ...

    NumroCoureur NomCoureur CodeEquipe CodePays

    8 ULLRICH Jan TEL ALL

    31 JALABERT Laurent ONC FRA

    61 ROMINGER Tony COF SUI

    91 BOARDMAN Chris GAN G-B

    114 CIPOLLINI Mario SAE ITA

    151 OLANO Abraham BAN ESP

    ... ... ... ...

  • 5

    NumroEtape DateEtape VilleDpart VilleArrive NbKm 1 06-jul-97 ROUEN FORGES-LES-EAUX 192

    2 07-jul-97 ST-VALERY-EN-CAUX VIRE 262

    3 08-jul-97 VIRE PLUMELEC 224

    ... ... ... ... ...

    NumroCoureur NumroEtape TempsRalis 8 3 04:54:33 8 1 04:48:21 8 2 06:27:47 CodePays NomPays 31 3 04:54:33 ALL ALLEMAGNE 31 1 04:48:37 AUT AUTRICHE

    31 2 06:27:47 BEL BELGIQUE 61 1 04:48:24 DAN DANEMARK 61 2 06:27:47 ESP ESPAGNE 91 3 04:54:33 FRA FRANCE

    91 1 04:48:19 G-B GRANDE BRETAGNE 91 2 06:27:47 ITA ITALIE

    114 3 04:54:44 P-B PAYS-BAS 114 1 04:48:09 RUS RUSSIE 114 2 06:27:47 SUI SUISSE 151 3 04:54:33

    151 1 04:48:29 151 2 06:27:47

    ... ... ...

    Comme nous pouvons le constater, le modle relationnel est un modle d'organisation des donnes sous forme de Tables (Tableaux de valeurs) ou chaque Table reprsente une Relation, au sens mathmatique d'Ensemble.

    C'est ainsi que dans l'exemple prsent, figurent l'ensemble des Equipes, des Coureurs, des Etapes, des Temps raliss par les coureurs chacune des tapes, et enfin l'ensemble des pays.

    Les colonnes des tables s'appellent des attributs et les lignes des n-uplets (o n est le degr de la relation, c'est dire le nombre d'attributs de la relation).Un attribut ne prend qu'une seule valeur pour chaque n-uplet.L'ordre des lignes et des colonnes n'a pas d'importance.

    Chaque table doit avoir une cl primaire constitue par un ensemble minimum

  • 6

    d'attributs permettant de distinguer chaque n-uplet de la Relation par rapport tous les autres. Chaque ensemble de valeurs formant la cl primaire d'un n-uplet est donc unique au sein d'une table.

    C'est ainsi que dans la table COUREURS, chaque coureur a un NumroCoureur diffrent.

    Dans certains cas, plusieurs cls primaires sont possibles pour une seule table. On parle alors de cls candidates. Il faut alors en choisir une comme cl primaire.

    Les liens smantiques (ou rgles de gestion sur les donnes) existants entre les ensembles sont raliss par l'intermdiaire de cls trangres faisant elles-mmes rfrence des cls primaires d'autres tables.

    C'est ainsi que dans la table COUREURS, la cl trangre CodeEquipe (faisant rfrence la cl primaire de mme nom dans la table EQUIPES) traduit les deux rgles de gestion suivantes :

    Un COUREUR appartient une EQUIPE Une EQUIPE est compose de plusieurs COUREURS

    Il existe deux grands types de liens : Un - Plusieurs (comme le prcdent) et Plusieurs - Plusieurs. La ralisation de ce dernier type de liens, un peu plus complexe, passe par l'utilisation d'une table intermdiaire dont la cl primaire est forme des cls trangres des tables qu'elle relie.

    C'est ainsi que la table des TEMPS raliss chaque tape par chacun des coureurs exprime les deux rgles de gestion suivantes :

    Un COUREUR participe plusieurs ETAPES Une ETAPE fait participer plusieurs COUREURS

    Le modle relationnel est le plus souvent dcrit sous la forme suivante, les cls primaires tant soulignes et les cls trangres marques par un signe distinctif (ici *).

    EQUIPES (CodeEquipe, NomEquipe, DirecteurSportif)

    COUREURS (NumroCoureur, NomCoureur, CodeEquipe*, CodePays*)

    ETAPES (NumroEtape, VilleDpart, VilleArrive, NbKm)

    TEMPS (NumroCoureur*, NumroEtape*, TempsRalis)

    PAYS (CodePays, NomPays)

  • 7

    On peut aussi le reprsenter sous forme graphique, de manire mieux visualiser et interprter les liens :

    Un COUREUR appartient une EQUIPE Une EQUIPE est compose de plusieurs COUREURS

    Un COUREUR est originaire d'un PAYS Un PAYS est reprsent par plusieurs COUREURS

    Un COUREUR participe plusieurs ETAPES Une ETAPE fait participer plusieurs COUREURS

    Dans le cadre d'un projet d'informatisation, la conception d'une base de donnes relationnelle passe d'abord par l'identification des objets de gestion (Coureurs, Etapes, ) et des rgles de gestion du domaine modlis (interviews des utilisateurs, tude des documents manipuls, des fichiers existants, ). Une fois nonces et valides, ces rgles nous conduisent automatiquement la structure du modle relationnel correspondant.

  • 8

    III- Le langage Algbrique

    Opration PROJECTION

    Formalisme : R = PROJECTION (R1, liste des attributs)

    Exemples : CHAMPIGNONS

    Espce Catgorie Conditionnement

    Ros des prs Conserve Bocal

    Ros des prs Sec Verrine

    Coulemelle Frais Bote

    Ros des prs Sec Sachet plastique

    R1 = PROJECTION (CHAMPIGNONS, Espce)

    Espce

    Ros des prs

    Coulemelle

Recommended

View more >