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