Site A.T.L.A.N.T.I.C-83
COURS = Initiation aux bases de donnes (Chapitre_5) - VERSION: 1.0 (M.A.J: 26/11/2017)
- AUTEUR(s): Bernard GIACOMONI
Ecran large mobile
Retour
sommaire cours

V.MODLE PHYSIQUE DES DONNES:

V.1.PASSAGE DU MODLE LOGIQUE A L'IMAGE BINAIRE DE LA BASE DE DONNES:

V.1.1.POSITION DU PROBLME:

Il s'agit maintenant de crer, partir du Modle Logique des Donnes, l'IMAGE BINAIRE de la base de donne correspondante sur le support d'archivage choisi (en gnral, celui-ci est un disque dur). Cette IMAGE BINAIRE va reprsenter la fois la STRUCTURE de la base de donnes (la liste des tables et des champs associs chacune d'elle, les formats de donnes, les liens et contraintes, etc.) et l'ETAT de cette base de donnes (les valeurs un instant t des diffrents champs des diffrentes entres des tables).

V.1.2.JUSTIFICATION DE L'USAGE D'UN S.G.B.D:

Traduire le MLD, qui est un SCHEMA, donc un objet GRAPHIQUE, sous la forme de STRUCTURES LOGICIELLES reprsentables en binaire est, bien sr, une tche assez complexe qui demande des dveloppements logiciels volumineux. Cependant, une base de donnes relationnelle, telle qu'elle est reprsente par le MLD, peut tre dcrite en utilisant un nombre limit de types d'objets: tables, attributs, clefs, index, contraintes, etc.). Il est donc possible de dvelopper un ensemble de fonctions logicielles complexes mais peu nombreuses permettant toute application de crer l'image binaire d'une base de donnes en invoquant ces fonctions (pour tre plus prcis, celles-ci pourront raliser des traitements tels que "crer une table", "ajouter une colonne une table", "dfinir une clef trangre", etc.). C'est un tel ensemble de fonctions qu'un Systmes de Gestion de Bases de Donnes offre aux utilisateurs.

V.1.3.PRISE EN COMPTE DES ASPECTS "MULTI-UTILISATEURS ET "RSEAU":

Une base de donnes est, dans la plupart des cas, utilise par plusieurs applications. Celles-ci ne sont pas forcment hberges sur la mme machine que celle qui gre cette Base de donnes. Ces applications accdent donc celle-ci travers un rseau informatique. Il n'est donc pas possible celles-ci de faire des appels "procduraux" aux fonctions du SGBD. Elles communiquent donc avec le SGBD par des MESSAGES RSEAU renfermant des REQUTES (par exemple, des requtes SQL). Un interprteur permet au SGBD de traduire les requtes envoyes par les utilisateurs en actions sur l'image binaire de la base de donnes:

V.1.4.ARCHITECTURE PHYSIQUE GNRALE:

Le schma ci-dessous dtaille les principaux constituants de l'environnement physique d'utilisation d'une base de donnes:
Menu de commande de l'animations

Relations entre applicatif, SGBD et base de donnes
COMMENTAIRES:
  • D'un point de vue strictement PHYSIQUE, une base de donnes se prsente comme un ensemble de fichiers hbergs sur un support de masse;
  • Le contenu de ces fichiers dcrit sous forme binaire la structure et le contenu de la base de donnes;
  • L'ensemble de ces donnes constitue l'IMAGE BINAIRE de la base de donnes un instant donn;
  • La base de donnes est exploit par des applications utilisatrices. Celles-ci ne sont en gnral pas hberges par la machine qui gre le support d'enregistrement de la BD.
  • De ce fait, ces applications doivent communiquer avec cette machine par l'intermdiaire de REQUTES achemines sur le rseau informatique vers le SGBD et des COMPTES-RENDUS DE REQUTES mis par le SGBD sur ce mme rseau;
  • Les requtes sont interprtes par le Systme de Gestion de Bases de Donnes qui gre la base de donnes concerne et transformes en ACTIONS sur l'image binaire de cette BD (modifications de la structure ou du contenu);
  • Le SGBD se charge galement de retourner aux utilisateurs les comptes-rendus d'excution des requtes, et en particulier les donnes extraites de la base de donnes;
  • Le schma ci-dessus indique qu'un utilisateur du SGBD peut tre soit une application, sont un oprateur humain dialoguant avec le SGBD par l'intermdiaire d'un interface homme-machine (IHM). Dans les deux cas, la communication se fait par envoi de requtes. Le plus souvent, l'IHM fait physiquement partie du SGBD.


