Anda di halaman 1dari 25

06/01/14

Modlisation des donnes : approche pour la conception des bases de donnes

MODLISATION DES DONNES : Approche pour la conception des bases des donnes
Par Philippe GUZLOU

1. INTRODUCTION 2. CONCEPTS DE BASE 3. AUTRES CONCEPTS


3.1. Occurrence 3.2. Identifiant 3.3. Dimension d'une association 3.4. Cardinalit

4. EXEMPLE DE MCD 5. DPENDANCES


5.1. Rappel du langage algbrique 5.1.1. Projection 5.1.2. Anti-projection 5.1.3. Produit cartsien 5.1.4. Jointure 5.1.5. Thta-jointure 5.1.6. Slection 5.1.7. Division 5.1.8. Dpendance fonctionnelle 5.1.9. Dcomposition 5.2. Dpendance fonctionnelle (DF) et contrainte fonctionnelle (CIF) 5.2.1. Dpendance fonctionnelle entre proprits d'un objet ou d'une association 5.2.2. Dpendance fonctionnelle entre objets 5.2.3. Contrainte d'intgrit fonctionnelle
philippe.guezelou.free.fr/mcd/mcd.htm 1/25

06/01/14

Modlisation des donnes : approche pour la conception des bases de donnes

5.3. Dpendance multivalue (DM) 5.4. Dpendance de jointure (DJ)

6. FORMES NORMALES
6.1. Premire forme normale (1FN) 6.2. Deuxime forme normale (2FN) 6.3. Troisime forme normale (3FN) 6.4. Forme normale de Boyce-Codd (BCFN) 6.5. Quatrime forme normale (4FN) 6.6. Cinquime forme normale (5FN)

7. LABORATION D'UN MCD 8. CONTRAINTES SMANTIQUES


8.1. Contraintes entre associations 8.1.1. Contrainte d'existence 8.1.2. Contrainte de non-existence 8.2. Contraintes entre proprits 8.3. Association d'associations

9. TRADUCTION EN SCHMA RELATIONNEL 10. EXTENSION POUR LA CONCEPTION PAR OBJETS


10.1. Rappel sur la conception oriente objets 10.1.1. Abstraction de donnes 10.1.2. Classes 10.1.3. Relations entre les classes 10.2. Gnralisation / spcialisation

1. INTRODUCTION
L'objectif de ce document est d'initier le lecteur au formalisme de modlisation des donnes tel que le dfinit la mthode MERISE. MERISE dfinit trois niveaux de description du systme d'information :
philippe.guezelou.free.fr/mcd/mcd.htm 2/25

06/01/14

Modlisation des donnes : approche pour la conception des bases de donnes

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 BASE
Le 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 CONCEPTS
3.1. OCCURRENCE
philippe.guezelou.free.fr/mcd/mcd.htm 3/25

06/01/14

Modlisation des donnes : approche pour la conception des bases de donnes

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.

philippe.guezelou.free.fr/mcd/mcd.htm

4/25

06/01/14

Modlisation des donnes : approche pour la conception des bases de donnes

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

philippe.guezelou.free.fr/mcd/mcd.htm

5/25

06/01/14

Modlisation des donnes : approche pour la conception des bases de donnes

4. EXEMPLE DE MCD

philippe.guezelou.free.fr/mcd/mcd.htm

6/25

06/01/14

Modlisation des donnes : approche pour la conception des bases de donnes

5. DPENDANCES
5.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 n-uplets <d1, d2, ..., dn> 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
philippe.guezelou.free.fr/mcd/mcd.htm 7/25

06/01/14

Modlisation des donnes : approche pour la conception des bases de donnes

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 n-uplets 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 Y entre X et Y dans une relation n-aire R(X, Y, Z) est dfinie par :

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

philippe.guezelou.free.fr/mcd/mcd.htm

8/25

06/01/14

Modlisation des donnes : approche pour la conception des bases de donnes

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 DF . P2 et se lit P2 dpend fonctionnellement de P1 ou P1 dtermine P2 par

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 Une DF P1 P2 est dite directe s'il n'y a pas de transitivit P1 P2 et P2 P3 et P3 P3 alors P1 P2. 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)


