|
od�liser, c'est comprendre. Pour d�velopper le logiciel
dont les utilisateurs ont besoin, l'informaticien ne doit
pas correspondre aux st�r�otypes de notre imaginaire collectif.
Au contraire, il lui appartient de s'ouvrir, d'aller vers
les utilisateurs de son travail, de cerner quels sont leurs
besoins, de discuter avec eux et de les regarder travailler.
C'est ainsi qu'il cernera au mieux leurs attentes et qu'il
apprendra � se mettre � la port�e des utilisateurs de son
travail : rien de tel qu'observer un journaliste r�lant
devant son interface "qui veux pas faire ce que je lui dis,
euh !!!" pour se rendre compte qu'il vaut mieux se mettre
� la place de l'utilisateur final afin qu'il soit satisfait
de son programme. Car c'est de cette mani�re que l'on obtient
la r�compense supr�me : voir un client heureux d'utiliser
son nouveau logiciel, et surtout le voir travailler avec
durant longtemps. Attachons-nous � ce noble objectif : apr�s
avoir comment� le MPD ou Sch�ma de Base de la Newsletter
vue pr�c�demment et avoir regard� ce qu'il repr�sente v�ritablement,
je vous proposerais un autre exemple significatif.
Utiliser
le Mod�le Physique de Donn�e :
Une fois le syst�me d'information analys� et mod�lis� en Mod�le
Conceptuel de Donn�e (MCD), et apr�s �tre pass� par le Mod�le
Logique de Donn�e Relationnel (MLDR), nous arrivons au Mod�le
Physique de Donn�e (MPD). Il s'agit maintenant de cr�er
la base correspondante � l'�tude entam�e. C'est � ce stade
seulement que la base de donn�e choisie intervient.
Le SQL (Structured Query Language), ou Langage d'Interrogation
Structur�, a �t� reconnu en tant que norme officielle de
langage de requ�te relationnelle par l'institut ANSI (American
National Standards Institute) et par l'organisme ISO (International
Standards Organization). Malgr� cela, les syntaxes d'extractions
des donn�es et de cr�ations des tables varient quelques
peux d'une base � l'autre. En particulier, si la base de
donn�e utilis�e pour le d�veloppement n'est pas v�ritablement
relationnelle (cas de MySql dans sa version actuelle), il
appartiendra au d�veloppeur de prendre lui-m�me en charge
les limitations rencontr�es, afin de s'assurer que sa base
ne puisse JAMAIS �tre corrompue, c'est � dire contenir des
donn�es aberrantes.
APPLICATION
SUR UN MODELE PHYSIQUE CONCRET :
Prenons l'exemple du sch�ma de base (MPD) suivant :
- La table MOTIVATIONS
est tr�s simple � cr�er : elle comporte deux champs, ID_MOTIVATIONS et INTITULE. ID_MOTIVATIONS est la Cl� Primaire.
- ABONNES
comporte les 12 champs du sch�ma. ID_ABONNES
est la cl� primaire. ID_MOTIVATIONS
est une cl� �trang7re provenant de MOTIVATIONS, c'est � dire que sa valeur
doit �tre toujours �gale � une valeur de ID_MOTIVATIONS de MOTIVATIONS. L'int�r�t majeur des cl�s
�trang�res est surtout d'�viter les redondances, sources
d'erreurs.
- Pour les bases non totalement relationnelles
: Il appartiendra au d�veloppeur de v�rifier lors
de chaque insertion dans ABONNES
que l'ID_MOTIVATIONS fournis fais partie des
valeurs existantes de ID_MOTIVATIONS de MOTIVATIONS. De m�me, lors de chaque
suppression d'un enregistrement de MOTIVATIONS, il faudra v�rifier qu'aucun
enregistrement d'ABONNES n'utilise la valeur d'ID_MOTIVATION correspondante.
- S_INSCRIT
comporte deux champs, ID_ABONNES
et ID_RUBRIQUE. ID_ABONNES et ID_RUBRIQUE sont cl� primaire de S_INSCRIT : S_INSCRIT a comme cl� primaire la concat�nation
de ces deux champs. C'est � dire que tout couple (ID_ABONNES,ID_RUBRIQUE) de S_INSCRIT est unique. ID_ABONNES est aussi cl� �trang�re de ABONNES
dans S_INSCRIT, et ID_RUBRIQUE est cl� �trang�re de RUBRIQUE
dans S_INSCRIT.
Une telle table est commun�ment appel�e "Table de Lien".
L'int�r�t d'une telle table est que pour chaque ID_ABONNES donn�, il est ais� de retrouver
tous les ID_RUBRIQUE
associ�s, et vice et versa.
- Pour les bases non totalement relationnelles
: Il faudra v�rifier lors de chaque insertion
dans S_INSCRIT que le couple (ID_ABONNES,ID_RUBRIQUE) n'existe pas d�j� dans la
table S_INSCRIT,
que ID_ABONNES existe dans ABONNES et que ID_RUBRIQUE existe dans RUBRIQUE. De m�me, pour chaque suppression
d'un abonn�, il faudra supprimer tous les couples
(ID_ABONNES,ID_RUBRIQUE) ayant l'ID_ABONNE correspondant. Pareil pour
toute suppression de RUBRIQUE.
- RUBRIQUE
est elle aussi tr�s simple � cr�er : elle comporte deux
champs, ID_RUBRIQUE et NOM_RUBRIQUE. ID_RUBRIQUE est la Cl� Primaire.
- NEWSLETTERS
comprend les 5 champs du sch�ma. ID_NEWSLETTER
est la cl� primaire. ID_RUBRIQUE
est une cl� �trang�re provenant de RUBRIQUE.
- Pour les bases non totalement relationnelles
: Il faudra v�rifier lors de chaque insertion
dans NEWSLETTER que ID_RUBRIQUE existe dans RUBRIQUE. De plus, pour chaque suppression
d'une rubrique, il faudra s'interroger sur le sort
r�serv� � chaque newsletter de cette rubrique : les
d�truire ou les archiver.
APPLICATIONS
AUX BASES RELATIONNELLES :
Les v�rifications d�taill�es pr�c�demment n'ont lieu que
pour assurer la coh�rence de la base. Il est donc logique,
si celle ci le permet, de d�l�guer et d'automatiser ces
taches au niveau ce celle-ci. G�n�ralement, les v�rifications
aff�rentes � une cl� �trang�re sont confi�es � un Trigger
(un Trigger est un ensemble d'instruction SQL s'effectuant
avant ou apr�s un �v�nement donn�, par exemple une insertion
ou une suppression). Ainsi, lors de chaque commande d'insertion
sur la table d�sign�e au Trigger pr�alablement correctement
programm�, celui ci va v�rifier AVANT l'insertion que la
cl� �trang�re est valable. Dans le cas ou elle ne le serait
pas, le Trigger renvoie un message d'erreur et l'insertion
ne s'effectue pas, �vitant ainsi de corrompre la base. De
m�me, certains traitements automatis�s pourront �tre r�alis�s
directement � l'aide de proc�dures stock�es. Exemple : un
devis valid� qui entra�ne la cr�ation de la facture correspondante.
Et surtout, les Trigger et Proc�dures Stock�es �tant compil�es
directement par la Base de Donn�e, leur ex�cution est beaucoup
plus rapide qu'une s�rie d'instruction SQL envoy�es par
le programme attaquant la base.
Une base de donn�e correctement pens�e est � envisager comme
un contenant d'information "vivant", forcement coh�rent,
aux r�actions automatis�es. Une telle base se suffirait
presque � elle-m�me pour g�rer un Syst�me d'Information.
Le d�veloppement ne consisterait alors plus qu'� afficher
son contenu en temps r�el, et � fournir les outils d'insertion
appropri�s. Le r�ve...
SECOND
EXEMPLE : MODELISER UN DOCUMENT
Il est courant, lors du d�veloppement d'un site Web ou de
l'informatisation d'un syst�me d'information, de d�marrer
son analyse par un document. Captures d'�crans, photocopies,
sont parfois les principales pi�ces jointes � la demande
de devis, accompagn�s du commentaire suivant :
"Je veux faire �a !!!". Bien. Alors, faisons �a...
Syst�me d'Information :
L'entreprise "WebCash" de vente par correspondance d�sire
ajouter � son site un syst�me de consultation de factures
visible en ligne pour ses clients. Chaque client, apr�s
authentification, pourra acc�der � toutes les factures le
concernant, qu'elles soient anciennes ou en cours de traitement
indiff�remment. Pour �tre sur de bien se faire comprendre,
"WebCash" fournis une copie d'une facture type en disant
:
"C'est �a qu'on veut sur l'�cran !"
Voici une copie de cette facture :
WebCash S.A.R.L
24, Avenue des R�ves roses
75008 PARIS |
FACTURE
N� 12345 |
Paris, le 15/10/2000 |
| Nom :
|
BIDOCH |
| Pr�nom : |
Robert |
| Adresse :
|
12, rue du centre
|
| Code Postal :
|
70000 |
| Ville : |
Gray |
|
| N� Article
|
Libell� |
Prix Unitaire
|
Quantit� |
Prix |
| 234 |
Stylo Plume |
12.5 F |
1 |
12.50 F |
| 568 |
Couteau Suisse |
75.00 F |
2 |
150 F |
| 132 |
Serviette |
30.00 F |
1 |
30.00 F |
TOTAL TTC :
|
192.50 F |
|
Dont TVA 19.6% :
|
37.73 F
|
|
A PAYER :
|
192.50
F |
|
Avec nos plus cordiaux remerciements
|
Voil�, tous les �l�ments sont r�unis.
Il ne reste plus qu'� concevoir la Base de Donn�e se cachant
derri�re cette innocente petite facture. Cet exemple est
tr�s conforme � la r�alit�. Il sera tr�s int�ressant � �tudier,
car il permettra d'expliquer un certain nombre de points,
et de mettre en �vidence certaines erreurs � ne pas commettre.
N'h�sitez pas � prendre le stylo et � vous entra�ner, je
vous fournirais une solution comment�e la prochaine fois.
A bient�t...
St�phane Lambert
http://www.vediovis.fr/
Sp�cialis�
dans le d�veloppement Web, St�phane LAMBERT
a fond� VEDIOVIS PRODUCTIONS en Mai 2000.
Son exp�rience couvre essentiellement les sites � fortes
audiences,
institutionnels ou audiovisuels.
Tous
droits r�serv�s - Reproduction m�me partielle interdite
sans autorisation pr�alable
|