V.2.LA NOTION DE MODLE PHYSIQUE DES DONNES:

Alors que les notions de modle conceptuel et de modle logique sont bien identifies dans la littrature spcialise (il s'agit de constructions intellectuelles que l'on peut reprsenter par des graphiques), la plupart des auteurs dfinissent le modle physique comme "l'implantation du modle logique dans un Systme de Gestion de Bases de Donnes", ce qui est beaucoup moins prcis: s'agit-il de l'image binaire de la BD sur son support d'archivage, de la traduction du MLD en langage de requtes ou bien d'autre chose?
Comme l'ide de MODLE suggre plus la description d'un objet que l'objet lui-mme, nous choisirons dans le cadre de ce document de dfinir le MPD comme l'ensemble des REQUTES qu'il faut envoyer au SGBD pour que celui-ci cre effectivement l'image binaire de la base de donnes dcrite par le modle logique. Dfini ainsi, le modle physique des donnes peut donc tre assimil un PROGRAMME (ou un fragment de programme) crit dans un langage accept par le SGBD et dont l'excution par celui-ci provoque la CRATION de la base de donnes.
Pour illustrer ce qui prcde, voici une partie du modle physique de la base de donnes BIBLIOTHQUE tudie prcdemment, programm en langage SQL:
	CREATE DATABASE IF NOT EXISTS `bibliotheque` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
	USE `bibliotheque`;
	
	CREATE TABLE IF NOT EXISTS `abonnes` 
	(
		`id_ab` int(8) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Id. des abonns',
		`nom_ab` varchar(100) NOT NULL COMMENT 'nom de l''abonn',
		`prenoms_ab` varchar(100) NOT NULL COMMENT 'prnoms de l''abonn, spars par des virgules',
		`adresse_postale_ab` varchar(255) NOT NULL COMMENT 'adresse postale de l''abonn',
		`e_mail_ab` varchar(30) NOT NULL COMMENT 'adresse e_mail de l''abonn',
		`telephone_ab` int(30) NOT NULL COMMENT 'numro de tlphone de l''abonn',
		PRIMARY KEY (`id_ab`)
	) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Table des abonne' AUTO_INCREMENT=1 ;

	CREATE TABLE IF NOT EXISTS `auteurs` 
	(
		`id_au` int(8) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Clef auteurs',
		`nom_au` varchar(100) NOT NULL COMMENT 'Nom de l''auteur',
		`prenoms_au` varchar(100) NOT NULL COMMENT 'prnoms de l''auteur, spars par des virgules',
		`biographie_au` text NOT NULL COMMENT 'biographie de l''auteur', 
		PRIMARY KEY (`id_au`)
	) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Table des auteurs' AUTO_INCREMENT=1 ;
			
Dans ce fragment de code, nous pouvons distinguer quatre requtes SQL: la requte CREATE DATABASE qui permet de dclarer la cration d'une nouvelle base de donnes (bibliothque), la requte USE qui permet de dclarer que les requtes qui suivent s'adressent cette nouvelle base de donnes et les deux requtes CREATE TABLE qui permettent de dfinir les tables abonns et auteurs ainsi que leurs attributs et d'autres caractristiques comme leurs clefs primaires ou le type de moteur de base de donnes utiliser (directives ENGINE=InnoDB).
NOTA:Ce fragment de code est donn uniquement pour permettre au lecteur de "matrialiser" ce qu'est un modle physique de donnes du point de vue informatique: le langage SQL sera tudi plus loin.


V.3.PROBLMATIQUES DE LA GESTION DYNAMIQUE DES BASES DE DONNES PAR LES APPLICATIONS:

La gestion dynamique d'une base de donnes prsente diverses contraintes et caractristiques qui sont prises en compte par les systmes de gestion des bases de donnes:

V.3.1.COORDINATION ET SCURISATION DES ACCES:

Comme nous l'avons vu prcdemment, une base de donnes a en gnral de nombreux utilisateurs qui n'ont pas forcment de rapports entre eux (par exemple, une base de donnes incluse dans un Systme d'Information d'entreprise pourra tre utilise par le service ressources humaines, mais aussi par la scurit ou certains services commerciaux: les accs de ces diffrents services ne sont absolument pas coordonns temporellement). Ces utilisateurs interrogent cette base de donnes travers un Rseau informatique (public ou priv). De ce fait:
  • D'une part, les demandes des diffrents utilisateurs ne pouvant tre coordonnes dans le temps, le volume du flux traiter est totalement alatoire;
  • D'autre part, pour viter toute perte de donnes ou de cohrence de ces donnes, ds des accs intempestifs ou malveillants, les droits des diffrents utilisateurs doivent tre contrls.