philippe.guezelou.free.fr/mcd/mcd.htm 9/25

06/01/14

Modlisation des donnes : approche pour la conception des bases de donnes

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 Martin Piquard Martin Piquard Tussier Piquard Martin Piquard Martin intervention lectricit Carrosserie Mcanique Carrosserie Dpannage Alarme lectricit Alarme 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 , il existe une DJ lorsque :
philippe.guezelou.free.fr/mcd/mcd.htm 10/25

06/01/14

Modlisation des donnes : approche pour la conception des bases de donnes

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 :

Les donnes de l'association RECETTE peuvent tre : famille Viandes Viandes Desserts Desserts saveur Sucr Sucr Sucr 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 Viandes Desserts Desserts La projection RECETTE[X2] donne : saveur Sucr Sucr
philippe.guezelou.free.fr/mcd/mcd.htm

saveur Sucr Sucr Acide

catgorie Fruits Lgumes


11/25

06/01/14

Modlisation des donnes : approche pour la conception des bases de donnes

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

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 :

philippe.guezelou.free.fr/mcd/mcd.htm

12/25

06/01/14

Modlisation des donnes : approche pour la conception des bases de donnes

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 :
philippe.guezelou.free.fr/mcd/mcd.htm 13/25

06/01/14

Modlisation des donnes : approche pour la conception des bases de donnes

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 un identifiant de l'objet ou de l'association. 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. Y( ) est vrifi alors X contient

philippe.guezelou.free.fr/mcd/mcd.htm

14/25

06/01/14

Modlisation des donnes : approche pour la conception des bases de donnes

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 < Mathmatiques , 6A , Martin > et < Mathmatiques , 6A , Piquard >, 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
philippe.guezelou.free.fr/mcd/mcd.htm 15/25

06/01/14

Modlisation des donnes : approche pour la conception des bases de donnes

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 < Tussier , Pare-brise , Seat > est ajoute, il faut ajouter aussi les occurrences < Tussier , Dpannage , Seat > et < Tussier , Pare-brise , Peugeot >. 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.
philippe.guezelou.free.fr/mcd/mcd.htm 16/25

06/01/14

Modlisation des donnes : approche pour la conception des bases de donnes

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 < Viandes , Acide , Vins > est ajoute, il faut galement ajouter l'occurrence < Viandes , Acide , Fruits >. 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
philippe.guezelou.free.fr/mcd/mcd.htm 17/25

06/01/14

Modlisation des donnes : approche pour la conception des bases de donnes

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,
philippe.guezelou.free.fr/mcd/mcd.htm 18/25

06/01/14

Modlisation des donnes : approche pour la conception des bases de donnes

(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.
philippe.guezelou.free.fr/mcd/mcd.htm 19/25

06/01/14

Modlisation des donnes : approche pour la conception des bases de donnes

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 < Martin , A01 , Carrosserie > n'est possible pour l'association REPARATION que si l'occurrence < A01 , Carrosserie > 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 :

philippe.guezelou.free.fr/mcd/mcd.htm

20/25

06/01/14

Modlisation des donnes : approche pour la conception des bases de donnes

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 :

philippe.guezelou.free.fr/mcd/mcd.htm

21/25

06/01/14

Modlisation des donnes : approche pour la conception des bases de donnes

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 :

philippe.guezelou.free.fr/mcd/mcd.htm

22/25

06/01/14

Modlisation des donnes : approche pour la conception des bases de donnes

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)


philippe.guezelou.free.fr/mcd/mcd.htm 23/25

06/01/14

Modlisation des donnes : approche pour la conception des bases de donnes

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.
philippe.guezelou.free.fr/mcd/mcd.htm 24/25

06/01/14

Modlisation des donnes : approche pour la conception des bases de donnes

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 :

Autre lien sur Merise http://perso.ifrance.com/rad/radmod/modmeris.htm

philippe.guezelou.free.fr/mcd/mcd.htm

25/25

Anda mungkin juga menyukai