cours complet (merise)

Upload: belhechmiii2623

Post on 12-Jul-2015

1.251 views

Category:

Documents


11 download

TRANSCRIPT

MERISE1. INTRODUCTIONL'objectif de ce document est d'initier le lecteur au formalisme de modlisation des donnes tel que le dfinit la mthode MERISE. Le besoin de mthodes La conception d'un systme d'information n'est pas vidente car il faut rflchir l'ensemble de l'organisation que l'on doit mettre en place. La phase de conception ncessite des mthodes permettant de mettre en place un modle sur lequel on va s'appuyer. La modlisation consiste crer une reprsentation virtuelle d'une ralit de telle faon faire ressortir les points auxquels on s'intresse. Ce type de mthode est appele analyse. Il existe plusieurs mthodes d'analyse, la mthode la plus utilise en France tant la mthode MERISE. Prsentation de la mthode MERISE MERISE est une mthode de conception, de dveloppement et de ralisation de projets informatiques. Le but de cette mthode est d'arriver concevoir un systme d'information. La mthode MERISE est bas sur la sparation des donnes et des traitements effectuer en plusieurs modles conceptuels et physiques. La sparation des donnes et des traitements assure une longvit au modle. En effet, l'agencement des donnes n'a pas tre souvent remani, tandis que les traitements le sont plus frquemment. Le modle entit-association est apparu dans les travaux des chercheurs, entre 1972 et 1975 lors des travaux du franais MOULIN puis de TARDIEU, TEBOUL... etc. Il a t rendu clbre dans le monde entier par l'amricain Peter CHEN, la suite d'une publication intitule "The Entity-Relationshionship Model" (ACM, Transaction on Database Systems, 1976). La mthode MERISE date de 1978-1979, et fait suite une consultation nationale lance en 1977 par le ministre de l'Industrie dans le but de choisir des socits de conseil en informatique afin de dfinir une mthode de conception de systmes d'information. Les deux principales socits ayant mis au point cette mthode sont le CTI (Centre Technique d'Informatique) charg de grer le projet, et le CETE (Centre d'Etudes Techniques de l'Equipement) implant Aix-en-provence. Il existe des logiciels permettant de construire des schmas entits-associations et d'en analyser les consquences logiques, puis de construire les tables associes aux modles de manire entirement automatique. Ces logiciels sont appels AGL (atelier de gnie logiciel) ou CASE suivant leur puissance. Les logiciels TRAMIS, AMC*Designor, SELECT... en sont des exemples. A ce jour tous les spcialistes franais et/ou latins du domaine de l'analyse oriente base de donnes se servent de ce modle comme outil de communication des applications SGBDR. Il est prsent de manire transparente ou plus visible, dans la plupart des logiciels de construction d'applications de bases de donnes comme ACCESS, PARADOX, ORACLE, SQL Server, Informix, Ingres, Sybase Il nest en revanche pas adapt aux bases de donnes purement objet comme O2 de Ardent Software mme si lon admet la nouvelle drive de MERISE oriente objet !

MERISE dfinit trois niveaux de description du systme d'information : le niveau conceptuel, le niveau organisationnel, le niveau physique. La reprsentation distincte des donnes et des traitements selon les 3 niveaux voqus, conduit l'laboration de six modles, mais ce document ne s'intresse qu' la modlisation des donnes au niveau conceptuel. Le niveau conceptuel dcrit les choix de gestion adopts par l'entreprise. Schmatiquement, ce niveau de description rpond la question quoi ? , c'est--dire que veut-on faire qui reste vrai quelles que soient les solutions d'organisation et les solutions techniques mettre en uvre ? . Ce document synthtise les diffrentes tapes ncessaires la ralisation du modle conceptuel des donnes (MCD). Il aborde ensuite les aspects lis la normalisation qui permet la conception de bases de donnes cohrentes.

2. CONCEPTS DE BASELe formalisme utilis pour dcrire un MCD est celui du modle entit-association. La reprsentation de ce formalisme s'appuie sur trois concepts de base : l'objet ou entit, l'association, la proprit. L'objet est une entit ayant une existence propre. L'association est un lien ou relation entre objets sans existence propre. La proprit est la plus petite donne d'information dcrivant un objet ou une association. La reprsentation graphique utilise pour visualiser les donnes est la suivante :

Une proprit ne doit tre prsente que sur un seul objet ou une seule association. Les ambiguits lies la polysmie (un mme nom de proprit dsignant deux notions diffrentes) doivent tre leves en nommant de faon prcise les proprits. Les ambiguits lies la synonymie (des noms diffrents de proprits dsignant une mme notion) doivent tre limines. Un objet possde au moins une proprit. Une association peut n'avoir aucune proprit.

3. AUTRES CONCEPTS3.1. OCCURRENCE L'occurrence d'une proprit est l'une des valeurs que peut prendre cette proprit. L'occurrence d'un objet est l'un des ensembles d'occurrences de ses proprits. L'occurrence d'une association est l'une des liaisons entre occurrences d'objets participant l'association. Les proprits d'un objet doivent avoir une occurrence quelle que soit l'occurrence de l'objet. Dans le cas contraire, il est ncessaire de crer un autre objet portant cette proprit. Lorsqu'une proprit d'un objet peut avoir plusieurs occurrences pour une occurrence de l'objet, il faut : soit crer autant de proprits sur cet objet qu'il y a de possibilits de valeurs pour cette proprit, soit crer un autre objet portant cette proprit et lier ce nouvel objet par une association avec l'objet initial. De la mme manire, lorqu'une proprit d'une association peut avoir plusieurs occurrences pour une occurrence de l'association, il faut : soit crer autant de proprits sur cette association qu'il y a de possibilits de valeurs pour cette proprit, soit crer un autre objet portant cette proprit et mettre ce nouvel objet en liaison avec cette association. 3.2. IDENTIFIANT L'identifiant d'un objet est la ou les proprits permettant de dterminer de faon unique chacune des occurrences de l'objet. La valeur de l'identifiant doit tre diffrente pour chaque occurrence de l'objet. Pour reprer l'identifiant dans la reprsentation graphique d'un objet, le ou les proprits constituant l'identifiant sont prcdes d'un symbole (# ou *). L'identifiant d'une association est la concatnation des identifiants des objets relis. 3.3. DIMENSION D'UNE ASSOCIATION La dimension d'une association est le nombre d'objets intervenant dans cette association. Une association rflexive (de dimension 1) relie un objet lui mme.

3.4. CARDINALIT Les cardinalits d'un objet dans une association dsignent le nombre minimum (0 ou 1) et le nombre maximum (1 ou n) de liens qu'il existe entre une occurrence de l'objet et une occurrence de l'association. Une valeur minimum 0 signifie qu'au moins une occurrence de l'objet n'est pas lie l'association. Une valeur minimum 1 signifie que toutes les occurrences de l'objet sont lies l'association. Une valeur maximum 1 signifie qu'aucune occurrence de l'objet n'est lie plus d'une fois l'association. Une valeur maximum n signifie qu'au moins une occurrence de l'objet est lie plusieurs fois l'association. partir de ces valeurs minimum et maximum possibles, il existe quatre types de cardinalit : (0,1) : une occurrence de l'objet n'est jamais lie plus d'une fois l'association. (1,1) : une occurrence de l'objet est toujours lie une et une seule fois l'association. (1,n) : une occurrence de l'objet est toujours lie au moins une fois l'association. (0,n) : aucune prcision donne.

Une reprsentation schmatique des liens entre les occurrences d'objets peut aider dterminer les cardinalits d'une association.

Exemple:

4. EXEMPLE DE MCD

5. DPENDANCES5.1. RAPPEL DU LANGAGE ALGBRIQUE Une relation n-aire dfinie sur des ensembles D1, D2, ..., Dn est un sous-ensemble du produit cartsien D1 x D2 x ... x Dn. Une relation n-aire est un ensemble de nuplets o . Chacun des ensembles Di est appel attribut de la relation. La relation est note R(D1, D2, ..., Dn). Dans le cadre d'une dfinition d'un modle de donnes, les langages d'interrogation pour la recherche de donnes peuvent tre scinds en deux classes : les langages algbriques, les langages prdicatifs. Le principe d'un langage algbrique est de considrer que l'information slectionner peut s'exprimer sous forme d'une relation obtenue par applications successives d'oprateurs dont les oprandes sont les relations de base. Ces oprateurs sont dcrits dans la suite de ce paragraphe. Les langages prdicatifs ne sont pas abords dans ce document. Par convention, les premires lettres de l'alphabet sont utilises pour dsigner les attributs et les dernires lettres pour dsigner les ensembles d'attributs. 5.1.1. Projection La projection R[X] d'une relation n-aire R(X, Y) est dfinie par :

5.1.2. Anti-projection L'anti-projection R]X[ d'une relation n-aire R(X, Y) est dfinie par :

5.1.3. Produit cartsien Le produit cartsien R x S de deux relations n-aires R(X) et S(Y) est dfinie par : 5.1.4. Jointure La jointure (ou produit) R * S de deux relations n-aires R(X, Y) et S(Y, Z) est dfinie par :

5.1.5. Thta-jointure La Thta-jointure (ou Thta-produit) de deux relations n-aires R(X, A) et S(B, Y) est dfinie par (Thta est un oprateur de comparaison entre A et B) :

5.1.6. Slection La slection R{F} de la relation n-aire R(X) par la formule logique F applicable sur les nuplets de R, est dfinie par : La formule F est construite partir des oprateurs de la logique : conjonction, disjonction, ngation, galit, infrieur, suprieur, diffrent. 5.1.7. Division La division de deux relations n-aires R(X, A) et S(B, Y) pour lesquelles les attributs A et B sont compatibles, est dfinie par :

5.1.8. Dpendance fonctionnelle Une dpendance fonctionnelle X dfinie par :

Y entre X et Y dans une relation n-aire R(X, Y, Z) est

5.1.9. Dcomposition Une relation R(X1, X2, ..., Xn) est dcomposable selon (X1, X2), (X2, X3, X4), ..., (Xn-3, Xn-2, Xn-1), (Xn-1, Xn) si R = R[X1, X2] * R[X2, X3, X4] * ... * R[Xn-3, Xn-2, Xn-1] * R[Xn-1, Xn]. 5.2. DPENDANCE FONCTIONNELLE (DF) ET CONTRAINTE FONCTIONNELLE (CIF) 5.2.1. Dpendance fonctionnelle entre proprits d'un objet ou d'une association Une proprit ou un ensemble de proprits P2 dpend fonctionnellement d'une proprit ou d'un ensemble de proprits P1, si la connaissance de la valeur de P1 dtermine une et une seule valeur de P2. Cette dpendance est note P1 P2 et se lit P2 dpend fonctionnellement de P1 ou P1 dtermine P2 par DF . Un identifiant dtermine par DF toutes les autres proprits de l'objet ou de l'association. Une DF P1 P2 est dite lmentaire si aucune partie de l'ensemble de proprits P1 ne dtermine la proprit ou l'ensemble de proprits P2. Les DF sont rgies par la rgle mathmatique de transitivit : si P1 P3. Une DF P1 P2 est dite directe s'il n'y a pas de transitivit P1 P2 et P2 P2. P3 alors P1

P3 et P3

5.2.2. Dpendance fonctionnelle entre objets Il existe une DF O1 O2 entre deux objets O1 et O2 lis par une association, si chaque occurrence de O1 n'est associe qu' au plus une occurrence de O2. En d'autres termes, la prsence des cardinalits (0,1) ou (1,1) sur un objet, rvle une DF vers l'autre objet. O1 est l'objet source de la DF et O2 l'objet but. La DF est dite forte pour une cardinalit (1,1) et faible pour une cardinalit (0,1). Exemple :

Une DF forte n'est pas porteuse de proprits. Si une DF forte est porteuse de proprits, alors ces proprits doivent tre dplaces sur l'objet source de la DF. Une DF rvle une relation entre objets de type est un . 5.2.3. Contrainte d'intgrit fonctionnelle Une contrainte d'intgrit fonctionnelle sur un objet signifie que cet objet est totalement identifi par la connaissance d'un ou plusieurs autres objets au sein d'une mme association. 5.3. DPENDANCE MULTIVALUE (DM) tant donn une association A(P) et X, Y des ensembles de proprits inclus dans P, il existe une DM entre les ensembles de proprits X, Y lorsque : Cette dpendance est note X Remarque : Exemple : Y. .

Les donnes de l'association EFFECTUE peuvent tre : garagiste intervention Martin lectricit Piquard Carrosserie Martin Mcanique Piquard Carrosserie Tussier Dpannage Piquard Alarme Martin lectricit Piquard Alarme Martin Mcanique

modle Citron Ford Renault Fiat Peugeot Fiat Renault Ford Citron

Il existe une DM garagiste intervention et une DM garagiste modle s'expliquant par le fait qu'un garagiste qui effectue un ensemble de types d'intervention pour un ensemble de modles de voiture, est capable d'effectuer chacun de ces types d'intervention sur chacun de ces modles de voiture. 5.4. DPENDANCE DE JOINTURE (DJ) tant donne une association A(P) et X1, X2, ..., Xn des ensembles de proprits dont l'union est P' tels que R = R[X1] * R[X2] * ... * R[Xn-1] * R[Xn]. Cette dpendance est note *[X1][X2]...[Xn-1][Xn]. Si , la dpendance est dite partielle. Si P = P', la dpendance est dite totale. Exemple : , il existe une DJ lorsque :

Les donnes de l'association RECETTE peuvent tre : famille saveur Viandes Sucr Viandes Sucr Desserts Sucr Desserts Acide

catgorie Fruits Lgumes Fruits Fruits

Ce cas correspond X1 = (famille, saveur), X2 = (saveur, catgorie) et X3 = (catgorie, famille). La projection RECETTE[X1] donne : famille saveur Viandes Sucr Desserts Sucr Desserts Acide La projection RECETTE[X2] donne : saveur Sucr Sucr Acide

catgorie Fruits Lgumes Fruits

La jointure RECETTE[X1] * RECETTE[X2] donne : famille saveur Viandes Sucr Viandes Sucr Desserts Sucr Desserts Sucr Desserts Acide La projection RECETTE[X3] donne : catgorie Fruits Lgumes Fruits

catgorie Fruits Lgumes Fruits Lgumes Fruits

famille Viandes Viandes Desserts

La jointure RECETTE[X1] * RECETTE[X2] * RECETTE[X3] redonne l'association RECETTE. Cette dpendance indique qu'il ne suffit pas qu'une famille de recettes ait une saveur dominante et que cette saveur corresponde une catgorie d'ingrdients, pour qu'une recette base de cet ingrdient et de saveur spcifie, soit fabrique.

Un dessert possde une saveur sucre, une saveur sucre peut correspondre un lgume mais un dessert sucr base de lgumes n'est pas fabriqu car il n'y a pas de lgumes dans un dessert. 6. FORMES NORMALES 6.1. PREMIRE FORME NORMALE (1FN) Un objet ou une association est en 1FN s'il possde un identifiant et si aucune proprit n'est multiples valeurs. 6.2. DEUXIME FORME NORMALE (2FN) Un objet ou une association est en 2FN s'il est en 1FN et si toutes les DF entre ses proprits sont lmentaires. Exemple :

L'association DEVOIR est en 1FN mais pas en 2FN car : #(nom, matire, numro) note, #(nom, matire, numro) moyenne, (nom, matire) moyenne. La deuxime DF n'est pas lmentaire.

Avec ce modle, l'occurrence de la proprit moyenne sera rpte pour chacun des mois. Pour que l'association DEVOIR soit en 2FN, il faut retirer la proprit moyenne de cette association et la placer dans une nouvelle association MOYENNE :

6.3. TROISIME FORME NORMALE (3FN) Un objet ou une association est en 3FN s'il est en 2FN et si toutes les DF entre ses proprits sont directes. Exemple :

L'objet COMMUNE est en 2FN mais pas en 3FN car : #code postal nom commune, #code postal numro dpartement, #code postal nom dpartement, #numro dpartement nom dpartement. La troisime DF n'est pas directe. Avec ce modle, la mme occurrence de la proprit nom dpartement sera rpte pour chaque commune appartenant au mme dpartement. Pour que l'objet COMMUNE soit en 3FN, il faut crer un nouvel objet DEPARTEMENT pour reflter cette DF :

Ce modle permet de plus de grer l'ensemble des dpartements, y compris ceux qui ne sont pas rattachs une commune.

6.4. FORME NORMALE DE BOYCE-CODD (BCFN) Un objet ou une association est en BCFN s'il est en 3FN et si quand X vrifi alors X contient un identifiant de l'objet ou de l'association.

Y(

) est

Exemple : On suppose qu'une matire n'est enseigne qu'une seule fois dans une classe et que par un seul professeur. De plus, un professeur n'enseigne qu'une seule matire.

L'association EMPLOI est en 3FN mais pas en BCFN car : (matire, classe) professeur professeur matire Il existe donc des DF dont la source ne contient pas l'identifiant de l'association. Ce modle n'interdit pas l'existence des occurrences du type et , et ceci est en contradiction avec la premire contrainte.

Pour que l'association EMPLOI soit en BCFN, il faut la dcomposer :

6.5. QUATRIME FORME NORMALE (4FN) Une association est en 4FN si elle est en BCFN et si elle ne possde pas de DM ou bien, X Y tant la DM, il doit exister une proprit A telle que X A soit verifie. Exemple : On suppose qu'un garagiste qui effectue un ensemble de types d'interventions pour un ensemble de modle de voiture, est capable d'effectuer chacun de ces types d'interventions sur chacun de ces modles de voitures.

L'association EFFECTUE est en BCFN mais pas en 4FN car il existe une DM (voir au paragraphe 5.3) et, puisque cette association n'est pas porteuse d'une proprit, il n'existe pas de DF.

Ce modle prsente des difficults de mise jour. Si l'occurrence est ajoute, il faut ajouter aussi les occurrences et . Pour que l'association EFFECTUE soit en 4FN, il faut la dcomposer :

Si l'association EFFECTUE avait t porteuse d'une proprit temps de rparation , elle aurait t en 4FN puisque la DF #(garagiste, intervention, modle) temps aurait exist. 6.6. CINQUIME FORME NORMALE (5FN) Une association est en 5FN si elle est en 4FN et si elle ne possde pas de DJ ou bien, *[X1] [Xn] tant la DJ, il doit exister une proprit A telle que X A soit verifie. Exemple :

L'association RECETTE est en 4FN mais pas en 5FN car il existe une DJ (voir au paragraphe 5.4) et, puisque cette association n'est pas porteuse d'une proprit, il n'existe pas de DF. Ce modle prsente des difficults de mise jour. Si l'occurrence est ajoute, il faut galement ajouter l'occurrence .

Pour que l'association RECETTE soit en 5FN, il faut la dcomposer :

7. LABORATION D'UN MCD Soit l'nonc suivant : La progression d'une recette donne les diffrents stades qui permettent la ralisation du travail. Cette progression est un enchanement successif et logique des diverses manipulations qui concourent l'aboutissement du plat raliser. Chacune de ces manipulations fait apparatre un temps d'excution ou de cuisson. L'application de ces manipulations dans l'ordre spcifi conduit la ralisation de la recette. Les termes techniques de base permettent de dfinir la manipulation effectuer pour chacune des phases de la progression : dcanter, mincer, plucher, flamber, hacher, peler, trier, rtir, Les termes techniques employs dans une progression supposent l'utilisation du matriel adquate. Le matriel est regroup par catgorie : couteaux, plaques, ustensiles de cuisson, robots, Un mme matriel peut participer plusieurs phases de la progression. Plusieurs matriels peuvent intervenir dans une mme phase de la progression. Une quantit est indique pour chaque matriel utilis dans une manipulation. Une recette est constitue partir d'une liste d'ingrdients auxquels sont associs une quantit utiliser. Les ingrdients sont rpartis par type : lgumes, fruits, poissons, boucherie, charcuterie, picerie, boulangerie, cave, Un ingrdient n'est rpertori que dans un seul de ces types. Chaque ingrdient possde une saveur. Les recettes sont regroupes par famille : hors d'uvre, potages, poissons, entres, rtis, entremets, oeufs, viandes, Une recette n'est repertorie que dans une seule de ces familles. Il s'agit d'laborer le MCD correspondant cet nonc. La lecture de ce texte permet de dgager les proprits suivantes : type d'ingrdient, ingrdient, saveur, famille de recette, recette, catgorie de matriel, matriel, terme technique, quantit d'ingrdient, temps d'excution ou de cuisson, numro d'ordre de la manipulation dans la progression, quantit de matriel. D'autres proprits peuvent tre limines car elles sont synonymes de celles prcdemment cites : progression, stade, phase, manipulation, enchanement de manipulations. Une progression n'est autre qu'une recette. Un stade ou une phase dans une progression correspond un terme technique auquel a t rajout un numro d'ordre. Une manipulation est un terme technique. Un enchanement de manipulations est une progression.

La notion de quantit employe dans cet nonc est ambigu (polysmie) puisqu'elle fait rfrence la quantit d'ingrdients et la quantit de matriels. Cette dernire proprit est renomme : nombre de spcimens. partir de ces proprits une liste de DF peut tre faite : ingrdient type, recette famille, matriel catgorie, ingrdient saveur, (recette, terme technique) numro d'ordre, (recette, terme technique) temps d'excution, (recette, ingrdient) quantit d'ingrdient. Il manque toutefois des informations smantiques cet nonc, en particulier pour le nombre de spcimens de matriel utiliser dans une manipulation. Ce nombre est-il dpendant de la recette ou bien est-il toujours le mme partir du moment o la manipulation apparait dans une recette ? Si l'on suppose que ce nombre est indpendant de la recette, la DF suivante est reconnue : (matriel, terme technique) nombre de spcimens. Les proprits et les DF associes permettent de concevoir les objets suivants : type d'ingrdient, ingrdient, famille de recette, recette, catgorie de matriel, matriel, manipulation, saveur.

Le modle suivant peut ensuite tre labor partir de ces lments :

Ce modle est en 5FN. Il prsente tout de mme une anomalie sur le numro d'ordre dans l'association PHASE. En effet, rien n'indique dans ce schma que la numrotation est squentielle.

8. CONTRAINTES SMANTIQUES 8.1. CONTRAINTES ENTRE ASSOCIATIONS 8.1.1. Contrainte d'existence Ce type de contrainte fait dpendre l'existence d'une occurrence d'une association entre des occurrences d'objets, de l'existence d'une occurrence d'une autre association reliant ces objets ou une partie de ces objets. Exemple : Un mcanicien n'effectue des rparations sur des voitures qu' l'atelier qui correspond au type d'intervention raliser. Le modle correspondant est :

Il faut pouvoir indiquer dans ce modle que l'occurrence n'est possible pour l'association REPARATION que si l'occurrence existe pour l'association ATTRIBUTION.

8.1.2. Contrainte de non-existence C'est l'inverse du type de contrainte prcdent. L'existence d'une occurrence d'une association entre des occurrences d'objets doit dpendre de la non-existence d'une occurrence d'une association qui pourrait relier ces objets ou une partie de ces objets. Exemple :

Un livre peut tre un roman ou une tude mais pas les deux. 8.2. CONTRAINTES ENTRE PROPRITS Ces contraintes correspondent des rgles de gestion imposes par le systme d'information. Elles ne sont en gnral pas indiques sur la reprsentation graphique du modle mais font plutt partie des annexes. Leur description n'est pas formalise. Il ne s'agit pour ces contraintes que de faire apparaitre sous une forme syntaxique quelconque, une rgle de calcul importante. Exemple :

La moyenne d'un lve dans une matire est obtenue en divisant par le nombre de notes obtenues par cet lve dans cette matire, la somme des notes obtenues par cet lve dans cette matire. Cette contrainte s 'exprime par :

8.3. ASSOCIATION D'ASSOCIATIONS Le concept d'association tel qu'il a t dfini au paragraphe 2, est modifi pour prendre en compte le cas o des contraintes apparaissent entre des associations d'objets. Cette extension au concept initial permet d'exprimer diffremment les contraintes entre associations vues au paragraphe 8.1. Ce principe est limit au cas o l'identifiant de l'une des associations est contenu dans l'identifiant de l'autre association. Exemple :

La contrainte d'existence entre les deux associations REPARATION et ATTRIBUTION peut tre remplac par une association d'associations :

L'orientation du lien entre REPARATION et ATTRIBUTION prcise quelle est l'association dont l'identifiant est contenu dans l'identifiant de l'autre association : l'association REPARATION est identifie par #(mcanicien, ATTRIBUTION) c'est--dire #(mcanicien, intervention, atelier). La cardinalit 0,n sur le lien REPARATION-ATTRIBUTION permet de spcifier que certaines occurrences de l'association ATTRIBUTION ne sont pas lies une occurrence de l'association REPARATION. En d'autre terme, un atelier peut tre spcialis dans une intervention sans qu'il y ait un garagiste qui y travaille.

9. TRADUCTION EN SCHMA RELATIONNEL Chaque proprit d'un objet ou d'une association devient un attribut d'une relation. Chaque objet devient une relation dont la cl est l'identifiant de l'objet. Pour une DF forte, l'identifiant de l'objet but est ajout la relation dfinie partir de l'objet source. Une association devient une relation dont la cl est l'identifiant de l'association et laquelle ont t ajouts tous les attributs issus des proprits de l'association. Exemple :

Le schma relationnel correspondant ce modle est le suivant : individu(#nom, prnom, adresse) catgorie(#code_catgorie, intitul) permis(#nom, #code_catgorie, date_obtention) type_vehicule(#type, code) vhicule(#numro_srie, marque, type) carte_grise(#nom, #numro_srie, immatriculation, date)

10. EXTENSION POUR LA CONCEPTION PAR OBJETS 10.1. RAPPEL SUR LA CONCEPTION ORIENTE OBJETS La conception oriente objets est une mthode qui conduit l'laboration d'une architecture base sur les objets manipuls par le systme tudi. Cette mthode est un processus de conception ascendante. Elle favorise l'laboration de composants logiciels autonomes et cohrents pouvant tre utiliss pour constituer de nouveaux systmes. Ce processus de conception conduit l'laboration d'un systme modulaire sous rserve que les principes de modularit soient respectes. La mthode ascendante est opposer la mthode descendante dont le principe est la dcomposition d'un systme en units fonctionnelles fondes sur les traitements. Cette mthode ne permet pas de constituer des lments logiciels rutilisables. Faire la diffrence entre ces deux approches c'est faire la distinction entre les deux questions : sur quoi agit le systme ? et que fait le systme ? . 10.1.1. Abstraction de donnes Une abstraction de donnes est un principe qui permet de sparer le comportement de la structure interne d'un objet. Le comportement d'un objet est dfini par les services que cet objet peut offrir l'extrieur et les oprations qu'il peut effectuer. La structure interne de l'objet et la mise en uvre du comportement sont caches de l'extrieur par encapsulation. L'encapsulation occulte les dtails physiques par masquage de l'information. 10.1.2. Classes Une classe est la description d'un ensemble d'objets ayant des proprits communes. Chaque classe peut tre membre d'une hirarchie de classes. Cette hirarchie relie les classes par des relations de nature diffrentes. L'interface d'une classe donne une vue externe de la classe c'est dire une dclaration des oprations applicables sur les objets de cette classe. Elle permet donc de savoir ce que peuvent offrir ou faire les objets de cette classe sans dtails de mise en uvre. L'interface d'une classe est compose de primitives : attribut (composant ou proprit d'un objet), procdure (action sur l'tat d'un objet) ou fonction (retour d'une valeur calcule sur l'tat d'un objet). L'tat d'un objet correspond aux valeurs courantes de chacune de ses proprits. 10.1.3. Relations entre les classes Utilisation Cette relation traduit une collaboration de type client/fournisseur. Cela signifie qu'une classe utilise une autre classe pour raliser le comportement de ses objets. Agrgation Cette relation traduit une dpendance de type compose/composantes. Elle indique qu'une classe est responsable des objets d'une autre classe. Au sens usuel, elle peut se traduire par &"171; contient ou est compose de .

Association Cette relation traduit un lien bidirectionnel reprsentant une dpendance smantiques entre objets. Hritage Cette relation traduit un partage de comportement et de proprits entre classes. Elle exprime une gnralisation / spcialisation entre classes c'est dire le fait qu'une classe spcialise une autre plus gnrale. Elle peut se traduire usuellement par est un . Instanciation Cette relation traduit une gnration d'objets d'une classe par une autre classe. 10.2. GNRALISATION / SPCIALISATION La relation d'hritage dfinie entre classes est introduite dans le modle conceptuel par gnralisation ou spcialisation des objets. La premire mthode consiste spcialiser un objet en crant un ou plusieurs objets spcialiss. La seconde mthode est inverse. Elle consiste gnraliser un ou plusieurs objets en crant un objet gnrique. L'objet gnrique porte toutes les proprits communes aux objets spcialiss. Exemple :

Il est possible de crer un objet gnrique PERSONNE partir des objets PROFESSEUR et ELEVE :

11 EXEMPLES DE MCD 11.1 Agence de location de films vido

Lors de la ralisation de la base de donnes, les entits RALISATEUR et ACTEUR peuvent tre regroupes en une seule table car il y a un nombre non ngligeable de ralisateurs qui sont acteurs, et vice-versa. Dans ce cas, un champ d'un seul caractre permettra de faire la diffrence entre un ralisateur pur, un acteur pur et un acteur ralisateur. Notez aussi les cardinalits entre les entits ACTEUR et FILM, en effet, un film d'animation ne possde aucun acteur. Dans l'entit EXEMPLAIRE figure un attribut "dispo" permettant de savoir si l'exemplaire nX d'un film est disponible ou en cours d'emprunt.

11.2 Location d'appartements pour une agence immobilire

NOTA : pour simplifier l'criture, ne figurent dans ce schma que les attributs clefs ou les attributs d'associations.

12.Passage du schma entit-association (MCD) la construction des tables : Modle Physique des Donnes (MPD) Ce que nous venons de voir concerne l'analyse conceptuelle des donnes, c'est dire un niveau d'analyse qui s'affranchi de toutes les contraintes de la base de donnes sur lequel va reposer l'application. Une fois dcrit sous forme graphique, ce modle est couramment appel MCD pour "Modle Conceptuel des Donnes". Ds lors, tout MCD peut tre tansform en un MPD ("Modle Physique des Donnes") c'est dire un modle directement exploitable par la base de donnes que vous voulez utiliser... Tout l'intrt de cet outil d'analyse est de permettre de modliser plus aisment les relations existant entre les entits et d'automatiser le passage du schma muni d'attributs aux tables de la base de donnes pourvues de leurs champs. Voici maintenant les rgles de base ncessaire une bonne automatisation du passage du MCD au MPD : 12.1 Transformation des entits Rgle n1 : toute entit doit tre reprsente par une table. 12.1.1 Relations de type 1:1 Rgle n2 : Dans le cas d'entits relies par des associations de type 1:1, les tables doivent avoir la mme clef. Exemple :

NOTA : on aurait pu choisir l'autre clef comme clef commune, savoir le n d'appartement.

Bien que certains systmes proposent une autre solution :

Dans ce cas une tude approfondie de la solution adopter est ncessaire, mais ce type de relation est en gnral assez rare et peu performante... 12.1.2 Relations de type 1:n Rgle n3 : Dans le cas d'entits relies par des associations de type 1:n, chaque table possde sa propre clef, mais la clef de l'entit ct 0,n (ou 1,n) migre vers la table ct 0,1 (ou 1,1) et devient une clef trangre (index secondaire). Exemple :

12.1.3 Relations de type n:m Rgle n4 : Dans le cas d'entits relies par des associations de type n:m, une table intermdiaire dite table de jointure, doit tre cre, et doit possder comme clef primaire une conjonction des clefs primaires des deux tables pour lesquelles elle sert de jointure. Exemple :

12.2 Ou placer les attributs d'association ? Rgle n5 : Cas des associations pourvues d'au moins un attribut : si le type de relation est n:m, alors les attributs de l'association deviennent des attributs de la table de jointure. si le type de relation est 1:n, il convient de faire glisser les attributs vers lentits pourvue des cardinalits 1:1. si le type de relation est 1:1, il convient de faire glisser les attributs vers lune ou lautre des entits.

Exemple : Pour synthtiser toutes ces rgles, voici un exemple de modlisation d'une application. En l'occurrence il s'agit d'un service commercial dsirant modliser les commandes de ses clients.

BIBLIOGRAPHIE Bases de Donnes et Modles de Calcul - Outils et Mthodes pour lUtilisateur - JeanLuc HAINAUT - InterEditions 1994 Conception de bases de donnes : du schma conceptuel au schma physique GALACSI - Dunod 1989 La mthode MERISE, principes et outils (Tome 1 & 2) - TARDIEU, ROCHFELD, COLLETTI - Les ditions d'organisation 1986 Modlisation dans la conception des systmes d'information - ACSIOME - Masson 1990 Apprendre et pratiquer MERISE - J. GABAY - Masson 1993 MERISE, vers une modlisation oriente objet Jos MOREJON Les Editions dOrganisation 1994 Matriser les bases de donnes Georges GARDARIN Eyrolles 1993 Introduction aux bases de donnes, 6e dition Chris J. DATE Thomson International Publishing 1998 Concepts fondamentaux de linformatique Alfred AHO, Jeffrey ULLMAN Dunod 1993 AMC*Designor, mise en uvre de MERISE Gilles GUEDJ Eyrolles 1996