Pour rsoudre ces problmes, les bases de donnes sont dans la plupart des cas gres par un SGBD encapsul dans un SERVEURS. L'accs ce SGBD est donc de type CLIENT-SERVEUR et l'accs contrl par un couple "identificateur-mot de passe".

V.3.2.GESTION DE LA CONCURRENCE DES ACCES:

En gnral, une base de donnes peut tre utilise SIMULTANMENT et CONCURREMMENT par plusieurs utilisateurs (clients). Comme le traitement de chaque requte exige un certain temps, les requtes de ces diffrents clients entrent fatalement en concurrence pour l'accs la base de donnes. Par exemple, un site web marchand peut tre amen traiter simultanment des demandes d'achats de trs nombreux clients portant sur le mme article: la gestion de cette concurrence d'accs doit donc tre traite avec beaucoup de rigueur pour viter toute "collision" gnratrice d'incohrence dans les valeurs stockes dans la base.
Les SGBD prennent en charge la gestion de cette concurrence et en dipensent donc les applications utilisatrices.

V.3.3.EVOLUTION DE LA STRUCTURE D'UNE BASE DE DONNES:

Rien n'empche de modifier d'une manire permanente la structure d'une base de donnes aprs sa cration (ajouter, supprimer une table ou une colonne, modifier les paramtres gnraux, ajouter ou supprimer des contraintes, etc.). Cependant, il ne faut pas oublier qu'une base de donnes gre par un SGBD est une ressource qui peut tre PARTAGE entre plusieurs UTILISATEURS: une telle modification de structure peut donc impliquer une volution chez tous ces utilisateurs. La modification de la STRUCTURE d'une base de donnes n'est donc pas une opration banale: elle intervient plutt dans le cadre d'un changement de version du systme d'information.
On peut donc distinguer plusieurs phases dans la gestion d'une base de donnes:
  • La phase de CRATION, qui permet d'implanter sur le support de donnes les fichiers reprsentant la structure et le contenu de la base de donnes l'tat INITIAL, au moyen des requtes reprsentant le Modle Physique des Donnes;
  • Les phases d'EXPLOITATION, pendant lesquelles les diffrentes applications utilisatrices vont GRER DYNAMIQUEMENT le CONTENU des tables (lecture, criture de donnes dans les tables), par l'envoi de requtes au SGBD et l'exploitation des comptes-rendus de ces requtes.
  • Les phases de CHANGEMENT DE VERSION de la base de donnes qui correspondent des modifications de la structure destines accompagner les volutions du systme d'information (par exemple, ajout d'une colonne "pays" dans une table "clients" pour prendre en compte les clients de l'entreprise domicilis l'tranger.
REMARQUE: Certaines requtes peuvent amener la cration TEMPORAIRE de tables (c'est le cas par exemple pour les oprations de JOINTURE) mais ces tables ne "survivent" pas l'excution de la requte qui les a cres.


V.4.COMPOSANTS LOGICIELS DES SYSTMES DE GESTION DE BASES DE DONNES:

V.4.1.GNRALITS:

Du point de vue informatique, un SGBD relationnel est un LOGICIEL qui met disposition d'utilisateurs un certain nombre de fonctions qui permettent ces utilisateurs de crer et modifier la structures et le contenu des bases de donnes que ce SGBD gre ou encore de rcuprer slectivement les valeurs des donnes contenues dans les tables constituant ces bases de donnes. Ces utilisateurs peuvent tre:
  • Soit des APPLICATION INFORMATIQUE (programmes utilisateurs), qui communiquent avec le SGBD par l'intermdiaire d'une INTERFACE DE PROGRAMMATION (ou Application Programming Interface-API);
  • Soit des OPRATEUR HUMAIN qui communiquent avec le SGBD soit par des COMMANDES EN LIGNE, soit par l'intermdiaire d'un INTERFACE HOMME-MACHINE (IHM) graphique.
Les SGBD les plus rpandus (MySQL, ORACLE, SQL SERVER, POSTGRE, etc.) intgrent un IHM graphique qui permet aux utilisateur de crer, modifier, dtruire "manuellement" les bases de donnes par l'intermdiaires de formulaires. Ces IHM offrent galement de saisir des commandes en ligne (requtes de gestion).
En revanche, l'API dpend la fois du SGBD et du langage utilis par l'application informatique utilisatrice. Pour un mme SGBD, on aura donc une API pour le langage C, un autre pour JAVA, etc. De ce fait, les API ne sont pas intgres au SGBD.
Schma gnral SGBD-BD
COMMENTAIRES:
Le schma ci-dessus reprsente les diffrents lments qui composent un systme de gestion de bases de donnes: son MOTEUR DE BASE DE DONNES et son Interface Homme Machine (IHM) de gestion) ainsi que les composants matriels et logiciels qui travaillent en relation avec lui: l'interface de programmation(API) qui permet aux logiciels d'utiliser ses services, le poste de travail par lequel des administrateurs peuvent grer "manuellement" les bases de donnes et le support d'archivage des fichiers composant la BD (ici, un disque dur).
  • Le MOTEUR DE BASE DE DONNES regroupe toutes les fonctions du logiciel SGBD qui permettent d'accder la structure et aux donnes de la base de donnes. Il interprte les requtes transmises par les utilisateurs, effectue les actions correspondantes sur la structure et le contenu de la BD et retourne vers les utilisateurs les donnes ou comptes-rendus d'action correspondant aux requtes traites;
  • L'IHM interne du SGBD permet un OPRATEUR HUMAIN d'administrer les bases de donnes partir de FORMULAIRES: il transforme les commandes et donnes saisies par l'oprateur en requtes qu'il envoie au moteur de base de donnes et affiche les rsultats de ces requtes;
  • L'API (Application Programming Interface - Interface de programmation) est une bibliothque de fonctions qui permet un LOGICIEL D'APPLICATION de transmettre des requtes au moteur de bases de donnes et de rcuprer les donnes ou comptes-rendus correspondants.

V.4.2.LES INTERFACES DE PROGRAMMATION DES BASES DE DONNES:

Comme il a t dit plus haut, ces interfaces sont des bibliothque de fonctions qui permettent un LOGICIEL D'APPLICATION de transmettre des requtes au moteur de bases de donnes et de rcuprer les donnes ou comptes-rendus correspondants. L'API dpend du SGBD et du langage de l'application: par exemple, si l'application est crite en PHP et si le SGBD utilise SQL, il faudra utiliser l'API MYSQL du langage PHP.
Schma de la relation entre API et SGBD-BD

V.4.3.LES INTERFACES HOMME-MACHINE DES SGBD:

GNRALITS:

Ces I.H.M sont, en gnral, intgrs la fourniture du SGBD. Ils offrent un interface graphique qui permet de crer des bases de donnes relationnelles et d'en grer le contenu. Les principales fonctions supportes sont:
  • La cration ou la suppression d'une BASE DE DONNES, la dfinition et la modification de ses paramtres gnraux;
  • La cration ou la suppression d'une TABLE, la dfinition et la modification de ses paramtres gnraux;
  • La gestion du CONTENUD'UNE TABLE: ajout ou suppression d'entres, dfinition, modification des types et des contenus des champs, ajout, modification, suppression de champs, dfinition de clefs primaires et d'index, etc.
  • La dfinition, la modification ou la suppression de CONTRAINTES ENTRE LES ENTRES DE TABLES (clefs trangres);
  • La consultation des donnes contenues dans les champs des tables;
  • La sauvegarde totale ou partielle des bases de donnes gres par le SGBD sous la forme de fichiers de textes de diffrents formats (la sauvegarde peut concerner toutes les bases de donnes ou seulement une, ou une table en particulier);
  • La rinstallation de bases de donnes ou de tables dans un SGBD partir de leur fichier de sauvegarde
  • Diffrentes fonctions de tri des entres des tables
  • Etc.
Ces diffrentes actions peuvent tre effectues par l'intermdiaires de FORMULAIRES GRAPHIQUES. La validation de ces formulaires entrane l'mission vers le moteur de base de donnes des requtes correspondant au contenu du formulaire valid.
En gnral, les IHM permettent galement de saisir directement les requtes adresser au moteur de base de donnes.

EXEMPLE - L'IHM DE MYSQL:

A titre d'exemple, quatre formulaires de l'IHM MySQL sont dcrits ci-aprs: ils permettent de crer, modifier ou supprimer une base de donnes. L'tude de ces quatre formulaires (les plus importants de l'IHM), dans l'ordre o elle est effectue permet de suivre la procdure de cration d'une base de donnes (avec dfinition des tables et des attributs de ces tables) par l'intermdiaire de l'IHM MYSQL, permet de suivre la procdure de cration d'une base de donnes en mode "manuel". Le lecteur pourra exprimenter ces manipulations en installant le logiciel libreLAMP LAMP (sur un systme UNIX) ou le logiciel WAMP (sur un systme WINDOW). L'installation (trs facile) de ces logiciels permet de disposer en local d'un serveur APACHE muni d'un SGBD MySQL avec un IHM qui supporte les formulaires en question.
PREMIER FORMULAIRE:
Le premier formulaire s'affiche lorsqu'un utilisateur se connecte la base de donnes:
Menu de commande de l'animations

IHM MySQL: Formulaire d'accueil
COMMENTAIRES:
  • La liste qui apparat dans la partie gauche reprsente les diffrentes bases de donnes gres par le SGBD: dans cette liste, on remarque une base de donne nomme "bibliothque";
  • Le bandeau suprieur de la partie droite donne accs diffrentes fonctions: bases de donnes (crer, supprimer ou modifier les privilges d'accs, importer ou exporter (sauvegarder toutes les bd sous forme de fichiers textes ou les rinstaller partir de ces fichiers, fixer des paramtres gnraux, etc;
  • En dessous du bandeau suprieur apparassent des zones qui permettent de fixer certains paramtres gnraux ou de grer le mot de passe d'accs au SGBD.
DEUXIEME FORMULAIRE:
Le deuxime formulaire s'affiche lorsqu'un utilisateur active le bouton "bases de donnes" du premier formulaire:
Menu de commande de l'animations

IHM MySQL: Formulaire de gestion des bases de donnes
COMMENTAIRES:
  • Ce formulaire permet de crer une nouvelle base de donnes, de supprimer une base de donnes existante ou de grer les privilges d'accs;
  • La slection d'une base de donnes par un double clic danss la liste de gauche ou celle de droite permet d'afficher le troisime formulaire.
TROISIEME FORMULAIRE:
Le troisime formulaire s'affiche lorsqu'un utilisateur slectionne une base de donnes dans le deuxime formulaire:
Menu de commande de l'animations

IHM MySQL: Formulaire de gestion d'une base de donnes
COMMENTAIRES:
  • La liste apparassant dans la partie gauche reprsente les diffrentes bases de donnes gres par le SGBD: dans cette liste, on voir apparatre un base de donne nomme "bibliothque";
  • La slection d'une de ces bases de donnes fait apparatre dans la partie droite du formulaire la liste des diffrentes tables composant cette base de donne. Dans l'exemple ci-dessus, nous avons slectionn la base de donnes "bibliothque". De ce fait, nous avons dans la partie droite des lignes qui correspondent aux tables de cette base: abonns, auteurs, auteurs-livres, etc. Ce sont les tables dfinies dans le MLD de la bibliothque tudi prcdemment;
  • La liste des tables est surmontes d'un bandeau permettant de choisir un certain nombre d'options d'affichage ou de gestion. Les fonctions importer et exporter s'adressent la base de donnes si aucune table n'est slectionne ou la table slectionne s'il en existe une;
  • Chacune des lignes correspondant aux tables de la BD slectionne met disposition des utilisateurs des fonctions de gestion de la table correspondante: Afficher (le contenu de la table), Structure (afficher la structure de la table), Rechercher (une entre particulire), Insrer (une entre), Vider (le contenu de la table), Supprimer (la table);
  • En bas de la partie de droite, trois champs de saisie permettent de crer une nouvelle table;
QUATRIEME FORMULAIRE:
Slectionnons alors dans la partie droite du troisime formulaire et dans la ligne correspondant la table "auteurs", l'option "structure": la structure de la table "auteurs" s'affiche alors dans la partie droite:
Menu de commande de l'animations

IHM MySQL: Formulaire de gestion d'une table
COMMENTAIRES:
  • La liste apparassant dans la partie gauche reprsente toujours les diffrentes bases de donnes gres par le SGBD;
  • Dans cette liste, on a slectionn la base de donnes "bibliothque", puis on a slectionn, dans la ligne corresondant la table "auteurs", l'option "structure": la description des attributs de la table s'affiche alors;
  • Nous voyons ainsi apparatre les lignes correspondant aux attributs de la table "auteurs": id_au, nom_au, prenoms_au, biographie_au
  • Ces lignes affichent les proprits de ces attributs (format, interclassement, auto-incrmentation, etc.);
  • Elles affichent aussi des fonctions de gestion de l'attribut: modifier (le format), supprimer, dclarer l'attribut clef primaire, etc.
  • La fonction "ajouter" permet d'ajouter un nouvel attribut (une nouvelle colonne) la table;
  • Ces quatre formulaires que nous venons d'tudier permettent donc de dfinir entirement une base de donnes.



Retour accs aux cours Retour sommaire cours
FormateurGaucheRepos FormateurGaucheActif FormateurDroitRepos FormateurDroitActif