Download pdf - 7472422 Cours de Merise

Transcript
Page 1: 7472422 Cours de Merise

Cours Merise

Source wwwwikitutoorgindexphpCatC3A9gorieCours_Merise

bull A-Introduction agrave Merise

1 Le systegraveme drsquoinformation de gestion 2 La modeacutelisation

bull B-Introduction au Modegravele conceptuel des donneacutees

1 Recueil des donneacutees 2 Preacutesentation des concepts et du formalisme du MCD 3 Regravegles de base pour la construction dun MCD 4 Introduction aux cardinaliteacutes

bull C-Les cardinaliteacutes et les diffeacuterents types dassociations

1 Les cardinaliteacutes 2 Les diffeacuterents types dassociations 3 Repreacutesentation des cardinaliteacutes 4 Association ternaire 5 Associations reacuteflexives

bull D-Passage MCD lt=gt modegravele relationnel

1 Rappel sur le modegravele relationnel 2 Passage du MCD au MR

bull E-Normalisation du modegravele relationnel

1 Deacutependance fonctionnelle 2 Inteacuterecirct de la normalisation 3 Les 3 formes normales

bull F-Les diagrammes de flux

1 Vocabulaire associeacute aux modegrave les de flux 2 Modegravele de contexte 3 Modegravele de flux conceptuel ou diagramme de flux de donneacutees

bull G-Les Modegraveles de traitements (MCT et MCTA)

1 MCT 2 Inteacutegration des donneacutees dans le MCT (agrave MCTA)

SANGARE SOULEYMANE

00225-08281648

sangsoulinteryahoofr

sangsoulcihotmailcom

1

A-Introduction agrave Merise

I-Systegraveme drsquoinformation de gestion

Sommaire

bull 1 Qursquoest ce qursquoun systegraveme bull 2 Qursquoest ce qursquoun systegraveme drsquoinformation de gestion

bull 3 Les fonctions du systegraveme drsquoinformation

Le champ drsquoaction drsquoun informaticien de gestion srsquoappelle systegraveme drsquoinformation de gestion (SIG)

1-Qursquoest ce qursquoun systegraveme

Un systegraveme est un tout constitueacute drsquoeacuteleacutements unis par des relations leurs proprieacuteteacutes et les valeurs que peuvent prendre ces derniegraveres ainsi que son activiteacute et lrsquoorganisation qui en deacutecoule

Lrsquoentreprise peut ecirctre vue comme un systegraveme composeacute drsquoeacuteleacutements tels que des laquo employeacutes raquo des laquo services raquo des laquo produits raquo etc Les proprieacuteteacutes deacutecrivant ces eacuteleacutements peuvent ecirctre laquo le matricule de lrsquoemployeacute raquo son laquo nom raquo la laquo reacutefeacuterence raquo du produit sa laquo deacutesignation raquo etcEntre ces eacuteleacutements on trouve des relations telles la relation laquo est rattacheacutee raquo entre un employeacute et son service la relation laquo est stockeacutee raquo entre un produit et son deacutepocirct de stockagehellip Les proprieacuteteacutes de ces relations seront du type laquo date drsquoentreacutee dans le service raquo laquo quantiteacute stockeacutee raquo hellip

2-Qursquoest ce qursquoun systegraveme drsquoinformation de gestion

Le systegraveme drsquoinformation drsquoune entreprise est lrsquoensemble des informations qui y circulent ainsi que lrsquoensemble des moyens mis en oeuvre pour les geacuterer Lrsquoobjectif drsquoun systegraveme drsquoinformation est de restituer lrsquoinformation agrave la personne concerneacutee sous la forme approprieacutee et en temps opportun pour prendre une deacutecision ou effectuer un travail

Toutes les informations qui circulent dans lrsquoorganisation quelle que soit leur forme font partie du SI Mais seules les informations formaliseacutees2 nous inteacuteressent car elles sont les seules agrave ecirctre vraiment utilisables en informatique Lrsquoensemble de ces informations formaliseacutees constituent ce qursquoon appelle le systegraveme drsquoinformation automatiseacuteLes systegravemes drsquoinformation preacuteexistent agrave lrsquoinformatique Avant drsquoutiliser les ordinateurs les informations concernant les clients les commandes les stocks etc eacutetaient meacutemoriseacutees sur papier sous forme de fiches formulaires regroupeacutes dans des dossiers Et il existait des proceacutedures manuelles pour traiter ces informations Le systegraveme informatiseacute doit ecirctre au service du systegraveme drsquoinformation mis en place par les dirigeants de lrsquoentreprise (et non lrsquoinverse comme cela existe trop souvent)

3-Les fonctions du systegraveme drsquoinformation

Le systegraveme drsquoinformation de lrsquoentreprise reccediloit de son environnement des informations qursquoil doit traiter Ce sont par exemple des commandes de clients qui doivent ecirctre traiteacutees jusqursquoagrave leur aboutissement ou lrsquoarriveacutee des factures des fournisseurs Le SI reccediloit et traite aussi des informations internes agrave lrsquoorganisation comme par exemple les documents comptables ou les chiffres de production

bull On peut distinguer 4 fonctions principales du systegraveme drsquoinformation

2

1- Recueillir lrsquoinformation (saisie)2- Meacutemoriser lrsquoinformation (stockage dans des fichiers ou bases de donneacutees)3- Exploiter lrsquoinformation (traitement)a Consulterb Organiserc Mettre agrave jourd Produire de nouvelles informations par des calculs4- Diffuser lrsquoinformation (eacutedition)

II-MeriseModeacutelisation

Sommaire

bull 1 Qursquoest qursquoun modegravele bull 2 La meacutethode Merise

o 21 Les composantes de Merise o 22 La deacutemarche Merise o 23 Les niveaux drsquoabstraction

o 24 La courbe du soleil

Les meacutethodes drsquoeacutetude des systegravemes drsquoinformation ont pour objectif de deacutecrire ces systegravemes agrave lrsquoaide de modegraveles puis de reacutealiser les systegravemes informatiseacutes qui en deacutecoulent MERISE est une de ces meacutethodes la plus reacutepandue en France actuellement

1-Qursquoest qursquoun modegravele

Un modegravele peut ecirctre deacutefini comme eacutetant une image de la reacutealiteacute Toute reacutealiteacute complexe a besoin drsquoecirctre repreacutesenteacutee pour ecirctre comprise et maicirctriseacutee

bull Exemple

Une carte routiegravere repreacutesente agrave lrsquoaide de symboles tout ou partie drsquoun territoire et son infrastructure routiegravere Le plan eacutetabli par un architecte permet agrave chaque corps de meacutetier drsquointervenir efficacement dans la construction drsquoun immeubleAinsi lrsquoinformaticien peut ecirctre vu comme lrsquoarchitecte du systegraveme informatiseacute qui en dresse le plan deacutetailleacute Un modegravele doit permettre de communiquer dans ambiguiumlteacute Donc il faut utiliser un formalisme normaliseacute Merise propose plusieurs modegraveles pour repreacutesenter le SIG

2-La meacutethode Merise

Merise est une meacutethode qui permet de construire un systegraveme drsquoinformation automatiseacute qui soit efficace flexible et adapteacute agrave lrsquoentreprise Crsquoest une meacutethode neacutee en 1976 suite agrave un projet du Ministegravere de lrsquoIndustrie

21-Les composantes de Merise

Comme toute meacutethode drsquoanalyse et de conception des SI Merise regroupe

bull Des modegraveles (concepts regravegles de repreacutesentation) bull Un langage (vocabulaire regravegles de syntaxe) bull Une deacutemarche bull Des outils (des logiciels tels que AMC Designor ou Win Design)

3

Elle permet de repreacutesenter les composantes drsquoun SIG

bull Les acteurs bull Les donneacutees bull Les traitements bull Les proceacutedures bull Les postes de travail etc

Ceci afin de concevoir reacutealiser et mettre en place une nouvelle informatisation

22-La deacutemarche Merise

1-Approche globale du SI Scheacutema directeur

2- Etude des diffeacuterentes solutions possible puis choix Etude preacutealable

3- Compleacutement des speacutecifications du domaine Etude deacutetailleacutee

4- Speacutecifications techniques complegravetes Etude technique

5- Ecriture des programmes Production

6- Tests essais formation utilisateur Mise en oeuvre

7- Corrections et adaptations du logiciel Maintenance

8- Controcircle de la conformiteacute des reacutesultats par rapport aux demandes

Controcircle de qualiteacute recette

23-Les niveaux drsquoabstraction

La neacutecessiteacute drsquoaborder diffeacuterents types de preacuteoccupations (deacutecrire lrsquoactiviteacute deacutefinir les regravegles de gestion deacutefinir les informations reacutepartir les traitements entre lrsquohomme et la machine organiser physiquement les fichiers choisir le mateacuteriel reacutepartir les responsabiliteacutes etc) a conduit agrave proposer diffeacuterents niveaux drsquoabstraction

Les voici

NIVEAU QUESTION CONTENU DOMAINE

Conceptuel Que faire - donneacutees manipuleacutees- regravegles de gestion- enchaicircnement des traitements

Gestion

OrganisationnelQui fait quoi Quand Ougrave

- partage des tacircches - mode de traitement- reacutepartition geacuteographique des traitements - organisation des donneacutees

Organisation

Physique Comment - programmes- logiciels- mateacuteriels

Technique

Merise (du moins dans sa premiegravere version) est une meacutethode qui preacuteconise de seacuteparer lrsquoeacutetude des donneacutees et les traitementsChaque modegravele de Merise concerne soit les donneacutees soit les traitements agrave un niveau drsquoabstraction donneacute

4

Voici la preacutesentation de ces diffeacuterents modegraveles selon cette typologie

NIVEAU DONNEES TRAITEMENT

ConceptuelMCDModegravele Conceptuel des Donneacutees

MCTModegravele Conceptuel des Traitements

OrganisationnelMLDModegravele logique des donneacutees

MOTModegravele Organisationnel des Traitements

PhysiqueMPDModegravele Physique des Donneacutees

MOPTModegravele Opeacuterationnel des Traitements

24-La courbe du soleil

Merise est utiliseacute dans le cas ougrave lrsquoon veut mettre en place ou modifier un systegraveme informatiseacute Dans les deux cas il convient drsquoanalyser et de critiquer le systegraveme existant afin de creacuteer un nouveau systegraveme adapteacute agrave lrsquoorganisation Pour cela la deacutemarche consiste agrave suivre la laquo courbe du soleil raquo

Lrsquoanalyse du systegraveme existant conduit agrave construire

bull Au niveau logico-physique o Le modegravele conceptuel des communications (MCC) qui repreacutesente les eacutechanges

de flux drsquoinformations entre les diffeacuterents acteurs du SI et les acteurs exteacuterieurs

bullo Le scheacutema de circulation des documents (SCD) qui repreacutesente les eacutechanges

drsquoinformations entre les acteurs du SI ainsi que les tacircches qui produisent les documents

bull Au niveau organisationnel o Le modegravele organisationnel des traitements qui permet de preacuteciser par rapport agrave

lrsquoeacutetape preacuteceacutedente si les tacircches sont automatiseacutees ou manuelles les eacuteveacutenements deacuteclencheurs et les conditions drsquoeacutemission des objets externes

bull Au niveau conceptuel o Le MCD (modegravele conceptuel des donneacutees) et le MCT (modegravele conceptuel des

traitements)

Le passage de la modeacutelisation du systegraveme existant agrave la modeacutelisation du systegraveme futur implique une critique du systegraveme existant une reacuteflexion sur les eacutevolutions possibles en tenant compte des nouveaux objectifs assigneacutes au systegraveme futur Lrsquoanalyse du systegraveme futur conduit agrave construire

bull Au niveau conceptuel o Le MCD et le MCT deacutecoulant de la critique de lrsquoexistant

5

bull Au niveau organisationnel o Le MOT du systegraveme futur mettant en valeur la nouvelle organisation (y

compris en terme de ressources humaines et de nouveaux postes de travail)

bull Au niveau logico-physique o Le MLD modegravele logique des donneacutees et le MPD modegravele physique des donneacutees

obtenus agrave partir du MCD adapteacute aux choix effectueacutes dans le MOT et aux besoins drsquoinformations compleacutementaires

o Le MPT modegravele physique des traitements (algorithmes structure des programmeshellip)

B- Introduction au Modegravele conceptuel des donneacutees

Deacutefinition

Le modegravele conceptuel des donneacutees (MCD) a pour but de repreacutesenter de faccedilon structureacutee les donneacutees qui seront utiliseacutees par le systegraveme dinformation Le modegravele conceptuel des donneacutees deacutecrit la seacutemantique crsquoest agrave dire le sens attacheacute agrave ces donneacutees et agrave leurs rapports et non agrave lrsquoutilisation qui peut en ecirctre faite

On eacutetablit le MCD apregraves avoir recenseacute et donneacute un nom agrave lrsquoensemble des donneacutees du domaine eacutetudieacute Ensuite on eacutetudie les relations existantes entre ces donneacutees (deacutependances fonctionnelles) pour aboutir au MCD

I-MCDRecueil des donneacutees

Exemple

Voilagrave plusieurs phrases qui deacutecrivent une seule et mecircme personne prononceacutees par des personnes diffeacuterenteslaquo Odile Martin est une personne convenable Et je ne dis pas ccedila parce crsquoest une cliente qui mrsquoen prend pour 100F toutes les semaines raquo Le boulanger laquo MARTIN Odile habitant 6 rue des preacutes Saint Amour (Jura) neacutee le 130273 agrave Beacuteziers (Heacuterault) hellip raquo Un inspecteur de police judiciaire laquo Odile Martin voilagrave une personne qui nrsquoa jamais commis aucun peacutecheacute mortel qui a fait preuve de beaucoup de geacuteneacuterositeacute Elle ira au paradis raquo Saint Pierre Diffeacuterents interlocuteurs diffeacuterents points de vue Lequel est le plus pertinent Ca deacutepend du domaine eacutetudieacute Mais on ne recense que les informations objectives formelles

Quand on analyse les donneacutees sur un objet (abstrait ou concret) du reacuteel il est neacutecessaire de faire le tri entre ce qui est neacutecessaire pour le systegraveme drsquoinformation et ce qui ne lrsquoest pas

bull 2deg repreacutesentation

Odile sera repreacutesenteacutee par au moins ces informations

NomPreacutenomNumeacutero de la voieNature de la voieNom de la voieCommune de reacutesidenceDeacutepartement de reacutesidenceJour de naissanceMois de naissanceAnneacutee de naissance

6

Commune de naissanceDeacutepartement de naissance

Peut-on deacutecomposer encore Par exemple la commune de reacutesidence est composeacutee de 2 mots de mecircme que le nom de la voie hellip va-t-on les deacutecomposer Non ces mots repreacutesentent ensemble une information ne veulent rien dire agrave eux seuls

Mais nrsquoavons-nous pas trop deacutecomposeacute Il existe par exemple des liens entre les informations 3 4 et 5 qui repreacutesentent lrsquoadresse drsquoOdile entre les informations 8 et 9 qui repreacutesentent sa date de naissancehellip On va alors regrouper ensemble ces informations relieacutees

On remarque que toutes les personnes (et Odile est une personne on dit que crsquoest une OCCURRENCE de personne) de la maniegravere suivante

bull on peut dire qursquoon a creacuteeacute une entiteacute (un ensemble) PERSONNE dont Odile est une occurrence (ou instance)

Les donneacutees de base sont appeleacutees PROPRIETES ou ATTRIBUTS

II-MCDConcepts et du formalisme

Sommaire

bull 1 Les concepts de base o 11 Entiteacute o 12 Association o 13 Cardinaliteacutes

bull 2 La notion drsquooccurrence bull Exemple

7

1-Les concepts de base

11-Entiteacute

Une entiteacute repreacutesente un objet du SI (acteur document concept hellip) ou plus exactement un ensemble drsquoobjets ayant les mecircmes caracteacuteristiquesDans une entiteacute on met les informations neacutecessaires et suffisantes pour caracteacuteriser cette entiteacute Ces informations sont appeleacutees proprieacuteteacutes Les proprieacuteteacutes sont collecteacutees lors de lrsquoeacutetablissement du dictionnaire des donneacutees (voire partie suivante) Les proprieacuteteacutes prennent des valeurs pour chaque occurrence drsquoune entiteacute

Une proprieacuteteacute particuliegravere appeleacutee identifiant permet de distinguer sans ambiguiumlteacute toutes les occurrences de lrsquoentiteacute Lrsquoidentifiant est toujours souligneacute Lrsquoidentifiant est une proprieacuteteacute qui ne peut pas changer au cours du temps pour une occurrence

12-Association

Crsquoest un lien entre deux entiteacutes (ou plus) On doit lui donner un nom souvent un verbe qui caracteacuterise le type de relation entre les entiteacutes

Une association possegravede parfois des proprieacuteteacutes

13-Cardinaliteacutes

Ce sont des expressions qui permettent drsquoindiquer combien de fois au minimum et au maximum le lien entre 2 entiteacutes peut se produire Pour une association de 2 entiteacutes il y a 4 cardinaliteacutes agrave indiquer

Il y a trois valeurs typiques 0 1 et N (plusieurs)Les cardinaliteacutes traduisent des regravegles de gestion Ce sont des regravegles propre au SI eacutetudieacute qui expriment des contraintes sur le modegravele

2-La notion drsquooccurrence

Il ne faut pas confondre

bull ENTITE et OCCURRENCE drsquoentiteacute bull ni PROPRIETE et VALEUR de proprieacuteteacute bull ni ASSOCIATION et OCCURRENCE drsquoassociation

Reprenons ces concepts Une ENTITE est une FAMILLE drsquoobjets ayant les mecircmes caracteacuteristiques appeleacutees proprieacuteteacutes

Un MEMBRE de la famille est appeleacute OCCURRENCE drsquoentiteacute

Une entiteacute repreacutesente un ENSEMBLE drsquoOCCURRENCES

Une PROPRIETE est une information eacuteleacutementaire qui permet de deacutecrire une entiteacute ou une association Une proprieacuteteacute peut prendre une VALEUR (crsquoest lrsquoeacutequivalent drsquoune variable) (On peut dire qursquoune VALEUR est une OCCURRENCE de PROPRIETE)

De mecircme une ASSOCIATION est un LIEN entre 2 entiteacutes ou plus et une OCCURRENCE drsquoassociation est un lien entre 2 OCCURRENCES drsquoentiteacutes

8

bull Exemple

Consideacuterons le scheacutema suivant

PROPRIETE VALEUR de PROPRIETE

Reacutefeacuterence 456

Deacutesignation Manteau

Prix unitaire 100euro

ENTITE OCCURRENCE drsquoentiteacute

PRODUIT Manteau de reacutefeacuterence 456 agrave 100euro

COMMANDE numeacutero 123 du 081002

ASSOCIATION OCCURRENCE drsquoassociation

CONCERNER lien entre la commande 123 et le manteau 456 pour une quantiteacute de 3 uniteacutes

bull On peut repreacutesenter une entiteacute comme un ensemble ougrave les eacuteleacutements sont les occurrences

bull Une association peut ecirctre vue comme lrsquoensemble des relations entre les occurrences des entiteacutes associeacutees

Attention agrave ne pas confondre occurrences et proprieacuteteacutes En effet on peut dire agrave la fois qursquoune entiteacute est un ensemble de proprieacuteteacutes et un ensemble drsquooccurrences

Une proprieacuteteacute est une rubrique un eacuteleacutement drsquoinformation qui permet de deacutecrire une entiteacute Une entiteacute est deacutecrite par plusieurs proprieacuteteacutesUne occurrence est un exemplaire un eacuteleacutement particulier de la famille repreacutesenteacutee par lrsquoentiteacute Les proprieacuteteacutes drsquoune entiteacute prennent des valeurs pour chaque occurrenceChaque occurrence drsquoentiteacute est identifieacutee de maniegravere unique par un identifiant qui est une proprieacuteteacute particuliegravere telle que 2 occurrences de lrsquoentiteacute ne peuvent pas avoir la mecircme valeur pour cette proprieacuteteacute

9

On repreacutesente souvent les occurrences drsquoune entiteacute sous forme drsquoun tableau Les lignes correspondent aux occurrences et les colonnes correspondent aux proprieacuteteacutes

bull Exemple

III-MCDRegravegles de construction

Sommaire

bull 1 Regravegles concernant les proprieacuteteacutes bull 2 Regravegles concernant les entiteacutes

bull 3 Regravegles concernant les associations

1-Regravegles concernant les proprieacuteteacutes

bull Pour qursquoil nrsquoy ait pas drsquoambiguiumlteacute possible une proprieacuteteacute ne peut pas apparaicirctre plusieurs fois dans un MCD

Autrement dit toutes les proprieacuteteacutes drsquoun MCD doivent ecirctre diffeacuterentes les unes des autres Exemples Une proprieacuteteacute Date ne peut pas apparaicirctre simultaneacutement dans une entiteacute COMMANDE et une entiteacute FACTURE Si crsquoeacutetait le cas il faudrait remplacer Date par Date_commande et Date_facture par exemple

bull Toute proprieacuteteacute ne doit avoir agrave un moment donneacute qursquoune seule valeur pour une occurrence Par conseacutequent un nom de proprieacuteteacute doit toujours ecirctre au singulier

Exemple Dans la proprieacuteteacute note drsquoune entiteacute ELEVE on ne peut avoir qursquoune seule note Si on veut la note de plusieurs matiegraveres il faut mettre autant de proprieacuteteacutes qursquoil y a de matiegraveres par exemple noteALSI noteAMSI noteDAIGL etc

2-Regravegles concernant les entiteacutes

bull Toute entiteacute doit comporter un identifiant qui permet de distinguer entre elles toutes les occurrences drsquoune mecircme entiteacute Lrsquoidentifiant est placeacute en tecircte des proprieacuteteacutes et il est souligneacute

bull Pour chaque occurrence drsquoune entiteacute il ne doit y avoir qursquoune seule valeur pour chacune des proprieacuteteacutes agrave un instant donneacute Cette valeur peut changer au cours du temps mais agrave un instant donneacute il nrsquoy en a qursquoune seule

3-Regravegles concernant les associations

bull Lrsquoidentifiant drsquoune association est implicitement formeacute par la concateacutenation des identifiants des entiteacutes lieacutees

10

On ne repreacutesente pas cet identifiant au niveau du MCD Deux occurrences drsquoassociation ne peuvent pas avoir le mecircme identifiant Pour une occurrence lrsquoidentifiant ne doit jamais changer de valeur (lrsquoidentifiant est une proprieacuteteacute constante)

bull Une association peut avoir des proprieacuteteacutes mais ce nrsquoest pas obligatoire

IV-MCDIntroduction aux cardinaliteacutes

Sommaire

bull 1 Formalisme bull 2 La cardinaliteacute minimale

o 21 Exemples o 22 Application

bull 3 La cardinaliteacute maximale o 31 Exemple 1 o 32 Exemple 2

bull 4 Conclusion bull 5 Exemple

bull 6 Repreacutesentation des cardinaliteacutes

Les cardinaliteacutes drsquoune entiteacute dans une association exprime le nombre de fois qursquoune occurrence de cette entiteacute est impliqueacutee dans lrsquoassociation au minimum et au maximum

1-Formalisme

2-La cardinaliteacute minimale

Elle est exprimeacutee presque toujours par lrsquoune des deux valeurs 0 ou 1Elle traduit combien de fois au minimum une occurrence de lrsquoentiteacute participe agrave lrsquoassociation

21--Exemples

Pour la cardinaliteacute mini entre client et commander il faut se poser la question Pour un client donneacute combien de fois au minimum il commande Si la reacuteponse est laquo tout client doit passer au moins une commande sinon ce nrsquoest pas un client raquo on met la cardinaliteacute mini agrave 1

11

Mais on peut tregraves bien imaginer que lrsquoentreprise veut aussi meacutemoriser les clients potentiels (prospects) qui nrsquoont encore rien commandeacute Dans ce cas un client peut tregraves bien ne pas avoir encore commandeacute et on met la cardinaliteacute mini agrave 0

22-Application

1 Trouver la question qui permet de trouver la cardinaliteacute minimale pour lrsquoentiteacute produit et lrsquoassociation commander

2 Faites deux hypothegraveses de regravegle de gestion concernant ce lien et trouver les cardinaliteacutes minimales correspondantes

3-La cardinaliteacute maximale

Elle traduit combien de fois au maximum lrsquoentiteacute peut ecirctre en relation avec lrsquoassociation Cela peut ecirctre plusieurs fois (si crsquoest un nombre indeacutetermineacute on indique la valeur n) ou une seule foisOn reacutepond agrave la question Combien au maximum lrsquoentiteacute peut participer agrave lrsquoassociation Si la reacuteponse est laquo au plus une fois raquo la cardinaliteacute maximale prend pour valeur 1Si la reacuteponse est laquo plusieurs raquo la cardinaliteacute maximale prend la valeur N

31-Exemple 1

bull REGLES DE GESTION

Un salarieacute est affecteacute au plus agrave un seul service Dans un service sont affecteacutes plusieurs salarieacutes

Il arrive (mais crsquoest rare) qursquoune cardinaliteacute maximale ait une valeur limiteacutee

32-Exemple 2

bull REGLE DE GESTION Un eacutelegraveve doit suivre au minimum une option et au maximum 3 options

12

4-Conclusion

En fait dans la grande majoriteacute des cas on nrsquoutilise que 4 combinaisons de valeurs pour les cardinaliteacutes

bull 01 au plus un(e) bull 11 un(e) et un(e) seul(e) bull 1 n un(e) ou plusieurs bull 0 n zeacutero ou plusieurs

5-Exemple

6-Repreacutesentation des cardinaliteacutes

Une voiture est posseacutedeacutee par une seule personne Une personne peut posseacuteder de 0 agrave plusieurs voitures

Une personne a une adresse ou est sans domicile A une adresse il y a une ou plusieurs personne qui y habitent

13

C-Les cardinaliteacutes et les diffeacuterents types dassociations

I-MCDCardinaliteacutes

Sommaire

bull 1 Deacutefinition et formalisme bull 2 La cardinaliteacute minimale

o 21 Exemple o 22 Application

bull 3 La cardinaliteacute maximale o 31 Exemple

bull 4 Reacutecapitulatif o 41 Exemples complets

1-Deacutefinition et formalisme

Les cardinaliteacutes sont des couples de valeur que lon trouve entre chaque entiteacute et ses associations lieacuteesDonc pour une association de 2 entiteacutes il y a 4 cardinaliteacutes agrave indiquer (2 de chaque cocircteacute)Il y a trois valeurs typiques 0 1 et N (plusieurs)

Pour les associations agrave 2 entiteacutes ce sont des valeurs qui permettent drsquoindiquer combien de fois au minimum et au maximum une occurrence dentiteacute peut ecirctre lieacutee agrave une autre occurrence dentiteacute

De maniegravere plus geacuteneacuterale les cardinaliteacutes drsquoune entiteacute dans une association expriment le nombre de fois qursquoune occurrence de cette entiteacute peut ecirctre impliqueacutee dans une occurrence de lassociation au minimum et au maximum

Les cardinaliteacutes traduisent des regravegles de gestion Ce sont des regravegles propres agrave lorganisation eacutetudieacutee qui sont deacutecideacutees par les gestionnaires et deacutecideurs Ces regravegles expriment des contraintes sur le modegravele

2-La cardinaliteacute minimale

14

Elle est exprimeacutee presque toujours par lrsquoune des deux valeurs 0 ou 1 Elle traduit combien de fois au minimum une occurrence de lrsquoentiteacute participe agrave lrsquoassociation autrement dit si une occurrence est obligatoirement associeacutee agrave une autre ou pas

21-Exemple

Pour la cardinaliteacute minimale entre client et commander il faut se poser la question Pour un client donneacute combien de fois au minimum il commande

ou encore mieux Est-il obligatoire quun client effectue une commande de produit

Cela deacutepend des REGLES DE GESTION de lentreprise Si la regravegle de gestion est laquo tout client doit passer au moins une commande sinon ce nrsquoest pas un client raquo on met la cardinaliteacute mini agrave 1

Mais on peut tregraves bien imaginer que lrsquoentreprise veut aussi meacutemoriser les clients potentiels (prospects) qui nrsquoont encore rien commandeacute Dans ce cas un client peut tregraves bien ne pas avoir encore commandeacute et on met la cardinaliteacute mini agrave 0

En fait les cardinaliteacutes deacutependent des regravegles de gestion propres agrave lrsquoorganisation eacutetudieacutee La regravegle peut tregraves bien ecirctre laquo On ne meacutemorise que les clients qui ont deacutejagrave commandeacute raquo ou bien laquo On veut meacutemoriser les prospects raquo

22-Application

bull Trouver la question qui permet de trouver la cardinaliteacute minimale pour lrsquoentiteacute produit et lrsquoassociation commander

Reacuteponse Est-il obligatoire quun produit ait eacuteteacute commandeacute pour quil soit meacutemoriseacute dans la base de donneacutee ou bien Peut-il exister dans la base de donneacutee des produits qui nont jamais eacuteteacute commandeacutes

bull Faites deux hypothegraveses de regravegle de gestion concernant ce lien et trouver les cardinaliteacutes minimales correspondantes

Reacuteponse H1 lentreprise peut proposer de nouveaux produits sur catalogue par exemple quelle meacutemorise dans sa base de donneacutees mais qui nont jamais encore eacuteteacute commandeacutes =gt cardinaliteacute minimale agrave 0 (cest plutocirct le cas pour les entreprises de vente)

15

H2 tout produit inscrit dans la base de donneacutee est forceacutement commandeacute (par exemple parce que lentreprise ne propose pas de catalogue mais fabrique seulement agrave la commande) =gt cardinaliteacute minimale agrave 1 (cest plutocirct le cas pour les entreprises de production)

3-La cardinaliteacute maximale

Elle traduit combien de fois au maximum une occurrence dentiteacute peut ecirctre en relation avec une occurrence de lassociation Cela peut ecirctre plusieurs fois (si crsquoest un nombre indeacutetermineacute on indique la valeur n) ou une seule fois

Cette cardinaliteacute reacutepond agrave la question

bull la participation dune occurrence doit-elle ecirctre unique ou bien peut-elle ecirctre multiple ou bien

bull combien de fois au maximum une occurrence est elle impliqueacutee dans lassociation

Si lassociation est binaire (relie seulement deux entiteacute) la question peut ecirctre aussi

bull Une occurrence de lentiteacute peut-elle ecirctre relieacutee agrave plusieurs occurrences de lautre entiteacute ou bien ne peut-elle ecirctre relieacutee quagrave une seule autre occurrence au plus

Si la reacuteponse est laquo au plus une fois raquo (participation unique) la cardinaliteacute maximale prend pour valeur 1 Si la reacuteponse est laquo plusieurs raquo (participation multiple) la cardinaliteacute maximale prend la valeur N

31-Exemple

bull RG (regravegles de gestion)

1 Un salarieacute est affecteacute au plus agrave un seul service 2 Dans un service sont affecteacutes plusieurs salarieacutes

Il arrive (mais crsquoest rare) qursquoune cardinaliteacute maximale ait une valeur limiteacutee

bull Exemple

RG Un eacutelegraveve peut suivre au maximum 3 options

4-Reacutecapitulatif

16

En fait dans la grande majoriteacute des cas on nrsquoutilise que 4 combinaisons de valeurs pour les cardinaliteacutes

bull 01 au plus un(e) bull 11 un(e) et un(e) seul(e) bull 1n un(e) ou plusieurs bull 0 n zeacutero ou plusieurs

41-Exemples complets

RG un client commande au moins 1 produit (sous entendu ou plusieurs) et un produit peut ne pas encore avoir eacuteteacute commandeacute comme il peut lavoir eacuteteacute plusieurs fois

RG Un salarieacute est obligatoirement affecteacute agrave 1 et 1 seul service Un service pour exister doit avoir au moins un salarieacute affecteacute (sous-entendu il peut bien sur en avoir plusieurs)

II-MCDAssociations

Sommaire

1 Les associations binaires concernant 2 entiteacutes

11 Les associations hieacuterarchiques [1n]

12 Les associations non hieacuterarchiques [n n]

13 Les associations de type [1 1]

2 Les autres types dassociation

21 Les associations reacuteflexives

211 Exemple dassociation reacuteflexive hieacuterarchique

212 Exemples dassociations reacuteflexives non hieacuterarchiques

22 Les associations de dimension 3 ou plus (ternaires ou plus)

1-Les associations binaires concernant 2 entiteacutes

17

On distingue trois cateacutegories dassociations en fonction des cardinaliteacutes maximales de ses branches

-Les associations hieacuterarchiques encore appeleacutees associations [1 n] ou associations fonctionnelles

-Les associations non hieacuterarchiques encore appeleacutees associations [n n] ou non fonctionnelles

-Les association [1 1] les 2 branches ont pour cardinaliteacute maximale 1 Ce cas est rare

11-Les associations hieacuterarchiques [1 n]

Ce sont les associations ougrave dun cocircteacute la |cardinaliteacute maximale est agrave 1 et de lautre cocircteacute la cardinaliteacute maximale est agrave n

Cela signifie quune occurrence de A est relieacutee au plus agrave une seule occurrence de B Cest-agrave-dire si on connaicirct une occurrence de A alors on saura forceacutement quelle est la seule occurrence de B qui correspond (si elle existe) On dit que A deacutetermine B Cest un lien de deacutependance fonctionnelle B deacutepend fonctionnellement de A

Lentiteacute qui correspond agrave la branche du cocircteacute du 1 est parfois appeleacutee entiteacute fils et lentiteacute correspondant agrave la branche du cocircteacute n est parfois appeleacutee entiteacute pegravere Cette appellation deacutecoule de lanalogie un fils na quun seul pegravere et un pegravere peut avoir plusieurs fils

12-Les associations non hieacuterarchiques [n n]

13-Les associations de type [1 1]

Cas exceptionnel

Ex un employeacute travaille sur un ordinateur (p 99 de Modeacuteliser les donneacutees) La facture correspondant agrave une commande

2-Les autres types dassociation

18

Le plus souvent une association relie 2 entiteacutes avec 2 branches Ce type dassociation est appeleacute association binaire Nous avons deacutejagrave eacutetudieacute en deacutetail les diffeacuterents types dassociations binaires

Mais une association peut aussi relier 3 ou tregraves rarement 4 entiteacutes (quasiment jamais plus) On parle dassociation ternaire quaternaire (n-aire) Enfin une association peut aussi relier une entiteacute agrave elle-mecircme cest-agrave-dire que des occurrences de la mecircme entiteacute sont relieacutees entre elles Lassociation correspondante est qualifieacutee de reacuteflexive Ce sont ces autres types dassociation que nous allons eacutetudier maintenant

21-Les associations reacuteflexives

Une association reacuteflexive est une association reliant des occurrences de la mecircme entiteacute Ces associations sont quasiment toujours binaire (2 branches) Pour lire une association reacuteflexive il est faut connaicirctre le rocircle attribueacute agrave chaque branche de lassociation Il existe comme pour les autres associations des associations reacuteflexives hieacuterarchique et des associations reacuteflexives non hieacuterarchique

211-Exemple dassociation reacuteflexive hieacuterarchique

Dans une entreprise bureaucratique chaque salarieacute a un seul chef (supeacuterieur hieacuterarchique direct) sauf le patron et chaque chef a au moins un salarieacute sous ses ordres Evidemment certains salarieacutes ne sont chefs de personnes

Exemples doccurrences diagramme doccurrences

Remarquez limportance du rocircle dans le diagramme doccurrence

212--Exemples dassociations reacuteflexives non hieacuterarchiques

19

Piegraveces composants composeacute = reacuteflexive asymeacutetrique

Personnes fregraveres = reacuteflexive symeacutetrique (rocircle pas indispensable car a pour fregravere = ecirctre fregravere de)

Preacutecision de vocabulaire dimension dune association

La dimension dune association correspond au nombre de branches de lassociation Dans plus de 80 des cas les associations sont binaires Dimension 2 binaire Dimension 3 ternaire (rare) Dimension supeacuterieure aire (exceptionnel)

Lorsquil ny a pas de reacuteflexiviteacute le nombre de branches est eacutegal au nombre dentiteacutes relieacutees La dimension est dans ce cas le nombre dentiteacutes concerneacutees par lassociation Mais la reacuteflexiviteacute existe et donc on peut avoir plusieurs branches de la mecircme association sur la mecircme entiteacute Dans ce cas alors la dimension est supeacuterieure au nombre dentiteacutes concerneacutees

Dimension = nombre dentiteacute lieacutees

Une association reacuteflexive (1 entiteacute) est quasiment toujours binaire (2 branches) On pourrait aussi avoir une association ternaire impliquant seulement deux entiteacutes

22-Les associations de dimension 3 ou plus (ternaires ou plus)

Une association peut relier plus de 2 entiteacutes ensemble le plus souvent trois On parle alors dassociation ternaire On utilise une association ternaire quand on a besoin de connaicirctre une occurrence de chaque entiteacute pour avoir une information

Exemple

Pour connaicirctre la quantiteacute de chacune des piegraveces fabriqueacutee par chaque ouvrier agrave une date donneacutee on utilise une association ternaire entre OUVRIER PIECE et DATE La quantiteacute est une donneacutee porteacutee par cette association

Une occurrence de lassociation fabrique implique une seule occurrence de chaque entiteacute

20

Exemple

Ouvrier Piegravece Date quantiteacute

Dupont 1 1702 50

Dubois 2 1702 100

Martin 1 1702 40

Dupont 3 1702 55

Dubois 3 1702 20

Dupont 1 1602 40

Martin 1 1602 40

Lassociation ternaire implique aussi que

Pour un ouvrier on peut avoir plusieurs piegraveces diffeacuterentes agrave la mecircme date (il peut fabriquer plusieurs types de piegraveces le mecircme jour)

Une piegravece peut ecirctre fabriqueacutee par plusieurs ouvriers diffeacuterents le mecircme jour

A des dates diffeacuterentes un mecircme ouvrier peut fabriquer les mecircmes piegraveces

Lidentifiant dune association ternaire est formeacutee de la concateacutenation (juxtaposition) des identifiants des 3 entiteacutes relieacutees

Dans notre exemple on ne peut donc pas avoir plusieurs occurrences de fabrique qui concernent Dupont la piegravece ndeg1 agrave la date du 1702

III-MCDRepreacutesentation des cardinaliteacutes

bull Une voiture est posseacutedeacutee par une seule personne Une personne peut posseacuteder de 0 agrave plusieurs voitures

21

bull Une personne a une adresse ou est sans domicile A une adresse il y a une ou plusieurs personnes qui y habitent

IV-MCDAssociation ternaire

bull Une association peut relier plus de 2 entiteacutes ensemble le plus souvent trois On parle alors dassociation ternaire (dimension 3) On utilise une association ternaire quand on a besoin de connaicirctre une occurrence de chaque entiteacute pour avoir une information

bull Ex

Pour connaicirctre la quantiteacute de chacune des piegraveces fabriqueacutee par chaque ouvrier agrave une date donneacutee on utilise une association ternaire entre OUVRIER PIECE et DATE La quantiteacute est une donneacutee porteacutee par cette association

22

Une occurrence de lassociation fabrique implique une seule occurrence de chaque entiteacute Exemple

Ouvrier Piegravece Date quantiteacuteDupont 1 1702 50Dubois 2 1702 100Martin 1 1702 40Dupont 3 1702 55Dubois 3 1702 20Dupont 1 1602 40Martin 1 1602 40

Lassociation ternaire implique aussi que

1 Pour un ouvrier on peut avoir plusieurs piegraveces diffeacuterentes agrave la mecircme date (il peut fabriquer plusieurs types de piegraveces le mecircme jour)

2 Une piegravece peut ecirctre fabriqueacutee par plusieurs ouvriers diffeacuterents le mecircme jour 3 A des dates diffeacuterentes un mecircme ouvrier peut fabriquer les mecircmes piegraveces

Lidentifiant dune association ternaire est formeacutee de la concateacutenation (juxtaposition) des identifiants des 3 entiteacutes relieacutees

Dans notre exemple on ne peut donc pas avoir plusieurs occurrences de fabrique qui concernent Dupont la piegravece ndeg1 agrave la date du 1702

V-MCDAssociations reacuteflexives

Une association reacuteflexive est une association reliant des occurrences de la mecircme entiteacute Ces associations sont quasiment toujours binaire (2 branches)

Pour lire une association reacuteflexive il est faut connaicirctre le rocircle attribueacute agrave chaque branche de lassociation cest agrave dire le rocircle de chaque occurrence dans le lien

23

Il existe comme pour les autres associations des associations reacuteflexives hieacuterarchique (une des cardinaliteacutes maximales agrave 1) et des association reacuteflexives non hieacuterarchique (les deux cardinaliteacutes maximales agrave n)

1-Exemple dassociation reacuteflexive hieacuterarchique

Dans une entreprise bureaucratique chaque salarieacute a un seul chef (supeacuterieur hieacuterarchique direct) sauf le patron et chaque chef a au moins un salarieacute sous ses ordres Evidemment certains salarieacutes ne sont chefs de personnes

Un mecircme salarieacute peut agrave la fois ecirctre chef et avoir un chef Tutu peut ecirctre chef de titi et de toto et dautres salarieacutes mais il na quun seul chef au maximum toto peut ecirctre le chef de coco et avoir pour chef tutu

2-Exemples dassociations reacuteflexives non hieacuterarchiques

Piegraveces composants composeacute = reacuteflexive asymeacutetrique

Une piegravece peut entrer dans la composition de plusieurs autres piegraveces (ex un boulon) Une piegravece peut aussi ecirctre composeacutee de plusieurs autres piegraveces (ex un moteur) Une mecircme piegravece peut ecirctre composeacutee dautres piegraveces et entrer dans la composition dune ou plusieurs autres piegraveces (ex une carte reacuteseau)

Preacutecision de vocabulaire dimension dune association

La dimension dune association correspond au nombre de branches de lassociation Dans plus de 80 des cas les associations sont binaires

Dimension 2 binaire Dimension 3 ternaire (rare) Dimension supeacuterieure n-aire (exceptionnel)

Lorsquil ny a pas de reacuteflexiviteacute le nombre de branches est eacutegal au nombre dentiteacutes relieacutees La dimension est dans ce cas le nombre dentiteacutes concerneacutees par lassociation Mais la reacuteflexiviteacute existe et donc on peut avoir plusieurs branches de la mecircme association sur la mecircme entiteacute Dans ce cas alors la dimension est supeacuterieure au nombre dentiteacutes concerneacutees

24

Dimension = nombre dentiteacute lieacutees

Une association reacuteflexive (1 entiteacute) est quasiment toujours binaire (2 branches) On pourrait aussi avoir une association ternaire impliquant seulement deux entiteacutes

D-Passage MCD lt=gt modegravele relationnel

I-MRRappel sur le modegravele relationnel

Cest un modegravele LOGIQUE de donneacutee celui qui correspond agrave lorganisation des donneacutees dans les bases de donneacutees relationnelles (il existe dautres organisations de bases de donneacutees hieacuterarchique reacuteseau objethellip)

Les SGBD actuels les plus courants sont relationnels (Oracle SQL Server Access MySQL hellip )

Un modegravele relationnel est composeacute de relations encore appeleacutee tables Ces tables sont deacutecrites par des attributs ou champs (noms de colonnes) Pour deacutecrire une relation on indique tout simplement son nom en majuscule suivi du nom de ses attributs entre parenthegraveses

Lidentifiant dune relation est composeacute dun ou plusieurs attributs qui forment la cleacute primaire Une relation peut faire reacutefeacuterence agrave une autre en utilisant une cleacute eacutetrangegravere qui correspond agrave la cleacute primaire de la relation reacutefeacuterenceacutee

Il ny a pas de notation officielle pour repeacuterer les cleacutes primaires et eacutetrangegraveres Cest agrave vous den adopter une et de lexpliquer en leacutegende Toutefois une notation sest peu agrave peu reacutepandue

bull on souligne la cleacute primaire dun seul trait bull on fait preacuteceacuteder (ou suivre) les cleacutes eacutetrangegraveres du symbole

Chaque ligne (tuple ou enregistrement) dune table repreacutesente une occurrence de lentiteacute ou de lassociation correspondante

II-MRPassage du MCD au MR

Sommaire

bull 1 Regravegle 1 bull 2 Regravegle 2 bull 3 Exception agrave la regravegle 1 bull 4 Cas particulier des associations reacuteflexives

o 41 Reacuteflexive hieacuterarchique o 42 Reacuteflexive non hieacuterarchique

25

1-Regravegle 1

Toute entiteacute devient une relation ayant pour cleacute primaire son identifiant

Chaque proprieacuteteacute se transforme en attribut CLIENT (code_client nom preacutenom adresse code_postal ville teacuteleacutephone)

Remarque contrairement aux proprieacuteteacutes les attributs ne doivent pas comporter despaces

2-Regravegle 2

Toute association non hieacuterarchique (de type [n n] ou de dimension gt 2) devient une relation La cleacute primaire est formeacutee par la concateacutenation (juxtaposition) lensemble des identifiants des entiteacutes relieacutees Toutes les proprieacuteteacutes eacuteventuelles deviennent des attributs qui ne peuvent pas faire partie de la cleacute

CONCERNER (numeacutero_commande reacutefeacuterence_article quantiteacute)

Cette regravegle est valable pour toutes les associations ternaires (ou quaternaires) qui sont forceacutement non hieacuterarchiques (|cardinaliteacutes maximales toutes eacutegales agrave n)

3- Exception agrave la regravegle 1

Les entiteacutes nayant que leur identifiant comme attribut ne deviennent pas des relations mais des attributs dans les autres relations lieacutees

Avec ce modegravele on meacutemorise chaque jour pour chaque ouvrier les piegraveces quil a fabriqueacute et en quelle quantiteacute Quand on passe au modegravele relationnel lentiteacute DATE FABRICATION ne

26

devient pas une relation mais un attribut cleacute dans la relation FABRIQUE issue de lassociation

FABRIQUE (code_ouvrier reacutefeacuterence_piegravece date quantiteacute) Date ici fait partie de la cleacute primaire mais nest pas cleacute eacutetrangegravere

4-Cas particulier des associations reacuteflexives

Les associations reacuteflexives suivent les regravegles 2 ou 3 selon les |cardinaliteacutes mais posent un problegraveme particulier une mecircme proprieacuteteacute va se retrouver deux fois en attribut dans la mecircme relation Il faut alors donner un nom diffeacuterent et significatif aux deux attributs correspondants

Dans les reacuteflexives il est conseilleacute de nommer les branches par des rocircles pour pouvoir lire dans le bon sens lassociation Les rocircles aident agrave nommer les attributs correspondant agrave lassociation

41-Reacuteflexive hieacuterarchique

(Une branche agrave la cardinaliteacute maxi agrave 1 et lautre agrave n)

Regravegle ndeg 2

Lecture de lassociation Regravegle ndeg1 lidentifiant de SALARIE va devenir cleacute primaire et les autres proprieacuteteacutes des attributsRegravegle ndeg2 pour traduire lassociation [1 n] encadrer lidentifiant de lentiteacute SALARIE devient cleacute eacutetrangegraverelidentifiant de SALARIE matricule se retrouve deux fois dans la relation comme cleacute primaire et comme cleacute eacutetrangegravereOn va donc donner un nom diffeacuterent et significatif agrave ces deux matricules par exemple Un salarieacute a pour chef 0 ou un seul autre salarieacute Un salarieacute est chef de 0 agrave n autre(s) salarieacute

Traduction en modegravele relationnel

SALARIE (matricule nom preacutenom fonctionhellip matricule_chef)

42-Reacuteflexive non hieacuterarchique

Regravegle ndeg3

27

bull Lecture de lassociation

Une piegravece entre dans la composition de 0 agrave plusieurs autres piegraveces Une piegravece peut ecirctre composeacutee de plusieurs autres piegraveces Une piegravece entre dans la composition dune autre un certain nombre de fois

Ex La piegravece voiture est composeacutee de 4 piegraveces roue La piegravece roue est elle-mecircme composeacutee dune piegravece pneu et dune piegravece jante

Une piegravece entrant dans la composition dune autre est appeleacutee composant Une piegravece composeacutee dautres piegraveces est appeleacutee composeacute Une roue est agrave la fois un composant (de voiture) et un composeacute (de pneu et jante)

bull Traduction en modegravele relationnel

PIECE (reacutefeacuterence libelleacute)COMPOSITION(reacutefeacuterence_composeacute reacutefeacuterence_composant nombre)

E-Normalisation du modegravele relationnel

I- Deacutependance fonctionnelle

Sommaire

1 Introduction

2 Rappels sur la notion de deacutependance fonctionnelle

21 Deacutefinition

22 Terminologie

23 DF agrave partir de proprieacuteteacutes concateacuteneacutees

24 Proprieacuteteacutes des deacutependances fonctionnelles

241 Union

242 Transitiviteacute

1-Introduction

Lobjectif de la normalisation est de construire un scheacutema de base de donneacutees coheacuterentUn mauvais scheacutema logique peut conduire agrave un certain nombre danomalies pendant la phase dexploitation de la base de donneacutee Nous allons voir ces anomalies dans une premiegravere partiePour qursquoun modegravele relationnel soit normaliseacute il faut qursquoil respecte certaines contraintes appeleacutees les formes normales Les formes normales srsquoappuient sur les deacutependances fonctionnelles entre attributs

2-Rappels sur la notion de deacutependance fonctionnelle

La construction du MCD mais eacutegalement du modegravele relationnel correspondant repose presque entiegraverement sur le concept de deacutependance fonctionnelle Crsquoest ce concept qui permet

28

de passer drsquoun ensemble de proprieacuteteacutes non structureacute agrave un modegravele conceptuel des donneacutees formeacute drsquoentiteacutes et drsquoassociations et au modegravele relationnel correspondant

21-Deacutefinition

On dit que b est en deacutependance fonctionnelle (DF) de a si agrave une valeur quelconque de la proprieacuteteacute a on ne peut faire correspondre qursquoune seule valeur au plus de la proprieacuteteacute b

On note a b(Source)-gt (but)

Autrement dit si on connaicirct la valeur de a on peut en deacuteduire une seule valeur de bMais la reacuteciproque nrsquoest pas vrai (si on connaicirct b on ne peut pas en deacuteduire a)

bull Exemple

Num client Nom client

Il existe une DF entre num client et Nom client car si on connaicirct une valeur de la proprieacuteteacute num client (ex 4553) il ne peut lui correspondre qursquoune seule valeur de la proprieacuteteacute nom (ex Duval)

La reacuteciproque est fausse

Nom client Num client nrsquoest pas une DF

Si lrsquoon connaicirct la valeur de la proprieacuteteacute Nom client on ne peut pas en deacuteduire la proprieacuteteacute Num client car il peut y avoir des homonymes

22-Terminologie

Si on a une deacutependance fonctionnelle a b on peut employer les expressions suivantes de faccedilon eacutequivalente -Il y a une deacutependance fonctionnelle de a vers b- b est en deacutependance fonctionnelle de a- b deacutepend fonctionnellement de a- a est la source et b est le but (ou la cible) de la deacutependance fonctionnelle

23-DF agrave partir de proprieacuteteacutes concateacuteneacutees

(Partie gauche composeacutee de plusieurs attributs)

Il peut exister des deacutependances fonctionnelles agrave partir de proprieacuteteacutes concateacuteneacutees cest-agrave-dire qui forment un tout indissociable comme si elles eacutetaient soudeacutees

On note par un + cette concateacutenation

Exemple Consideacuterons une commande qui comporte plusieurs produits Num_Commande + Ref_Produit quantiteacute commandeacutee

Si on nrsquoa seulement le numeacutero de la commande on ne peut pas en deacuteduire la quantiteacute commandeacutee car il faut aussi savoir de quel produit De mecircme on ne peut pas savoir la quantiteacute commandeacutee drsquoun produit si on ne sait pas de quelle commande Il faut bien connaicirctre agrave la fois la commande et le produit (leurs identifiants respectifs) pour en deacuteduire la quantiteacute commandeacutee

29

Les deacutependances fonctionnelles dont la source est formeacutee de plusieurs proprieacuteteacutes doivent ecirctre eacuteleacutementaires cest-agrave-dire ne pas ecirctre creacuteeacutees artificiellement

Ex Num Commande + Num Client date commande nrsquoest pas une DF eacuteleacutementaire car on nrsquoa pas besoin du numeacutero de client pour connaicirctre la date de commande il suffit de connaicirctre le numeacutero de la commande La proprieacuteteacute Num Client ne

24-Proprieacuteteacutes des deacutependances fonctionnelles

Les deacutependances fonctionnelles ont les proprieacuteteacutes suivantes

241-Union

Si on a deux DF ayant la mecircme source on peut les rassembler en une seule en seacuteparant les

cibles par une virgule Si a b et a c

Ex Reacutefeacuterence Deacutesignation et Reacutefeacuterence Prix de vente unitaire

Alors par union on a Reacutefeacuterence Deacutesignation Prix de vente unitaire

Lors du traceacute du graphe des deacutependances fonctionnelles lrsquounion permet de regrouper sur une seule ligne toutes les deacutependances fonctionnelles ayant la mecircme source

242-Transitiviteacute

Si a b et b c alors on a a c

Ex Num Meacutedecin Code Service et Code Service Num Hopital

Alors on a Num Meacutedecin Num Hopital

Les DF qui peuvent ecirctre deacuteduites par transitiviteacute de deux autres DF (qui ne sont pas directes) doivent ecirctre eacutelimineacutees car elles sont alors redondantesIl ne reste alors que les DF directes cest-agrave-dire celles qui ne peuvent pas ecirctre retrouveacutees par transitiviteacute

Attention toutefois agrave la signification des deacutependances Une deacutependance fonctionnelle quon peut retrouver par transitiviteacute ne doit pas ecirctre supprimeacutee si elle na pas le mecircme sens que la transitiviteacute des deux autres car il y aurait perte dinformation

II-MRInteacuterecirct de la normalisation

Exemple

Pour vous montrer lrsquointeacuterecirct de la normalisation drsquoune base de donneacutee relationnelle voyons les problegravemes que peuvent poser lrsquoutilisation drsquoune base de donneacutee baseacutee sur un modegravele relationnel non normaliseacute

Soit le scheacutema de relation

30

FOURNISSEUR (NomFournisseur AdresseFournisseur Produits Prix)

Modegravele en extension

NomFournisseur AdresseFournisseur Produit Prix

Lebras 10 Rue des Gras - ClermontChaise table

2035

Dupont 86 Rue de la Reacutepublique - Moulins Bureau 60

Lajoie 26 Rue des Docircmes - Vichy Lit 50

Dupont 39 Rue des Buttes - MoulinsLampeTable de chevet

1825

bull 1degproblegraveme

Il nrsquoy a pas de cleacute primaire on ne sait pas si les deux Dupont sont diffeacuterents ou pas (si crsquoest le mecircme Dupont il y a une des deux adresses qui est fausse

bull 2degproblegraveme

Lrsquoadresse nrsquoest pas deacutecomposeacutee Si on veut par exemple rechercher tous les fournisseurs qui habitent la mecircme ville ccedila ne va pas ecirctre possible

bull 3degproblegraveme

Une relation (table) correspondant agrave ce scheacutema pourra eacuteventuellement contenir plusieurs produits pour un mecircme fournisseur

Dans ce cas il faudra faire face agrave un certain nombre de problegravemes

bull ladresse du fournisseur sera dupliqueacutee dans chaque n-uplet (redondance) bull si on souhaite modifier ladresse dun fournisseur il faudra rechercher et mettre agrave jour

tous les n-uplets correspondant agrave ce fournisseur bull si on insegravere un nouveau produit pour un fournisseur deacutejagrave reacutefeacuterenceacute il faudra veacuterifier

que ladresse est identique bull si on veut supprimer un fournisseur il faudra retrouver et supprimer tous les n-uplets

correspondant agrave ce fournisseur (pour diffeacuterents produits) dans la table bull La normalisation eacutelimine les redondances ce qui permet

- une diminution de la taille de la base de donneacutee sur le disque- une diminution des risques drsquoincoheacuterence- drsquoeacuteviter une mise agrave jour multiple des mecircmes donneacutees

31

III-MR 3 formes normales

Les 3 formes normales du modegravele relationnel

Sommaire

1 1er forme normale

2 2egraveme forme normale

3 3egraveme forme normale

4 Application des regravegles

5 Reacutesumeacute

1-1er forme normale

Une relation est normaliseacutee en premiegravere forme normale si

-Elle possegravede une cleacute identifiant de maniegravere unique et stable chaque ligne

-Chaque attribut est monovalueacute (ne peut avoir qursquoune seule valeur par ligne)

-Aucun attribut nrsquoest deacutecomposable en plusieurs attributs significatifs

Contre-exemple

EMPLOYE ( Nom Preacutenom Enfants Diplocircmes)

Cette relation nrsquoest pas en premiegravere forme normale

Un employeacute peut avoir plusieurs enfants et plusieurs diplocircmes En outre ces attributs sont deacutecomposables diplocircme est deacutecomposable en Nature et Anneacutee et Enfants est deacutecomposable en Preacutenom et Anneacutee de Naissance

2-2egraveme forme normale

Une relation R est en deuxiegraveme forme normale si et seulement si

-Elle est en 1FN

-Et tout attribut non cleacute est totalement deacutependant de toute la cleacute

Autrement dit aucun des attributs ne deacutepend que drsquoune partie de la cleacute La 2FN nest agrave veacuterifier que pour les relations ayant une cleacute composeacutee Une relation en 1FN nayant quun seul attribut cleacute est toujours en 2FN

Contre-exemple 32

Cette relation est en premiegravere forme normale (existence drsquoune cleacute valide et aucun attribut nrsquoest deacutecomposable)MAIS elle nrsquoest pas en 2deg forme normale car on a DeacutesignationProd ne deacutepend pas de toute la cleacute mais seulement de reacutefeacuterenceProd

ReacutefeacuterenceProd DeacutesignationProd

Pour connaicirctre lrsquoattribut deacutesignationProd on nrsquoa pas besoin de connaicirctre le numeacutero de commande

3-3egraveme forme normale

Une relation est en 3deg forme normale si et seulement si

Elle est en 2deg forme normale et tout attribut doit deacutependre directement de la cleacute cest-dire qursquoaucun attribut ne doit deacutependre de la cleacute par transitiviteacute

Autrement dit aucun attribut ne doit deacutependre drsquoun autre attribut non cleacute

Contre-exemple

CLIENT (Num_client Nom_client code_categ nom_categ) Cette relation nrsquoest pas en 3FN car num_client nom_categ nrsquoest pas une deacutependance directe

En effet on a aussi num_client num_categ nom_categ

4-Application des regravegles

Si lrsquoune des 3 regravegles nrsquoest pas veacuterifieacutee cela indique une erreur dans le modegravele relationnel et il faut alors modifier pour que les 3 regravegles soient veacuterifieacutees pour toutes les relationsOn veacuterifie les regravegles dans lrsquoordre Si la premiegravere forme normale nrsquoest pas respecteacutee pas la peine de veacuterifier la 2FN Et si la 2FN nrsquoest pas veacuterifieacutee inutile de veacuterifier la 3FN

5-Reacutesumeacute

Modegravele normaliseacute = relations avec

-Une cleacute qui permet de distinguer chaque occurrence

-Des attributs eacuteleacutementaires (1FN)

-En deacutependance de TOUTE la cleacute (2FN)

-Et RIEN QUE de la cleacute (3FN)

On parle aussi de normalisation pour un MCD Un MCD qui donne un MR normaliseacute est qualifieacute aussi de normaliseacute

F-MeriseLes diagrammes de flux

Les diagrammes de flux reacutepondent agrave la question Que fait le systegraveme

33

En ce sens ce sont des modegraveles FONCTIONNELS (qui deacutecrivent les fonctions)

Il existe2 types principaux de diagrammes de flux

1 Le modegravele de contexte (MC) ougrave le domaine drsquoeacutetude est vu comme une boite noire On ne repreacutesente que les flux exteacuterieurs au domaine

2 Le modegravele de flux de donneacutees (DFD) ou encore modegravele de flux conceptuels (MFC) ougrave lrsquoon deacutetaille les activiteacutes du domaine drsquoeacutetude On repreacutesente aussi les flux internes au domaine

I-MeriseVocabulaire associeacute aux modegraveles de flux

Sommaire

bull 1 Domaine deacutetude bull 2 Acteur externe bull 3 Domaine connexe

bull 4 Flux de donneacutees

1-Domaine deacutetude

Le domaine deacutetude est un sous-ensemble coheacuterent de lentreprise ou de lorganisme bien deacutelimiteacute et formant le contenu du sujet agrave eacutetudier

Dans les modegraveles de flux le domaine deacutetude est repreacutesenteacute par un rectangle agrave trait plein Le nom du domaine est placeacute agrave lrsquointeacuterieur du rectangle

2-Acteur externe

Un acteur externe est un eacuteleacutement eacutemetteur ou reacutecepteur de donneacutees situeacute hors du systegraveme dinformation eacutetudieacute

Dans les modegraveles de flux un acteur externe est repreacutesenteacute par un cercle plein Le nom de lrsquoacteur est placeacute agrave lrsquointeacuterieur du cercle

3-Domaine connexe

Un domaine connexe est un composant du systegraveme drsquoinformation interagissant avec le domaine drsquoeacutetude Crsquoest un acteur interne agrave lrsquoentreprise mais externe au domaine drsquoeacutetude

34

Dans les modegraveles de flux une activiteacute est repreacutesenteacutee graphiquement par un rectangle Le nom de lactiviteacute est placeacute agrave lrsquointeacuterieur du rectangle

4-Flux de donneacutees

Un flux est un transfert drsquoinformations entre composants du systegraveme Le composant peut ecirctre un domaine une activiteacute ou un acteur externe

Dans les modegraveles de flux un flux de donneacutees est repreacutesenteacute graphiquement par une flegraveche orienteacutee du composant eacutemetteur du flux vers le composant reacutecepteur Le libelleacute du flux est inscrit en regard de la flegraveche traceacutee

Formalisme graphique illustrant par exemple un eacutechange entre un acteur externe et le domaine deacutetude

II-MeriseModegravele de contexte

Le modegravele de contexte sert agrave repreacutesenter les interactions entre le domaine deacutetude et lrsquoenvironnement et entre le domaine deacutetude et les eacuteventuels domaines connexes

Le domaine deacutetude y est repreacutesenteacute comme une boicircte noire

Le modegravele de contexte utilise les concepts suivants

bull le domaine deacutetude bull les acteurs externes bull les flux de donneacutees bull les domaines connexes

Exemple de modegravele de contexte au sein drsquoune socieacuteteacute commerciale on eacutetudie le domaine laquo gestion des ventes raquo

35

Remarque

bull on ne fait pas apparaicirctre les flux entre acteurs externes et domaines connexes ou entre les domaines connexes

Exemple le flux correspondant agrave la livraison de marchandises nrsquoapparaicirct pas

II-MeriseMFC ou DFD

Sommaire

bull 1 Modegravele de flux conceptuel(MFC) ou diagramme de flux de donneacutees(DFD) o 11 Deacutefinition o 12 Exemple o 13 Regravegles de deacutecomposition des activiteacutes

1-Modegravele de flux conceptuel (MFC) ou diagramme de flux de donneacutees (DFD)

11-Deacutefinition

Ce modegravele permet de deacutecider quelles activiteacutes inter-relieacutees de quelle maniegravere permettront de reacutesoudre au mieux le problegraveme poseacute et cette reacuteflexion est meneacutee sans sencombrer dans un premier temps du comportement du systegraveme (ordonnancement regravegles deacutemission synchronisationshellip)

Les modegraveles de flux conceptuels permettent de deacutecomposer le domaine drsquoeacutetude en activiteacutes Il nrsquoy a pas ici de notion drsquoorganisation mais drsquoobjectifs agrave reacutealiser On repreacutesente les flu x entre activiteacutes et avec lrsquoenvironnement

Pour analyser les communications et les activiteacutes on procegravede par laquo zooms raquo successifs sur le domaine eacutetudieacute pour eacutelaborer des modegraveles de plus en plus deacutetailleacutes qui permettront davoir une cartographie deacutetailleacutee du systegraveme et de preacuteparer le passage au modegravele conceptuel de repreacutesentation des traitements

36

Le modegravele de contexte est eacutegalement appeleacute le diagramme de flux de donneacutees de niveau 0

Nous obtenons ensuite des diagrammes de premier deuxiegraveme troisiegraveme hellip niveau par eacuteclatements successifs des activiteacutes agrave chacun de ces niveaux

La deacutecomposition drsquoun domaine ou drsquoune activiteacute en plusieurs activiteacutes peut faire apparaicirctre de nouveaux flux dus

1 agrave lrsquoeacutechange drsquoinformations entre activiteacutes 2 agrave la deacutecomposition drsquoun flux preacutesent au niveau n en plusieurs flux au niveau n+1

12-Exemple

Si on reprend le modegravele de contexte preacuteceacutedent on srsquoaperccediloit que le domaine des ventes peut-ecirctre eacuteclateacute en trois activiteacutes Nous obtenons ainsi le diagramme de flux de donneacutees de niveau 1

Remarque

bull On peut deacutecomposer le modegravele de flux de niveau 1 en un modegravele de flux de niveau 2 et etc hellip jusqursquoagrave arriver agrave un modegravele ougrave lrsquoactiviteacute correspond agrave une opeacuteration au sens Merise (regravegle drsquoininterruption)

Exemple lrsquoactiviteacute laquo gestion des factures raquo peut ecirctre encore deacutecomposeacutee en activiteacutes laquo facturation raquo et laquo Suivi des regraveglements raquo

13-Regravegles de deacutecomposition des activiteacutes

bull Pourquoi deacutecomposer

1 Pour deacutesagreacuteger les groupes de flux pour arriver agrave la deacutefinition des flux-types du domaine eacutetudieacute

2 Pour preacuteparer leacutetude dynamique du systegraveme dinformation pour arriver agrave lrsquoidentification des processus et des opeacuterations conceptuelles

bull Comment deacutecomposer

37

1 Identifier les groupes de donneacutees entrant et sortant du domaine drsquoeacutetude pour construire le modegravele de contexte

2 Identifier les activiteacutes geacuteneacuterant ou traitant les flux de donneacutees pour construire le DFD de niveau 1(approche par les donneacutees) ou identifier une activiteacute de niveau 1 comme un ensemble drsquoactiviteacutes participant agrave une mecircme finaliteacute (approche par les objectifs)

bull Jusquougrave deacutecomposer

Lorsquune activiteacute a atteint le niveau dinterruptabiliteacute (degraves lors que le traitement est deacuteclencheacute il se deacuteroule sans attente de ressources compleacutementaires exteacuterieures) Lactiviteacute est alors une opeacuteration conceptuelle qui sera deacutecrite lors de leacutetude dynamique du SI dans le MCTA

G-Les Modegraveles de traitements (MCT et MCTA)

I-MeriseMCT

Sommaire

bull 1 Modeacutelisation des Traitements bull 2 Le MCT bull 3 Les concepts du MCT

o 31 Lrsquoeacuteveacutenement o 32 Lrsquoopeacuteration o 33 Le reacutesultat o 34 La synchronisation o 35 Regravegle deacutemission o 36 Rocircle des regravegles de gestion o 37 Le processus

bull 4 Meacutethode drsquoeacutetablissement drsquoun MCT o 41 Regravegles de validation o 42 Cas particuliers

421 Cycles

422 Les eacuteveacutenements consommables

1-Modeacutelisation des Traitements

La modeacutelisation des traitements pour but de faire la repreacutesentation dynamique du systegraveme drsquoinformation crsquoest-agrave dire de repreacutesenter lrsquoenchaicircnement des traitements reacutealiseacutes

Cette modeacutelisation srsquoeffectue agrave deux niveaux

1 le niveau conceptuel ougrave lrsquoon srsquointeacuteresse aux opeacuterations en dehors de toute mise en oeuvre organisationnelle

2 le niveau organisationnel ougrave se pose les questions du qui ougrave quand

2-Le MCT

Lrsquoobjectif du MCT est de reacutepondre agrave la question QUOI faire par rapport agrave un eacuteveacutenement Crsquoest la chronologie qui importe Autrement dit le MCT est une repreacutesentation de la

38

succession des regravegles de gestion dont lrsquoentreprise veut se doter pour reacutepondre aux eacuteveacutenements auxquels elle doit faire face du fait de son activiteacute et de son environnement

3-Les concepts du MCT

31-Lrsquoeacuteveacutenement

Crsquoest une sollicitation du systegraveme drsquoinformation qui geacutenegravere une reacuteaction de la part de celui-ci

Un eacuteveacutenement peut ecirctre externe au domaine eacutetudieacute (ex commande client) ou interne au SI souvent le reacutesultat drsquoun processus anteacuterieur (ex ordre de preacuteparation) Un eacuteveacutenement peut-ecirctre aussi temporel cest-agrave-dire lieacute agrave des dates qui rythment lrsquoexeacutecution de certains traitements (deacutelai de maintenance relances)

32-Lrsquoopeacuteration

Crsquoest un ensemble drsquoactions accomplies par le systegraveme drsquoinformation en reacuteaction agrave un eacuteveacutenement ou agrave une conjonction drsquoeacuteveacutenements et non interruptibles par un eacuteveacutenement externe

Remarque Une opeacuteration deacuteclenche au moins un reacutesultat Une opeacuteration est repreacutesenteacutee par un verbe ou mieux un substantif (ex Preacuteparer la commande ou preacuteparation de la commande)

34-Le reacutesultat

Un reacutesultat peut-ecirctre un document un message externe un nouvel eacutetat du SI (nouvelle situation nouvelles donneacutees) creacuteeacute par une opeacuteration qui peut lui-mecircme jouer le rocircle drsquoeacuteveacutenement

Un reacutesultat externe repreacutesente une information envoyeacutee agrave lrsquoexteacuterieur du SI (ex facture)

Un reacutesultat interne est un nouvel eacutetat du systegraveme drsquoinformation (ex ordre de preacuteparation)

35-La synchronisation

Crsquoest une condition booleacuteenne (ET OU) traduisant les regravegles de gestion que doivent respecter les eacuteveacutenements pour deacuteclencher une opeacuteration Dans le cas ET elle marque quun eacuteveacutenement deacutejagrave lagrave doit en attendre un ou plusieurs autres

Remarque Pour quil soit question de synchronisation il faut la preacutesence de plusieurs eacuteveacutenements deacuteclencheurs aussi le symbole de synchronisation est laisseacute agrave blanc dans le cas dun eacuteveacutenement unique

Si tous les eacuteveacutenements entrants sont lieacutes par le mecircme opeacuterateur on peut seulement faire figurer lopeacuterateur dans le symbole de synchronisation sinon il faut numeacuteroter les eacuteveacutenements (a b c hellip) et constituer lexpression agrave laide des eacuteveacutenements et des opeacuterateurs (ex (a ET b) OU c) Regravegle deacutemission

Condition traduisant les regravegles de gestion qui permet dexprimer des conditions de sortie des reacutesultats

39

Remarques Lexpression dune regravegle deacutemission peut ecirctre composeacutee de plusieurs conditions eacuteleacutementaires relieacutees par les opeacuterateurs ET OU On peut eacutegalement utiliser lopeacuterateur NON pour exprimer la neacutegation dune condition

36-Rocircle des regravegles de gestion

Recenseacutees lors de leacutetude de lexistant ou deacutefinies pour le futur SI elles deacutecrivent les enchaicircnements dopeacuterations Elles rendent possible le regroupement des actions au sein dune seule opeacuteration non interruptible au niveau conceptuel

37-Le processus

Crsquoest un enchaicircnement synchroniseacute dopeacuterations au sein dun mecircme domaine geacuteneacuteralement deacuteclencheacute par un eacuteveacutenement externe (externe au domaine ou au SI tout entier)

Un MCT est la repreacutesentation de lrsquoenchaicircnement des opeacuterations drsquoun processus

4-Meacutethode drsquoeacutetablissement drsquoun MCT

1 Reacutealiser le graphe des flux (repreacutesentation des acteurs eacuteveacutenements et reacutesultats externes

2 Pour chaque eacuteveacutenement recenser les opeacuterations deacuteclencheacutees etou les eacuteveacutenements internes produits

3 Regrouper dans une mecircme opeacuteration tous les traitements qui ont les mecircmes deacuteclencheurs dans une uniteacute de temps avec la mecircme synchronisation

41-Regravegles de validation

Une opeacuteration ne peut pas ecirctre interrompue par lrsquoattente drsquoun eacuteveacutenement externe

Si tel est le cas il faut deacutecrire une seconde opeacuteration deacuteclencheacutee par cet eacuteveacutenement en attente

42-Cas particuliers

421-Cycles

Pour une mecircme opeacuteration leacuteveacutenement deacuteclencheur et leacuteveacutenement reacutesultat sont identiques

Une commande de client est servie si les marchandises sont disponibles sinon cette commande est mise en attente Les commandes en attente sont reacuteexamineacutees lors de chaque reacuteapprovisionnement afin de les livrer

40

Il faut sassurer que le cycle a bien un deacutebut et une fin ici cest lrsquoeacuteveacutenement Reacuteapprovisionnement effectueacute qui permet deacuteviter que le cycle ne se deacuteroule sans fin sur les commandes en attente

Noter limportance du concept doccurrences deacuteveacutenement

-une occurrence de Reacuteappro est-elle autoriseacutee agrave consommer toutes les occurrences de Commande en attente

-si le reacuteapprovisionnement est insuffisant de nouvelles occurrences de Commande en attente doivent-elles ecirctre creacuteeacutees

422-Les eacuteveacutenements consommables

Un client non satisfait peut retourner un article On lui fait un avoir Il peut alors le preacutesenter en caisse pour ecirctre rembourseacute de son achat Il peut encore remplacer larticle deacutefectueux par un autre auquel cas on annule lavoir

41

Ce qui pose question

UNE occurrence de leacuteveacutenement avoir eacutetabli ne peut ecirctre consommeacutee par 2 opeacuterations (rembourser et imputer)

Dit autrement avoir eacutetabli ne sait pas vers quelle opeacuteration se diriger On pourrait se dire quil est implicite que cest le premier eacuteveacutenement qui survient qui gagne si Echange survient en premier alors lavoir est annuleacute

Cependant que se passe-t-il si les 2 eacuteveacutenements externes se produisent simultaneacutement Si on impleacutemente tel quel ce scheacutema dans un automate il est vraisemblable que le client pourra avoir le beurre et largent du beurre

se preacutesenter en caisse et faire leacutechange pour un seul retour Il est donc preacutefeacuterable dexpliciter (cf ci-apregraves)

Une autre solution consiste agrave indiquer explicitement que cet eacuteveacutenement est consommable cest-agrave-dire que la premiegravere opeacuteration qui se deacuteclenche annule lrsquoeacuteveacutenement pour lrsquoautre opeacuteration

42

II-MeriseInteacutegration des donneacutees dans le MCT

Sommaire

bull 1 DEFINITION bull 2 FORMALISME DU MCTA bull 3 REPRESENTATION DES ACTIONS SUR LES DONNEES bull 4 COMPLEMENTS

o 41 Condition de deacuteclenchement o 42 Action collective o 43 Coheacuterence de la base de donneacutees o 44 REGLES DE VALIDATION DrsquoUN MCTA

o 45 Exemple de MCTA

1-DEFINITION

Le MCTA est une repreacutesentation syntheacutetique des traitements qui met en eacutevidence les reacuteactions du systegraveme aux eacuteveacutenements et linteraction avec les donneacutees

Il vise agrave

Deacutecrire le fonctionnement du systegraveme indeacutependamment de lorganisation

Donner une vision des traitements et de la coordination des eacuteveacutenements deacuteclencheurs

Rapprocher les donneacutees et les traitements

2-FORMALISME DU MCTA

Pour mettre en eacutevidence lrsquoarticulation entre les donneacutees et les traitements dans le MCT on ajoute agrave droite de chaque opeacuteration les entiteacutes ou associations qui sont consulteacutees ou qui subissent un changement drsquoeacutetat (creacuteation mise agrave jour suppression hellip)

43

3-REPRESENTATION DES ACTIONS SUR LES DONNEES

Un objet correspond agrave une entiteacute ou une association du MCD correspondant au champ drsquoeacutetude du SI Une action est une manipulation (creacuteation consultation modification ou suppression) drsquoun objet du systegraveme drsquoinformation Elle est symboliseacutee par un trait entre lrsquoopeacuteration et lrsquoobjet manipuleacute Ce trait est non orienteacute sil sagit dune suppression et il est orienteacute pour les autres types de manipulation le sens de la flegraveche deacutepend du type de manipulation

Un eacutetat drsquoobjet est un stade transitoire par lequel passe un objet (entiteacute ou association) au cours de sa laquo vie raquo

Dans un MCTA une opeacuteration est composeacutee dun ensemble dactions sur les donneacutees

Les actions sur les donneacutees sont de 4 types

Creacuteation drsquoune occurrence

Creacuteation drsquoune occurrence de lrsquoobjet 1 dans lrsquoeacutetat 1

Suppression drsquoune occurrence

Suppression drsquoune occurrence de lrsquoobjet 3 se trouvant dans lrsquoeacutetat 2

Consultation drsquoune occurrence

Consultation drsquoune occurrence de lrsquoobjet 4 dans lrsquoeacutetat 6 Leacutetat de lrsquoobjet nrsquoest pas indiqueacute mais sera eacuteventuellement testeacute avant reacutealisation de la (ou des) action (s) suivante (s)

44

Modification drsquoune occurrence

Modification drsquoune occurrence de lrsquoobjet 2 si elle est dans lrsquoeacutetat 3 elle passe agrave lrsquoeacutetat 4 ou agrave lrsquoeacutetat 5

Lrsquoaction de modification inclut implicitement la ou les consultations preacutealables

On ne doit pas seacuteparer les consultations qui preacutecegravedent les modifications des modifications elles-mecircmes

Remarque geacuteneacuterale Lrsquoordre des actions drsquoune opeacuteration sera si possible preacutesenteacute de haut en bas

4-COMPLEMENTS

41-Condition de deacuteclenchement

Lrsquoaction eacuteleacutementaire peut ecirctre accompagneacutee drsquoune condition de deacuteclenchement (agrave indiquer au niveau du trait ou agrave cocircteacute de lrsquoobjet) Cette condition peut porter sur lrsquoeacutetat de la structure des donneacutees agrave un moment preacutecis etou sur le type drsquoeacuteveacutenement constateacute agrave lrsquoentreacutee de lrsquoopeacuteration

42-Action collective

Elle permet drsquoindiquer que lrsquoaction intervient sur un ensemble drsquooccurrences de lrsquoobjet concerneacute (toutes srsquoil nrsquoy a pas de condition de deacuteclenchement associeacutee limitant le nombre drsquooccurrences manipuleacutees)

Exemple en fin de mois une compagnie dassurances reacutesilie les polices quelle a proposeacutees degraves que le deacutelai de signature de celles-ci est deacutepasseacute

45

C1 si le deacutelai de signature est deacutepasseacute

43-Coheacuterence de la base de donneacutees

Une BD a coheacuterent si elle ne comporte pas de contradictions (par rapport aux regravegles de gestion en particulier)

Une action peut ne pas laisser la structure de donneacutees dans un eacutetat coheacuterent

En revanche la coheacuterence doit toujours ecirctre assureacutee au niveau drsquoune opeacuteration

44-REGLES DE VALIDATION DrsquoUN MCTA

Une opeacuteration conceptuelle ne doit pas ecirctre interrompue par lrsquoattente drsquoun eacuteveacutenement externe

Une opeacuteration conceptuelle prend la structure de donneacutees manipuleacutees dans un eacutetat coheacuterent et la rend dans un eacutetat coheacuterent

46

45-Exemple de MCTA

C1 si le client eacutetait preacuteceacutedemment un client prospect (cest-agrave-dire client potentiel)

C2 sil sagit dun nouveau client ou si le client eacutetait preacuteceacutedemment un client prospect le client est mis en portefeuille (cest-agrave-dire qursquoil est reacuteellement client)

C3 si disponibiliteacute de tous les produits (quantiteacute en stock suffisante pour assurer la livraison)

Remarque on considegravere ici qursquoil nrsquoy a pas de livraison partielle

47

  • I-Systegraveme drsquoinformation de gestion
    • Sommaire
      • 1-Qursquoest ce qursquoun systegraveme
      • 2-Qursquoest ce qursquoun systegraveme drsquoinformation de gestion
      • 3-Les fonctions du systegraveme drsquoinformation
      • II-MeriseModeacutelisation
        • Sommaire
          • 1-Qursquoest qursquoun modegravele
          • 2-La meacutethode Merise
            • 21-Les composantes de Merise
            • 22-La deacutemarche Merise
            • 23-Les niveaux drsquoabstraction
            • 24-La courbe du soleil
              • Deacutefinition
              • I-MCDRecueil des donneacutees
              • Exemple
              • II-MCDConcepts et du formalisme
                • Sommaire
                  • 1-Les concepts de base
                    • 11-Entiteacute
                    • 12-Association
                    • 13-Cardinaliteacutes
                      • 2-La notion drsquooccurrence
                      • III-MCDRegravegles de construction
                        • Sommaire
                          • 1-Regravegles concernant les proprieacuteteacutes
                          • 2-Regravegles concernant les entiteacutes
                          • 3-Regravegles concernant les associations
                          • IV-MCDIntroduction aux cardinaliteacutes
                            • Sommaire
                              • 1-Formalisme
                              • 2-La cardinaliteacute minimale
                                • 21--Exemples
                                • 22-Application
                                  • 3-La cardinaliteacute maximale
                                    • 31-Exemple 1
                                    • 32-Exemple 2
                                      • 4-Conclusion
                                      • 5-Exemple
                                      • 6-Repreacutesentation des cardinaliteacutes
                                      • I-MCDCardinaliteacutes
                                        • Sommaire
                                          • 1-Deacutefinition et formalisme
                                          • 2-La cardinaliteacute minimale
                                            • 21-Exemple
                                            • 22-Application
                                              • 3-La cardinaliteacute maximale
                                                • 31-Exemple
                                                  • 4-Reacutecapitulatif
                                                    • 41-Exemples complets
                                                      • II-MCDAssociations
                                                        • Sommaire
                                                          • 1-Les associations binaires concernant 2 entiteacutes
                                                            • 11-Les associations hieacuterarchiques [1 n]
                                                            • 12-Les associations non hieacuterarchiques [n n]
                                                            • 13-Les associations de type [1 1]
                                                              • 2-Les autres types dassociation
                                                                • 21-Les associations reacuteflexives
                                                                  • 211-Exemple dassociation reacuteflexive hieacuterarchique
                                                                  • 212--Exemples dassociations reacuteflexives non hieacuterarchiques
                                                                    • 22-Les associations de dimension 3 ou plus (ternaires ou plus)
                                                                      • III-MCDRepreacutesentation des cardinaliteacutes
                                                                      • IV-MCDAssociation ternaire
                                                                      • V-MCDAssociations reacuteflexives
                                                                      • 1-Exemple dassociation reacuteflexive hieacuterarchique
                                                                      • 2-Exemples dassociations reacuteflexives non hieacuterarchiques
                                                                      • I-MRRappel sur le modegravele relationnel
                                                                      • II-MRPassage du MCD au MR
                                                                        • Sommaire
                                                                          • 1-Regravegle 1
                                                                          • 2-Regravegle 2
                                                                          • 3-Exception agrave la regravegle 1
                                                                          • 4-Cas particulier des associations reacuteflexives
                                                                            • 41-Reacuteflexive hieacuterarchique
                                                                            • 42-Reacuteflexive non hieacuterarchique
                                                                              • E-Normalisation du modegravele relationnel
                                                                              • I-Deacutependance fonctionnelle
                                                                                • Sommaire
                                                                                  • 1-Introduction
                                                                                  • 2-Rappels sur la notion de deacutependance fonctionnelle
                                                                                    • 21-Deacutefinition
                                                                                    • 22-Terminologie
                                                                                    • 23-DF agrave partir de proprieacuteteacutes concateacuteneacutees
                                                                                    • 24-Proprieacuteteacutes des deacutependances fonctionnelles
                                                                                      • 241-Union
                                                                                      • 242-Transitiviteacute
                                                                                          • II-MRInteacuterecirct de la normalisation
                                                                                          • Exemple
                                                                                          • III-MR 3 formes normales
                                                                                            • Sommaire
                                                                                              • 1-1er forme normale
                                                                                              • 2-2egraveme forme normale
                                                                                              • 3-3egraveme forme normale
                                                                                              • 4-Application des regravegles
                                                                                              • 5-Reacutesumeacute
                                                                                              • F-MeriseLes diagrammes de flux
                                                                                              • I-MeriseVocabulaire associeacute aux modegraveles de flux
                                                                                                • Sommaire
                                                                                                  • 1-Domaine deacutetude
                                                                                                  • 2-Acteur externe
                                                                                                  • 3-Domaine connexe
                                                                                                  • 4-Flux de donneacutees
                                                                                                  • II-MeriseModegravele de contexte
                                                                                                  • II-MeriseMFC ou DFD
                                                                                                    • Sommaire
                                                                                                      • 1-Modegravele de flux conceptuel (MFC) ou diagramme de flux de donneacutees (DFD)
                                                                                                        • 11-Deacutefinition
                                                                                                        • 12-Exemple
                                                                                                        • 13-Regravegles de deacutecomposition des activiteacutes
                                                                                                          • I-MeriseMCT
                                                                                                            • Sommaire
                                                                                                              • 1-Modeacutelisation des Traitements
                                                                                                              • 2-Le MCT
                                                                                                              • 3-Les concepts du MCT
                                                                                                                • 31-Lrsquoeacuteveacutenement
                                                                                                                • 32-Lrsquoopeacuteration
                                                                                                                • 34-Le reacutesultat
                                                                                                                • 35-La synchronisation
                                                                                                                • 36-Rocircle des regravegles de gestion
                                                                                                                • 37-Le processus
                                                                                                                  • 4-Meacutethode drsquoeacutetablissement drsquoun MCT
                                                                                                                    • 41-Regravegles de validation
                                                                                                                    • 42-Cas particuliers
                                                                                                                      • 421-Cycles
                                                                                                                      • 422-Les eacuteveacutenements consommables
                                                                                                                          • II-MeriseInteacutegration des donneacutees dans le MCT
                                                                                                                            • Sommaire
                                                                                                                              • 1-DEFINITION
                                                                                                                              • 2-FORMALISME DU MCTA
                                                                                                                              • 3-REPRESENTATION DES ACTIONS SUR LES DONNEES
                                                                                                                              • 4-COMPLEMENTS
                                                                                                                                • 41-Condition de deacuteclenchement
                                                                                                                                • 42-Action collective
                                                                                                                                • 43-Coheacuterence de la base de donneacutees
                                                                                                                                • 44-REGLES DE VALIDATION DrsquoUN MCTA
                                                                                                                                • 45-Exemple de MCTA
Page 2: 7472422 Cours de Merise

A-Introduction agrave Merise

I-Systegraveme drsquoinformation de gestion

Sommaire

bull 1 Qursquoest ce qursquoun systegraveme bull 2 Qursquoest ce qursquoun systegraveme drsquoinformation de gestion

bull 3 Les fonctions du systegraveme drsquoinformation

Le champ drsquoaction drsquoun informaticien de gestion srsquoappelle systegraveme drsquoinformation de gestion (SIG)

1-Qursquoest ce qursquoun systegraveme

Un systegraveme est un tout constitueacute drsquoeacuteleacutements unis par des relations leurs proprieacuteteacutes et les valeurs que peuvent prendre ces derniegraveres ainsi que son activiteacute et lrsquoorganisation qui en deacutecoule

Lrsquoentreprise peut ecirctre vue comme un systegraveme composeacute drsquoeacuteleacutements tels que des laquo employeacutes raquo des laquo services raquo des laquo produits raquo etc Les proprieacuteteacutes deacutecrivant ces eacuteleacutements peuvent ecirctre laquo le matricule de lrsquoemployeacute raquo son laquo nom raquo la laquo reacutefeacuterence raquo du produit sa laquo deacutesignation raquo etcEntre ces eacuteleacutements on trouve des relations telles la relation laquo est rattacheacutee raquo entre un employeacute et son service la relation laquo est stockeacutee raquo entre un produit et son deacutepocirct de stockagehellip Les proprieacuteteacutes de ces relations seront du type laquo date drsquoentreacutee dans le service raquo laquo quantiteacute stockeacutee raquo hellip

2-Qursquoest ce qursquoun systegraveme drsquoinformation de gestion

Le systegraveme drsquoinformation drsquoune entreprise est lrsquoensemble des informations qui y circulent ainsi que lrsquoensemble des moyens mis en oeuvre pour les geacuterer Lrsquoobjectif drsquoun systegraveme drsquoinformation est de restituer lrsquoinformation agrave la personne concerneacutee sous la forme approprieacutee et en temps opportun pour prendre une deacutecision ou effectuer un travail

Toutes les informations qui circulent dans lrsquoorganisation quelle que soit leur forme font partie du SI Mais seules les informations formaliseacutees2 nous inteacuteressent car elles sont les seules agrave ecirctre vraiment utilisables en informatique Lrsquoensemble de ces informations formaliseacutees constituent ce qursquoon appelle le systegraveme drsquoinformation automatiseacuteLes systegravemes drsquoinformation preacuteexistent agrave lrsquoinformatique Avant drsquoutiliser les ordinateurs les informations concernant les clients les commandes les stocks etc eacutetaient meacutemoriseacutees sur papier sous forme de fiches formulaires regroupeacutes dans des dossiers Et il existait des proceacutedures manuelles pour traiter ces informations Le systegraveme informatiseacute doit ecirctre au service du systegraveme drsquoinformation mis en place par les dirigeants de lrsquoentreprise (et non lrsquoinverse comme cela existe trop souvent)

3-Les fonctions du systegraveme drsquoinformation

Le systegraveme drsquoinformation de lrsquoentreprise reccediloit de son environnement des informations qursquoil doit traiter Ce sont par exemple des commandes de clients qui doivent ecirctre traiteacutees jusqursquoagrave leur aboutissement ou lrsquoarriveacutee des factures des fournisseurs Le SI reccediloit et traite aussi des informations internes agrave lrsquoorganisation comme par exemple les documents comptables ou les chiffres de production

bull On peut distinguer 4 fonctions principales du systegraveme drsquoinformation

2

1- Recueillir lrsquoinformation (saisie)2- Meacutemoriser lrsquoinformation (stockage dans des fichiers ou bases de donneacutees)3- Exploiter lrsquoinformation (traitement)a Consulterb Organiserc Mettre agrave jourd Produire de nouvelles informations par des calculs4- Diffuser lrsquoinformation (eacutedition)

II-MeriseModeacutelisation

Sommaire

bull 1 Qursquoest qursquoun modegravele bull 2 La meacutethode Merise

o 21 Les composantes de Merise o 22 La deacutemarche Merise o 23 Les niveaux drsquoabstraction

o 24 La courbe du soleil

Les meacutethodes drsquoeacutetude des systegravemes drsquoinformation ont pour objectif de deacutecrire ces systegravemes agrave lrsquoaide de modegraveles puis de reacutealiser les systegravemes informatiseacutes qui en deacutecoulent MERISE est une de ces meacutethodes la plus reacutepandue en France actuellement

1-Qursquoest qursquoun modegravele

Un modegravele peut ecirctre deacutefini comme eacutetant une image de la reacutealiteacute Toute reacutealiteacute complexe a besoin drsquoecirctre repreacutesenteacutee pour ecirctre comprise et maicirctriseacutee

bull Exemple

Une carte routiegravere repreacutesente agrave lrsquoaide de symboles tout ou partie drsquoun territoire et son infrastructure routiegravere Le plan eacutetabli par un architecte permet agrave chaque corps de meacutetier drsquointervenir efficacement dans la construction drsquoun immeubleAinsi lrsquoinformaticien peut ecirctre vu comme lrsquoarchitecte du systegraveme informatiseacute qui en dresse le plan deacutetailleacute Un modegravele doit permettre de communiquer dans ambiguiumlteacute Donc il faut utiliser un formalisme normaliseacute Merise propose plusieurs modegraveles pour repreacutesenter le SIG

2-La meacutethode Merise

Merise est une meacutethode qui permet de construire un systegraveme drsquoinformation automatiseacute qui soit efficace flexible et adapteacute agrave lrsquoentreprise Crsquoest une meacutethode neacutee en 1976 suite agrave un projet du Ministegravere de lrsquoIndustrie

21-Les composantes de Merise

Comme toute meacutethode drsquoanalyse et de conception des SI Merise regroupe

bull Des modegraveles (concepts regravegles de repreacutesentation) bull Un langage (vocabulaire regravegles de syntaxe) bull Une deacutemarche bull Des outils (des logiciels tels que AMC Designor ou Win Design)

3

Elle permet de repreacutesenter les composantes drsquoun SIG

bull Les acteurs bull Les donneacutees bull Les traitements bull Les proceacutedures bull Les postes de travail etc

Ceci afin de concevoir reacutealiser et mettre en place une nouvelle informatisation

22-La deacutemarche Merise

1-Approche globale du SI Scheacutema directeur

2- Etude des diffeacuterentes solutions possible puis choix Etude preacutealable

3- Compleacutement des speacutecifications du domaine Etude deacutetailleacutee

4- Speacutecifications techniques complegravetes Etude technique

5- Ecriture des programmes Production

6- Tests essais formation utilisateur Mise en oeuvre

7- Corrections et adaptations du logiciel Maintenance

8- Controcircle de la conformiteacute des reacutesultats par rapport aux demandes

Controcircle de qualiteacute recette

23-Les niveaux drsquoabstraction

La neacutecessiteacute drsquoaborder diffeacuterents types de preacuteoccupations (deacutecrire lrsquoactiviteacute deacutefinir les regravegles de gestion deacutefinir les informations reacutepartir les traitements entre lrsquohomme et la machine organiser physiquement les fichiers choisir le mateacuteriel reacutepartir les responsabiliteacutes etc) a conduit agrave proposer diffeacuterents niveaux drsquoabstraction

Les voici

NIVEAU QUESTION CONTENU DOMAINE

Conceptuel Que faire - donneacutees manipuleacutees- regravegles de gestion- enchaicircnement des traitements

Gestion

OrganisationnelQui fait quoi Quand Ougrave

- partage des tacircches - mode de traitement- reacutepartition geacuteographique des traitements - organisation des donneacutees

Organisation

Physique Comment - programmes- logiciels- mateacuteriels

Technique

Merise (du moins dans sa premiegravere version) est une meacutethode qui preacuteconise de seacuteparer lrsquoeacutetude des donneacutees et les traitementsChaque modegravele de Merise concerne soit les donneacutees soit les traitements agrave un niveau drsquoabstraction donneacute

4

Voici la preacutesentation de ces diffeacuterents modegraveles selon cette typologie

NIVEAU DONNEES TRAITEMENT

ConceptuelMCDModegravele Conceptuel des Donneacutees

MCTModegravele Conceptuel des Traitements

OrganisationnelMLDModegravele logique des donneacutees

MOTModegravele Organisationnel des Traitements

PhysiqueMPDModegravele Physique des Donneacutees

MOPTModegravele Opeacuterationnel des Traitements

24-La courbe du soleil

Merise est utiliseacute dans le cas ougrave lrsquoon veut mettre en place ou modifier un systegraveme informatiseacute Dans les deux cas il convient drsquoanalyser et de critiquer le systegraveme existant afin de creacuteer un nouveau systegraveme adapteacute agrave lrsquoorganisation Pour cela la deacutemarche consiste agrave suivre la laquo courbe du soleil raquo

Lrsquoanalyse du systegraveme existant conduit agrave construire

bull Au niveau logico-physique o Le modegravele conceptuel des communications (MCC) qui repreacutesente les eacutechanges

de flux drsquoinformations entre les diffeacuterents acteurs du SI et les acteurs exteacuterieurs

bullo Le scheacutema de circulation des documents (SCD) qui repreacutesente les eacutechanges

drsquoinformations entre les acteurs du SI ainsi que les tacircches qui produisent les documents

bull Au niveau organisationnel o Le modegravele organisationnel des traitements qui permet de preacuteciser par rapport agrave

lrsquoeacutetape preacuteceacutedente si les tacircches sont automatiseacutees ou manuelles les eacuteveacutenements deacuteclencheurs et les conditions drsquoeacutemission des objets externes

bull Au niveau conceptuel o Le MCD (modegravele conceptuel des donneacutees) et le MCT (modegravele conceptuel des

traitements)

Le passage de la modeacutelisation du systegraveme existant agrave la modeacutelisation du systegraveme futur implique une critique du systegraveme existant une reacuteflexion sur les eacutevolutions possibles en tenant compte des nouveaux objectifs assigneacutes au systegraveme futur Lrsquoanalyse du systegraveme futur conduit agrave construire

bull Au niveau conceptuel o Le MCD et le MCT deacutecoulant de la critique de lrsquoexistant

5

bull Au niveau organisationnel o Le MOT du systegraveme futur mettant en valeur la nouvelle organisation (y

compris en terme de ressources humaines et de nouveaux postes de travail)

bull Au niveau logico-physique o Le MLD modegravele logique des donneacutees et le MPD modegravele physique des donneacutees

obtenus agrave partir du MCD adapteacute aux choix effectueacutes dans le MOT et aux besoins drsquoinformations compleacutementaires

o Le MPT modegravele physique des traitements (algorithmes structure des programmeshellip)

B- Introduction au Modegravele conceptuel des donneacutees

Deacutefinition

Le modegravele conceptuel des donneacutees (MCD) a pour but de repreacutesenter de faccedilon structureacutee les donneacutees qui seront utiliseacutees par le systegraveme dinformation Le modegravele conceptuel des donneacutees deacutecrit la seacutemantique crsquoest agrave dire le sens attacheacute agrave ces donneacutees et agrave leurs rapports et non agrave lrsquoutilisation qui peut en ecirctre faite

On eacutetablit le MCD apregraves avoir recenseacute et donneacute un nom agrave lrsquoensemble des donneacutees du domaine eacutetudieacute Ensuite on eacutetudie les relations existantes entre ces donneacutees (deacutependances fonctionnelles) pour aboutir au MCD

I-MCDRecueil des donneacutees

Exemple

Voilagrave plusieurs phrases qui deacutecrivent une seule et mecircme personne prononceacutees par des personnes diffeacuterenteslaquo Odile Martin est une personne convenable Et je ne dis pas ccedila parce crsquoest une cliente qui mrsquoen prend pour 100F toutes les semaines raquo Le boulanger laquo MARTIN Odile habitant 6 rue des preacutes Saint Amour (Jura) neacutee le 130273 agrave Beacuteziers (Heacuterault) hellip raquo Un inspecteur de police judiciaire laquo Odile Martin voilagrave une personne qui nrsquoa jamais commis aucun peacutecheacute mortel qui a fait preuve de beaucoup de geacuteneacuterositeacute Elle ira au paradis raquo Saint Pierre Diffeacuterents interlocuteurs diffeacuterents points de vue Lequel est le plus pertinent Ca deacutepend du domaine eacutetudieacute Mais on ne recense que les informations objectives formelles

Quand on analyse les donneacutees sur un objet (abstrait ou concret) du reacuteel il est neacutecessaire de faire le tri entre ce qui est neacutecessaire pour le systegraveme drsquoinformation et ce qui ne lrsquoest pas

bull 2deg repreacutesentation

Odile sera repreacutesenteacutee par au moins ces informations

NomPreacutenomNumeacutero de la voieNature de la voieNom de la voieCommune de reacutesidenceDeacutepartement de reacutesidenceJour de naissanceMois de naissanceAnneacutee de naissance

6

Commune de naissanceDeacutepartement de naissance

Peut-on deacutecomposer encore Par exemple la commune de reacutesidence est composeacutee de 2 mots de mecircme que le nom de la voie hellip va-t-on les deacutecomposer Non ces mots repreacutesentent ensemble une information ne veulent rien dire agrave eux seuls

Mais nrsquoavons-nous pas trop deacutecomposeacute Il existe par exemple des liens entre les informations 3 4 et 5 qui repreacutesentent lrsquoadresse drsquoOdile entre les informations 8 et 9 qui repreacutesentent sa date de naissancehellip On va alors regrouper ensemble ces informations relieacutees

On remarque que toutes les personnes (et Odile est une personne on dit que crsquoest une OCCURRENCE de personne) de la maniegravere suivante

bull on peut dire qursquoon a creacuteeacute une entiteacute (un ensemble) PERSONNE dont Odile est une occurrence (ou instance)

Les donneacutees de base sont appeleacutees PROPRIETES ou ATTRIBUTS

II-MCDConcepts et du formalisme

Sommaire

bull 1 Les concepts de base o 11 Entiteacute o 12 Association o 13 Cardinaliteacutes

bull 2 La notion drsquooccurrence bull Exemple

7

1-Les concepts de base

11-Entiteacute

Une entiteacute repreacutesente un objet du SI (acteur document concept hellip) ou plus exactement un ensemble drsquoobjets ayant les mecircmes caracteacuteristiquesDans une entiteacute on met les informations neacutecessaires et suffisantes pour caracteacuteriser cette entiteacute Ces informations sont appeleacutees proprieacuteteacutes Les proprieacuteteacutes sont collecteacutees lors de lrsquoeacutetablissement du dictionnaire des donneacutees (voire partie suivante) Les proprieacuteteacutes prennent des valeurs pour chaque occurrence drsquoune entiteacute

Une proprieacuteteacute particuliegravere appeleacutee identifiant permet de distinguer sans ambiguiumlteacute toutes les occurrences de lrsquoentiteacute Lrsquoidentifiant est toujours souligneacute Lrsquoidentifiant est une proprieacuteteacute qui ne peut pas changer au cours du temps pour une occurrence

12-Association

Crsquoest un lien entre deux entiteacutes (ou plus) On doit lui donner un nom souvent un verbe qui caracteacuterise le type de relation entre les entiteacutes

Une association possegravede parfois des proprieacuteteacutes

13-Cardinaliteacutes

Ce sont des expressions qui permettent drsquoindiquer combien de fois au minimum et au maximum le lien entre 2 entiteacutes peut se produire Pour une association de 2 entiteacutes il y a 4 cardinaliteacutes agrave indiquer

Il y a trois valeurs typiques 0 1 et N (plusieurs)Les cardinaliteacutes traduisent des regravegles de gestion Ce sont des regravegles propre au SI eacutetudieacute qui expriment des contraintes sur le modegravele

2-La notion drsquooccurrence

Il ne faut pas confondre

bull ENTITE et OCCURRENCE drsquoentiteacute bull ni PROPRIETE et VALEUR de proprieacuteteacute bull ni ASSOCIATION et OCCURRENCE drsquoassociation

Reprenons ces concepts Une ENTITE est une FAMILLE drsquoobjets ayant les mecircmes caracteacuteristiques appeleacutees proprieacuteteacutes

Un MEMBRE de la famille est appeleacute OCCURRENCE drsquoentiteacute

Une entiteacute repreacutesente un ENSEMBLE drsquoOCCURRENCES

Une PROPRIETE est une information eacuteleacutementaire qui permet de deacutecrire une entiteacute ou une association Une proprieacuteteacute peut prendre une VALEUR (crsquoest lrsquoeacutequivalent drsquoune variable) (On peut dire qursquoune VALEUR est une OCCURRENCE de PROPRIETE)

De mecircme une ASSOCIATION est un LIEN entre 2 entiteacutes ou plus et une OCCURRENCE drsquoassociation est un lien entre 2 OCCURRENCES drsquoentiteacutes

8

bull Exemple

Consideacuterons le scheacutema suivant

PROPRIETE VALEUR de PROPRIETE

Reacutefeacuterence 456

Deacutesignation Manteau

Prix unitaire 100euro

ENTITE OCCURRENCE drsquoentiteacute

PRODUIT Manteau de reacutefeacuterence 456 agrave 100euro

COMMANDE numeacutero 123 du 081002

ASSOCIATION OCCURRENCE drsquoassociation

CONCERNER lien entre la commande 123 et le manteau 456 pour une quantiteacute de 3 uniteacutes

bull On peut repreacutesenter une entiteacute comme un ensemble ougrave les eacuteleacutements sont les occurrences

bull Une association peut ecirctre vue comme lrsquoensemble des relations entre les occurrences des entiteacutes associeacutees

Attention agrave ne pas confondre occurrences et proprieacuteteacutes En effet on peut dire agrave la fois qursquoune entiteacute est un ensemble de proprieacuteteacutes et un ensemble drsquooccurrences

Une proprieacuteteacute est une rubrique un eacuteleacutement drsquoinformation qui permet de deacutecrire une entiteacute Une entiteacute est deacutecrite par plusieurs proprieacuteteacutesUne occurrence est un exemplaire un eacuteleacutement particulier de la famille repreacutesenteacutee par lrsquoentiteacute Les proprieacuteteacutes drsquoune entiteacute prennent des valeurs pour chaque occurrenceChaque occurrence drsquoentiteacute est identifieacutee de maniegravere unique par un identifiant qui est une proprieacuteteacute particuliegravere telle que 2 occurrences de lrsquoentiteacute ne peuvent pas avoir la mecircme valeur pour cette proprieacuteteacute

9

On repreacutesente souvent les occurrences drsquoune entiteacute sous forme drsquoun tableau Les lignes correspondent aux occurrences et les colonnes correspondent aux proprieacuteteacutes

bull Exemple

III-MCDRegravegles de construction

Sommaire

bull 1 Regravegles concernant les proprieacuteteacutes bull 2 Regravegles concernant les entiteacutes

bull 3 Regravegles concernant les associations

1-Regravegles concernant les proprieacuteteacutes

bull Pour qursquoil nrsquoy ait pas drsquoambiguiumlteacute possible une proprieacuteteacute ne peut pas apparaicirctre plusieurs fois dans un MCD

Autrement dit toutes les proprieacuteteacutes drsquoun MCD doivent ecirctre diffeacuterentes les unes des autres Exemples Une proprieacuteteacute Date ne peut pas apparaicirctre simultaneacutement dans une entiteacute COMMANDE et une entiteacute FACTURE Si crsquoeacutetait le cas il faudrait remplacer Date par Date_commande et Date_facture par exemple

bull Toute proprieacuteteacute ne doit avoir agrave un moment donneacute qursquoune seule valeur pour une occurrence Par conseacutequent un nom de proprieacuteteacute doit toujours ecirctre au singulier

Exemple Dans la proprieacuteteacute note drsquoune entiteacute ELEVE on ne peut avoir qursquoune seule note Si on veut la note de plusieurs matiegraveres il faut mettre autant de proprieacuteteacutes qursquoil y a de matiegraveres par exemple noteALSI noteAMSI noteDAIGL etc

2-Regravegles concernant les entiteacutes

bull Toute entiteacute doit comporter un identifiant qui permet de distinguer entre elles toutes les occurrences drsquoune mecircme entiteacute Lrsquoidentifiant est placeacute en tecircte des proprieacuteteacutes et il est souligneacute

bull Pour chaque occurrence drsquoune entiteacute il ne doit y avoir qursquoune seule valeur pour chacune des proprieacuteteacutes agrave un instant donneacute Cette valeur peut changer au cours du temps mais agrave un instant donneacute il nrsquoy en a qursquoune seule

3-Regravegles concernant les associations

bull Lrsquoidentifiant drsquoune association est implicitement formeacute par la concateacutenation des identifiants des entiteacutes lieacutees

10

On ne repreacutesente pas cet identifiant au niveau du MCD Deux occurrences drsquoassociation ne peuvent pas avoir le mecircme identifiant Pour une occurrence lrsquoidentifiant ne doit jamais changer de valeur (lrsquoidentifiant est une proprieacuteteacute constante)

bull Une association peut avoir des proprieacuteteacutes mais ce nrsquoest pas obligatoire

IV-MCDIntroduction aux cardinaliteacutes

Sommaire

bull 1 Formalisme bull 2 La cardinaliteacute minimale

o 21 Exemples o 22 Application

bull 3 La cardinaliteacute maximale o 31 Exemple 1 o 32 Exemple 2

bull 4 Conclusion bull 5 Exemple

bull 6 Repreacutesentation des cardinaliteacutes

Les cardinaliteacutes drsquoune entiteacute dans une association exprime le nombre de fois qursquoune occurrence de cette entiteacute est impliqueacutee dans lrsquoassociation au minimum et au maximum

1-Formalisme

2-La cardinaliteacute minimale

Elle est exprimeacutee presque toujours par lrsquoune des deux valeurs 0 ou 1Elle traduit combien de fois au minimum une occurrence de lrsquoentiteacute participe agrave lrsquoassociation

21--Exemples

Pour la cardinaliteacute mini entre client et commander il faut se poser la question Pour un client donneacute combien de fois au minimum il commande Si la reacuteponse est laquo tout client doit passer au moins une commande sinon ce nrsquoest pas un client raquo on met la cardinaliteacute mini agrave 1

11

Mais on peut tregraves bien imaginer que lrsquoentreprise veut aussi meacutemoriser les clients potentiels (prospects) qui nrsquoont encore rien commandeacute Dans ce cas un client peut tregraves bien ne pas avoir encore commandeacute et on met la cardinaliteacute mini agrave 0

22-Application

1 Trouver la question qui permet de trouver la cardinaliteacute minimale pour lrsquoentiteacute produit et lrsquoassociation commander

2 Faites deux hypothegraveses de regravegle de gestion concernant ce lien et trouver les cardinaliteacutes minimales correspondantes

3-La cardinaliteacute maximale

Elle traduit combien de fois au maximum lrsquoentiteacute peut ecirctre en relation avec lrsquoassociation Cela peut ecirctre plusieurs fois (si crsquoest un nombre indeacutetermineacute on indique la valeur n) ou une seule foisOn reacutepond agrave la question Combien au maximum lrsquoentiteacute peut participer agrave lrsquoassociation Si la reacuteponse est laquo au plus une fois raquo la cardinaliteacute maximale prend pour valeur 1Si la reacuteponse est laquo plusieurs raquo la cardinaliteacute maximale prend la valeur N

31-Exemple 1

bull REGLES DE GESTION

Un salarieacute est affecteacute au plus agrave un seul service Dans un service sont affecteacutes plusieurs salarieacutes

Il arrive (mais crsquoest rare) qursquoune cardinaliteacute maximale ait une valeur limiteacutee

32-Exemple 2

bull REGLE DE GESTION Un eacutelegraveve doit suivre au minimum une option et au maximum 3 options

12

4-Conclusion

En fait dans la grande majoriteacute des cas on nrsquoutilise que 4 combinaisons de valeurs pour les cardinaliteacutes

bull 01 au plus un(e) bull 11 un(e) et un(e) seul(e) bull 1 n un(e) ou plusieurs bull 0 n zeacutero ou plusieurs

5-Exemple

6-Repreacutesentation des cardinaliteacutes

Une voiture est posseacutedeacutee par une seule personne Une personne peut posseacuteder de 0 agrave plusieurs voitures

Une personne a une adresse ou est sans domicile A une adresse il y a une ou plusieurs personne qui y habitent

13

C-Les cardinaliteacutes et les diffeacuterents types dassociations

I-MCDCardinaliteacutes

Sommaire

bull 1 Deacutefinition et formalisme bull 2 La cardinaliteacute minimale

o 21 Exemple o 22 Application

bull 3 La cardinaliteacute maximale o 31 Exemple

bull 4 Reacutecapitulatif o 41 Exemples complets

1-Deacutefinition et formalisme

Les cardinaliteacutes sont des couples de valeur que lon trouve entre chaque entiteacute et ses associations lieacuteesDonc pour une association de 2 entiteacutes il y a 4 cardinaliteacutes agrave indiquer (2 de chaque cocircteacute)Il y a trois valeurs typiques 0 1 et N (plusieurs)

Pour les associations agrave 2 entiteacutes ce sont des valeurs qui permettent drsquoindiquer combien de fois au minimum et au maximum une occurrence dentiteacute peut ecirctre lieacutee agrave une autre occurrence dentiteacute

De maniegravere plus geacuteneacuterale les cardinaliteacutes drsquoune entiteacute dans une association expriment le nombre de fois qursquoune occurrence de cette entiteacute peut ecirctre impliqueacutee dans une occurrence de lassociation au minimum et au maximum

Les cardinaliteacutes traduisent des regravegles de gestion Ce sont des regravegles propres agrave lorganisation eacutetudieacutee qui sont deacutecideacutees par les gestionnaires et deacutecideurs Ces regravegles expriment des contraintes sur le modegravele

2-La cardinaliteacute minimale

14

Elle est exprimeacutee presque toujours par lrsquoune des deux valeurs 0 ou 1 Elle traduit combien de fois au minimum une occurrence de lrsquoentiteacute participe agrave lrsquoassociation autrement dit si une occurrence est obligatoirement associeacutee agrave une autre ou pas

21-Exemple

Pour la cardinaliteacute minimale entre client et commander il faut se poser la question Pour un client donneacute combien de fois au minimum il commande

ou encore mieux Est-il obligatoire quun client effectue une commande de produit

Cela deacutepend des REGLES DE GESTION de lentreprise Si la regravegle de gestion est laquo tout client doit passer au moins une commande sinon ce nrsquoest pas un client raquo on met la cardinaliteacute mini agrave 1

Mais on peut tregraves bien imaginer que lrsquoentreprise veut aussi meacutemoriser les clients potentiels (prospects) qui nrsquoont encore rien commandeacute Dans ce cas un client peut tregraves bien ne pas avoir encore commandeacute et on met la cardinaliteacute mini agrave 0

En fait les cardinaliteacutes deacutependent des regravegles de gestion propres agrave lrsquoorganisation eacutetudieacutee La regravegle peut tregraves bien ecirctre laquo On ne meacutemorise que les clients qui ont deacutejagrave commandeacute raquo ou bien laquo On veut meacutemoriser les prospects raquo

22-Application

bull Trouver la question qui permet de trouver la cardinaliteacute minimale pour lrsquoentiteacute produit et lrsquoassociation commander

Reacuteponse Est-il obligatoire quun produit ait eacuteteacute commandeacute pour quil soit meacutemoriseacute dans la base de donneacutee ou bien Peut-il exister dans la base de donneacutee des produits qui nont jamais eacuteteacute commandeacutes

bull Faites deux hypothegraveses de regravegle de gestion concernant ce lien et trouver les cardinaliteacutes minimales correspondantes

Reacuteponse H1 lentreprise peut proposer de nouveaux produits sur catalogue par exemple quelle meacutemorise dans sa base de donneacutees mais qui nont jamais encore eacuteteacute commandeacutes =gt cardinaliteacute minimale agrave 0 (cest plutocirct le cas pour les entreprises de vente)

15

H2 tout produit inscrit dans la base de donneacutee est forceacutement commandeacute (par exemple parce que lentreprise ne propose pas de catalogue mais fabrique seulement agrave la commande) =gt cardinaliteacute minimale agrave 1 (cest plutocirct le cas pour les entreprises de production)

3-La cardinaliteacute maximale

Elle traduit combien de fois au maximum une occurrence dentiteacute peut ecirctre en relation avec une occurrence de lassociation Cela peut ecirctre plusieurs fois (si crsquoest un nombre indeacutetermineacute on indique la valeur n) ou une seule fois

Cette cardinaliteacute reacutepond agrave la question

bull la participation dune occurrence doit-elle ecirctre unique ou bien peut-elle ecirctre multiple ou bien

bull combien de fois au maximum une occurrence est elle impliqueacutee dans lassociation

Si lassociation est binaire (relie seulement deux entiteacute) la question peut ecirctre aussi

bull Une occurrence de lentiteacute peut-elle ecirctre relieacutee agrave plusieurs occurrences de lautre entiteacute ou bien ne peut-elle ecirctre relieacutee quagrave une seule autre occurrence au plus

Si la reacuteponse est laquo au plus une fois raquo (participation unique) la cardinaliteacute maximale prend pour valeur 1 Si la reacuteponse est laquo plusieurs raquo (participation multiple) la cardinaliteacute maximale prend la valeur N

31-Exemple

bull RG (regravegles de gestion)

1 Un salarieacute est affecteacute au plus agrave un seul service 2 Dans un service sont affecteacutes plusieurs salarieacutes

Il arrive (mais crsquoest rare) qursquoune cardinaliteacute maximale ait une valeur limiteacutee

bull Exemple

RG Un eacutelegraveve peut suivre au maximum 3 options

4-Reacutecapitulatif

16

En fait dans la grande majoriteacute des cas on nrsquoutilise que 4 combinaisons de valeurs pour les cardinaliteacutes

bull 01 au plus un(e) bull 11 un(e) et un(e) seul(e) bull 1n un(e) ou plusieurs bull 0 n zeacutero ou plusieurs

41-Exemples complets

RG un client commande au moins 1 produit (sous entendu ou plusieurs) et un produit peut ne pas encore avoir eacuteteacute commandeacute comme il peut lavoir eacuteteacute plusieurs fois

RG Un salarieacute est obligatoirement affecteacute agrave 1 et 1 seul service Un service pour exister doit avoir au moins un salarieacute affecteacute (sous-entendu il peut bien sur en avoir plusieurs)

II-MCDAssociations

Sommaire

1 Les associations binaires concernant 2 entiteacutes

11 Les associations hieacuterarchiques [1n]

12 Les associations non hieacuterarchiques [n n]

13 Les associations de type [1 1]

2 Les autres types dassociation

21 Les associations reacuteflexives

211 Exemple dassociation reacuteflexive hieacuterarchique

212 Exemples dassociations reacuteflexives non hieacuterarchiques

22 Les associations de dimension 3 ou plus (ternaires ou plus)

1-Les associations binaires concernant 2 entiteacutes

17

On distingue trois cateacutegories dassociations en fonction des cardinaliteacutes maximales de ses branches

-Les associations hieacuterarchiques encore appeleacutees associations [1 n] ou associations fonctionnelles

-Les associations non hieacuterarchiques encore appeleacutees associations [n n] ou non fonctionnelles

-Les association [1 1] les 2 branches ont pour cardinaliteacute maximale 1 Ce cas est rare

11-Les associations hieacuterarchiques [1 n]

Ce sont les associations ougrave dun cocircteacute la |cardinaliteacute maximale est agrave 1 et de lautre cocircteacute la cardinaliteacute maximale est agrave n

Cela signifie quune occurrence de A est relieacutee au plus agrave une seule occurrence de B Cest-agrave-dire si on connaicirct une occurrence de A alors on saura forceacutement quelle est la seule occurrence de B qui correspond (si elle existe) On dit que A deacutetermine B Cest un lien de deacutependance fonctionnelle B deacutepend fonctionnellement de A

Lentiteacute qui correspond agrave la branche du cocircteacute du 1 est parfois appeleacutee entiteacute fils et lentiteacute correspondant agrave la branche du cocircteacute n est parfois appeleacutee entiteacute pegravere Cette appellation deacutecoule de lanalogie un fils na quun seul pegravere et un pegravere peut avoir plusieurs fils

12-Les associations non hieacuterarchiques [n n]

13-Les associations de type [1 1]

Cas exceptionnel

Ex un employeacute travaille sur un ordinateur (p 99 de Modeacuteliser les donneacutees) La facture correspondant agrave une commande

2-Les autres types dassociation

18

Le plus souvent une association relie 2 entiteacutes avec 2 branches Ce type dassociation est appeleacute association binaire Nous avons deacutejagrave eacutetudieacute en deacutetail les diffeacuterents types dassociations binaires

Mais une association peut aussi relier 3 ou tregraves rarement 4 entiteacutes (quasiment jamais plus) On parle dassociation ternaire quaternaire (n-aire) Enfin une association peut aussi relier une entiteacute agrave elle-mecircme cest-agrave-dire que des occurrences de la mecircme entiteacute sont relieacutees entre elles Lassociation correspondante est qualifieacutee de reacuteflexive Ce sont ces autres types dassociation que nous allons eacutetudier maintenant

21-Les associations reacuteflexives

Une association reacuteflexive est une association reliant des occurrences de la mecircme entiteacute Ces associations sont quasiment toujours binaire (2 branches) Pour lire une association reacuteflexive il est faut connaicirctre le rocircle attribueacute agrave chaque branche de lassociation Il existe comme pour les autres associations des associations reacuteflexives hieacuterarchique et des associations reacuteflexives non hieacuterarchique

211-Exemple dassociation reacuteflexive hieacuterarchique

Dans une entreprise bureaucratique chaque salarieacute a un seul chef (supeacuterieur hieacuterarchique direct) sauf le patron et chaque chef a au moins un salarieacute sous ses ordres Evidemment certains salarieacutes ne sont chefs de personnes

Exemples doccurrences diagramme doccurrences

Remarquez limportance du rocircle dans le diagramme doccurrence

212--Exemples dassociations reacuteflexives non hieacuterarchiques

19

Piegraveces composants composeacute = reacuteflexive asymeacutetrique

Personnes fregraveres = reacuteflexive symeacutetrique (rocircle pas indispensable car a pour fregravere = ecirctre fregravere de)

Preacutecision de vocabulaire dimension dune association

La dimension dune association correspond au nombre de branches de lassociation Dans plus de 80 des cas les associations sont binaires Dimension 2 binaire Dimension 3 ternaire (rare) Dimension supeacuterieure aire (exceptionnel)

Lorsquil ny a pas de reacuteflexiviteacute le nombre de branches est eacutegal au nombre dentiteacutes relieacutees La dimension est dans ce cas le nombre dentiteacutes concerneacutees par lassociation Mais la reacuteflexiviteacute existe et donc on peut avoir plusieurs branches de la mecircme association sur la mecircme entiteacute Dans ce cas alors la dimension est supeacuterieure au nombre dentiteacutes concerneacutees

Dimension = nombre dentiteacute lieacutees

Une association reacuteflexive (1 entiteacute) est quasiment toujours binaire (2 branches) On pourrait aussi avoir une association ternaire impliquant seulement deux entiteacutes

22-Les associations de dimension 3 ou plus (ternaires ou plus)

Une association peut relier plus de 2 entiteacutes ensemble le plus souvent trois On parle alors dassociation ternaire On utilise une association ternaire quand on a besoin de connaicirctre une occurrence de chaque entiteacute pour avoir une information

Exemple

Pour connaicirctre la quantiteacute de chacune des piegraveces fabriqueacutee par chaque ouvrier agrave une date donneacutee on utilise une association ternaire entre OUVRIER PIECE et DATE La quantiteacute est une donneacutee porteacutee par cette association

Une occurrence de lassociation fabrique implique une seule occurrence de chaque entiteacute

20

Exemple

Ouvrier Piegravece Date quantiteacute

Dupont 1 1702 50

Dubois 2 1702 100

Martin 1 1702 40

Dupont 3 1702 55

Dubois 3 1702 20

Dupont 1 1602 40

Martin 1 1602 40

Lassociation ternaire implique aussi que

Pour un ouvrier on peut avoir plusieurs piegraveces diffeacuterentes agrave la mecircme date (il peut fabriquer plusieurs types de piegraveces le mecircme jour)

Une piegravece peut ecirctre fabriqueacutee par plusieurs ouvriers diffeacuterents le mecircme jour

A des dates diffeacuterentes un mecircme ouvrier peut fabriquer les mecircmes piegraveces

Lidentifiant dune association ternaire est formeacutee de la concateacutenation (juxtaposition) des identifiants des 3 entiteacutes relieacutees

Dans notre exemple on ne peut donc pas avoir plusieurs occurrences de fabrique qui concernent Dupont la piegravece ndeg1 agrave la date du 1702

III-MCDRepreacutesentation des cardinaliteacutes

bull Une voiture est posseacutedeacutee par une seule personne Une personne peut posseacuteder de 0 agrave plusieurs voitures

21

bull Une personne a une adresse ou est sans domicile A une adresse il y a une ou plusieurs personnes qui y habitent

IV-MCDAssociation ternaire

bull Une association peut relier plus de 2 entiteacutes ensemble le plus souvent trois On parle alors dassociation ternaire (dimension 3) On utilise une association ternaire quand on a besoin de connaicirctre une occurrence de chaque entiteacute pour avoir une information

bull Ex

Pour connaicirctre la quantiteacute de chacune des piegraveces fabriqueacutee par chaque ouvrier agrave une date donneacutee on utilise une association ternaire entre OUVRIER PIECE et DATE La quantiteacute est une donneacutee porteacutee par cette association

22

Une occurrence de lassociation fabrique implique une seule occurrence de chaque entiteacute Exemple

Ouvrier Piegravece Date quantiteacuteDupont 1 1702 50Dubois 2 1702 100Martin 1 1702 40Dupont 3 1702 55Dubois 3 1702 20Dupont 1 1602 40Martin 1 1602 40

Lassociation ternaire implique aussi que

1 Pour un ouvrier on peut avoir plusieurs piegraveces diffeacuterentes agrave la mecircme date (il peut fabriquer plusieurs types de piegraveces le mecircme jour)

2 Une piegravece peut ecirctre fabriqueacutee par plusieurs ouvriers diffeacuterents le mecircme jour 3 A des dates diffeacuterentes un mecircme ouvrier peut fabriquer les mecircmes piegraveces

Lidentifiant dune association ternaire est formeacutee de la concateacutenation (juxtaposition) des identifiants des 3 entiteacutes relieacutees

Dans notre exemple on ne peut donc pas avoir plusieurs occurrences de fabrique qui concernent Dupont la piegravece ndeg1 agrave la date du 1702

V-MCDAssociations reacuteflexives

Une association reacuteflexive est une association reliant des occurrences de la mecircme entiteacute Ces associations sont quasiment toujours binaire (2 branches)

Pour lire une association reacuteflexive il est faut connaicirctre le rocircle attribueacute agrave chaque branche de lassociation cest agrave dire le rocircle de chaque occurrence dans le lien

23

Il existe comme pour les autres associations des associations reacuteflexives hieacuterarchique (une des cardinaliteacutes maximales agrave 1) et des association reacuteflexives non hieacuterarchique (les deux cardinaliteacutes maximales agrave n)

1-Exemple dassociation reacuteflexive hieacuterarchique

Dans une entreprise bureaucratique chaque salarieacute a un seul chef (supeacuterieur hieacuterarchique direct) sauf le patron et chaque chef a au moins un salarieacute sous ses ordres Evidemment certains salarieacutes ne sont chefs de personnes

Un mecircme salarieacute peut agrave la fois ecirctre chef et avoir un chef Tutu peut ecirctre chef de titi et de toto et dautres salarieacutes mais il na quun seul chef au maximum toto peut ecirctre le chef de coco et avoir pour chef tutu

2-Exemples dassociations reacuteflexives non hieacuterarchiques

Piegraveces composants composeacute = reacuteflexive asymeacutetrique

Une piegravece peut entrer dans la composition de plusieurs autres piegraveces (ex un boulon) Une piegravece peut aussi ecirctre composeacutee de plusieurs autres piegraveces (ex un moteur) Une mecircme piegravece peut ecirctre composeacutee dautres piegraveces et entrer dans la composition dune ou plusieurs autres piegraveces (ex une carte reacuteseau)

Preacutecision de vocabulaire dimension dune association

La dimension dune association correspond au nombre de branches de lassociation Dans plus de 80 des cas les associations sont binaires

Dimension 2 binaire Dimension 3 ternaire (rare) Dimension supeacuterieure n-aire (exceptionnel)

Lorsquil ny a pas de reacuteflexiviteacute le nombre de branches est eacutegal au nombre dentiteacutes relieacutees La dimension est dans ce cas le nombre dentiteacutes concerneacutees par lassociation Mais la reacuteflexiviteacute existe et donc on peut avoir plusieurs branches de la mecircme association sur la mecircme entiteacute Dans ce cas alors la dimension est supeacuterieure au nombre dentiteacutes concerneacutees

24

Dimension = nombre dentiteacute lieacutees

Une association reacuteflexive (1 entiteacute) est quasiment toujours binaire (2 branches) On pourrait aussi avoir une association ternaire impliquant seulement deux entiteacutes

D-Passage MCD lt=gt modegravele relationnel

I-MRRappel sur le modegravele relationnel

Cest un modegravele LOGIQUE de donneacutee celui qui correspond agrave lorganisation des donneacutees dans les bases de donneacutees relationnelles (il existe dautres organisations de bases de donneacutees hieacuterarchique reacuteseau objethellip)

Les SGBD actuels les plus courants sont relationnels (Oracle SQL Server Access MySQL hellip )

Un modegravele relationnel est composeacute de relations encore appeleacutee tables Ces tables sont deacutecrites par des attributs ou champs (noms de colonnes) Pour deacutecrire une relation on indique tout simplement son nom en majuscule suivi du nom de ses attributs entre parenthegraveses

Lidentifiant dune relation est composeacute dun ou plusieurs attributs qui forment la cleacute primaire Une relation peut faire reacutefeacuterence agrave une autre en utilisant une cleacute eacutetrangegravere qui correspond agrave la cleacute primaire de la relation reacutefeacuterenceacutee

Il ny a pas de notation officielle pour repeacuterer les cleacutes primaires et eacutetrangegraveres Cest agrave vous den adopter une et de lexpliquer en leacutegende Toutefois une notation sest peu agrave peu reacutepandue

bull on souligne la cleacute primaire dun seul trait bull on fait preacuteceacuteder (ou suivre) les cleacutes eacutetrangegraveres du symbole

Chaque ligne (tuple ou enregistrement) dune table repreacutesente une occurrence de lentiteacute ou de lassociation correspondante

II-MRPassage du MCD au MR

Sommaire

bull 1 Regravegle 1 bull 2 Regravegle 2 bull 3 Exception agrave la regravegle 1 bull 4 Cas particulier des associations reacuteflexives

o 41 Reacuteflexive hieacuterarchique o 42 Reacuteflexive non hieacuterarchique

25

1-Regravegle 1

Toute entiteacute devient une relation ayant pour cleacute primaire son identifiant

Chaque proprieacuteteacute se transforme en attribut CLIENT (code_client nom preacutenom adresse code_postal ville teacuteleacutephone)

Remarque contrairement aux proprieacuteteacutes les attributs ne doivent pas comporter despaces

2-Regravegle 2

Toute association non hieacuterarchique (de type [n n] ou de dimension gt 2) devient une relation La cleacute primaire est formeacutee par la concateacutenation (juxtaposition) lensemble des identifiants des entiteacutes relieacutees Toutes les proprieacuteteacutes eacuteventuelles deviennent des attributs qui ne peuvent pas faire partie de la cleacute

CONCERNER (numeacutero_commande reacutefeacuterence_article quantiteacute)

Cette regravegle est valable pour toutes les associations ternaires (ou quaternaires) qui sont forceacutement non hieacuterarchiques (|cardinaliteacutes maximales toutes eacutegales agrave n)

3- Exception agrave la regravegle 1

Les entiteacutes nayant que leur identifiant comme attribut ne deviennent pas des relations mais des attributs dans les autres relations lieacutees

Avec ce modegravele on meacutemorise chaque jour pour chaque ouvrier les piegraveces quil a fabriqueacute et en quelle quantiteacute Quand on passe au modegravele relationnel lentiteacute DATE FABRICATION ne

26

devient pas une relation mais un attribut cleacute dans la relation FABRIQUE issue de lassociation

FABRIQUE (code_ouvrier reacutefeacuterence_piegravece date quantiteacute) Date ici fait partie de la cleacute primaire mais nest pas cleacute eacutetrangegravere

4-Cas particulier des associations reacuteflexives

Les associations reacuteflexives suivent les regravegles 2 ou 3 selon les |cardinaliteacutes mais posent un problegraveme particulier une mecircme proprieacuteteacute va se retrouver deux fois en attribut dans la mecircme relation Il faut alors donner un nom diffeacuterent et significatif aux deux attributs correspondants

Dans les reacuteflexives il est conseilleacute de nommer les branches par des rocircles pour pouvoir lire dans le bon sens lassociation Les rocircles aident agrave nommer les attributs correspondant agrave lassociation

41-Reacuteflexive hieacuterarchique

(Une branche agrave la cardinaliteacute maxi agrave 1 et lautre agrave n)

Regravegle ndeg 2

Lecture de lassociation Regravegle ndeg1 lidentifiant de SALARIE va devenir cleacute primaire et les autres proprieacuteteacutes des attributsRegravegle ndeg2 pour traduire lassociation [1 n] encadrer lidentifiant de lentiteacute SALARIE devient cleacute eacutetrangegraverelidentifiant de SALARIE matricule se retrouve deux fois dans la relation comme cleacute primaire et comme cleacute eacutetrangegravereOn va donc donner un nom diffeacuterent et significatif agrave ces deux matricules par exemple Un salarieacute a pour chef 0 ou un seul autre salarieacute Un salarieacute est chef de 0 agrave n autre(s) salarieacute

Traduction en modegravele relationnel

SALARIE (matricule nom preacutenom fonctionhellip matricule_chef)

42-Reacuteflexive non hieacuterarchique

Regravegle ndeg3

27

bull Lecture de lassociation

Une piegravece entre dans la composition de 0 agrave plusieurs autres piegraveces Une piegravece peut ecirctre composeacutee de plusieurs autres piegraveces Une piegravece entre dans la composition dune autre un certain nombre de fois

Ex La piegravece voiture est composeacutee de 4 piegraveces roue La piegravece roue est elle-mecircme composeacutee dune piegravece pneu et dune piegravece jante

Une piegravece entrant dans la composition dune autre est appeleacutee composant Une piegravece composeacutee dautres piegraveces est appeleacutee composeacute Une roue est agrave la fois un composant (de voiture) et un composeacute (de pneu et jante)

bull Traduction en modegravele relationnel

PIECE (reacutefeacuterence libelleacute)COMPOSITION(reacutefeacuterence_composeacute reacutefeacuterence_composant nombre)

E-Normalisation du modegravele relationnel

I- Deacutependance fonctionnelle

Sommaire

1 Introduction

2 Rappels sur la notion de deacutependance fonctionnelle

21 Deacutefinition

22 Terminologie

23 DF agrave partir de proprieacuteteacutes concateacuteneacutees

24 Proprieacuteteacutes des deacutependances fonctionnelles

241 Union

242 Transitiviteacute

1-Introduction

Lobjectif de la normalisation est de construire un scheacutema de base de donneacutees coheacuterentUn mauvais scheacutema logique peut conduire agrave un certain nombre danomalies pendant la phase dexploitation de la base de donneacutee Nous allons voir ces anomalies dans une premiegravere partiePour qursquoun modegravele relationnel soit normaliseacute il faut qursquoil respecte certaines contraintes appeleacutees les formes normales Les formes normales srsquoappuient sur les deacutependances fonctionnelles entre attributs

2-Rappels sur la notion de deacutependance fonctionnelle

La construction du MCD mais eacutegalement du modegravele relationnel correspondant repose presque entiegraverement sur le concept de deacutependance fonctionnelle Crsquoest ce concept qui permet

28

de passer drsquoun ensemble de proprieacuteteacutes non structureacute agrave un modegravele conceptuel des donneacutees formeacute drsquoentiteacutes et drsquoassociations et au modegravele relationnel correspondant

21-Deacutefinition

On dit que b est en deacutependance fonctionnelle (DF) de a si agrave une valeur quelconque de la proprieacuteteacute a on ne peut faire correspondre qursquoune seule valeur au plus de la proprieacuteteacute b

On note a b(Source)-gt (but)

Autrement dit si on connaicirct la valeur de a on peut en deacuteduire une seule valeur de bMais la reacuteciproque nrsquoest pas vrai (si on connaicirct b on ne peut pas en deacuteduire a)

bull Exemple

Num client Nom client

Il existe une DF entre num client et Nom client car si on connaicirct une valeur de la proprieacuteteacute num client (ex 4553) il ne peut lui correspondre qursquoune seule valeur de la proprieacuteteacute nom (ex Duval)

La reacuteciproque est fausse

Nom client Num client nrsquoest pas une DF

Si lrsquoon connaicirct la valeur de la proprieacuteteacute Nom client on ne peut pas en deacuteduire la proprieacuteteacute Num client car il peut y avoir des homonymes

22-Terminologie

Si on a une deacutependance fonctionnelle a b on peut employer les expressions suivantes de faccedilon eacutequivalente -Il y a une deacutependance fonctionnelle de a vers b- b est en deacutependance fonctionnelle de a- b deacutepend fonctionnellement de a- a est la source et b est le but (ou la cible) de la deacutependance fonctionnelle

23-DF agrave partir de proprieacuteteacutes concateacuteneacutees

(Partie gauche composeacutee de plusieurs attributs)

Il peut exister des deacutependances fonctionnelles agrave partir de proprieacuteteacutes concateacuteneacutees cest-agrave-dire qui forment un tout indissociable comme si elles eacutetaient soudeacutees

On note par un + cette concateacutenation

Exemple Consideacuterons une commande qui comporte plusieurs produits Num_Commande + Ref_Produit quantiteacute commandeacutee

Si on nrsquoa seulement le numeacutero de la commande on ne peut pas en deacuteduire la quantiteacute commandeacutee car il faut aussi savoir de quel produit De mecircme on ne peut pas savoir la quantiteacute commandeacutee drsquoun produit si on ne sait pas de quelle commande Il faut bien connaicirctre agrave la fois la commande et le produit (leurs identifiants respectifs) pour en deacuteduire la quantiteacute commandeacutee

29

Les deacutependances fonctionnelles dont la source est formeacutee de plusieurs proprieacuteteacutes doivent ecirctre eacuteleacutementaires cest-agrave-dire ne pas ecirctre creacuteeacutees artificiellement

Ex Num Commande + Num Client date commande nrsquoest pas une DF eacuteleacutementaire car on nrsquoa pas besoin du numeacutero de client pour connaicirctre la date de commande il suffit de connaicirctre le numeacutero de la commande La proprieacuteteacute Num Client ne

24-Proprieacuteteacutes des deacutependances fonctionnelles

Les deacutependances fonctionnelles ont les proprieacuteteacutes suivantes

241-Union

Si on a deux DF ayant la mecircme source on peut les rassembler en une seule en seacuteparant les

cibles par une virgule Si a b et a c

Ex Reacutefeacuterence Deacutesignation et Reacutefeacuterence Prix de vente unitaire

Alors par union on a Reacutefeacuterence Deacutesignation Prix de vente unitaire

Lors du traceacute du graphe des deacutependances fonctionnelles lrsquounion permet de regrouper sur une seule ligne toutes les deacutependances fonctionnelles ayant la mecircme source

242-Transitiviteacute

Si a b et b c alors on a a c

Ex Num Meacutedecin Code Service et Code Service Num Hopital

Alors on a Num Meacutedecin Num Hopital

Les DF qui peuvent ecirctre deacuteduites par transitiviteacute de deux autres DF (qui ne sont pas directes) doivent ecirctre eacutelimineacutees car elles sont alors redondantesIl ne reste alors que les DF directes cest-agrave-dire celles qui ne peuvent pas ecirctre retrouveacutees par transitiviteacute

Attention toutefois agrave la signification des deacutependances Une deacutependance fonctionnelle quon peut retrouver par transitiviteacute ne doit pas ecirctre supprimeacutee si elle na pas le mecircme sens que la transitiviteacute des deux autres car il y aurait perte dinformation

II-MRInteacuterecirct de la normalisation

Exemple

Pour vous montrer lrsquointeacuterecirct de la normalisation drsquoune base de donneacutee relationnelle voyons les problegravemes que peuvent poser lrsquoutilisation drsquoune base de donneacutee baseacutee sur un modegravele relationnel non normaliseacute

Soit le scheacutema de relation

30

FOURNISSEUR (NomFournisseur AdresseFournisseur Produits Prix)

Modegravele en extension

NomFournisseur AdresseFournisseur Produit Prix

Lebras 10 Rue des Gras - ClermontChaise table

2035

Dupont 86 Rue de la Reacutepublique - Moulins Bureau 60

Lajoie 26 Rue des Docircmes - Vichy Lit 50

Dupont 39 Rue des Buttes - MoulinsLampeTable de chevet

1825

bull 1degproblegraveme

Il nrsquoy a pas de cleacute primaire on ne sait pas si les deux Dupont sont diffeacuterents ou pas (si crsquoest le mecircme Dupont il y a une des deux adresses qui est fausse

bull 2degproblegraveme

Lrsquoadresse nrsquoest pas deacutecomposeacutee Si on veut par exemple rechercher tous les fournisseurs qui habitent la mecircme ville ccedila ne va pas ecirctre possible

bull 3degproblegraveme

Une relation (table) correspondant agrave ce scheacutema pourra eacuteventuellement contenir plusieurs produits pour un mecircme fournisseur

Dans ce cas il faudra faire face agrave un certain nombre de problegravemes

bull ladresse du fournisseur sera dupliqueacutee dans chaque n-uplet (redondance) bull si on souhaite modifier ladresse dun fournisseur il faudra rechercher et mettre agrave jour

tous les n-uplets correspondant agrave ce fournisseur bull si on insegravere un nouveau produit pour un fournisseur deacutejagrave reacutefeacuterenceacute il faudra veacuterifier

que ladresse est identique bull si on veut supprimer un fournisseur il faudra retrouver et supprimer tous les n-uplets

correspondant agrave ce fournisseur (pour diffeacuterents produits) dans la table bull La normalisation eacutelimine les redondances ce qui permet

- une diminution de la taille de la base de donneacutee sur le disque- une diminution des risques drsquoincoheacuterence- drsquoeacuteviter une mise agrave jour multiple des mecircmes donneacutees

31

III-MR 3 formes normales

Les 3 formes normales du modegravele relationnel

Sommaire

1 1er forme normale

2 2egraveme forme normale

3 3egraveme forme normale

4 Application des regravegles

5 Reacutesumeacute

1-1er forme normale

Une relation est normaliseacutee en premiegravere forme normale si

-Elle possegravede une cleacute identifiant de maniegravere unique et stable chaque ligne

-Chaque attribut est monovalueacute (ne peut avoir qursquoune seule valeur par ligne)

-Aucun attribut nrsquoest deacutecomposable en plusieurs attributs significatifs

Contre-exemple

EMPLOYE ( Nom Preacutenom Enfants Diplocircmes)

Cette relation nrsquoest pas en premiegravere forme normale

Un employeacute peut avoir plusieurs enfants et plusieurs diplocircmes En outre ces attributs sont deacutecomposables diplocircme est deacutecomposable en Nature et Anneacutee et Enfants est deacutecomposable en Preacutenom et Anneacutee de Naissance

2-2egraveme forme normale

Une relation R est en deuxiegraveme forme normale si et seulement si

-Elle est en 1FN

-Et tout attribut non cleacute est totalement deacutependant de toute la cleacute

Autrement dit aucun des attributs ne deacutepend que drsquoune partie de la cleacute La 2FN nest agrave veacuterifier que pour les relations ayant une cleacute composeacutee Une relation en 1FN nayant quun seul attribut cleacute est toujours en 2FN

Contre-exemple 32

Cette relation est en premiegravere forme normale (existence drsquoune cleacute valide et aucun attribut nrsquoest deacutecomposable)MAIS elle nrsquoest pas en 2deg forme normale car on a DeacutesignationProd ne deacutepend pas de toute la cleacute mais seulement de reacutefeacuterenceProd

ReacutefeacuterenceProd DeacutesignationProd

Pour connaicirctre lrsquoattribut deacutesignationProd on nrsquoa pas besoin de connaicirctre le numeacutero de commande

3-3egraveme forme normale

Une relation est en 3deg forme normale si et seulement si

Elle est en 2deg forme normale et tout attribut doit deacutependre directement de la cleacute cest-dire qursquoaucun attribut ne doit deacutependre de la cleacute par transitiviteacute

Autrement dit aucun attribut ne doit deacutependre drsquoun autre attribut non cleacute

Contre-exemple

CLIENT (Num_client Nom_client code_categ nom_categ) Cette relation nrsquoest pas en 3FN car num_client nom_categ nrsquoest pas une deacutependance directe

En effet on a aussi num_client num_categ nom_categ

4-Application des regravegles

Si lrsquoune des 3 regravegles nrsquoest pas veacuterifieacutee cela indique une erreur dans le modegravele relationnel et il faut alors modifier pour que les 3 regravegles soient veacuterifieacutees pour toutes les relationsOn veacuterifie les regravegles dans lrsquoordre Si la premiegravere forme normale nrsquoest pas respecteacutee pas la peine de veacuterifier la 2FN Et si la 2FN nrsquoest pas veacuterifieacutee inutile de veacuterifier la 3FN

5-Reacutesumeacute

Modegravele normaliseacute = relations avec

-Une cleacute qui permet de distinguer chaque occurrence

-Des attributs eacuteleacutementaires (1FN)

-En deacutependance de TOUTE la cleacute (2FN)

-Et RIEN QUE de la cleacute (3FN)

On parle aussi de normalisation pour un MCD Un MCD qui donne un MR normaliseacute est qualifieacute aussi de normaliseacute

F-MeriseLes diagrammes de flux

Les diagrammes de flux reacutepondent agrave la question Que fait le systegraveme

33

En ce sens ce sont des modegraveles FONCTIONNELS (qui deacutecrivent les fonctions)

Il existe2 types principaux de diagrammes de flux

1 Le modegravele de contexte (MC) ougrave le domaine drsquoeacutetude est vu comme une boite noire On ne repreacutesente que les flux exteacuterieurs au domaine

2 Le modegravele de flux de donneacutees (DFD) ou encore modegravele de flux conceptuels (MFC) ougrave lrsquoon deacutetaille les activiteacutes du domaine drsquoeacutetude On repreacutesente aussi les flux internes au domaine

I-MeriseVocabulaire associeacute aux modegraveles de flux

Sommaire

bull 1 Domaine deacutetude bull 2 Acteur externe bull 3 Domaine connexe

bull 4 Flux de donneacutees

1-Domaine deacutetude

Le domaine deacutetude est un sous-ensemble coheacuterent de lentreprise ou de lorganisme bien deacutelimiteacute et formant le contenu du sujet agrave eacutetudier

Dans les modegraveles de flux le domaine deacutetude est repreacutesenteacute par un rectangle agrave trait plein Le nom du domaine est placeacute agrave lrsquointeacuterieur du rectangle

2-Acteur externe

Un acteur externe est un eacuteleacutement eacutemetteur ou reacutecepteur de donneacutees situeacute hors du systegraveme dinformation eacutetudieacute

Dans les modegraveles de flux un acteur externe est repreacutesenteacute par un cercle plein Le nom de lrsquoacteur est placeacute agrave lrsquointeacuterieur du cercle

3-Domaine connexe

Un domaine connexe est un composant du systegraveme drsquoinformation interagissant avec le domaine drsquoeacutetude Crsquoest un acteur interne agrave lrsquoentreprise mais externe au domaine drsquoeacutetude

34

Dans les modegraveles de flux une activiteacute est repreacutesenteacutee graphiquement par un rectangle Le nom de lactiviteacute est placeacute agrave lrsquointeacuterieur du rectangle

4-Flux de donneacutees

Un flux est un transfert drsquoinformations entre composants du systegraveme Le composant peut ecirctre un domaine une activiteacute ou un acteur externe

Dans les modegraveles de flux un flux de donneacutees est repreacutesenteacute graphiquement par une flegraveche orienteacutee du composant eacutemetteur du flux vers le composant reacutecepteur Le libelleacute du flux est inscrit en regard de la flegraveche traceacutee

Formalisme graphique illustrant par exemple un eacutechange entre un acteur externe et le domaine deacutetude

II-MeriseModegravele de contexte

Le modegravele de contexte sert agrave repreacutesenter les interactions entre le domaine deacutetude et lrsquoenvironnement et entre le domaine deacutetude et les eacuteventuels domaines connexes

Le domaine deacutetude y est repreacutesenteacute comme une boicircte noire

Le modegravele de contexte utilise les concepts suivants

bull le domaine deacutetude bull les acteurs externes bull les flux de donneacutees bull les domaines connexes

Exemple de modegravele de contexte au sein drsquoune socieacuteteacute commerciale on eacutetudie le domaine laquo gestion des ventes raquo

35

Remarque

bull on ne fait pas apparaicirctre les flux entre acteurs externes et domaines connexes ou entre les domaines connexes

Exemple le flux correspondant agrave la livraison de marchandises nrsquoapparaicirct pas

II-MeriseMFC ou DFD

Sommaire

bull 1 Modegravele de flux conceptuel(MFC) ou diagramme de flux de donneacutees(DFD) o 11 Deacutefinition o 12 Exemple o 13 Regravegles de deacutecomposition des activiteacutes

1-Modegravele de flux conceptuel (MFC) ou diagramme de flux de donneacutees (DFD)

11-Deacutefinition

Ce modegravele permet de deacutecider quelles activiteacutes inter-relieacutees de quelle maniegravere permettront de reacutesoudre au mieux le problegraveme poseacute et cette reacuteflexion est meneacutee sans sencombrer dans un premier temps du comportement du systegraveme (ordonnancement regravegles deacutemission synchronisationshellip)

Les modegraveles de flux conceptuels permettent de deacutecomposer le domaine drsquoeacutetude en activiteacutes Il nrsquoy a pas ici de notion drsquoorganisation mais drsquoobjectifs agrave reacutealiser On repreacutesente les flu x entre activiteacutes et avec lrsquoenvironnement

Pour analyser les communications et les activiteacutes on procegravede par laquo zooms raquo successifs sur le domaine eacutetudieacute pour eacutelaborer des modegraveles de plus en plus deacutetailleacutes qui permettront davoir une cartographie deacutetailleacutee du systegraveme et de preacuteparer le passage au modegravele conceptuel de repreacutesentation des traitements

36

Le modegravele de contexte est eacutegalement appeleacute le diagramme de flux de donneacutees de niveau 0

Nous obtenons ensuite des diagrammes de premier deuxiegraveme troisiegraveme hellip niveau par eacuteclatements successifs des activiteacutes agrave chacun de ces niveaux

La deacutecomposition drsquoun domaine ou drsquoune activiteacute en plusieurs activiteacutes peut faire apparaicirctre de nouveaux flux dus

1 agrave lrsquoeacutechange drsquoinformations entre activiteacutes 2 agrave la deacutecomposition drsquoun flux preacutesent au niveau n en plusieurs flux au niveau n+1

12-Exemple

Si on reprend le modegravele de contexte preacuteceacutedent on srsquoaperccediloit que le domaine des ventes peut-ecirctre eacuteclateacute en trois activiteacutes Nous obtenons ainsi le diagramme de flux de donneacutees de niveau 1

Remarque

bull On peut deacutecomposer le modegravele de flux de niveau 1 en un modegravele de flux de niveau 2 et etc hellip jusqursquoagrave arriver agrave un modegravele ougrave lrsquoactiviteacute correspond agrave une opeacuteration au sens Merise (regravegle drsquoininterruption)

Exemple lrsquoactiviteacute laquo gestion des factures raquo peut ecirctre encore deacutecomposeacutee en activiteacutes laquo facturation raquo et laquo Suivi des regraveglements raquo

13-Regravegles de deacutecomposition des activiteacutes

bull Pourquoi deacutecomposer

1 Pour deacutesagreacuteger les groupes de flux pour arriver agrave la deacutefinition des flux-types du domaine eacutetudieacute

2 Pour preacuteparer leacutetude dynamique du systegraveme dinformation pour arriver agrave lrsquoidentification des processus et des opeacuterations conceptuelles

bull Comment deacutecomposer

37

1 Identifier les groupes de donneacutees entrant et sortant du domaine drsquoeacutetude pour construire le modegravele de contexte

2 Identifier les activiteacutes geacuteneacuterant ou traitant les flux de donneacutees pour construire le DFD de niveau 1(approche par les donneacutees) ou identifier une activiteacute de niveau 1 comme un ensemble drsquoactiviteacutes participant agrave une mecircme finaliteacute (approche par les objectifs)

bull Jusquougrave deacutecomposer

Lorsquune activiteacute a atteint le niveau dinterruptabiliteacute (degraves lors que le traitement est deacuteclencheacute il se deacuteroule sans attente de ressources compleacutementaires exteacuterieures) Lactiviteacute est alors une opeacuteration conceptuelle qui sera deacutecrite lors de leacutetude dynamique du SI dans le MCTA

G-Les Modegraveles de traitements (MCT et MCTA)

I-MeriseMCT

Sommaire

bull 1 Modeacutelisation des Traitements bull 2 Le MCT bull 3 Les concepts du MCT

o 31 Lrsquoeacuteveacutenement o 32 Lrsquoopeacuteration o 33 Le reacutesultat o 34 La synchronisation o 35 Regravegle deacutemission o 36 Rocircle des regravegles de gestion o 37 Le processus

bull 4 Meacutethode drsquoeacutetablissement drsquoun MCT o 41 Regravegles de validation o 42 Cas particuliers

421 Cycles

422 Les eacuteveacutenements consommables

1-Modeacutelisation des Traitements

La modeacutelisation des traitements pour but de faire la repreacutesentation dynamique du systegraveme drsquoinformation crsquoest-agrave dire de repreacutesenter lrsquoenchaicircnement des traitements reacutealiseacutes

Cette modeacutelisation srsquoeffectue agrave deux niveaux

1 le niveau conceptuel ougrave lrsquoon srsquointeacuteresse aux opeacuterations en dehors de toute mise en oeuvre organisationnelle

2 le niveau organisationnel ougrave se pose les questions du qui ougrave quand

2-Le MCT

Lrsquoobjectif du MCT est de reacutepondre agrave la question QUOI faire par rapport agrave un eacuteveacutenement Crsquoest la chronologie qui importe Autrement dit le MCT est une repreacutesentation de la

38

succession des regravegles de gestion dont lrsquoentreprise veut se doter pour reacutepondre aux eacuteveacutenements auxquels elle doit faire face du fait de son activiteacute et de son environnement

3-Les concepts du MCT

31-Lrsquoeacuteveacutenement

Crsquoest une sollicitation du systegraveme drsquoinformation qui geacutenegravere une reacuteaction de la part de celui-ci

Un eacuteveacutenement peut ecirctre externe au domaine eacutetudieacute (ex commande client) ou interne au SI souvent le reacutesultat drsquoun processus anteacuterieur (ex ordre de preacuteparation) Un eacuteveacutenement peut-ecirctre aussi temporel cest-agrave-dire lieacute agrave des dates qui rythment lrsquoexeacutecution de certains traitements (deacutelai de maintenance relances)

32-Lrsquoopeacuteration

Crsquoest un ensemble drsquoactions accomplies par le systegraveme drsquoinformation en reacuteaction agrave un eacuteveacutenement ou agrave une conjonction drsquoeacuteveacutenements et non interruptibles par un eacuteveacutenement externe

Remarque Une opeacuteration deacuteclenche au moins un reacutesultat Une opeacuteration est repreacutesenteacutee par un verbe ou mieux un substantif (ex Preacuteparer la commande ou preacuteparation de la commande)

34-Le reacutesultat

Un reacutesultat peut-ecirctre un document un message externe un nouvel eacutetat du SI (nouvelle situation nouvelles donneacutees) creacuteeacute par une opeacuteration qui peut lui-mecircme jouer le rocircle drsquoeacuteveacutenement

Un reacutesultat externe repreacutesente une information envoyeacutee agrave lrsquoexteacuterieur du SI (ex facture)

Un reacutesultat interne est un nouvel eacutetat du systegraveme drsquoinformation (ex ordre de preacuteparation)

35-La synchronisation

Crsquoest une condition booleacuteenne (ET OU) traduisant les regravegles de gestion que doivent respecter les eacuteveacutenements pour deacuteclencher une opeacuteration Dans le cas ET elle marque quun eacuteveacutenement deacutejagrave lagrave doit en attendre un ou plusieurs autres

Remarque Pour quil soit question de synchronisation il faut la preacutesence de plusieurs eacuteveacutenements deacuteclencheurs aussi le symbole de synchronisation est laisseacute agrave blanc dans le cas dun eacuteveacutenement unique

Si tous les eacuteveacutenements entrants sont lieacutes par le mecircme opeacuterateur on peut seulement faire figurer lopeacuterateur dans le symbole de synchronisation sinon il faut numeacuteroter les eacuteveacutenements (a b c hellip) et constituer lexpression agrave laide des eacuteveacutenements et des opeacuterateurs (ex (a ET b) OU c) Regravegle deacutemission

Condition traduisant les regravegles de gestion qui permet dexprimer des conditions de sortie des reacutesultats

39

Remarques Lexpression dune regravegle deacutemission peut ecirctre composeacutee de plusieurs conditions eacuteleacutementaires relieacutees par les opeacuterateurs ET OU On peut eacutegalement utiliser lopeacuterateur NON pour exprimer la neacutegation dune condition

36-Rocircle des regravegles de gestion

Recenseacutees lors de leacutetude de lexistant ou deacutefinies pour le futur SI elles deacutecrivent les enchaicircnements dopeacuterations Elles rendent possible le regroupement des actions au sein dune seule opeacuteration non interruptible au niveau conceptuel

37-Le processus

Crsquoest un enchaicircnement synchroniseacute dopeacuterations au sein dun mecircme domaine geacuteneacuteralement deacuteclencheacute par un eacuteveacutenement externe (externe au domaine ou au SI tout entier)

Un MCT est la repreacutesentation de lrsquoenchaicircnement des opeacuterations drsquoun processus

4-Meacutethode drsquoeacutetablissement drsquoun MCT

1 Reacutealiser le graphe des flux (repreacutesentation des acteurs eacuteveacutenements et reacutesultats externes

2 Pour chaque eacuteveacutenement recenser les opeacuterations deacuteclencheacutees etou les eacuteveacutenements internes produits

3 Regrouper dans une mecircme opeacuteration tous les traitements qui ont les mecircmes deacuteclencheurs dans une uniteacute de temps avec la mecircme synchronisation

41-Regravegles de validation

Une opeacuteration ne peut pas ecirctre interrompue par lrsquoattente drsquoun eacuteveacutenement externe

Si tel est le cas il faut deacutecrire une seconde opeacuteration deacuteclencheacutee par cet eacuteveacutenement en attente

42-Cas particuliers

421-Cycles

Pour une mecircme opeacuteration leacuteveacutenement deacuteclencheur et leacuteveacutenement reacutesultat sont identiques

Une commande de client est servie si les marchandises sont disponibles sinon cette commande est mise en attente Les commandes en attente sont reacuteexamineacutees lors de chaque reacuteapprovisionnement afin de les livrer

40

Il faut sassurer que le cycle a bien un deacutebut et une fin ici cest lrsquoeacuteveacutenement Reacuteapprovisionnement effectueacute qui permet deacuteviter que le cycle ne se deacuteroule sans fin sur les commandes en attente

Noter limportance du concept doccurrences deacuteveacutenement

-une occurrence de Reacuteappro est-elle autoriseacutee agrave consommer toutes les occurrences de Commande en attente

-si le reacuteapprovisionnement est insuffisant de nouvelles occurrences de Commande en attente doivent-elles ecirctre creacuteeacutees

422-Les eacuteveacutenements consommables

Un client non satisfait peut retourner un article On lui fait un avoir Il peut alors le preacutesenter en caisse pour ecirctre rembourseacute de son achat Il peut encore remplacer larticle deacutefectueux par un autre auquel cas on annule lavoir

41

Ce qui pose question

UNE occurrence de leacuteveacutenement avoir eacutetabli ne peut ecirctre consommeacutee par 2 opeacuterations (rembourser et imputer)

Dit autrement avoir eacutetabli ne sait pas vers quelle opeacuteration se diriger On pourrait se dire quil est implicite que cest le premier eacuteveacutenement qui survient qui gagne si Echange survient en premier alors lavoir est annuleacute

Cependant que se passe-t-il si les 2 eacuteveacutenements externes se produisent simultaneacutement Si on impleacutemente tel quel ce scheacutema dans un automate il est vraisemblable que le client pourra avoir le beurre et largent du beurre

se preacutesenter en caisse et faire leacutechange pour un seul retour Il est donc preacutefeacuterable dexpliciter (cf ci-apregraves)

Une autre solution consiste agrave indiquer explicitement que cet eacuteveacutenement est consommable cest-agrave-dire que la premiegravere opeacuteration qui se deacuteclenche annule lrsquoeacuteveacutenement pour lrsquoautre opeacuteration

42

II-MeriseInteacutegration des donneacutees dans le MCT

Sommaire

bull 1 DEFINITION bull 2 FORMALISME DU MCTA bull 3 REPRESENTATION DES ACTIONS SUR LES DONNEES bull 4 COMPLEMENTS

o 41 Condition de deacuteclenchement o 42 Action collective o 43 Coheacuterence de la base de donneacutees o 44 REGLES DE VALIDATION DrsquoUN MCTA

o 45 Exemple de MCTA

1-DEFINITION

Le MCTA est une repreacutesentation syntheacutetique des traitements qui met en eacutevidence les reacuteactions du systegraveme aux eacuteveacutenements et linteraction avec les donneacutees

Il vise agrave

Deacutecrire le fonctionnement du systegraveme indeacutependamment de lorganisation

Donner une vision des traitements et de la coordination des eacuteveacutenements deacuteclencheurs

Rapprocher les donneacutees et les traitements

2-FORMALISME DU MCTA

Pour mettre en eacutevidence lrsquoarticulation entre les donneacutees et les traitements dans le MCT on ajoute agrave droite de chaque opeacuteration les entiteacutes ou associations qui sont consulteacutees ou qui subissent un changement drsquoeacutetat (creacuteation mise agrave jour suppression hellip)

43

3-REPRESENTATION DES ACTIONS SUR LES DONNEES

Un objet correspond agrave une entiteacute ou une association du MCD correspondant au champ drsquoeacutetude du SI Une action est une manipulation (creacuteation consultation modification ou suppression) drsquoun objet du systegraveme drsquoinformation Elle est symboliseacutee par un trait entre lrsquoopeacuteration et lrsquoobjet manipuleacute Ce trait est non orienteacute sil sagit dune suppression et il est orienteacute pour les autres types de manipulation le sens de la flegraveche deacutepend du type de manipulation

Un eacutetat drsquoobjet est un stade transitoire par lequel passe un objet (entiteacute ou association) au cours de sa laquo vie raquo

Dans un MCTA une opeacuteration est composeacutee dun ensemble dactions sur les donneacutees

Les actions sur les donneacutees sont de 4 types

Creacuteation drsquoune occurrence

Creacuteation drsquoune occurrence de lrsquoobjet 1 dans lrsquoeacutetat 1

Suppression drsquoune occurrence

Suppression drsquoune occurrence de lrsquoobjet 3 se trouvant dans lrsquoeacutetat 2

Consultation drsquoune occurrence

Consultation drsquoune occurrence de lrsquoobjet 4 dans lrsquoeacutetat 6 Leacutetat de lrsquoobjet nrsquoest pas indiqueacute mais sera eacuteventuellement testeacute avant reacutealisation de la (ou des) action (s) suivante (s)

44

Modification drsquoune occurrence

Modification drsquoune occurrence de lrsquoobjet 2 si elle est dans lrsquoeacutetat 3 elle passe agrave lrsquoeacutetat 4 ou agrave lrsquoeacutetat 5

Lrsquoaction de modification inclut implicitement la ou les consultations preacutealables

On ne doit pas seacuteparer les consultations qui preacutecegravedent les modifications des modifications elles-mecircmes

Remarque geacuteneacuterale Lrsquoordre des actions drsquoune opeacuteration sera si possible preacutesenteacute de haut en bas

4-COMPLEMENTS

41-Condition de deacuteclenchement

Lrsquoaction eacuteleacutementaire peut ecirctre accompagneacutee drsquoune condition de deacuteclenchement (agrave indiquer au niveau du trait ou agrave cocircteacute de lrsquoobjet) Cette condition peut porter sur lrsquoeacutetat de la structure des donneacutees agrave un moment preacutecis etou sur le type drsquoeacuteveacutenement constateacute agrave lrsquoentreacutee de lrsquoopeacuteration

42-Action collective

Elle permet drsquoindiquer que lrsquoaction intervient sur un ensemble drsquooccurrences de lrsquoobjet concerneacute (toutes srsquoil nrsquoy a pas de condition de deacuteclenchement associeacutee limitant le nombre drsquooccurrences manipuleacutees)

Exemple en fin de mois une compagnie dassurances reacutesilie les polices quelle a proposeacutees degraves que le deacutelai de signature de celles-ci est deacutepasseacute

45

C1 si le deacutelai de signature est deacutepasseacute

43-Coheacuterence de la base de donneacutees

Une BD a coheacuterent si elle ne comporte pas de contradictions (par rapport aux regravegles de gestion en particulier)

Une action peut ne pas laisser la structure de donneacutees dans un eacutetat coheacuterent

En revanche la coheacuterence doit toujours ecirctre assureacutee au niveau drsquoune opeacuteration

44-REGLES DE VALIDATION DrsquoUN MCTA

Une opeacuteration conceptuelle ne doit pas ecirctre interrompue par lrsquoattente drsquoun eacuteveacutenement externe

Une opeacuteration conceptuelle prend la structure de donneacutees manipuleacutees dans un eacutetat coheacuterent et la rend dans un eacutetat coheacuterent

46

45-Exemple de MCTA

C1 si le client eacutetait preacuteceacutedemment un client prospect (cest-agrave-dire client potentiel)

C2 sil sagit dun nouveau client ou si le client eacutetait preacuteceacutedemment un client prospect le client est mis en portefeuille (cest-agrave-dire qursquoil est reacuteellement client)

C3 si disponibiliteacute de tous les produits (quantiteacute en stock suffisante pour assurer la livraison)

Remarque on considegravere ici qursquoil nrsquoy a pas de livraison partielle

47

  • I-Systegraveme drsquoinformation de gestion
    • Sommaire
      • 1-Qursquoest ce qursquoun systegraveme
      • 2-Qursquoest ce qursquoun systegraveme drsquoinformation de gestion
      • 3-Les fonctions du systegraveme drsquoinformation
      • II-MeriseModeacutelisation
        • Sommaire
          • 1-Qursquoest qursquoun modegravele
          • 2-La meacutethode Merise
            • 21-Les composantes de Merise
            • 22-La deacutemarche Merise
            • 23-Les niveaux drsquoabstraction
            • 24-La courbe du soleil
              • Deacutefinition
              • I-MCDRecueil des donneacutees
              • Exemple
              • II-MCDConcepts et du formalisme
                • Sommaire
                  • 1-Les concepts de base
                    • 11-Entiteacute
                    • 12-Association
                    • 13-Cardinaliteacutes
                      • 2-La notion drsquooccurrence
                      • III-MCDRegravegles de construction
                        • Sommaire
                          • 1-Regravegles concernant les proprieacuteteacutes
                          • 2-Regravegles concernant les entiteacutes
                          • 3-Regravegles concernant les associations
                          • IV-MCDIntroduction aux cardinaliteacutes
                            • Sommaire
                              • 1-Formalisme
                              • 2-La cardinaliteacute minimale
                                • 21--Exemples
                                • 22-Application
                                  • 3-La cardinaliteacute maximale
                                    • 31-Exemple 1
                                    • 32-Exemple 2
                                      • 4-Conclusion
                                      • 5-Exemple
                                      • 6-Repreacutesentation des cardinaliteacutes
                                      • I-MCDCardinaliteacutes
                                        • Sommaire
                                          • 1-Deacutefinition et formalisme
                                          • 2-La cardinaliteacute minimale
                                            • 21-Exemple
                                            • 22-Application
                                              • 3-La cardinaliteacute maximale
                                                • 31-Exemple
                                                  • 4-Reacutecapitulatif
                                                    • 41-Exemples complets
                                                      • II-MCDAssociations
                                                        • Sommaire
                                                          • 1-Les associations binaires concernant 2 entiteacutes
                                                            • 11-Les associations hieacuterarchiques [1 n]
                                                            • 12-Les associations non hieacuterarchiques [n n]
                                                            • 13-Les associations de type [1 1]
                                                              • 2-Les autres types dassociation
                                                                • 21-Les associations reacuteflexives
                                                                  • 211-Exemple dassociation reacuteflexive hieacuterarchique
                                                                  • 212--Exemples dassociations reacuteflexives non hieacuterarchiques
                                                                    • 22-Les associations de dimension 3 ou plus (ternaires ou plus)
                                                                      • III-MCDRepreacutesentation des cardinaliteacutes
                                                                      • IV-MCDAssociation ternaire
                                                                      • V-MCDAssociations reacuteflexives
                                                                      • 1-Exemple dassociation reacuteflexive hieacuterarchique
                                                                      • 2-Exemples dassociations reacuteflexives non hieacuterarchiques
                                                                      • I-MRRappel sur le modegravele relationnel
                                                                      • II-MRPassage du MCD au MR
                                                                        • Sommaire
                                                                          • 1-Regravegle 1
                                                                          • 2-Regravegle 2
                                                                          • 3-Exception agrave la regravegle 1
                                                                          • 4-Cas particulier des associations reacuteflexives
                                                                            • 41-Reacuteflexive hieacuterarchique
                                                                            • 42-Reacuteflexive non hieacuterarchique
                                                                              • E-Normalisation du modegravele relationnel
                                                                              • I-Deacutependance fonctionnelle
                                                                                • Sommaire
                                                                                  • 1-Introduction
                                                                                  • 2-Rappels sur la notion de deacutependance fonctionnelle
                                                                                    • 21-Deacutefinition
                                                                                    • 22-Terminologie
                                                                                    • 23-DF agrave partir de proprieacuteteacutes concateacuteneacutees
                                                                                    • 24-Proprieacuteteacutes des deacutependances fonctionnelles
                                                                                      • 241-Union
                                                                                      • 242-Transitiviteacute
                                                                                          • II-MRInteacuterecirct de la normalisation
                                                                                          • Exemple
                                                                                          • III-MR 3 formes normales
                                                                                            • Sommaire
                                                                                              • 1-1er forme normale
                                                                                              • 2-2egraveme forme normale
                                                                                              • 3-3egraveme forme normale
                                                                                              • 4-Application des regravegles
                                                                                              • 5-Reacutesumeacute
                                                                                              • F-MeriseLes diagrammes de flux
                                                                                              • I-MeriseVocabulaire associeacute aux modegraveles de flux
                                                                                                • Sommaire
                                                                                                  • 1-Domaine deacutetude
                                                                                                  • 2-Acteur externe
                                                                                                  • 3-Domaine connexe
                                                                                                  • 4-Flux de donneacutees
                                                                                                  • II-MeriseModegravele de contexte
                                                                                                  • II-MeriseMFC ou DFD
                                                                                                    • Sommaire
                                                                                                      • 1-Modegravele de flux conceptuel (MFC) ou diagramme de flux de donneacutees (DFD)
                                                                                                        • 11-Deacutefinition
                                                                                                        • 12-Exemple
                                                                                                        • 13-Regravegles de deacutecomposition des activiteacutes
                                                                                                          • I-MeriseMCT
                                                                                                            • Sommaire
                                                                                                              • 1-Modeacutelisation des Traitements
                                                                                                              • 2-Le MCT
                                                                                                              • 3-Les concepts du MCT
                                                                                                                • 31-Lrsquoeacuteveacutenement
                                                                                                                • 32-Lrsquoopeacuteration
                                                                                                                • 34-Le reacutesultat
                                                                                                                • 35-La synchronisation
                                                                                                                • 36-Rocircle des regravegles de gestion
                                                                                                                • 37-Le processus
                                                                                                                  • 4-Meacutethode drsquoeacutetablissement drsquoun MCT
                                                                                                                    • 41-Regravegles de validation
                                                                                                                    • 42-Cas particuliers
                                                                                                                      • 421-Cycles
                                                                                                                      • 422-Les eacuteveacutenements consommables
                                                                                                                          • II-MeriseInteacutegration des donneacutees dans le MCT
                                                                                                                            • Sommaire
                                                                                                                              • 1-DEFINITION
                                                                                                                              • 2-FORMALISME DU MCTA
                                                                                                                              • 3-REPRESENTATION DES ACTIONS SUR LES DONNEES
                                                                                                                              • 4-COMPLEMENTS
                                                                                                                                • 41-Condition de deacuteclenchement
                                                                                                                                • 42-Action collective
                                                                                                                                • 43-Coheacuterence de la base de donneacutees
                                                                                                                                • 44-REGLES DE VALIDATION DrsquoUN MCTA
                                                                                                                                • 45-Exemple de MCTA
Page 3: 7472422 Cours de Merise

1- Recueillir lrsquoinformation (saisie)2- Meacutemoriser lrsquoinformation (stockage dans des fichiers ou bases de donneacutees)3- Exploiter lrsquoinformation (traitement)a Consulterb Organiserc Mettre agrave jourd Produire de nouvelles informations par des calculs4- Diffuser lrsquoinformation (eacutedition)

II-MeriseModeacutelisation

Sommaire

bull 1 Qursquoest qursquoun modegravele bull 2 La meacutethode Merise

o 21 Les composantes de Merise o 22 La deacutemarche Merise o 23 Les niveaux drsquoabstraction

o 24 La courbe du soleil

Les meacutethodes drsquoeacutetude des systegravemes drsquoinformation ont pour objectif de deacutecrire ces systegravemes agrave lrsquoaide de modegraveles puis de reacutealiser les systegravemes informatiseacutes qui en deacutecoulent MERISE est une de ces meacutethodes la plus reacutepandue en France actuellement

1-Qursquoest qursquoun modegravele

Un modegravele peut ecirctre deacutefini comme eacutetant une image de la reacutealiteacute Toute reacutealiteacute complexe a besoin drsquoecirctre repreacutesenteacutee pour ecirctre comprise et maicirctriseacutee

bull Exemple

Une carte routiegravere repreacutesente agrave lrsquoaide de symboles tout ou partie drsquoun territoire et son infrastructure routiegravere Le plan eacutetabli par un architecte permet agrave chaque corps de meacutetier drsquointervenir efficacement dans la construction drsquoun immeubleAinsi lrsquoinformaticien peut ecirctre vu comme lrsquoarchitecte du systegraveme informatiseacute qui en dresse le plan deacutetailleacute Un modegravele doit permettre de communiquer dans ambiguiumlteacute Donc il faut utiliser un formalisme normaliseacute Merise propose plusieurs modegraveles pour repreacutesenter le SIG

2-La meacutethode Merise

Merise est une meacutethode qui permet de construire un systegraveme drsquoinformation automatiseacute qui soit efficace flexible et adapteacute agrave lrsquoentreprise Crsquoest une meacutethode neacutee en 1976 suite agrave un projet du Ministegravere de lrsquoIndustrie

21-Les composantes de Merise

Comme toute meacutethode drsquoanalyse et de conception des SI Merise regroupe

bull Des modegraveles (concepts regravegles de repreacutesentation) bull Un langage (vocabulaire regravegles de syntaxe) bull Une deacutemarche bull Des outils (des logiciels tels que AMC Designor ou Win Design)

3

Elle permet de repreacutesenter les composantes drsquoun SIG

bull Les acteurs bull Les donneacutees bull Les traitements bull Les proceacutedures bull Les postes de travail etc

Ceci afin de concevoir reacutealiser et mettre en place une nouvelle informatisation

22-La deacutemarche Merise

1-Approche globale du SI Scheacutema directeur

2- Etude des diffeacuterentes solutions possible puis choix Etude preacutealable

3- Compleacutement des speacutecifications du domaine Etude deacutetailleacutee

4- Speacutecifications techniques complegravetes Etude technique

5- Ecriture des programmes Production

6- Tests essais formation utilisateur Mise en oeuvre

7- Corrections et adaptations du logiciel Maintenance

8- Controcircle de la conformiteacute des reacutesultats par rapport aux demandes

Controcircle de qualiteacute recette

23-Les niveaux drsquoabstraction

La neacutecessiteacute drsquoaborder diffeacuterents types de preacuteoccupations (deacutecrire lrsquoactiviteacute deacutefinir les regravegles de gestion deacutefinir les informations reacutepartir les traitements entre lrsquohomme et la machine organiser physiquement les fichiers choisir le mateacuteriel reacutepartir les responsabiliteacutes etc) a conduit agrave proposer diffeacuterents niveaux drsquoabstraction

Les voici

NIVEAU QUESTION CONTENU DOMAINE

Conceptuel Que faire - donneacutees manipuleacutees- regravegles de gestion- enchaicircnement des traitements

Gestion

OrganisationnelQui fait quoi Quand Ougrave

- partage des tacircches - mode de traitement- reacutepartition geacuteographique des traitements - organisation des donneacutees

Organisation

Physique Comment - programmes- logiciels- mateacuteriels

Technique

Merise (du moins dans sa premiegravere version) est une meacutethode qui preacuteconise de seacuteparer lrsquoeacutetude des donneacutees et les traitementsChaque modegravele de Merise concerne soit les donneacutees soit les traitements agrave un niveau drsquoabstraction donneacute

4

Voici la preacutesentation de ces diffeacuterents modegraveles selon cette typologie

NIVEAU DONNEES TRAITEMENT

ConceptuelMCDModegravele Conceptuel des Donneacutees

MCTModegravele Conceptuel des Traitements

OrganisationnelMLDModegravele logique des donneacutees

MOTModegravele Organisationnel des Traitements

PhysiqueMPDModegravele Physique des Donneacutees

MOPTModegravele Opeacuterationnel des Traitements

24-La courbe du soleil

Merise est utiliseacute dans le cas ougrave lrsquoon veut mettre en place ou modifier un systegraveme informatiseacute Dans les deux cas il convient drsquoanalyser et de critiquer le systegraveme existant afin de creacuteer un nouveau systegraveme adapteacute agrave lrsquoorganisation Pour cela la deacutemarche consiste agrave suivre la laquo courbe du soleil raquo

Lrsquoanalyse du systegraveme existant conduit agrave construire

bull Au niveau logico-physique o Le modegravele conceptuel des communications (MCC) qui repreacutesente les eacutechanges

de flux drsquoinformations entre les diffeacuterents acteurs du SI et les acteurs exteacuterieurs

bullo Le scheacutema de circulation des documents (SCD) qui repreacutesente les eacutechanges

drsquoinformations entre les acteurs du SI ainsi que les tacircches qui produisent les documents

bull Au niveau organisationnel o Le modegravele organisationnel des traitements qui permet de preacuteciser par rapport agrave

lrsquoeacutetape preacuteceacutedente si les tacircches sont automatiseacutees ou manuelles les eacuteveacutenements deacuteclencheurs et les conditions drsquoeacutemission des objets externes

bull Au niveau conceptuel o Le MCD (modegravele conceptuel des donneacutees) et le MCT (modegravele conceptuel des

traitements)

Le passage de la modeacutelisation du systegraveme existant agrave la modeacutelisation du systegraveme futur implique une critique du systegraveme existant une reacuteflexion sur les eacutevolutions possibles en tenant compte des nouveaux objectifs assigneacutes au systegraveme futur Lrsquoanalyse du systegraveme futur conduit agrave construire

bull Au niveau conceptuel o Le MCD et le MCT deacutecoulant de la critique de lrsquoexistant

5

bull Au niveau organisationnel o Le MOT du systegraveme futur mettant en valeur la nouvelle organisation (y

compris en terme de ressources humaines et de nouveaux postes de travail)

bull Au niveau logico-physique o Le MLD modegravele logique des donneacutees et le MPD modegravele physique des donneacutees

obtenus agrave partir du MCD adapteacute aux choix effectueacutes dans le MOT et aux besoins drsquoinformations compleacutementaires

o Le MPT modegravele physique des traitements (algorithmes structure des programmeshellip)

B- Introduction au Modegravele conceptuel des donneacutees

Deacutefinition

Le modegravele conceptuel des donneacutees (MCD) a pour but de repreacutesenter de faccedilon structureacutee les donneacutees qui seront utiliseacutees par le systegraveme dinformation Le modegravele conceptuel des donneacutees deacutecrit la seacutemantique crsquoest agrave dire le sens attacheacute agrave ces donneacutees et agrave leurs rapports et non agrave lrsquoutilisation qui peut en ecirctre faite

On eacutetablit le MCD apregraves avoir recenseacute et donneacute un nom agrave lrsquoensemble des donneacutees du domaine eacutetudieacute Ensuite on eacutetudie les relations existantes entre ces donneacutees (deacutependances fonctionnelles) pour aboutir au MCD

I-MCDRecueil des donneacutees

Exemple

Voilagrave plusieurs phrases qui deacutecrivent une seule et mecircme personne prononceacutees par des personnes diffeacuterenteslaquo Odile Martin est une personne convenable Et je ne dis pas ccedila parce crsquoest une cliente qui mrsquoen prend pour 100F toutes les semaines raquo Le boulanger laquo MARTIN Odile habitant 6 rue des preacutes Saint Amour (Jura) neacutee le 130273 agrave Beacuteziers (Heacuterault) hellip raquo Un inspecteur de police judiciaire laquo Odile Martin voilagrave une personne qui nrsquoa jamais commis aucun peacutecheacute mortel qui a fait preuve de beaucoup de geacuteneacuterositeacute Elle ira au paradis raquo Saint Pierre Diffeacuterents interlocuteurs diffeacuterents points de vue Lequel est le plus pertinent Ca deacutepend du domaine eacutetudieacute Mais on ne recense que les informations objectives formelles

Quand on analyse les donneacutees sur un objet (abstrait ou concret) du reacuteel il est neacutecessaire de faire le tri entre ce qui est neacutecessaire pour le systegraveme drsquoinformation et ce qui ne lrsquoest pas

bull 2deg repreacutesentation

Odile sera repreacutesenteacutee par au moins ces informations

NomPreacutenomNumeacutero de la voieNature de la voieNom de la voieCommune de reacutesidenceDeacutepartement de reacutesidenceJour de naissanceMois de naissanceAnneacutee de naissance

6

Commune de naissanceDeacutepartement de naissance

Peut-on deacutecomposer encore Par exemple la commune de reacutesidence est composeacutee de 2 mots de mecircme que le nom de la voie hellip va-t-on les deacutecomposer Non ces mots repreacutesentent ensemble une information ne veulent rien dire agrave eux seuls

Mais nrsquoavons-nous pas trop deacutecomposeacute Il existe par exemple des liens entre les informations 3 4 et 5 qui repreacutesentent lrsquoadresse drsquoOdile entre les informations 8 et 9 qui repreacutesentent sa date de naissancehellip On va alors regrouper ensemble ces informations relieacutees

On remarque que toutes les personnes (et Odile est une personne on dit que crsquoest une OCCURRENCE de personne) de la maniegravere suivante

bull on peut dire qursquoon a creacuteeacute une entiteacute (un ensemble) PERSONNE dont Odile est une occurrence (ou instance)

Les donneacutees de base sont appeleacutees PROPRIETES ou ATTRIBUTS

II-MCDConcepts et du formalisme

Sommaire

bull 1 Les concepts de base o 11 Entiteacute o 12 Association o 13 Cardinaliteacutes

bull 2 La notion drsquooccurrence bull Exemple

7

1-Les concepts de base

11-Entiteacute

Une entiteacute repreacutesente un objet du SI (acteur document concept hellip) ou plus exactement un ensemble drsquoobjets ayant les mecircmes caracteacuteristiquesDans une entiteacute on met les informations neacutecessaires et suffisantes pour caracteacuteriser cette entiteacute Ces informations sont appeleacutees proprieacuteteacutes Les proprieacuteteacutes sont collecteacutees lors de lrsquoeacutetablissement du dictionnaire des donneacutees (voire partie suivante) Les proprieacuteteacutes prennent des valeurs pour chaque occurrence drsquoune entiteacute

Une proprieacuteteacute particuliegravere appeleacutee identifiant permet de distinguer sans ambiguiumlteacute toutes les occurrences de lrsquoentiteacute Lrsquoidentifiant est toujours souligneacute Lrsquoidentifiant est une proprieacuteteacute qui ne peut pas changer au cours du temps pour une occurrence

12-Association

Crsquoest un lien entre deux entiteacutes (ou plus) On doit lui donner un nom souvent un verbe qui caracteacuterise le type de relation entre les entiteacutes

Une association possegravede parfois des proprieacuteteacutes

13-Cardinaliteacutes

Ce sont des expressions qui permettent drsquoindiquer combien de fois au minimum et au maximum le lien entre 2 entiteacutes peut se produire Pour une association de 2 entiteacutes il y a 4 cardinaliteacutes agrave indiquer

Il y a trois valeurs typiques 0 1 et N (plusieurs)Les cardinaliteacutes traduisent des regravegles de gestion Ce sont des regravegles propre au SI eacutetudieacute qui expriment des contraintes sur le modegravele

2-La notion drsquooccurrence

Il ne faut pas confondre

bull ENTITE et OCCURRENCE drsquoentiteacute bull ni PROPRIETE et VALEUR de proprieacuteteacute bull ni ASSOCIATION et OCCURRENCE drsquoassociation

Reprenons ces concepts Une ENTITE est une FAMILLE drsquoobjets ayant les mecircmes caracteacuteristiques appeleacutees proprieacuteteacutes

Un MEMBRE de la famille est appeleacute OCCURRENCE drsquoentiteacute

Une entiteacute repreacutesente un ENSEMBLE drsquoOCCURRENCES

Une PROPRIETE est une information eacuteleacutementaire qui permet de deacutecrire une entiteacute ou une association Une proprieacuteteacute peut prendre une VALEUR (crsquoest lrsquoeacutequivalent drsquoune variable) (On peut dire qursquoune VALEUR est une OCCURRENCE de PROPRIETE)

De mecircme une ASSOCIATION est un LIEN entre 2 entiteacutes ou plus et une OCCURRENCE drsquoassociation est un lien entre 2 OCCURRENCES drsquoentiteacutes

8

bull Exemple

Consideacuterons le scheacutema suivant

PROPRIETE VALEUR de PROPRIETE

Reacutefeacuterence 456

Deacutesignation Manteau

Prix unitaire 100euro

ENTITE OCCURRENCE drsquoentiteacute

PRODUIT Manteau de reacutefeacuterence 456 agrave 100euro

COMMANDE numeacutero 123 du 081002

ASSOCIATION OCCURRENCE drsquoassociation

CONCERNER lien entre la commande 123 et le manteau 456 pour une quantiteacute de 3 uniteacutes

bull On peut repreacutesenter une entiteacute comme un ensemble ougrave les eacuteleacutements sont les occurrences

bull Une association peut ecirctre vue comme lrsquoensemble des relations entre les occurrences des entiteacutes associeacutees

Attention agrave ne pas confondre occurrences et proprieacuteteacutes En effet on peut dire agrave la fois qursquoune entiteacute est un ensemble de proprieacuteteacutes et un ensemble drsquooccurrences

Une proprieacuteteacute est une rubrique un eacuteleacutement drsquoinformation qui permet de deacutecrire une entiteacute Une entiteacute est deacutecrite par plusieurs proprieacuteteacutesUne occurrence est un exemplaire un eacuteleacutement particulier de la famille repreacutesenteacutee par lrsquoentiteacute Les proprieacuteteacutes drsquoune entiteacute prennent des valeurs pour chaque occurrenceChaque occurrence drsquoentiteacute est identifieacutee de maniegravere unique par un identifiant qui est une proprieacuteteacute particuliegravere telle que 2 occurrences de lrsquoentiteacute ne peuvent pas avoir la mecircme valeur pour cette proprieacuteteacute

9

On repreacutesente souvent les occurrences drsquoune entiteacute sous forme drsquoun tableau Les lignes correspondent aux occurrences et les colonnes correspondent aux proprieacuteteacutes

bull Exemple

III-MCDRegravegles de construction

Sommaire

bull 1 Regravegles concernant les proprieacuteteacutes bull 2 Regravegles concernant les entiteacutes

bull 3 Regravegles concernant les associations

1-Regravegles concernant les proprieacuteteacutes

bull Pour qursquoil nrsquoy ait pas drsquoambiguiumlteacute possible une proprieacuteteacute ne peut pas apparaicirctre plusieurs fois dans un MCD

Autrement dit toutes les proprieacuteteacutes drsquoun MCD doivent ecirctre diffeacuterentes les unes des autres Exemples Une proprieacuteteacute Date ne peut pas apparaicirctre simultaneacutement dans une entiteacute COMMANDE et une entiteacute FACTURE Si crsquoeacutetait le cas il faudrait remplacer Date par Date_commande et Date_facture par exemple

bull Toute proprieacuteteacute ne doit avoir agrave un moment donneacute qursquoune seule valeur pour une occurrence Par conseacutequent un nom de proprieacuteteacute doit toujours ecirctre au singulier

Exemple Dans la proprieacuteteacute note drsquoune entiteacute ELEVE on ne peut avoir qursquoune seule note Si on veut la note de plusieurs matiegraveres il faut mettre autant de proprieacuteteacutes qursquoil y a de matiegraveres par exemple noteALSI noteAMSI noteDAIGL etc

2-Regravegles concernant les entiteacutes

bull Toute entiteacute doit comporter un identifiant qui permet de distinguer entre elles toutes les occurrences drsquoune mecircme entiteacute Lrsquoidentifiant est placeacute en tecircte des proprieacuteteacutes et il est souligneacute

bull Pour chaque occurrence drsquoune entiteacute il ne doit y avoir qursquoune seule valeur pour chacune des proprieacuteteacutes agrave un instant donneacute Cette valeur peut changer au cours du temps mais agrave un instant donneacute il nrsquoy en a qursquoune seule

3-Regravegles concernant les associations

bull Lrsquoidentifiant drsquoune association est implicitement formeacute par la concateacutenation des identifiants des entiteacutes lieacutees

10

On ne repreacutesente pas cet identifiant au niveau du MCD Deux occurrences drsquoassociation ne peuvent pas avoir le mecircme identifiant Pour une occurrence lrsquoidentifiant ne doit jamais changer de valeur (lrsquoidentifiant est une proprieacuteteacute constante)

bull Une association peut avoir des proprieacuteteacutes mais ce nrsquoest pas obligatoire

IV-MCDIntroduction aux cardinaliteacutes

Sommaire

bull 1 Formalisme bull 2 La cardinaliteacute minimale

o 21 Exemples o 22 Application

bull 3 La cardinaliteacute maximale o 31 Exemple 1 o 32 Exemple 2

bull 4 Conclusion bull 5 Exemple

bull 6 Repreacutesentation des cardinaliteacutes

Les cardinaliteacutes drsquoune entiteacute dans une association exprime le nombre de fois qursquoune occurrence de cette entiteacute est impliqueacutee dans lrsquoassociation au minimum et au maximum

1-Formalisme

2-La cardinaliteacute minimale

Elle est exprimeacutee presque toujours par lrsquoune des deux valeurs 0 ou 1Elle traduit combien de fois au minimum une occurrence de lrsquoentiteacute participe agrave lrsquoassociation

21--Exemples

Pour la cardinaliteacute mini entre client et commander il faut se poser la question Pour un client donneacute combien de fois au minimum il commande Si la reacuteponse est laquo tout client doit passer au moins une commande sinon ce nrsquoest pas un client raquo on met la cardinaliteacute mini agrave 1

11

Mais on peut tregraves bien imaginer que lrsquoentreprise veut aussi meacutemoriser les clients potentiels (prospects) qui nrsquoont encore rien commandeacute Dans ce cas un client peut tregraves bien ne pas avoir encore commandeacute et on met la cardinaliteacute mini agrave 0

22-Application

1 Trouver la question qui permet de trouver la cardinaliteacute minimale pour lrsquoentiteacute produit et lrsquoassociation commander

2 Faites deux hypothegraveses de regravegle de gestion concernant ce lien et trouver les cardinaliteacutes minimales correspondantes

3-La cardinaliteacute maximale

Elle traduit combien de fois au maximum lrsquoentiteacute peut ecirctre en relation avec lrsquoassociation Cela peut ecirctre plusieurs fois (si crsquoest un nombre indeacutetermineacute on indique la valeur n) ou une seule foisOn reacutepond agrave la question Combien au maximum lrsquoentiteacute peut participer agrave lrsquoassociation Si la reacuteponse est laquo au plus une fois raquo la cardinaliteacute maximale prend pour valeur 1Si la reacuteponse est laquo plusieurs raquo la cardinaliteacute maximale prend la valeur N

31-Exemple 1

bull REGLES DE GESTION

Un salarieacute est affecteacute au plus agrave un seul service Dans un service sont affecteacutes plusieurs salarieacutes

Il arrive (mais crsquoest rare) qursquoune cardinaliteacute maximale ait une valeur limiteacutee

32-Exemple 2

bull REGLE DE GESTION Un eacutelegraveve doit suivre au minimum une option et au maximum 3 options

12

4-Conclusion

En fait dans la grande majoriteacute des cas on nrsquoutilise que 4 combinaisons de valeurs pour les cardinaliteacutes

bull 01 au plus un(e) bull 11 un(e) et un(e) seul(e) bull 1 n un(e) ou plusieurs bull 0 n zeacutero ou plusieurs

5-Exemple

6-Repreacutesentation des cardinaliteacutes

Une voiture est posseacutedeacutee par une seule personne Une personne peut posseacuteder de 0 agrave plusieurs voitures

Une personne a une adresse ou est sans domicile A une adresse il y a une ou plusieurs personne qui y habitent

13

C-Les cardinaliteacutes et les diffeacuterents types dassociations

I-MCDCardinaliteacutes

Sommaire

bull 1 Deacutefinition et formalisme bull 2 La cardinaliteacute minimale

o 21 Exemple o 22 Application

bull 3 La cardinaliteacute maximale o 31 Exemple

bull 4 Reacutecapitulatif o 41 Exemples complets

1-Deacutefinition et formalisme

Les cardinaliteacutes sont des couples de valeur que lon trouve entre chaque entiteacute et ses associations lieacuteesDonc pour une association de 2 entiteacutes il y a 4 cardinaliteacutes agrave indiquer (2 de chaque cocircteacute)Il y a trois valeurs typiques 0 1 et N (plusieurs)

Pour les associations agrave 2 entiteacutes ce sont des valeurs qui permettent drsquoindiquer combien de fois au minimum et au maximum une occurrence dentiteacute peut ecirctre lieacutee agrave une autre occurrence dentiteacute

De maniegravere plus geacuteneacuterale les cardinaliteacutes drsquoune entiteacute dans une association expriment le nombre de fois qursquoune occurrence de cette entiteacute peut ecirctre impliqueacutee dans une occurrence de lassociation au minimum et au maximum

Les cardinaliteacutes traduisent des regravegles de gestion Ce sont des regravegles propres agrave lorganisation eacutetudieacutee qui sont deacutecideacutees par les gestionnaires et deacutecideurs Ces regravegles expriment des contraintes sur le modegravele

2-La cardinaliteacute minimale

14

Elle est exprimeacutee presque toujours par lrsquoune des deux valeurs 0 ou 1 Elle traduit combien de fois au minimum une occurrence de lrsquoentiteacute participe agrave lrsquoassociation autrement dit si une occurrence est obligatoirement associeacutee agrave une autre ou pas

21-Exemple

Pour la cardinaliteacute minimale entre client et commander il faut se poser la question Pour un client donneacute combien de fois au minimum il commande

ou encore mieux Est-il obligatoire quun client effectue une commande de produit

Cela deacutepend des REGLES DE GESTION de lentreprise Si la regravegle de gestion est laquo tout client doit passer au moins une commande sinon ce nrsquoest pas un client raquo on met la cardinaliteacute mini agrave 1

Mais on peut tregraves bien imaginer que lrsquoentreprise veut aussi meacutemoriser les clients potentiels (prospects) qui nrsquoont encore rien commandeacute Dans ce cas un client peut tregraves bien ne pas avoir encore commandeacute et on met la cardinaliteacute mini agrave 0

En fait les cardinaliteacutes deacutependent des regravegles de gestion propres agrave lrsquoorganisation eacutetudieacutee La regravegle peut tregraves bien ecirctre laquo On ne meacutemorise que les clients qui ont deacutejagrave commandeacute raquo ou bien laquo On veut meacutemoriser les prospects raquo

22-Application

bull Trouver la question qui permet de trouver la cardinaliteacute minimale pour lrsquoentiteacute produit et lrsquoassociation commander

Reacuteponse Est-il obligatoire quun produit ait eacuteteacute commandeacute pour quil soit meacutemoriseacute dans la base de donneacutee ou bien Peut-il exister dans la base de donneacutee des produits qui nont jamais eacuteteacute commandeacutes

bull Faites deux hypothegraveses de regravegle de gestion concernant ce lien et trouver les cardinaliteacutes minimales correspondantes

Reacuteponse H1 lentreprise peut proposer de nouveaux produits sur catalogue par exemple quelle meacutemorise dans sa base de donneacutees mais qui nont jamais encore eacuteteacute commandeacutes =gt cardinaliteacute minimale agrave 0 (cest plutocirct le cas pour les entreprises de vente)

15

H2 tout produit inscrit dans la base de donneacutee est forceacutement commandeacute (par exemple parce que lentreprise ne propose pas de catalogue mais fabrique seulement agrave la commande) =gt cardinaliteacute minimale agrave 1 (cest plutocirct le cas pour les entreprises de production)

3-La cardinaliteacute maximale

Elle traduit combien de fois au maximum une occurrence dentiteacute peut ecirctre en relation avec une occurrence de lassociation Cela peut ecirctre plusieurs fois (si crsquoest un nombre indeacutetermineacute on indique la valeur n) ou une seule fois

Cette cardinaliteacute reacutepond agrave la question

bull la participation dune occurrence doit-elle ecirctre unique ou bien peut-elle ecirctre multiple ou bien

bull combien de fois au maximum une occurrence est elle impliqueacutee dans lassociation

Si lassociation est binaire (relie seulement deux entiteacute) la question peut ecirctre aussi

bull Une occurrence de lentiteacute peut-elle ecirctre relieacutee agrave plusieurs occurrences de lautre entiteacute ou bien ne peut-elle ecirctre relieacutee quagrave une seule autre occurrence au plus

Si la reacuteponse est laquo au plus une fois raquo (participation unique) la cardinaliteacute maximale prend pour valeur 1 Si la reacuteponse est laquo plusieurs raquo (participation multiple) la cardinaliteacute maximale prend la valeur N

31-Exemple

bull RG (regravegles de gestion)

1 Un salarieacute est affecteacute au plus agrave un seul service 2 Dans un service sont affecteacutes plusieurs salarieacutes

Il arrive (mais crsquoest rare) qursquoune cardinaliteacute maximale ait une valeur limiteacutee

bull Exemple

RG Un eacutelegraveve peut suivre au maximum 3 options

4-Reacutecapitulatif

16

En fait dans la grande majoriteacute des cas on nrsquoutilise que 4 combinaisons de valeurs pour les cardinaliteacutes

bull 01 au plus un(e) bull 11 un(e) et un(e) seul(e) bull 1n un(e) ou plusieurs bull 0 n zeacutero ou plusieurs

41-Exemples complets

RG un client commande au moins 1 produit (sous entendu ou plusieurs) et un produit peut ne pas encore avoir eacuteteacute commandeacute comme il peut lavoir eacuteteacute plusieurs fois

RG Un salarieacute est obligatoirement affecteacute agrave 1 et 1 seul service Un service pour exister doit avoir au moins un salarieacute affecteacute (sous-entendu il peut bien sur en avoir plusieurs)

II-MCDAssociations

Sommaire

1 Les associations binaires concernant 2 entiteacutes

11 Les associations hieacuterarchiques [1n]

12 Les associations non hieacuterarchiques [n n]

13 Les associations de type [1 1]

2 Les autres types dassociation

21 Les associations reacuteflexives

211 Exemple dassociation reacuteflexive hieacuterarchique

212 Exemples dassociations reacuteflexives non hieacuterarchiques

22 Les associations de dimension 3 ou plus (ternaires ou plus)

1-Les associations binaires concernant 2 entiteacutes

17

On distingue trois cateacutegories dassociations en fonction des cardinaliteacutes maximales de ses branches

-Les associations hieacuterarchiques encore appeleacutees associations [1 n] ou associations fonctionnelles

-Les associations non hieacuterarchiques encore appeleacutees associations [n n] ou non fonctionnelles

-Les association [1 1] les 2 branches ont pour cardinaliteacute maximale 1 Ce cas est rare

11-Les associations hieacuterarchiques [1 n]

Ce sont les associations ougrave dun cocircteacute la |cardinaliteacute maximale est agrave 1 et de lautre cocircteacute la cardinaliteacute maximale est agrave n

Cela signifie quune occurrence de A est relieacutee au plus agrave une seule occurrence de B Cest-agrave-dire si on connaicirct une occurrence de A alors on saura forceacutement quelle est la seule occurrence de B qui correspond (si elle existe) On dit que A deacutetermine B Cest un lien de deacutependance fonctionnelle B deacutepend fonctionnellement de A

Lentiteacute qui correspond agrave la branche du cocircteacute du 1 est parfois appeleacutee entiteacute fils et lentiteacute correspondant agrave la branche du cocircteacute n est parfois appeleacutee entiteacute pegravere Cette appellation deacutecoule de lanalogie un fils na quun seul pegravere et un pegravere peut avoir plusieurs fils

12-Les associations non hieacuterarchiques [n n]

13-Les associations de type [1 1]

Cas exceptionnel

Ex un employeacute travaille sur un ordinateur (p 99 de Modeacuteliser les donneacutees) La facture correspondant agrave une commande

2-Les autres types dassociation

18

Le plus souvent une association relie 2 entiteacutes avec 2 branches Ce type dassociation est appeleacute association binaire Nous avons deacutejagrave eacutetudieacute en deacutetail les diffeacuterents types dassociations binaires

Mais une association peut aussi relier 3 ou tregraves rarement 4 entiteacutes (quasiment jamais plus) On parle dassociation ternaire quaternaire (n-aire) Enfin une association peut aussi relier une entiteacute agrave elle-mecircme cest-agrave-dire que des occurrences de la mecircme entiteacute sont relieacutees entre elles Lassociation correspondante est qualifieacutee de reacuteflexive Ce sont ces autres types dassociation que nous allons eacutetudier maintenant

21-Les associations reacuteflexives

Une association reacuteflexive est une association reliant des occurrences de la mecircme entiteacute Ces associations sont quasiment toujours binaire (2 branches) Pour lire une association reacuteflexive il est faut connaicirctre le rocircle attribueacute agrave chaque branche de lassociation Il existe comme pour les autres associations des associations reacuteflexives hieacuterarchique et des associations reacuteflexives non hieacuterarchique

211-Exemple dassociation reacuteflexive hieacuterarchique

Dans une entreprise bureaucratique chaque salarieacute a un seul chef (supeacuterieur hieacuterarchique direct) sauf le patron et chaque chef a au moins un salarieacute sous ses ordres Evidemment certains salarieacutes ne sont chefs de personnes

Exemples doccurrences diagramme doccurrences

Remarquez limportance du rocircle dans le diagramme doccurrence

212--Exemples dassociations reacuteflexives non hieacuterarchiques

19

Piegraveces composants composeacute = reacuteflexive asymeacutetrique

Personnes fregraveres = reacuteflexive symeacutetrique (rocircle pas indispensable car a pour fregravere = ecirctre fregravere de)

Preacutecision de vocabulaire dimension dune association

La dimension dune association correspond au nombre de branches de lassociation Dans plus de 80 des cas les associations sont binaires Dimension 2 binaire Dimension 3 ternaire (rare) Dimension supeacuterieure aire (exceptionnel)

Lorsquil ny a pas de reacuteflexiviteacute le nombre de branches est eacutegal au nombre dentiteacutes relieacutees La dimension est dans ce cas le nombre dentiteacutes concerneacutees par lassociation Mais la reacuteflexiviteacute existe et donc on peut avoir plusieurs branches de la mecircme association sur la mecircme entiteacute Dans ce cas alors la dimension est supeacuterieure au nombre dentiteacutes concerneacutees

Dimension = nombre dentiteacute lieacutees

Une association reacuteflexive (1 entiteacute) est quasiment toujours binaire (2 branches) On pourrait aussi avoir une association ternaire impliquant seulement deux entiteacutes

22-Les associations de dimension 3 ou plus (ternaires ou plus)

Une association peut relier plus de 2 entiteacutes ensemble le plus souvent trois On parle alors dassociation ternaire On utilise une association ternaire quand on a besoin de connaicirctre une occurrence de chaque entiteacute pour avoir une information

Exemple

Pour connaicirctre la quantiteacute de chacune des piegraveces fabriqueacutee par chaque ouvrier agrave une date donneacutee on utilise une association ternaire entre OUVRIER PIECE et DATE La quantiteacute est une donneacutee porteacutee par cette association

Une occurrence de lassociation fabrique implique une seule occurrence de chaque entiteacute

20

Exemple

Ouvrier Piegravece Date quantiteacute

Dupont 1 1702 50

Dubois 2 1702 100

Martin 1 1702 40

Dupont 3 1702 55

Dubois 3 1702 20

Dupont 1 1602 40

Martin 1 1602 40

Lassociation ternaire implique aussi que

Pour un ouvrier on peut avoir plusieurs piegraveces diffeacuterentes agrave la mecircme date (il peut fabriquer plusieurs types de piegraveces le mecircme jour)

Une piegravece peut ecirctre fabriqueacutee par plusieurs ouvriers diffeacuterents le mecircme jour

A des dates diffeacuterentes un mecircme ouvrier peut fabriquer les mecircmes piegraveces

Lidentifiant dune association ternaire est formeacutee de la concateacutenation (juxtaposition) des identifiants des 3 entiteacutes relieacutees

Dans notre exemple on ne peut donc pas avoir plusieurs occurrences de fabrique qui concernent Dupont la piegravece ndeg1 agrave la date du 1702

III-MCDRepreacutesentation des cardinaliteacutes

bull Une voiture est posseacutedeacutee par une seule personne Une personne peut posseacuteder de 0 agrave plusieurs voitures

21

bull Une personne a une adresse ou est sans domicile A une adresse il y a une ou plusieurs personnes qui y habitent

IV-MCDAssociation ternaire

bull Une association peut relier plus de 2 entiteacutes ensemble le plus souvent trois On parle alors dassociation ternaire (dimension 3) On utilise une association ternaire quand on a besoin de connaicirctre une occurrence de chaque entiteacute pour avoir une information

bull Ex

Pour connaicirctre la quantiteacute de chacune des piegraveces fabriqueacutee par chaque ouvrier agrave une date donneacutee on utilise une association ternaire entre OUVRIER PIECE et DATE La quantiteacute est une donneacutee porteacutee par cette association

22

Une occurrence de lassociation fabrique implique une seule occurrence de chaque entiteacute Exemple

Ouvrier Piegravece Date quantiteacuteDupont 1 1702 50Dubois 2 1702 100Martin 1 1702 40Dupont 3 1702 55Dubois 3 1702 20Dupont 1 1602 40Martin 1 1602 40

Lassociation ternaire implique aussi que

1 Pour un ouvrier on peut avoir plusieurs piegraveces diffeacuterentes agrave la mecircme date (il peut fabriquer plusieurs types de piegraveces le mecircme jour)

2 Une piegravece peut ecirctre fabriqueacutee par plusieurs ouvriers diffeacuterents le mecircme jour 3 A des dates diffeacuterentes un mecircme ouvrier peut fabriquer les mecircmes piegraveces

Lidentifiant dune association ternaire est formeacutee de la concateacutenation (juxtaposition) des identifiants des 3 entiteacutes relieacutees

Dans notre exemple on ne peut donc pas avoir plusieurs occurrences de fabrique qui concernent Dupont la piegravece ndeg1 agrave la date du 1702

V-MCDAssociations reacuteflexives

Une association reacuteflexive est une association reliant des occurrences de la mecircme entiteacute Ces associations sont quasiment toujours binaire (2 branches)

Pour lire une association reacuteflexive il est faut connaicirctre le rocircle attribueacute agrave chaque branche de lassociation cest agrave dire le rocircle de chaque occurrence dans le lien

23

Il existe comme pour les autres associations des associations reacuteflexives hieacuterarchique (une des cardinaliteacutes maximales agrave 1) et des association reacuteflexives non hieacuterarchique (les deux cardinaliteacutes maximales agrave n)

1-Exemple dassociation reacuteflexive hieacuterarchique

Dans une entreprise bureaucratique chaque salarieacute a un seul chef (supeacuterieur hieacuterarchique direct) sauf le patron et chaque chef a au moins un salarieacute sous ses ordres Evidemment certains salarieacutes ne sont chefs de personnes

Un mecircme salarieacute peut agrave la fois ecirctre chef et avoir un chef Tutu peut ecirctre chef de titi et de toto et dautres salarieacutes mais il na quun seul chef au maximum toto peut ecirctre le chef de coco et avoir pour chef tutu

2-Exemples dassociations reacuteflexives non hieacuterarchiques

Piegraveces composants composeacute = reacuteflexive asymeacutetrique

Une piegravece peut entrer dans la composition de plusieurs autres piegraveces (ex un boulon) Une piegravece peut aussi ecirctre composeacutee de plusieurs autres piegraveces (ex un moteur) Une mecircme piegravece peut ecirctre composeacutee dautres piegraveces et entrer dans la composition dune ou plusieurs autres piegraveces (ex une carte reacuteseau)

Preacutecision de vocabulaire dimension dune association

La dimension dune association correspond au nombre de branches de lassociation Dans plus de 80 des cas les associations sont binaires

Dimension 2 binaire Dimension 3 ternaire (rare) Dimension supeacuterieure n-aire (exceptionnel)

Lorsquil ny a pas de reacuteflexiviteacute le nombre de branches est eacutegal au nombre dentiteacutes relieacutees La dimension est dans ce cas le nombre dentiteacutes concerneacutees par lassociation Mais la reacuteflexiviteacute existe et donc on peut avoir plusieurs branches de la mecircme association sur la mecircme entiteacute Dans ce cas alors la dimension est supeacuterieure au nombre dentiteacutes concerneacutees

24

Dimension = nombre dentiteacute lieacutees

Une association reacuteflexive (1 entiteacute) est quasiment toujours binaire (2 branches) On pourrait aussi avoir une association ternaire impliquant seulement deux entiteacutes

D-Passage MCD lt=gt modegravele relationnel

I-MRRappel sur le modegravele relationnel

Cest un modegravele LOGIQUE de donneacutee celui qui correspond agrave lorganisation des donneacutees dans les bases de donneacutees relationnelles (il existe dautres organisations de bases de donneacutees hieacuterarchique reacuteseau objethellip)

Les SGBD actuels les plus courants sont relationnels (Oracle SQL Server Access MySQL hellip )

Un modegravele relationnel est composeacute de relations encore appeleacutee tables Ces tables sont deacutecrites par des attributs ou champs (noms de colonnes) Pour deacutecrire une relation on indique tout simplement son nom en majuscule suivi du nom de ses attributs entre parenthegraveses

Lidentifiant dune relation est composeacute dun ou plusieurs attributs qui forment la cleacute primaire Une relation peut faire reacutefeacuterence agrave une autre en utilisant une cleacute eacutetrangegravere qui correspond agrave la cleacute primaire de la relation reacutefeacuterenceacutee

Il ny a pas de notation officielle pour repeacuterer les cleacutes primaires et eacutetrangegraveres Cest agrave vous den adopter une et de lexpliquer en leacutegende Toutefois une notation sest peu agrave peu reacutepandue

bull on souligne la cleacute primaire dun seul trait bull on fait preacuteceacuteder (ou suivre) les cleacutes eacutetrangegraveres du symbole

Chaque ligne (tuple ou enregistrement) dune table repreacutesente une occurrence de lentiteacute ou de lassociation correspondante

II-MRPassage du MCD au MR

Sommaire

bull 1 Regravegle 1 bull 2 Regravegle 2 bull 3 Exception agrave la regravegle 1 bull 4 Cas particulier des associations reacuteflexives

o 41 Reacuteflexive hieacuterarchique o 42 Reacuteflexive non hieacuterarchique

25

1-Regravegle 1

Toute entiteacute devient une relation ayant pour cleacute primaire son identifiant

Chaque proprieacuteteacute se transforme en attribut CLIENT (code_client nom preacutenom adresse code_postal ville teacuteleacutephone)

Remarque contrairement aux proprieacuteteacutes les attributs ne doivent pas comporter despaces

2-Regravegle 2

Toute association non hieacuterarchique (de type [n n] ou de dimension gt 2) devient une relation La cleacute primaire est formeacutee par la concateacutenation (juxtaposition) lensemble des identifiants des entiteacutes relieacutees Toutes les proprieacuteteacutes eacuteventuelles deviennent des attributs qui ne peuvent pas faire partie de la cleacute

CONCERNER (numeacutero_commande reacutefeacuterence_article quantiteacute)

Cette regravegle est valable pour toutes les associations ternaires (ou quaternaires) qui sont forceacutement non hieacuterarchiques (|cardinaliteacutes maximales toutes eacutegales agrave n)

3- Exception agrave la regravegle 1

Les entiteacutes nayant que leur identifiant comme attribut ne deviennent pas des relations mais des attributs dans les autres relations lieacutees

Avec ce modegravele on meacutemorise chaque jour pour chaque ouvrier les piegraveces quil a fabriqueacute et en quelle quantiteacute Quand on passe au modegravele relationnel lentiteacute DATE FABRICATION ne

26

devient pas une relation mais un attribut cleacute dans la relation FABRIQUE issue de lassociation

FABRIQUE (code_ouvrier reacutefeacuterence_piegravece date quantiteacute) Date ici fait partie de la cleacute primaire mais nest pas cleacute eacutetrangegravere

4-Cas particulier des associations reacuteflexives

Les associations reacuteflexives suivent les regravegles 2 ou 3 selon les |cardinaliteacutes mais posent un problegraveme particulier une mecircme proprieacuteteacute va se retrouver deux fois en attribut dans la mecircme relation Il faut alors donner un nom diffeacuterent et significatif aux deux attributs correspondants

Dans les reacuteflexives il est conseilleacute de nommer les branches par des rocircles pour pouvoir lire dans le bon sens lassociation Les rocircles aident agrave nommer les attributs correspondant agrave lassociation

41-Reacuteflexive hieacuterarchique

(Une branche agrave la cardinaliteacute maxi agrave 1 et lautre agrave n)

Regravegle ndeg 2

Lecture de lassociation Regravegle ndeg1 lidentifiant de SALARIE va devenir cleacute primaire et les autres proprieacuteteacutes des attributsRegravegle ndeg2 pour traduire lassociation [1 n] encadrer lidentifiant de lentiteacute SALARIE devient cleacute eacutetrangegraverelidentifiant de SALARIE matricule se retrouve deux fois dans la relation comme cleacute primaire et comme cleacute eacutetrangegravereOn va donc donner un nom diffeacuterent et significatif agrave ces deux matricules par exemple Un salarieacute a pour chef 0 ou un seul autre salarieacute Un salarieacute est chef de 0 agrave n autre(s) salarieacute

Traduction en modegravele relationnel

SALARIE (matricule nom preacutenom fonctionhellip matricule_chef)

42-Reacuteflexive non hieacuterarchique

Regravegle ndeg3

27

bull Lecture de lassociation

Une piegravece entre dans la composition de 0 agrave plusieurs autres piegraveces Une piegravece peut ecirctre composeacutee de plusieurs autres piegraveces Une piegravece entre dans la composition dune autre un certain nombre de fois

Ex La piegravece voiture est composeacutee de 4 piegraveces roue La piegravece roue est elle-mecircme composeacutee dune piegravece pneu et dune piegravece jante

Une piegravece entrant dans la composition dune autre est appeleacutee composant Une piegravece composeacutee dautres piegraveces est appeleacutee composeacute Une roue est agrave la fois un composant (de voiture) et un composeacute (de pneu et jante)

bull Traduction en modegravele relationnel

PIECE (reacutefeacuterence libelleacute)COMPOSITION(reacutefeacuterence_composeacute reacutefeacuterence_composant nombre)

E-Normalisation du modegravele relationnel

I- Deacutependance fonctionnelle

Sommaire

1 Introduction

2 Rappels sur la notion de deacutependance fonctionnelle

21 Deacutefinition

22 Terminologie

23 DF agrave partir de proprieacuteteacutes concateacuteneacutees

24 Proprieacuteteacutes des deacutependances fonctionnelles

241 Union

242 Transitiviteacute

1-Introduction

Lobjectif de la normalisation est de construire un scheacutema de base de donneacutees coheacuterentUn mauvais scheacutema logique peut conduire agrave un certain nombre danomalies pendant la phase dexploitation de la base de donneacutee Nous allons voir ces anomalies dans une premiegravere partiePour qursquoun modegravele relationnel soit normaliseacute il faut qursquoil respecte certaines contraintes appeleacutees les formes normales Les formes normales srsquoappuient sur les deacutependances fonctionnelles entre attributs

2-Rappels sur la notion de deacutependance fonctionnelle

La construction du MCD mais eacutegalement du modegravele relationnel correspondant repose presque entiegraverement sur le concept de deacutependance fonctionnelle Crsquoest ce concept qui permet

28

de passer drsquoun ensemble de proprieacuteteacutes non structureacute agrave un modegravele conceptuel des donneacutees formeacute drsquoentiteacutes et drsquoassociations et au modegravele relationnel correspondant

21-Deacutefinition

On dit que b est en deacutependance fonctionnelle (DF) de a si agrave une valeur quelconque de la proprieacuteteacute a on ne peut faire correspondre qursquoune seule valeur au plus de la proprieacuteteacute b

On note a b(Source)-gt (but)

Autrement dit si on connaicirct la valeur de a on peut en deacuteduire une seule valeur de bMais la reacuteciproque nrsquoest pas vrai (si on connaicirct b on ne peut pas en deacuteduire a)

bull Exemple

Num client Nom client

Il existe une DF entre num client et Nom client car si on connaicirct une valeur de la proprieacuteteacute num client (ex 4553) il ne peut lui correspondre qursquoune seule valeur de la proprieacuteteacute nom (ex Duval)

La reacuteciproque est fausse

Nom client Num client nrsquoest pas une DF

Si lrsquoon connaicirct la valeur de la proprieacuteteacute Nom client on ne peut pas en deacuteduire la proprieacuteteacute Num client car il peut y avoir des homonymes

22-Terminologie

Si on a une deacutependance fonctionnelle a b on peut employer les expressions suivantes de faccedilon eacutequivalente -Il y a une deacutependance fonctionnelle de a vers b- b est en deacutependance fonctionnelle de a- b deacutepend fonctionnellement de a- a est la source et b est le but (ou la cible) de la deacutependance fonctionnelle

23-DF agrave partir de proprieacuteteacutes concateacuteneacutees

(Partie gauche composeacutee de plusieurs attributs)

Il peut exister des deacutependances fonctionnelles agrave partir de proprieacuteteacutes concateacuteneacutees cest-agrave-dire qui forment un tout indissociable comme si elles eacutetaient soudeacutees

On note par un + cette concateacutenation

Exemple Consideacuterons une commande qui comporte plusieurs produits Num_Commande + Ref_Produit quantiteacute commandeacutee

Si on nrsquoa seulement le numeacutero de la commande on ne peut pas en deacuteduire la quantiteacute commandeacutee car il faut aussi savoir de quel produit De mecircme on ne peut pas savoir la quantiteacute commandeacutee drsquoun produit si on ne sait pas de quelle commande Il faut bien connaicirctre agrave la fois la commande et le produit (leurs identifiants respectifs) pour en deacuteduire la quantiteacute commandeacutee

29

Les deacutependances fonctionnelles dont la source est formeacutee de plusieurs proprieacuteteacutes doivent ecirctre eacuteleacutementaires cest-agrave-dire ne pas ecirctre creacuteeacutees artificiellement

Ex Num Commande + Num Client date commande nrsquoest pas une DF eacuteleacutementaire car on nrsquoa pas besoin du numeacutero de client pour connaicirctre la date de commande il suffit de connaicirctre le numeacutero de la commande La proprieacuteteacute Num Client ne

24-Proprieacuteteacutes des deacutependances fonctionnelles

Les deacutependances fonctionnelles ont les proprieacuteteacutes suivantes

241-Union

Si on a deux DF ayant la mecircme source on peut les rassembler en une seule en seacuteparant les

cibles par une virgule Si a b et a c

Ex Reacutefeacuterence Deacutesignation et Reacutefeacuterence Prix de vente unitaire

Alors par union on a Reacutefeacuterence Deacutesignation Prix de vente unitaire

Lors du traceacute du graphe des deacutependances fonctionnelles lrsquounion permet de regrouper sur une seule ligne toutes les deacutependances fonctionnelles ayant la mecircme source

242-Transitiviteacute

Si a b et b c alors on a a c

Ex Num Meacutedecin Code Service et Code Service Num Hopital

Alors on a Num Meacutedecin Num Hopital

Les DF qui peuvent ecirctre deacuteduites par transitiviteacute de deux autres DF (qui ne sont pas directes) doivent ecirctre eacutelimineacutees car elles sont alors redondantesIl ne reste alors que les DF directes cest-agrave-dire celles qui ne peuvent pas ecirctre retrouveacutees par transitiviteacute

Attention toutefois agrave la signification des deacutependances Une deacutependance fonctionnelle quon peut retrouver par transitiviteacute ne doit pas ecirctre supprimeacutee si elle na pas le mecircme sens que la transitiviteacute des deux autres car il y aurait perte dinformation

II-MRInteacuterecirct de la normalisation

Exemple

Pour vous montrer lrsquointeacuterecirct de la normalisation drsquoune base de donneacutee relationnelle voyons les problegravemes que peuvent poser lrsquoutilisation drsquoune base de donneacutee baseacutee sur un modegravele relationnel non normaliseacute

Soit le scheacutema de relation

30

FOURNISSEUR (NomFournisseur AdresseFournisseur Produits Prix)

Modegravele en extension

NomFournisseur AdresseFournisseur Produit Prix

Lebras 10 Rue des Gras - ClermontChaise table

2035

Dupont 86 Rue de la Reacutepublique - Moulins Bureau 60

Lajoie 26 Rue des Docircmes - Vichy Lit 50

Dupont 39 Rue des Buttes - MoulinsLampeTable de chevet

1825

bull 1degproblegraveme

Il nrsquoy a pas de cleacute primaire on ne sait pas si les deux Dupont sont diffeacuterents ou pas (si crsquoest le mecircme Dupont il y a une des deux adresses qui est fausse

bull 2degproblegraveme

Lrsquoadresse nrsquoest pas deacutecomposeacutee Si on veut par exemple rechercher tous les fournisseurs qui habitent la mecircme ville ccedila ne va pas ecirctre possible

bull 3degproblegraveme

Une relation (table) correspondant agrave ce scheacutema pourra eacuteventuellement contenir plusieurs produits pour un mecircme fournisseur

Dans ce cas il faudra faire face agrave un certain nombre de problegravemes

bull ladresse du fournisseur sera dupliqueacutee dans chaque n-uplet (redondance) bull si on souhaite modifier ladresse dun fournisseur il faudra rechercher et mettre agrave jour

tous les n-uplets correspondant agrave ce fournisseur bull si on insegravere un nouveau produit pour un fournisseur deacutejagrave reacutefeacuterenceacute il faudra veacuterifier

que ladresse est identique bull si on veut supprimer un fournisseur il faudra retrouver et supprimer tous les n-uplets

correspondant agrave ce fournisseur (pour diffeacuterents produits) dans la table bull La normalisation eacutelimine les redondances ce qui permet

- une diminution de la taille de la base de donneacutee sur le disque- une diminution des risques drsquoincoheacuterence- drsquoeacuteviter une mise agrave jour multiple des mecircmes donneacutees

31

III-MR 3 formes normales

Les 3 formes normales du modegravele relationnel

Sommaire

1 1er forme normale

2 2egraveme forme normale

3 3egraveme forme normale

4 Application des regravegles

5 Reacutesumeacute

1-1er forme normale

Une relation est normaliseacutee en premiegravere forme normale si

-Elle possegravede une cleacute identifiant de maniegravere unique et stable chaque ligne

-Chaque attribut est monovalueacute (ne peut avoir qursquoune seule valeur par ligne)

-Aucun attribut nrsquoest deacutecomposable en plusieurs attributs significatifs

Contre-exemple

EMPLOYE ( Nom Preacutenom Enfants Diplocircmes)

Cette relation nrsquoest pas en premiegravere forme normale

Un employeacute peut avoir plusieurs enfants et plusieurs diplocircmes En outre ces attributs sont deacutecomposables diplocircme est deacutecomposable en Nature et Anneacutee et Enfants est deacutecomposable en Preacutenom et Anneacutee de Naissance

2-2egraveme forme normale

Une relation R est en deuxiegraveme forme normale si et seulement si

-Elle est en 1FN

-Et tout attribut non cleacute est totalement deacutependant de toute la cleacute

Autrement dit aucun des attributs ne deacutepend que drsquoune partie de la cleacute La 2FN nest agrave veacuterifier que pour les relations ayant une cleacute composeacutee Une relation en 1FN nayant quun seul attribut cleacute est toujours en 2FN

Contre-exemple 32

Cette relation est en premiegravere forme normale (existence drsquoune cleacute valide et aucun attribut nrsquoest deacutecomposable)MAIS elle nrsquoest pas en 2deg forme normale car on a DeacutesignationProd ne deacutepend pas de toute la cleacute mais seulement de reacutefeacuterenceProd

ReacutefeacuterenceProd DeacutesignationProd

Pour connaicirctre lrsquoattribut deacutesignationProd on nrsquoa pas besoin de connaicirctre le numeacutero de commande

3-3egraveme forme normale

Une relation est en 3deg forme normale si et seulement si

Elle est en 2deg forme normale et tout attribut doit deacutependre directement de la cleacute cest-dire qursquoaucun attribut ne doit deacutependre de la cleacute par transitiviteacute

Autrement dit aucun attribut ne doit deacutependre drsquoun autre attribut non cleacute

Contre-exemple

CLIENT (Num_client Nom_client code_categ nom_categ) Cette relation nrsquoest pas en 3FN car num_client nom_categ nrsquoest pas une deacutependance directe

En effet on a aussi num_client num_categ nom_categ

4-Application des regravegles

Si lrsquoune des 3 regravegles nrsquoest pas veacuterifieacutee cela indique une erreur dans le modegravele relationnel et il faut alors modifier pour que les 3 regravegles soient veacuterifieacutees pour toutes les relationsOn veacuterifie les regravegles dans lrsquoordre Si la premiegravere forme normale nrsquoest pas respecteacutee pas la peine de veacuterifier la 2FN Et si la 2FN nrsquoest pas veacuterifieacutee inutile de veacuterifier la 3FN

5-Reacutesumeacute

Modegravele normaliseacute = relations avec

-Une cleacute qui permet de distinguer chaque occurrence

-Des attributs eacuteleacutementaires (1FN)

-En deacutependance de TOUTE la cleacute (2FN)

-Et RIEN QUE de la cleacute (3FN)

On parle aussi de normalisation pour un MCD Un MCD qui donne un MR normaliseacute est qualifieacute aussi de normaliseacute

F-MeriseLes diagrammes de flux

Les diagrammes de flux reacutepondent agrave la question Que fait le systegraveme

33

En ce sens ce sont des modegraveles FONCTIONNELS (qui deacutecrivent les fonctions)

Il existe2 types principaux de diagrammes de flux

1 Le modegravele de contexte (MC) ougrave le domaine drsquoeacutetude est vu comme une boite noire On ne repreacutesente que les flux exteacuterieurs au domaine

2 Le modegravele de flux de donneacutees (DFD) ou encore modegravele de flux conceptuels (MFC) ougrave lrsquoon deacutetaille les activiteacutes du domaine drsquoeacutetude On repreacutesente aussi les flux internes au domaine

I-MeriseVocabulaire associeacute aux modegraveles de flux

Sommaire

bull 1 Domaine deacutetude bull 2 Acteur externe bull 3 Domaine connexe

bull 4 Flux de donneacutees

1-Domaine deacutetude

Le domaine deacutetude est un sous-ensemble coheacuterent de lentreprise ou de lorganisme bien deacutelimiteacute et formant le contenu du sujet agrave eacutetudier

Dans les modegraveles de flux le domaine deacutetude est repreacutesenteacute par un rectangle agrave trait plein Le nom du domaine est placeacute agrave lrsquointeacuterieur du rectangle

2-Acteur externe

Un acteur externe est un eacuteleacutement eacutemetteur ou reacutecepteur de donneacutees situeacute hors du systegraveme dinformation eacutetudieacute

Dans les modegraveles de flux un acteur externe est repreacutesenteacute par un cercle plein Le nom de lrsquoacteur est placeacute agrave lrsquointeacuterieur du cercle

3-Domaine connexe

Un domaine connexe est un composant du systegraveme drsquoinformation interagissant avec le domaine drsquoeacutetude Crsquoest un acteur interne agrave lrsquoentreprise mais externe au domaine drsquoeacutetude

34

Dans les modegraveles de flux une activiteacute est repreacutesenteacutee graphiquement par un rectangle Le nom de lactiviteacute est placeacute agrave lrsquointeacuterieur du rectangle

4-Flux de donneacutees

Un flux est un transfert drsquoinformations entre composants du systegraveme Le composant peut ecirctre un domaine une activiteacute ou un acteur externe

Dans les modegraveles de flux un flux de donneacutees est repreacutesenteacute graphiquement par une flegraveche orienteacutee du composant eacutemetteur du flux vers le composant reacutecepteur Le libelleacute du flux est inscrit en regard de la flegraveche traceacutee

Formalisme graphique illustrant par exemple un eacutechange entre un acteur externe et le domaine deacutetude

II-MeriseModegravele de contexte

Le modegravele de contexte sert agrave repreacutesenter les interactions entre le domaine deacutetude et lrsquoenvironnement et entre le domaine deacutetude et les eacuteventuels domaines connexes

Le domaine deacutetude y est repreacutesenteacute comme une boicircte noire

Le modegravele de contexte utilise les concepts suivants

bull le domaine deacutetude bull les acteurs externes bull les flux de donneacutees bull les domaines connexes

Exemple de modegravele de contexte au sein drsquoune socieacuteteacute commerciale on eacutetudie le domaine laquo gestion des ventes raquo

35

Remarque

bull on ne fait pas apparaicirctre les flux entre acteurs externes et domaines connexes ou entre les domaines connexes

Exemple le flux correspondant agrave la livraison de marchandises nrsquoapparaicirct pas

II-MeriseMFC ou DFD

Sommaire

bull 1 Modegravele de flux conceptuel(MFC) ou diagramme de flux de donneacutees(DFD) o 11 Deacutefinition o 12 Exemple o 13 Regravegles de deacutecomposition des activiteacutes

1-Modegravele de flux conceptuel (MFC) ou diagramme de flux de donneacutees (DFD)

11-Deacutefinition

Ce modegravele permet de deacutecider quelles activiteacutes inter-relieacutees de quelle maniegravere permettront de reacutesoudre au mieux le problegraveme poseacute et cette reacuteflexion est meneacutee sans sencombrer dans un premier temps du comportement du systegraveme (ordonnancement regravegles deacutemission synchronisationshellip)

Les modegraveles de flux conceptuels permettent de deacutecomposer le domaine drsquoeacutetude en activiteacutes Il nrsquoy a pas ici de notion drsquoorganisation mais drsquoobjectifs agrave reacutealiser On repreacutesente les flu x entre activiteacutes et avec lrsquoenvironnement

Pour analyser les communications et les activiteacutes on procegravede par laquo zooms raquo successifs sur le domaine eacutetudieacute pour eacutelaborer des modegraveles de plus en plus deacutetailleacutes qui permettront davoir une cartographie deacutetailleacutee du systegraveme et de preacuteparer le passage au modegravele conceptuel de repreacutesentation des traitements

36

Le modegravele de contexte est eacutegalement appeleacute le diagramme de flux de donneacutees de niveau 0

Nous obtenons ensuite des diagrammes de premier deuxiegraveme troisiegraveme hellip niveau par eacuteclatements successifs des activiteacutes agrave chacun de ces niveaux

La deacutecomposition drsquoun domaine ou drsquoune activiteacute en plusieurs activiteacutes peut faire apparaicirctre de nouveaux flux dus

1 agrave lrsquoeacutechange drsquoinformations entre activiteacutes 2 agrave la deacutecomposition drsquoun flux preacutesent au niveau n en plusieurs flux au niveau n+1

12-Exemple

Si on reprend le modegravele de contexte preacuteceacutedent on srsquoaperccediloit que le domaine des ventes peut-ecirctre eacuteclateacute en trois activiteacutes Nous obtenons ainsi le diagramme de flux de donneacutees de niveau 1

Remarque

bull On peut deacutecomposer le modegravele de flux de niveau 1 en un modegravele de flux de niveau 2 et etc hellip jusqursquoagrave arriver agrave un modegravele ougrave lrsquoactiviteacute correspond agrave une opeacuteration au sens Merise (regravegle drsquoininterruption)

Exemple lrsquoactiviteacute laquo gestion des factures raquo peut ecirctre encore deacutecomposeacutee en activiteacutes laquo facturation raquo et laquo Suivi des regraveglements raquo

13-Regravegles de deacutecomposition des activiteacutes

bull Pourquoi deacutecomposer

1 Pour deacutesagreacuteger les groupes de flux pour arriver agrave la deacutefinition des flux-types du domaine eacutetudieacute

2 Pour preacuteparer leacutetude dynamique du systegraveme dinformation pour arriver agrave lrsquoidentification des processus et des opeacuterations conceptuelles

bull Comment deacutecomposer

37

1 Identifier les groupes de donneacutees entrant et sortant du domaine drsquoeacutetude pour construire le modegravele de contexte

2 Identifier les activiteacutes geacuteneacuterant ou traitant les flux de donneacutees pour construire le DFD de niveau 1(approche par les donneacutees) ou identifier une activiteacute de niveau 1 comme un ensemble drsquoactiviteacutes participant agrave une mecircme finaliteacute (approche par les objectifs)

bull Jusquougrave deacutecomposer

Lorsquune activiteacute a atteint le niveau dinterruptabiliteacute (degraves lors que le traitement est deacuteclencheacute il se deacuteroule sans attente de ressources compleacutementaires exteacuterieures) Lactiviteacute est alors une opeacuteration conceptuelle qui sera deacutecrite lors de leacutetude dynamique du SI dans le MCTA

G-Les Modegraveles de traitements (MCT et MCTA)

I-MeriseMCT

Sommaire

bull 1 Modeacutelisation des Traitements bull 2 Le MCT bull 3 Les concepts du MCT

o 31 Lrsquoeacuteveacutenement o 32 Lrsquoopeacuteration o 33 Le reacutesultat o 34 La synchronisation o 35 Regravegle deacutemission o 36 Rocircle des regravegles de gestion o 37 Le processus

bull 4 Meacutethode drsquoeacutetablissement drsquoun MCT o 41 Regravegles de validation o 42 Cas particuliers

421 Cycles

422 Les eacuteveacutenements consommables

1-Modeacutelisation des Traitements

La modeacutelisation des traitements pour but de faire la repreacutesentation dynamique du systegraveme drsquoinformation crsquoest-agrave dire de repreacutesenter lrsquoenchaicircnement des traitements reacutealiseacutes

Cette modeacutelisation srsquoeffectue agrave deux niveaux

1 le niveau conceptuel ougrave lrsquoon srsquointeacuteresse aux opeacuterations en dehors de toute mise en oeuvre organisationnelle

2 le niveau organisationnel ougrave se pose les questions du qui ougrave quand

2-Le MCT

Lrsquoobjectif du MCT est de reacutepondre agrave la question QUOI faire par rapport agrave un eacuteveacutenement Crsquoest la chronologie qui importe Autrement dit le MCT est une repreacutesentation de la

38

succession des regravegles de gestion dont lrsquoentreprise veut se doter pour reacutepondre aux eacuteveacutenements auxquels elle doit faire face du fait de son activiteacute et de son environnement

3-Les concepts du MCT

31-Lrsquoeacuteveacutenement

Crsquoest une sollicitation du systegraveme drsquoinformation qui geacutenegravere une reacuteaction de la part de celui-ci

Un eacuteveacutenement peut ecirctre externe au domaine eacutetudieacute (ex commande client) ou interne au SI souvent le reacutesultat drsquoun processus anteacuterieur (ex ordre de preacuteparation) Un eacuteveacutenement peut-ecirctre aussi temporel cest-agrave-dire lieacute agrave des dates qui rythment lrsquoexeacutecution de certains traitements (deacutelai de maintenance relances)

32-Lrsquoopeacuteration

Crsquoest un ensemble drsquoactions accomplies par le systegraveme drsquoinformation en reacuteaction agrave un eacuteveacutenement ou agrave une conjonction drsquoeacuteveacutenements et non interruptibles par un eacuteveacutenement externe

Remarque Une opeacuteration deacuteclenche au moins un reacutesultat Une opeacuteration est repreacutesenteacutee par un verbe ou mieux un substantif (ex Preacuteparer la commande ou preacuteparation de la commande)

34-Le reacutesultat

Un reacutesultat peut-ecirctre un document un message externe un nouvel eacutetat du SI (nouvelle situation nouvelles donneacutees) creacuteeacute par une opeacuteration qui peut lui-mecircme jouer le rocircle drsquoeacuteveacutenement

Un reacutesultat externe repreacutesente une information envoyeacutee agrave lrsquoexteacuterieur du SI (ex facture)

Un reacutesultat interne est un nouvel eacutetat du systegraveme drsquoinformation (ex ordre de preacuteparation)

35-La synchronisation

Crsquoest une condition booleacuteenne (ET OU) traduisant les regravegles de gestion que doivent respecter les eacuteveacutenements pour deacuteclencher une opeacuteration Dans le cas ET elle marque quun eacuteveacutenement deacutejagrave lagrave doit en attendre un ou plusieurs autres

Remarque Pour quil soit question de synchronisation il faut la preacutesence de plusieurs eacuteveacutenements deacuteclencheurs aussi le symbole de synchronisation est laisseacute agrave blanc dans le cas dun eacuteveacutenement unique

Si tous les eacuteveacutenements entrants sont lieacutes par le mecircme opeacuterateur on peut seulement faire figurer lopeacuterateur dans le symbole de synchronisation sinon il faut numeacuteroter les eacuteveacutenements (a b c hellip) et constituer lexpression agrave laide des eacuteveacutenements et des opeacuterateurs (ex (a ET b) OU c) Regravegle deacutemission

Condition traduisant les regravegles de gestion qui permet dexprimer des conditions de sortie des reacutesultats

39

Remarques Lexpression dune regravegle deacutemission peut ecirctre composeacutee de plusieurs conditions eacuteleacutementaires relieacutees par les opeacuterateurs ET OU On peut eacutegalement utiliser lopeacuterateur NON pour exprimer la neacutegation dune condition

36-Rocircle des regravegles de gestion

Recenseacutees lors de leacutetude de lexistant ou deacutefinies pour le futur SI elles deacutecrivent les enchaicircnements dopeacuterations Elles rendent possible le regroupement des actions au sein dune seule opeacuteration non interruptible au niveau conceptuel

37-Le processus

Crsquoest un enchaicircnement synchroniseacute dopeacuterations au sein dun mecircme domaine geacuteneacuteralement deacuteclencheacute par un eacuteveacutenement externe (externe au domaine ou au SI tout entier)

Un MCT est la repreacutesentation de lrsquoenchaicircnement des opeacuterations drsquoun processus

4-Meacutethode drsquoeacutetablissement drsquoun MCT

1 Reacutealiser le graphe des flux (repreacutesentation des acteurs eacuteveacutenements et reacutesultats externes

2 Pour chaque eacuteveacutenement recenser les opeacuterations deacuteclencheacutees etou les eacuteveacutenements internes produits

3 Regrouper dans une mecircme opeacuteration tous les traitements qui ont les mecircmes deacuteclencheurs dans une uniteacute de temps avec la mecircme synchronisation

41-Regravegles de validation

Une opeacuteration ne peut pas ecirctre interrompue par lrsquoattente drsquoun eacuteveacutenement externe

Si tel est le cas il faut deacutecrire une seconde opeacuteration deacuteclencheacutee par cet eacuteveacutenement en attente

42-Cas particuliers

421-Cycles

Pour une mecircme opeacuteration leacuteveacutenement deacuteclencheur et leacuteveacutenement reacutesultat sont identiques

Une commande de client est servie si les marchandises sont disponibles sinon cette commande est mise en attente Les commandes en attente sont reacuteexamineacutees lors de chaque reacuteapprovisionnement afin de les livrer

40

Il faut sassurer que le cycle a bien un deacutebut et une fin ici cest lrsquoeacuteveacutenement Reacuteapprovisionnement effectueacute qui permet deacuteviter que le cycle ne se deacuteroule sans fin sur les commandes en attente

Noter limportance du concept doccurrences deacuteveacutenement

-une occurrence de Reacuteappro est-elle autoriseacutee agrave consommer toutes les occurrences de Commande en attente

-si le reacuteapprovisionnement est insuffisant de nouvelles occurrences de Commande en attente doivent-elles ecirctre creacuteeacutees

422-Les eacuteveacutenements consommables

Un client non satisfait peut retourner un article On lui fait un avoir Il peut alors le preacutesenter en caisse pour ecirctre rembourseacute de son achat Il peut encore remplacer larticle deacutefectueux par un autre auquel cas on annule lavoir

41

Ce qui pose question

UNE occurrence de leacuteveacutenement avoir eacutetabli ne peut ecirctre consommeacutee par 2 opeacuterations (rembourser et imputer)

Dit autrement avoir eacutetabli ne sait pas vers quelle opeacuteration se diriger On pourrait se dire quil est implicite que cest le premier eacuteveacutenement qui survient qui gagne si Echange survient en premier alors lavoir est annuleacute

Cependant que se passe-t-il si les 2 eacuteveacutenements externes se produisent simultaneacutement Si on impleacutemente tel quel ce scheacutema dans un automate il est vraisemblable que le client pourra avoir le beurre et largent du beurre

se preacutesenter en caisse et faire leacutechange pour un seul retour Il est donc preacutefeacuterable dexpliciter (cf ci-apregraves)

Une autre solution consiste agrave indiquer explicitement que cet eacuteveacutenement est consommable cest-agrave-dire que la premiegravere opeacuteration qui se deacuteclenche annule lrsquoeacuteveacutenement pour lrsquoautre opeacuteration

42

II-MeriseInteacutegration des donneacutees dans le MCT

Sommaire

bull 1 DEFINITION bull 2 FORMALISME DU MCTA bull 3 REPRESENTATION DES ACTIONS SUR LES DONNEES bull 4 COMPLEMENTS

o 41 Condition de deacuteclenchement o 42 Action collective o 43 Coheacuterence de la base de donneacutees o 44 REGLES DE VALIDATION DrsquoUN MCTA

o 45 Exemple de MCTA

1-DEFINITION

Le MCTA est une repreacutesentation syntheacutetique des traitements qui met en eacutevidence les reacuteactions du systegraveme aux eacuteveacutenements et linteraction avec les donneacutees

Il vise agrave

Deacutecrire le fonctionnement du systegraveme indeacutependamment de lorganisation

Donner une vision des traitements et de la coordination des eacuteveacutenements deacuteclencheurs

Rapprocher les donneacutees et les traitements

2-FORMALISME DU MCTA

Pour mettre en eacutevidence lrsquoarticulation entre les donneacutees et les traitements dans le MCT on ajoute agrave droite de chaque opeacuteration les entiteacutes ou associations qui sont consulteacutees ou qui subissent un changement drsquoeacutetat (creacuteation mise agrave jour suppression hellip)

43

3-REPRESENTATION DES ACTIONS SUR LES DONNEES

Un objet correspond agrave une entiteacute ou une association du MCD correspondant au champ drsquoeacutetude du SI Une action est une manipulation (creacuteation consultation modification ou suppression) drsquoun objet du systegraveme drsquoinformation Elle est symboliseacutee par un trait entre lrsquoopeacuteration et lrsquoobjet manipuleacute Ce trait est non orienteacute sil sagit dune suppression et il est orienteacute pour les autres types de manipulation le sens de la flegraveche deacutepend du type de manipulation

Un eacutetat drsquoobjet est un stade transitoire par lequel passe un objet (entiteacute ou association) au cours de sa laquo vie raquo

Dans un MCTA une opeacuteration est composeacutee dun ensemble dactions sur les donneacutees

Les actions sur les donneacutees sont de 4 types

Creacuteation drsquoune occurrence

Creacuteation drsquoune occurrence de lrsquoobjet 1 dans lrsquoeacutetat 1

Suppression drsquoune occurrence

Suppression drsquoune occurrence de lrsquoobjet 3 se trouvant dans lrsquoeacutetat 2

Consultation drsquoune occurrence

Consultation drsquoune occurrence de lrsquoobjet 4 dans lrsquoeacutetat 6 Leacutetat de lrsquoobjet nrsquoest pas indiqueacute mais sera eacuteventuellement testeacute avant reacutealisation de la (ou des) action (s) suivante (s)

44

Modification drsquoune occurrence

Modification drsquoune occurrence de lrsquoobjet 2 si elle est dans lrsquoeacutetat 3 elle passe agrave lrsquoeacutetat 4 ou agrave lrsquoeacutetat 5

Lrsquoaction de modification inclut implicitement la ou les consultations preacutealables

On ne doit pas seacuteparer les consultations qui preacutecegravedent les modifications des modifications elles-mecircmes

Remarque geacuteneacuterale Lrsquoordre des actions drsquoune opeacuteration sera si possible preacutesenteacute de haut en bas

4-COMPLEMENTS

41-Condition de deacuteclenchement

Lrsquoaction eacuteleacutementaire peut ecirctre accompagneacutee drsquoune condition de deacuteclenchement (agrave indiquer au niveau du trait ou agrave cocircteacute de lrsquoobjet) Cette condition peut porter sur lrsquoeacutetat de la structure des donneacutees agrave un moment preacutecis etou sur le type drsquoeacuteveacutenement constateacute agrave lrsquoentreacutee de lrsquoopeacuteration

42-Action collective

Elle permet drsquoindiquer que lrsquoaction intervient sur un ensemble drsquooccurrences de lrsquoobjet concerneacute (toutes srsquoil nrsquoy a pas de condition de deacuteclenchement associeacutee limitant le nombre drsquooccurrences manipuleacutees)

Exemple en fin de mois une compagnie dassurances reacutesilie les polices quelle a proposeacutees degraves que le deacutelai de signature de celles-ci est deacutepasseacute

45

C1 si le deacutelai de signature est deacutepasseacute

43-Coheacuterence de la base de donneacutees

Une BD a coheacuterent si elle ne comporte pas de contradictions (par rapport aux regravegles de gestion en particulier)

Une action peut ne pas laisser la structure de donneacutees dans un eacutetat coheacuterent

En revanche la coheacuterence doit toujours ecirctre assureacutee au niveau drsquoune opeacuteration

44-REGLES DE VALIDATION DrsquoUN MCTA

Une opeacuteration conceptuelle ne doit pas ecirctre interrompue par lrsquoattente drsquoun eacuteveacutenement externe

Une opeacuteration conceptuelle prend la structure de donneacutees manipuleacutees dans un eacutetat coheacuterent et la rend dans un eacutetat coheacuterent

46

45-Exemple de MCTA

C1 si le client eacutetait preacuteceacutedemment un client prospect (cest-agrave-dire client potentiel)

C2 sil sagit dun nouveau client ou si le client eacutetait preacuteceacutedemment un client prospect le client est mis en portefeuille (cest-agrave-dire qursquoil est reacuteellement client)

C3 si disponibiliteacute de tous les produits (quantiteacute en stock suffisante pour assurer la livraison)

Remarque on considegravere ici qursquoil nrsquoy a pas de livraison partielle

47

  • I-Systegraveme drsquoinformation de gestion
    • Sommaire
      • 1-Qursquoest ce qursquoun systegraveme
      • 2-Qursquoest ce qursquoun systegraveme drsquoinformation de gestion
      • 3-Les fonctions du systegraveme drsquoinformation
      • II-MeriseModeacutelisation
        • Sommaire
          • 1-Qursquoest qursquoun modegravele
          • 2-La meacutethode Merise
            • 21-Les composantes de Merise
            • 22-La deacutemarche Merise
            • 23-Les niveaux drsquoabstraction
            • 24-La courbe du soleil
              • Deacutefinition
              • I-MCDRecueil des donneacutees
              • Exemple
              • II-MCDConcepts et du formalisme
                • Sommaire
                  • 1-Les concepts de base
                    • 11-Entiteacute
                    • 12-Association
                    • 13-Cardinaliteacutes
                      • 2-La notion drsquooccurrence
                      • III-MCDRegravegles de construction
                        • Sommaire
                          • 1-Regravegles concernant les proprieacuteteacutes
                          • 2-Regravegles concernant les entiteacutes
                          • 3-Regravegles concernant les associations
                          • IV-MCDIntroduction aux cardinaliteacutes
                            • Sommaire
                              • 1-Formalisme
                              • 2-La cardinaliteacute minimale
                                • 21--Exemples
                                • 22-Application
                                  • 3-La cardinaliteacute maximale
                                    • 31-Exemple 1
                                    • 32-Exemple 2
                                      • 4-Conclusion
                                      • 5-Exemple
                                      • 6-Repreacutesentation des cardinaliteacutes
                                      • I-MCDCardinaliteacutes
                                        • Sommaire
                                          • 1-Deacutefinition et formalisme
                                          • 2-La cardinaliteacute minimale
                                            • 21-Exemple
                                            • 22-Application
                                              • 3-La cardinaliteacute maximale
                                                • 31-Exemple
                                                  • 4-Reacutecapitulatif
                                                    • 41-Exemples complets
                                                      • II-MCDAssociations
                                                        • Sommaire
                                                          • 1-Les associations binaires concernant 2 entiteacutes
                                                            • 11-Les associations hieacuterarchiques [1 n]
                                                            • 12-Les associations non hieacuterarchiques [n n]
                                                            • 13-Les associations de type [1 1]
                                                              • 2-Les autres types dassociation
                                                                • 21-Les associations reacuteflexives
                                                                  • 211-Exemple dassociation reacuteflexive hieacuterarchique
                                                                  • 212--Exemples dassociations reacuteflexives non hieacuterarchiques
                                                                    • 22-Les associations de dimension 3 ou plus (ternaires ou plus)
                                                                      • III-MCDRepreacutesentation des cardinaliteacutes
                                                                      • IV-MCDAssociation ternaire
                                                                      • V-MCDAssociations reacuteflexives
                                                                      • 1-Exemple dassociation reacuteflexive hieacuterarchique
                                                                      • 2-Exemples dassociations reacuteflexives non hieacuterarchiques
                                                                      • I-MRRappel sur le modegravele relationnel
                                                                      • II-MRPassage du MCD au MR
                                                                        • Sommaire
                                                                          • 1-Regravegle 1
                                                                          • 2-Regravegle 2
                                                                          • 3-Exception agrave la regravegle 1
                                                                          • 4-Cas particulier des associations reacuteflexives
                                                                            • 41-Reacuteflexive hieacuterarchique
                                                                            • 42-Reacuteflexive non hieacuterarchique
                                                                              • E-Normalisation du modegravele relationnel
                                                                              • I-Deacutependance fonctionnelle
                                                                                • Sommaire
                                                                                  • 1-Introduction
                                                                                  • 2-Rappels sur la notion de deacutependance fonctionnelle
                                                                                    • 21-Deacutefinition
                                                                                    • 22-Terminologie
                                                                                    • 23-DF agrave partir de proprieacuteteacutes concateacuteneacutees
                                                                                    • 24-Proprieacuteteacutes des deacutependances fonctionnelles
                                                                                      • 241-Union
                                                                                      • 242-Transitiviteacute
                                                                                          • II-MRInteacuterecirct de la normalisation
                                                                                          • Exemple
                                                                                          • III-MR 3 formes normales
                                                                                            • Sommaire
                                                                                              • 1-1er forme normale
                                                                                              • 2-2egraveme forme normale
                                                                                              • 3-3egraveme forme normale
                                                                                              • 4-Application des regravegles
                                                                                              • 5-Reacutesumeacute
                                                                                              • F-MeriseLes diagrammes de flux
                                                                                              • I-MeriseVocabulaire associeacute aux modegraveles de flux
                                                                                                • Sommaire
                                                                                                  • 1-Domaine deacutetude
                                                                                                  • 2-Acteur externe
                                                                                                  • 3-Domaine connexe
                                                                                                  • 4-Flux de donneacutees
                                                                                                  • II-MeriseModegravele de contexte
                                                                                                  • II-MeriseMFC ou DFD
                                                                                                    • Sommaire
                                                                                                      • 1-Modegravele de flux conceptuel (MFC) ou diagramme de flux de donneacutees (DFD)
                                                                                                        • 11-Deacutefinition
                                                                                                        • 12-Exemple
                                                                                                        • 13-Regravegles de deacutecomposition des activiteacutes
                                                                                                          • I-MeriseMCT
                                                                                                            • Sommaire
                                                                                                              • 1-Modeacutelisation des Traitements
                                                                                                              • 2-Le MCT
                                                                                                              • 3-Les concepts du MCT
                                                                                                                • 31-Lrsquoeacuteveacutenement
                                                                                                                • 32-Lrsquoopeacuteration
                                                                                                                • 34-Le reacutesultat
                                                                                                                • 35-La synchronisation
                                                                                                                • 36-Rocircle des regravegles de gestion
                                                                                                                • 37-Le processus
                                                                                                                  • 4-Meacutethode drsquoeacutetablissement drsquoun MCT
                                                                                                                    • 41-Regravegles de validation
                                                                                                                    • 42-Cas particuliers
                                                                                                                      • 421-Cycles
                                                                                                                      • 422-Les eacuteveacutenements consommables
                                                                                                                          • II-MeriseInteacutegration des donneacutees dans le MCT
                                                                                                                            • Sommaire
                                                                                                                              • 1-DEFINITION
                                                                                                                              • 2-FORMALISME DU MCTA
                                                                                                                              • 3-REPRESENTATION DES ACTIONS SUR LES DONNEES
                                                                                                                              • 4-COMPLEMENTS
                                                                                                                                • 41-Condition de deacuteclenchement
                                                                                                                                • 42-Action collective
                                                                                                                                • 43-Coheacuterence de la base de donneacutees
                                                                                                                                • 44-REGLES DE VALIDATION DrsquoUN MCTA
                                                                                                                                • 45-Exemple de MCTA
Page 4: 7472422 Cours de Merise

Elle permet de repreacutesenter les composantes drsquoun SIG

bull Les acteurs bull Les donneacutees bull Les traitements bull Les proceacutedures bull Les postes de travail etc

Ceci afin de concevoir reacutealiser et mettre en place une nouvelle informatisation

22-La deacutemarche Merise

1-Approche globale du SI Scheacutema directeur

2- Etude des diffeacuterentes solutions possible puis choix Etude preacutealable

3- Compleacutement des speacutecifications du domaine Etude deacutetailleacutee

4- Speacutecifications techniques complegravetes Etude technique

5- Ecriture des programmes Production

6- Tests essais formation utilisateur Mise en oeuvre

7- Corrections et adaptations du logiciel Maintenance

8- Controcircle de la conformiteacute des reacutesultats par rapport aux demandes

Controcircle de qualiteacute recette

23-Les niveaux drsquoabstraction

La neacutecessiteacute drsquoaborder diffeacuterents types de preacuteoccupations (deacutecrire lrsquoactiviteacute deacutefinir les regravegles de gestion deacutefinir les informations reacutepartir les traitements entre lrsquohomme et la machine organiser physiquement les fichiers choisir le mateacuteriel reacutepartir les responsabiliteacutes etc) a conduit agrave proposer diffeacuterents niveaux drsquoabstraction

Les voici

NIVEAU QUESTION CONTENU DOMAINE

Conceptuel Que faire - donneacutees manipuleacutees- regravegles de gestion- enchaicircnement des traitements

Gestion

OrganisationnelQui fait quoi Quand Ougrave

- partage des tacircches - mode de traitement- reacutepartition geacuteographique des traitements - organisation des donneacutees

Organisation

Physique Comment - programmes- logiciels- mateacuteriels

Technique

Merise (du moins dans sa premiegravere version) est une meacutethode qui preacuteconise de seacuteparer lrsquoeacutetude des donneacutees et les traitementsChaque modegravele de Merise concerne soit les donneacutees soit les traitements agrave un niveau drsquoabstraction donneacute

4

Voici la preacutesentation de ces diffeacuterents modegraveles selon cette typologie

NIVEAU DONNEES TRAITEMENT

ConceptuelMCDModegravele Conceptuel des Donneacutees

MCTModegravele Conceptuel des Traitements

OrganisationnelMLDModegravele logique des donneacutees

MOTModegravele Organisationnel des Traitements

PhysiqueMPDModegravele Physique des Donneacutees

MOPTModegravele Opeacuterationnel des Traitements

24-La courbe du soleil

Merise est utiliseacute dans le cas ougrave lrsquoon veut mettre en place ou modifier un systegraveme informatiseacute Dans les deux cas il convient drsquoanalyser et de critiquer le systegraveme existant afin de creacuteer un nouveau systegraveme adapteacute agrave lrsquoorganisation Pour cela la deacutemarche consiste agrave suivre la laquo courbe du soleil raquo

Lrsquoanalyse du systegraveme existant conduit agrave construire

bull Au niveau logico-physique o Le modegravele conceptuel des communications (MCC) qui repreacutesente les eacutechanges

de flux drsquoinformations entre les diffeacuterents acteurs du SI et les acteurs exteacuterieurs

bullo Le scheacutema de circulation des documents (SCD) qui repreacutesente les eacutechanges

drsquoinformations entre les acteurs du SI ainsi que les tacircches qui produisent les documents

bull Au niveau organisationnel o Le modegravele organisationnel des traitements qui permet de preacuteciser par rapport agrave

lrsquoeacutetape preacuteceacutedente si les tacircches sont automatiseacutees ou manuelles les eacuteveacutenements deacuteclencheurs et les conditions drsquoeacutemission des objets externes

bull Au niveau conceptuel o Le MCD (modegravele conceptuel des donneacutees) et le MCT (modegravele conceptuel des

traitements)

Le passage de la modeacutelisation du systegraveme existant agrave la modeacutelisation du systegraveme futur implique une critique du systegraveme existant une reacuteflexion sur les eacutevolutions possibles en tenant compte des nouveaux objectifs assigneacutes au systegraveme futur Lrsquoanalyse du systegraveme futur conduit agrave construire

bull Au niveau conceptuel o Le MCD et le MCT deacutecoulant de la critique de lrsquoexistant

5

bull Au niveau organisationnel o Le MOT du systegraveme futur mettant en valeur la nouvelle organisation (y

compris en terme de ressources humaines et de nouveaux postes de travail)

bull Au niveau logico-physique o Le MLD modegravele logique des donneacutees et le MPD modegravele physique des donneacutees

obtenus agrave partir du MCD adapteacute aux choix effectueacutes dans le MOT et aux besoins drsquoinformations compleacutementaires

o Le MPT modegravele physique des traitements (algorithmes structure des programmeshellip)

B- Introduction au Modegravele conceptuel des donneacutees

Deacutefinition

Le modegravele conceptuel des donneacutees (MCD) a pour but de repreacutesenter de faccedilon structureacutee les donneacutees qui seront utiliseacutees par le systegraveme dinformation Le modegravele conceptuel des donneacutees deacutecrit la seacutemantique crsquoest agrave dire le sens attacheacute agrave ces donneacutees et agrave leurs rapports et non agrave lrsquoutilisation qui peut en ecirctre faite

On eacutetablit le MCD apregraves avoir recenseacute et donneacute un nom agrave lrsquoensemble des donneacutees du domaine eacutetudieacute Ensuite on eacutetudie les relations existantes entre ces donneacutees (deacutependances fonctionnelles) pour aboutir au MCD

I-MCDRecueil des donneacutees

Exemple

Voilagrave plusieurs phrases qui deacutecrivent une seule et mecircme personne prononceacutees par des personnes diffeacuterenteslaquo Odile Martin est une personne convenable Et je ne dis pas ccedila parce crsquoest une cliente qui mrsquoen prend pour 100F toutes les semaines raquo Le boulanger laquo MARTIN Odile habitant 6 rue des preacutes Saint Amour (Jura) neacutee le 130273 agrave Beacuteziers (Heacuterault) hellip raquo Un inspecteur de police judiciaire laquo Odile Martin voilagrave une personne qui nrsquoa jamais commis aucun peacutecheacute mortel qui a fait preuve de beaucoup de geacuteneacuterositeacute Elle ira au paradis raquo Saint Pierre Diffeacuterents interlocuteurs diffeacuterents points de vue Lequel est le plus pertinent Ca deacutepend du domaine eacutetudieacute Mais on ne recense que les informations objectives formelles

Quand on analyse les donneacutees sur un objet (abstrait ou concret) du reacuteel il est neacutecessaire de faire le tri entre ce qui est neacutecessaire pour le systegraveme drsquoinformation et ce qui ne lrsquoest pas

bull 2deg repreacutesentation

Odile sera repreacutesenteacutee par au moins ces informations

NomPreacutenomNumeacutero de la voieNature de la voieNom de la voieCommune de reacutesidenceDeacutepartement de reacutesidenceJour de naissanceMois de naissanceAnneacutee de naissance

6

Commune de naissanceDeacutepartement de naissance

Peut-on deacutecomposer encore Par exemple la commune de reacutesidence est composeacutee de 2 mots de mecircme que le nom de la voie hellip va-t-on les deacutecomposer Non ces mots repreacutesentent ensemble une information ne veulent rien dire agrave eux seuls

Mais nrsquoavons-nous pas trop deacutecomposeacute Il existe par exemple des liens entre les informations 3 4 et 5 qui repreacutesentent lrsquoadresse drsquoOdile entre les informations 8 et 9 qui repreacutesentent sa date de naissancehellip On va alors regrouper ensemble ces informations relieacutees

On remarque que toutes les personnes (et Odile est une personne on dit que crsquoest une OCCURRENCE de personne) de la maniegravere suivante

bull on peut dire qursquoon a creacuteeacute une entiteacute (un ensemble) PERSONNE dont Odile est une occurrence (ou instance)

Les donneacutees de base sont appeleacutees PROPRIETES ou ATTRIBUTS

II-MCDConcepts et du formalisme

Sommaire

bull 1 Les concepts de base o 11 Entiteacute o 12 Association o 13 Cardinaliteacutes

bull 2 La notion drsquooccurrence bull Exemple

7

1-Les concepts de base

11-Entiteacute

Une entiteacute repreacutesente un objet du SI (acteur document concept hellip) ou plus exactement un ensemble drsquoobjets ayant les mecircmes caracteacuteristiquesDans une entiteacute on met les informations neacutecessaires et suffisantes pour caracteacuteriser cette entiteacute Ces informations sont appeleacutees proprieacuteteacutes Les proprieacuteteacutes sont collecteacutees lors de lrsquoeacutetablissement du dictionnaire des donneacutees (voire partie suivante) Les proprieacuteteacutes prennent des valeurs pour chaque occurrence drsquoune entiteacute

Une proprieacuteteacute particuliegravere appeleacutee identifiant permet de distinguer sans ambiguiumlteacute toutes les occurrences de lrsquoentiteacute Lrsquoidentifiant est toujours souligneacute Lrsquoidentifiant est une proprieacuteteacute qui ne peut pas changer au cours du temps pour une occurrence

12-Association

Crsquoest un lien entre deux entiteacutes (ou plus) On doit lui donner un nom souvent un verbe qui caracteacuterise le type de relation entre les entiteacutes

Une association possegravede parfois des proprieacuteteacutes

13-Cardinaliteacutes

Ce sont des expressions qui permettent drsquoindiquer combien de fois au minimum et au maximum le lien entre 2 entiteacutes peut se produire Pour une association de 2 entiteacutes il y a 4 cardinaliteacutes agrave indiquer

Il y a trois valeurs typiques 0 1 et N (plusieurs)Les cardinaliteacutes traduisent des regravegles de gestion Ce sont des regravegles propre au SI eacutetudieacute qui expriment des contraintes sur le modegravele

2-La notion drsquooccurrence

Il ne faut pas confondre

bull ENTITE et OCCURRENCE drsquoentiteacute bull ni PROPRIETE et VALEUR de proprieacuteteacute bull ni ASSOCIATION et OCCURRENCE drsquoassociation

Reprenons ces concepts Une ENTITE est une FAMILLE drsquoobjets ayant les mecircmes caracteacuteristiques appeleacutees proprieacuteteacutes

Un MEMBRE de la famille est appeleacute OCCURRENCE drsquoentiteacute

Une entiteacute repreacutesente un ENSEMBLE drsquoOCCURRENCES

Une PROPRIETE est une information eacuteleacutementaire qui permet de deacutecrire une entiteacute ou une association Une proprieacuteteacute peut prendre une VALEUR (crsquoest lrsquoeacutequivalent drsquoune variable) (On peut dire qursquoune VALEUR est une OCCURRENCE de PROPRIETE)

De mecircme une ASSOCIATION est un LIEN entre 2 entiteacutes ou plus et une OCCURRENCE drsquoassociation est un lien entre 2 OCCURRENCES drsquoentiteacutes

8

bull Exemple

Consideacuterons le scheacutema suivant

PROPRIETE VALEUR de PROPRIETE

Reacutefeacuterence 456

Deacutesignation Manteau

Prix unitaire 100euro

ENTITE OCCURRENCE drsquoentiteacute

PRODUIT Manteau de reacutefeacuterence 456 agrave 100euro

COMMANDE numeacutero 123 du 081002

ASSOCIATION OCCURRENCE drsquoassociation

CONCERNER lien entre la commande 123 et le manteau 456 pour une quantiteacute de 3 uniteacutes

bull On peut repreacutesenter une entiteacute comme un ensemble ougrave les eacuteleacutements sont les occurrences

bull Une association peut ecirctre vue comme lrsquoensemble des relations entre les occurrences des entiteacutes associeacutees

Attention agrave ne pas confondre occurrences et proprieacuteteacutes En effet on peut dire agrave la fois qursquoune entiteacute est un ensemble de proprieacuteteacutes et un ensemble drsquooccurrences

Une proprieacuteteacute est une rubrique un eacuteleacutement drsquoinformation qui permet de deacutecrire une entiteacute Une entiteacute est deacutecrite par plusieurs proprieacuteteacutesUne occurrence est un exemplaire un eacuteleacutement particulier de la famille repreacutesenteacutee par lrsquoentiteacute Les proprieacuteteacutes drsquoune entiteacute prennent des valeurs pour chaque occurrenceChaque occurrence drsquoentiteacute est identifieacutee de maniegravere unique par un identifiant qui est une proprieacuteteacute particuliegravere telle que 2 occurrences de lrsquoentiteacute ne peuvent pas avoir la mecircme valeur pour cette proprieacuteteacute

9

On repreacutesente souvent les occurrences drsquoune entiteacute sous forme drsquoun tableau Les lignes correspondent aux occurrences et les colonnes correspondent aux proprieacuteteacutes

bull Exemple

III-MCDRegravegles de construction

Sommaire

bull 1 Regravegles concernant les proprieacuteteacutes bull 2 Regravegles concernant les entiteacutes

bull 3 Regravegles concernant les associations

1-Regravegles concernant les proprieacuteteacutes

bull Pour qursquoil nrsquoy ait pas drsquoambiguiumlteacute possible une proprieacuteteacute ne peut pas apparaicirctre plusieurs fois dans un MCD

Autrement dit toutes les proprieacuteteacutes drsquoun MCD doivent ecirctre diffeacuterentes les unes des autres Exemples Une proprieacuteteacute Date ne peut pas apparaicirctre simultaneacutement dans une entiteacute COMMANDE et une entiteacute FACTURE Si crsquoeacutetait le cas il faudrait remplacer Date par Date_commande et Date_facture par exemple

bull Toute proprieacuteteacute ne doit avoir agrave un moment donneacute qursquoune seule valeur pour une occurrence Par conseacutequent un nom de proprieacuteteacute doit toujours ecirctre au singulier

Exemple Dans la proprieacuteteacute note drsquoune entiteacute ELEVE on ne peut avoir qursquoune seule note Si on veut la note de plusieurs matiegraveres il faut mettre autant de proprieacuteteacutes qursquoil y a de matiegraveres par exemple noteALSI noteAMSI noteDAIGL etc

2-Regravegles concernant les entiteacutes

bull Toute entiteacute doit comporter un identifiant qui permet de distinguer entre elles toutes les occurrences drsquoune mecircme entiteacute Lrsquoidentifiant est placeacute en tecircte des proprieacuteteacutes et il est souligneacute

bull Pour chaque occurrence drsquoune entiteacute il ne doit y avoir qursquoune seule valeur pour chacune des proprieacuteteacutes agrave un instant donneacute Cette valeur peut changer au cours du temps mais agrave un instant donneacute il nrsquoy en a qursquoune seule

3-Regravegles concernant les associations

bull Lrsquoidentifiant drsquoune association est implicitement formeacute par la concateacutenation des identifiants des entiteacutes lieacutees

10

On ne repreacutesente pas cet identifiant au niveau du MCD Deux occurrences drsquoassociation ne peuvent pas avoir le mecircme identifiant Pour une occurrence lrsquoidentifiant ne doit jamais changer de valeur (lrsquoidentifiant est une proprieacuteteacute constante)

bull Une association peut avoir des proprieacuteteacutes mais ce nrsquoest pas obligatoire

IV-MCDIntroduction aux cardinaliteacutes

Sommaire

bull 1 Formalisme bull 2 La cardinaliteacute minimale

o 21 Exemples o 22 Application

bull 3 La cardinaliteacute maximale o 31 Exemple 1 o 32 Exemple 2

bull 4 Conclusion bull 5 Exemple

bull 6 Repreacutesentation des cardinaliteacutes

Les cardinaliteacutes drsquoune entiteacute dans une association exprime le nombre de fois qursquoune occurrence de cette entiteacute est impliqueacutee dans lrsquoassociation au minimum et au maximum

1-Formalisme

2-La cardinaliteacute minimale

Elle est exprimeacutee presque toujours par lrsquoune des deux valeurs 0 ou 1Elle traduit combien de fois au minimum une occurrence de lrsquoentiteacute participe agrave lrsquoassociation

21--Exemples

Pour la cardinaliteacute mini entre client et commander il faut se poser la question Pour un client donneacute combien de fois au minimum il commande Si la reacuteponse est laquo tout client doit passer au moins une commande sinon ce nrsquoest pas un client raquo on met la cardinaliteacute mini agrave 1

11

Mais on peut tregraves bien imaginer que lrsquoentreprise veut aussi meacutemoriser les clients potentiels (prospects) qui nrsquoont encore rien commandeacute Dans ce cas un client peut tregraves bien ne pas avoir encore commandeacute et on met la cardinaliteacute mini agrave 0

22-Application

1 Trouver la question qui permet de trouver la cardinaliteacute minimale pour lrsquoentiteacute produit et lrsquoassociation commander

2 Faites deux hypothegraveses de regravegle de gestion concernant ce lien et trouver les cardinaliteacutes minimales correspondantes

3-La cardinaliteacute maximale

Elle traduit combien de fois au maximum lrsquoentiteacute peut ecirctre en relation avec lrsquoassociation Cela peut ecirctre plusieurs fois (si crsquoest un nombre indeacutetermineacute on indique la valeur n) ou une seule foisOn reacutepond agrave la question Combien au maximum lrsquoentiteacute peut participer agrave lrsquoassociation Si la reacuteponse est laquo au plus une fois raquo la cardinaliteacute maximale prend pour valeur 1Si la reacuteponse est laquo plusieurs raquo la cardinaliteacute maximale prend la valeur N

31-Exemple 1

bull REGLES DE GESTION

Un salarieacute est affecteacute au plus agrave un seul service Dans un service sont affecteacutes plusieurs salarieacutes

Il arrive (mais crsquoest rare) qursquoune cardinaliteacute maximale ait une valeur limiteacutee

32-Exemple 2

bull REGLE DE GESTION Un eacutelegraveve doit suivre au minimum une option et au maximum 3 options

12

4-Conclusion

En fait dans la grande majoriteacute des cas on nrsquoutilise que 4 combinaisons de valeurs pour les cardinaliteacutes

bull 01 au plus un(e) bull 11 un(e) et un(e) seul(e) bull 1 n un(e) ou plusieurs bull 0 n zeacutero ou plusieurs

5-Exemple

6-Repreacutesentation des cardinaliteacutes

Une voiture est posseacutedeacutee par une seule personne Une personne peut posseacuteder de 0 agrave plusieurs voitures

Une personne a une adresse ou est sans domicile A une adresse il y a une ou plusieurs personne qui y habitent

13

C-Les cardinaliteacutes et les diffeacuterents types dassociations

I-MCDCardinaliteacutes

Sommaire

bull 1 Deacutefinition et formalisme bull 2 La cardinaliteacute minimale

o 21 Exemple o 22 Application

bull 3 La cardinaliteacute maximale o 31 Exemple

bull 4 Reacutecapitulatif o 41 Exemples complets

1-Deacutefinition et formalisme

Les cardinaliteacutes sont des couples de valeur que lon trouve entre chaque entiteacute et ses associations lieacuteesDonc pour une association de 2 entiteacutes il y a 4 cardinaliteacutes agrave indiquer (2 de chaque cocircteacute)Il y a trois valeurs typiques 0 1 et N (plusieurs)

Pour les associations agrave 2 entiteacutes ce sont des valeurs qui permettent drsquoindiquer combien de fois au minimum et au maximum une occurrence dentiteacute peut ecirctre lieacutee agrave une autre occurrence dentiteacute

De maniegravere plus geacuteneacuterale les cardinaliteacutes drsquoune entiteacute dans une association expriment le nombre de fois qursquoune occurrence de cette entiteacute peut ecirctre impliqueacutee dans une occurrence de lassociation au minimum et au maximum

Les cardinaliteacutes traduisent des regravegles de gestion Ce sont des regravegles propres agrave lorganisation eacutetudieacutee qui sont deacutecideacutees par les gestionnaires et deacutecideurs Ces regravegles expriment des contraintes sur le modegravele

2-La cardinaliteacute minimale

14

Elle est exprimeacutee presque toujours par lrsquoune des deux valeurs 0 ou 1 Elle traduit combien de fois au minimum une occurrence de lrsquoentiteacute participe agrave lrsquoassociation autrement dit si une occurrence est obligatoirement associeacutee agrave une autre ou pas

21-Exemple

Pour la cardinaliteacute minimale entre client et commander il faut se poser la question Pour un client donneacute combien de fois au minimum il commande

ou encore mieux Est-il obligatoire quun client effectue une commande de produit

Cela deacutepend des REGLES DE GESTION de lentreprise Si la regravegle de gestion est laquo tout client doit passer au moins une commande sinon ce nrsquoest pas un client raquo on met la cardinaliteacute mini agrave 1

Mais on peut tregraves bien imaginer que lrsquoentreprise veut aussi meacutemoriser les clients potentiels (prospects) qui nrsquoont encore rien commandeacute Dans ce cas un client peut tregraves bien ne pas avoir encore commandeacute et on met la cardinaliteacute mini agrave 0

En fait les cardinaliteacutes deacutependent des regravegles de gestion propres agrave lrsquoorganisation eacutetudieacutee La regravegle peut tregraves bien ecirctre laquo On ne meacutemorise que les clients qui ont deacutejagrave commandeacute raquo ou bien laquo On veut meacutemoriser les prospects raquo

22-Application

bull Trouver la question qui permet de trouver la cardinaliteacute minimale pour lrsquoentiteacute produit et lrsquoassociation commander

Reacuteponse Est-il obligatoire quun produit ait eacuteteacute commandeacute pour quil soit meacutemoriseacute dans la base de donneacutee ou bien Peut-il exister dans la base de donneacutee des produits qui nont jamais eacuteteacute commandeacutes

bull Faites deux hypothegraveses de regravegle de gestion concernant ce lien et trouver les cardinaliteacutes minimales correspondantes

Reacuteponse H1 lentreprise peut proposer de nouveaux produits sur catalogue par exemple quelle meacutemorise dans sa base de donneacutees mais qui nont jamais encore eacuteteacute commandeacutes =gt cardinaliteacute minimale agrave 0 (cest plutocirct le cas pour les entreprises de vente)

15

H2 tout produit inscrit dans la base de donneacutee est forceacutement commandeacute (par exemple parce que lentreprise ne propose pas de catalogue mais fabrique seulement agrave la commande) =gt cardinaliteacute minimale agrave 1 (cest plutocirct le cas pour les entreprises de production)

3-La cardinaliteacute maximale

Elle traduit combien de fois au maximum une occurrence dentiteacute peut ecirctre en relation avec une occurrence de lassociation Cela peut ecirctre plusieurs fois (si crsquoest un nombre indeacutetermineacute on indique la valeur n) ou une seule fois

Cette cardinaliteacute reacutepond agrave la question

bull la participation dune occurrence doit-elle ecirctre unique ou bien peut-elle ecirctre multiple ou bien

bull combien de fois au maximum une occurrence est elle impliqueacutee dans lassociation

Si lassociation est binaire (relie seulement deux entiteacute) la question peut ecirctre aussi

bull Une occurrence de lentiteacute peut-elle ecirctre relieacutee agrave plusieurs occurrences de lautre entiteacute ou bien ne peut-elle ecirctre relieacutee quagrave une seule autre occurrence au plus

Si la reacuteponse est laquo au plus une fois raquo (participation unique) la cardinaliteacute maximale prend pour valeur 1 Si la reacuteponse est laquo plusieurs raquo (participation multiple) la cardinaliteacute maximale prend la valeur N

31-Exemple

bull RG (regravegles de gestion)

1 Un salarieacute est affecteacute au plus agrave un seul service 2 Dans un service sont affecteacutes plusieurs salarieacutes

Il arrive (mais crsquoest rare) qursquoune cardinaliteacute maximale ait une valeur limiteacutee

bull Exemple

RG Un eacutelegraveve peut suivre au maximum 3 options

4-Reacutecapitulatif

16

En fait dans la grande majoriteacute des cas on nrsquoutilise que 4 combinaisons de valeurs pour les cardinaliteacutes

bull 01 au plus un(e) bull 11 un(e) et un(e) seul(e) bull 1n un(e) ou plusieurs bull 0 n zeacutero ou plusieurs

41-Exemples complets

RG un client commande au moins 1 produit (sous entendu ou plusieurs) et un produit peut ne pas encore avoir eacuteteacute commandeacute comme il peut lavoir eacuteteacute plusieurs fois

RG Un salarieacute est obligatoirement affecteacute agrave 1 et 1 seul service Un service pour exister doit avoir au moins un salarieacute affecteacute (sous-entendu il peut bien sur en avoir plusieurs)

II-MCDAssociations

Sommaire

1 Les associations binaires concernant 2 entiteacutes

11 Les associations hieacuterarchiques [1n]

12 Les associations non hieacuterarchiques [n n]

13 Les associations de type [1 1]

2 Les autres types dassociation

21 Les associations reacuteflexives

211 Exemple dassociation reacuteflexive hieacuterarchique

212 Exemples dassociations reacuteflexives non hieacuterarchiques

22 Les associations de dimension 3 ou plus (ternaires ou plus)

1-Les associations binaires concernant 2 entiteacutes

17

On distingue trois cateacutegories dassociations en fonction des cardinaliteacutes maximales de ses branches

-Les associations hieacuterarchiques encore appeleacutees associations [1 n] ou associations fonctionnelles

-Les associations non hieacuterarchiques encore appeleacutees associations [n n] ou non fonctionnelles

-Les association [1 1] les 2 branches ont pour cardinaliteacute maximale 1 Ce cas est rare

11-Les associations hieacuterarchiques [1 n]

Ce sont les associations ougrave dun cocircteacute la |cardinaliteacute maximale est agrave 1 et de lautre cocircteacute la cardinaliteacute maximale est agrave n

Cela signifie quune occurrence de A est relieacutee au plus agrave une seule occurrence de B Cest-agrave-dire si on connaicirct une occurrence de A alors on saura forceacutement quelle est la seule occurrence de B qui correspond (si elle existe) On dit que A deacutetermine B Cest un lien de deacutependance fonctionnelle B deacutepend fonctionnellement de A

Lentiteacute qui correspond agrave la branche du cocircteacute du 1 est parfois appeleacutee entiteacute fils et lentiteacute correspondant agrave la branche du cocircteacute n est parfois appeleacutee entiteacute pegravere Cette appellation deacutecoule de lanalogie un fils na quun seul pegravere et un pegravere peut avoir plusieurs fils

12-Les associations non hieacuterarchiques [n n]

13-Les associations de type [1 1]

Cas exceptionnel

Ex un employeacute travaille sur un ordinateur (p 99 de Modeacuteliser les donneacutees) La facture correspondant agrave une commande

2-Les autres types dassociation

18

Le plus souvent une association relie 2 entiteacutes avec 2 branches Ce type dassociation est appeleacute association binaire Nous avons deacutejagrave eacutetudieacute en deacutetail les diffeacuterents types dassociations binaires

Mais une association peut aussi relier 3 ou tregraves rarement 4 entiteacutes (quasiment jamais plus) On parle dassociation ternaire quaternaire (n-aire) Enfin une association peut aussi relier une entiteacute agrave elle-mecircme cest-agrave-dire que des occurrences de la mecircme entiteacute sont relieacutees entre elles Lassociation correspondante est qualifieacutee de reacuteflexive Ce sont ces autres types dassociation que nous allons eacutetudier maintenant

21-Les associations reacuteflexives

Une association reacuteflexive est une association reliant des occurrences de la mecircme entiteacute Ces associations sont quasiment toujours binaire (2 branches) Pour lire une association reacuteflexive il est faut connaicirctre le rocircle attribueacute agrave chaque branche de lassociation Il existe comme pour les autres associations des associations reacuteflexives hieacuterarchique et des associations reacuteflexives non hieacuterarchique

211-Exemple dassociation reacuteflexive hieacuterarchique

Dans une entreprise bureaucratique chaque salarieacute a un seul chef (supeacuterieur hieacuterarchique direct) sauf le patron et chaque chef a au moins un salarieacute sous ses ordres Evidemment certains salarieacutes ne sont chefs de personnes

Exemples doccurrences diagramme doccurrences

Remarquez limportance du rocircle dans le diagramme doccurrence

212--Exemples dassociations reacuteflexives non hieacuterarchiques

19

Piegraveces composants composeacute = reacuteflexive asymeacutetrique

Personnes fregraveres = reacuteflexive symeacutetrique (rocircle pas indispensable car a pour fregravere = ecirctre fregravere de)

Preacutecision de vocabulaire dimension dune association

La dimension dune association correspond au nombre de branches de lassociation Dans plus de 80 des cas les associations sont binaires Dimension 2 binaire Dimension 3 ternaire (rare) Dimension supeacuterieure aire (exceptionnel)

Lorsquil ny a pas de reacuteflexiviteacute le nombre de branches est eacutegal au nombre dentiteacutes relieacutees La dimension est dans ce cas le nombre dentiteacutes concerneacutees par lassociation Mais la reacuteflexiviteacute existe et donc on peut avoir plusieurs branches de la mecircme association sur la mecircme entiteacute Dans ce cas alors la dimension est supeacuterieure au nombre dentiteacutes concerneacutees

Dimension = nombre dentiteacute lieacutees

Une association reacuteflexive (1 entiteacute) est quasiment toujours binaire (2 branches) On pourrait aussi avoir une association ternaire impliquant seulement deux entiteacutes

22-Les associations de dimension 3 ou plus (ternaires ou plus)

Une association peut relier plus de 2 entiteacutes ensemble le plus souvent trois On parle alors dassociation ternaire On utilise une association ternaire quand on a besoin de connaicirctre une occurrence de chaque entiteacute pour avoir une information

Exemple

Pour connaicirctre la quantiteacute de chacune des piegraveces fabriqueacutee par chaque ouvrier agrave une date donneacutee on utilise une association ternaire entre OUVRIER PIECE et DATE La quantiteacute est une donneacutee porteacutee par cette association

Une occurrence de lassociation fabrique implique une seule occurrence de chaque entiteacute

20

Exemple

Ouvrier Piegravece Date quantiteacute

Dupont 1 1702 50

Dubois 2 1702 100

Martin 1 1702 40

Dupont 3 1702 55

Dubois 3 1702 20

Dupont 1 1602 40

Martin 1 1602 40

Lassociation ternaire implique aussi que

Pour un ouvrier on peut avoir plusieurs piegraveces diffeacuterentes agrave la mecircme date (il peut fabriquer plusieurs types de piegraveces le mecircme jour)

Une piegravece peut ecirctre fabriqueacutee par plusieurs ouvriers diffeacuterents le mecircme jour

A des dates diffeacuterentes un mecircme ouvrier peut fabriquer les mecircmes piegraveces

Lidentifiant dune association ternaire est formeacutee de la concateacutenation (juxtaposition) des identifiants des 3 entiteacutes relieacutees

Dans notre exemple on ne peut donc pas avoir plusieurs occurrences de fabrique qui concernent Dupont la piegravece ndeg1 agrave la date du 1702

III-MCDRepreacutesentation des cardinaliteacutes

bull Une voiture est posseacutedeacutee par une seule personne Une personne peut posseacuteder de 0 agrave plusieurs voitures

21

bull Une personne a une adresse ou est sans domicile A une adresse il y a une ou plusieurs personnes qui y habitent

IV-MCDAssociation ternaire

bull Une association peut relier plus de 2 entiteacutes ensemble le plus souvent trois On parle alors dassociation ternaire (dimension 3) On utilise une association ternaire quand on a besoin de connaicirctre une occurrence de chaque entiteacute pour avoir une information

bull Ex

Pour connaicirctre la quantiteacute de chacune des piegraveces fabriqueacutee par chaque ouvrier agrave une date donneacutee on utilise une association ternaire entre OUVRIER PIECE et DATE La quantiteacute est une donneacutee porteacutee par cette association

22

Une occurrence de lassociation fabrique implique une seule occurrence de chaque entiteacute Exemple

Ouvrier Piegravece Date quantiteacuteDupont 1 1702 50Dubois 2 1702 100Martin 1 1702 40Dupont 3 1702 55Dubois 3 1702 20Dupont 1 1602 40Martin 1 1602 40

Lassociation ternaire implique aussi que

1 Pour un ouvrier on peut avoir plusieurs piegraveces diffeacuterentes agrave la mecircme date (il peut fabriquer plusieurs types de piegraveces le mecircme jour)

2 Une piegravece peut ecirctre fabriqueacutee par plusieurs ouvriers diffeacuterents le mecircme jour 3 A des dates diffeacuterentes un mecircme ouvrier peut fabriquer les mecircmes piegraveces

Lidentifiant dune association ternaire est formeacutee de la concateacutenation (juxtaposition) des identifiants des 3 entiteacutes relieacutees

Dans notre exemple on ne peut donc pas avoir plusieurs occurrences de fabrique qui concernent Dupont la piegravece ndeg1 agrave la date du 1702

V-MCDAssociations reacuteflexives

Une association reacuteflexive est une association reliant des occurrences de la mecircme entiteacute Ces associations sont quasiment toujours binaire (2 branches)

Pour lire une association reacuteflexive il est faut connaicirctre le rocircle attribueacute agrave chaque branche de lassociation cest agrave dire le rocircle de chaque occurrence dans le lien

23

Il existe comme pour les autres associations des associations reacuteflexives hieacuterarchique (une des cardinaliteacutes maximales agrave 1) et des association reacuteflexives non hieacuterarchique (les deux cardinaliteacutes maximales agrave n)

1-Exemple dassociation reacuteflexive hieacuterarchique

Dans une entreprise bureaucratique chaque salarieacute a un seul chef (supeacuterieur hieacuterarchique direct) sauf le patron et chaque chef a au moins un salarieacute sous ses ordres Evidemment certains salarieacutes ne sont chefs de personnes

Un mecircme salarieacute peut agrave la fois ecirctre chef et avoir un chef Tutu peut ecirctre chef de titi et de toto et dautres salarieacutes mais il na quun seul chef au maximum toto peut ecirctre le chef de coco et avoir pour chef tutu

2-Exemples dassociations reacuteflexives non hieacuterarchiques

Piegraveces composants composeacute = reacuteflexive asymeacutetrique

Une piegravece peut entrer dans la composition de plusieurs autres piegraveces (ex un boulon) Une piegravece peut aussi ecirctre composeacutee de plusieurs autres piegraveces (ex un moteur) Une mecircme piegravece peut ecirctre composeacutee dautres piegraveces et entrer dans la composition dune ou plusieurs autres piegraveces (ex une carte reacuteseau)

Preacutecision de vocabulaire dimension dune association

La dimension dune association correspond au nombre de branches de lassociation Dans plus de 80 des cas les associations sont binaires

Dimension 2 binaire Dimension 3 ternaire (rare) Dimension supeacuterieure n-aire (exceptionnel)

Lorsquil ny a pas de reacuteflexiviteacute le nombre de branches est eacutegal au nombre dentiteacutes relieacutees La dimension est dans ce cas le nombre dentiteacutes concerneacutees par lassociation Mais la reacuteflexiviteacute existe et donc on peut avoir plusieurs branches de la mecircme association sur la mecircme entiteacute Dans ce cas alors la dimension est supeacuterieure au nombre dentiteacutes concerneacutees

24

Dimension = nombre dentiteacute lieacutees

Une association reacuteflexive (1 entiteacute) est quasiment toujours binaire (2 branches) On pourrait aussi avoir une association ternaire impliquant seulement deux entiteacutes

D-Passage MCD lt=gt modegravele relationnel

I-MRRappel sur le modegravele relationnel

Cest un modegravele LOGIQUE de donneacutee celui qui correspond agrave lorganisation des donneacutees dans les bases de donneacutees relationnelles (il existe dautres organisations de bases de donneacutees hieacuterarchique reacuteseau objethellip)

Les SGBD actuels les plus courants sont relationnels (Oracle SQL Server Access MySQL hellip )

Un modegravele relationnel est composeacute de relations encore appeleacutee tables Ces tables sont deacutecrites par des attributs ou champs (noms de colonnes) Pour deacutecrire une relation on indique tout simplement son nom en majuscule suivi du nom de ses attributs entre parenthegraveses

Lidentifiant dune relation est composeacute dun ou plusieurs attributs qui forment la cleacute primaire Une relation peut faire reacutefeacuterence agrave une autre en utilisant une cleacute eacutetrangegravere qui correspond agrave la cleacute primaire de la relation reacutefeacuterenceacutee

Il ny a pas de notation officielle pour repeacuterer les cleacutes primaires et eacutetrangegraveres Cest agrave vous den adopter une et de lexpliquer en leacutegende Toutefois une notation sest peu agrave peu reacutepandue

bull on souligne la cleacute primaire dun seul trait bull on fait preacuteceacuteder (ou suivre) les cleacutes eacutetrangegraveres du symbole

Chaque ligne (tuple ou enregistrement) dune table repreacutesente une occurrence de lentiteacute ou de lassociation correspondante

II-MRPassage du MCD au MR

Sommaire

bull 1 Regravegle 1 bull 2 Regravegle 2 bull 3 Exception agrave la regravegle 1 bull 4 Cas particulier des associations reacuteflexives

o 41 Reacuteflexive hieacuterarchique o 42 Reacuteflexive non hieacuterarchique

25

1-Regravegle 1

Toute entiteacute devient une relation ayant pour cleacute primaire son identifiant

Chaque proprieacuteteacute se transforme en attribut CLIENT (code_client nom preacutenom adresse code_postal ville teacuteleacutephone)

Remarque contrairement aux proprieacuteteacutes les attributs ne doivent pas comporter despaces

2-Regravegle 2

Toute association non hieacuterarchique (de type [n n] ou de dimension gt 2) devient une relation La cleacute primaire est formeacutee par la concateacutenation (juxtaposition) lensemble des identifiants des entiteacutes relieacutees Toutes les proprieacuteteacutes eacuteventuelles deviennent des attributs qui ne peuvent pas faire partie de la cleacute

CONCERNER (numeacutero_commande reacutefeacuterence_article quantiteacute)

Cette regravegle est valable pour toutes les associations ternaires (ou quaternaires) qui sont forceacutement non hieacuterarchiques (|cardinaliteacutes maximales toutes eacutegales agrave n)

3- Exception agrave la regravegle 1

Les entiteacutes nayant que leur identifiant comme attribut ne deviennent pas des relations mais des attributs dans les autres relations lieacutees

Avec ce modegravele on meacutemorise chaque jour pour chaque ouvrier les piegraveces quil a fabriqueacute et en quelle quantiteacute Quand on passe au modegravele relationnel lentiteacute DATE FABRICATION ne

26

devient pas une relation mais un attribut cleacute dans la relation FABRIQUE issue de lassociation

FABRIQUE (code_ouvrier reacutefeacuterence_piegravece date quantiteacute) Date ici fait partie de la cleacute primaire mais nest pas cleacute eacutetrangegravere

4-Cas particulier des associations reacuteflexives

Les associations reacuteflexives suivent les regravegles 2 ou 3 selon les |cardinaliteacutes mais posent un problegraveme particulier une mecircme proprieacuteteacute va se retrouver deux fois en attribut dans la mecircme relation Il faut alors donner un nom diffeacuterent et significatif aux deux attributs correspondants

Dans les reacuteflexives il est conseilleacute de nommer les branches par des rocircles pour pouvoir lire dans le bon sens lassociation Les rocircles aident agrave nommer les attributs correspondant agrave lassociation

41-Reacuteflexive hieacuterarchique

(Une branche agrave la cardinaliteacute maxi agrave 1 et lautre agrave n)

Regravegle ndeg 2

Lecture de lassociation Regravegle ndeg1 lidentifiant de SALARIE va devenir cleacute primaire et les autres proprieacuteteacutes des attributsRegravegle ndeg2 pour traduire lassociation [1 n] encadrer lidentifiant de lentiteacute SALARIE devient cleacute eacutetrangegraverelidentifiant de SALARIE matricule se retrouve deux fois dans la relation comme cleacute primaire et comme cleacute eacutetrangegravereOn va donc donner un nom diffeacuterent et significatif agrave ces deux matricules par exemple Un salarieacute a pour chef 0 ou un seul autre salarieacute Un salarieacute est chef de 0 agrave n autre(s) salarieacute

Traduction en modegravele relationnel

SALARIE (matricule nom preacutenom fonctionhellip matricule_chef)

42-Reacuteflexive non hieacuterarchique

Regravegle ndeg3

27

bull Lecture de lassociation

Une piegravece entre dans la composition de 0 agrave plusieurs autres piegraveces Une piegravece peut ecirctre composeacutee de plusieurs autres piegraveces Une piegravece entre dans la composition dune autre un certain nombre de fois

Ex La piegravece voiture est composeacutee de 4 piegraveces roue La piegravece roue est elle-mecircme composeacutee dune piegravece pneu et dune piegravece jante

Une piegravece entrant dans la composition dune autre est appeleacutee composant Une piegravece composeacutee dautres piegraveces est appeleacutee composeacute Une roue est agrave la fois un composant (de voiture) et un composeacute (de pneu et jante)

bull Traduction en modegravele relationnel

PIECE (reacutefeacuterence libelleacute)COMPOSITION(reacutefeacuterence_composeacute reacutefeacuterence_composant nombre)

E-Normalisation du modegravele relationnel

I- Deacutependance fonctionnelle

Sommaire

1 Introduction

2 Rappels sur la notion de deacutependance fonctionnelle

21 Deacutefinition

22 Terminologie

23 DF agrave partir de proprieacuteteacutes concateacuteneacutees

24 Proprieacuteteacutes des deacutependances fonctionnelles

241 Union

242 Transitiviteacute

1-Introduction

Lobjectif de la normalisation est de construire un scheacutema de base de donneacutees coheacuterentUn mauvais scheacutema logique peut conduire agrave un certain nombre danomalies pendant la phase dexploitation de la base de donneacutee Nous allons voir ces anomalies dans une premiegravere partiePour qursquoun modegravele relationnel soit normaliseacute il faut qursquoil respecte certaines contraintes appeleacutees les formes normales Les formes normales srsquoappuient sur les deacutependances fonctionnelles entre attributs

2-Rappels sur la notion de deacutependance fonctionnelle

La construction du MCD mais eacutegalement du modegravele relationnel correspondant repose presque entiegraverement sur le concept de deacutependance fonctionnelle Crsquoest ce concept qui permet

28

de passer drsquoun ensemble de proprieacuteteacutes non structureacute agrave un modegravele conceptuel des donneacutees formeacute drsquoentiteacutes et drsquoassociations et au modegravele relationnel correspondant

21-Deacutefinition

On dit que b est en deacutependance fonctionnelle (DF) de a si agrave une valeur quelconque de la proprieacuteteacute a on ne peut faire correspondre qursquoune seule valeur au plus de la proprieacuteteacute b

On note a b(Source)-gt (but)

Autrement dit si on connaicirct la valeur de a on peut en deacuteduire une seule valeur de bMais la reacuteciproque nrsquoest pas vrai (si on connaicirct b on ne peut pas en deacuteduire a)

bull Exemple

Num client Nom client

Il existe une DF entre num client et Nom client car si on connaicirct une valeur de la proprieacuteteacute num client (ex 4553) il ne peut lui correspondre qursquoune seule valeur de la proprieacuteteacute nom (ex Duval)

La reacuteciproque est fausse

Nom client Num client nrsquoest pas une DF

Si lrsquoon connaicirct la valeur de la proprieacuteteacute Nom client on ne peut pas en deacuteduire la proprieacuteteacute Num client car il peut y avoir des homonymes

22-Terminologie

Si on a une deacutependance fonctionnelle a b on peut employer les expressions suivantes de faccedilon eacutequivalente -Il y a une deacutependance fonctionnelle de a vers b- b est en deacutependance fonctionnelle de a- b deacutepend fonctionnellement de a- a est la source et b est le but (ou la cible) de la deacutependance fonctionnelle

23-DF agrave partir de proprieacuteteacutes concateacuteneacutees

(Partie gauche composeacutee de plusieurs attributs)

Il peut exister des deacutependances fonctionnelles agrave partir de proprieacuteteacutes concateacuteneacutees cest-agrave-dire qui forment un tout indissociable comme si elles eacutetaient soudeacutees

On note par un + cette concateacutenation

Exemple Consideacuterons une commande qui comporte plusieurs produits Num_Commande + Ref_Produit quantiteacute commandeacutee

Si on nrsquoa seulement le numeacutero de la commande on ne peut pas en deacuteduire la quantiteacute commandeacutee car il faut aussi savoir de quel produit De mecircme on ne peut pas savoir la quantiteacute commandeacutee drsquoun produit si on ne sait pas de quelle commande Il faut bien connaicirctre agrave la fois la commande et le produit (leurs identifiants respectifs) pour en deacuteduire la quantiteacute commandeacutee

29

Les deacutependances fonctionnelles dont la source est formeacutee de plusieurs proprieacuteteacutes doivent ecirctre eacuteleacutementaires cest-agrave-dire ne pas ecirctre creacuteeacutees artificiellement

Ex Num Commande + Num Client date commande nrsquoest pas une DF eacuteleacutementaire car on nrsquoa pas besoin du numeacutero de client pour connaicirctre la date de commande il suffit de connaicirctre le numeacutero de la commande La proprieacuteteacute Num Client ne

24-Proprieacuteteacutes des deacutependances fonctionnelles

Les deacutependances fonctionnelles ont les proprieacuteteacutes suivantes

241-Union

Si on a deux DF ayant la mecircme source on peut les rassembler en une seule en seacuteparant les

cibles par une virgule Si a b et a c

Ex Reacutefeacuterence Deacutesignation et Reacutefeacuterence Prix de vente unitaire

Alors par union on a Reacutefeacuterence Deacutesignation Prix de vente unitaire

Lors du traceacute du graphe des deacutependances fonctionnelles lrsquounion permet de regrouper sur une seule ligne toutes les deacutependances fonctionnelles ayant la mecircme source

242-Transitiviteacute

Si a b et b c alors on a a c

Ex Num Meacutedecin Code Service et Code Service Num Hopital

Alors on a Num Meacutedecin Num Hopital

Les DF qui peuvent ecirctre deacuteduites par transitiviteacute de deux autres DF (qui ne sont pas directes) doivent ecirctre eacutelimineacutees car elles sont alors redondantesIl ne reste alors que les DF directes cest-agrave-dire celles qui ne peuvent pas ecirctre retrouveacutees par transitiviteacute

Attention toutefois agrave la signification des deacutependances Une deacutependance fonctionnelle quon peut retrouver par transitiviteacute ne doit pas ecirctre supprimeacutee si elle na pas le mecircme sens que la transitiviteacute des deux autres car il y aurait perte dinformation

II-MRInteacuterecirct de la normalisation

Exemple

Pour vous montrer lrsquointeacuterecirct de la normalisation drsquoune base de donneacutee relationnelle voyons les problegravemes que peuvent poser lrsquoutilisation drsquoune base de donneacutee baseacutee sur un modegravele relationnel non normaliseacute

Soit le scheacutema de relation

30

FOURNISSEUR (NomFournisseur AdresseFournisseur Produits Prix)

Modegravele en extension

NomFournisseur AdresseFournisseur Produit Prix

Lebras 10 Rue des Gras - ClermontChaise table

2035

Dupont 86 Rue de la Reacutepublique - Moulins Bureau 60

Lajoie 26 Rue des Docircmes - Vichy Lit 50

Dupont 39 Rue des Buttes - MoulinsLampeTable de chevet

1825

bull 1degproblegraveme

Il nrsquoy a pas de cleacute primaire on ne sait pas si les deux Dupont sont diffeacuterents ou pas (si crsquoest le mecircme Dupont il y a une des deux adresses qui est fausse

bull 2degproblegraveme

Lrsquoadresse nrsquoest pas deacutecomposeacutee Si on veut par exemple rechercher tous les fournisseurs qui habitent la mecircme ville ccedila ne va pas ecirctre possible

bull 3degproblegraveme

Une relation (table) correspondant agrave ce scheacutema pourra eacuteventuellement contenir plusieurs produits pour un mecircme fournisseur

Dans ce cas il faudra faire face agrave un certain nombre de problegravemes

bull ladresse du fournisseur sera dupliqueacutee dans chaque n-uplet (redondance) bull si on souhaite modifier ladresse dun fournisseur il faudra rechercher et mettre agrave jour

tous les n-uplets correspondant agrave ce fournisseur bull si on insegravere un nouveau produit pour un fournisseur deacutejagrave reacutefeacuterenceacute il faudra veacuterifier

que ladresse est identique bull si on veut supprimer un fournisseur il faudra retrouver et supprimer tous les n-uplets

correspondant agrave ce fournisseur (pour diffeacuterents produits) dans la table bull La normalisation eacutelimine les redondances ce qui permet

- une diminution de la taille de la base de donneacutee sur le disque- une diminution des risques drsquoincoheacuterence- drsquoeacuteviter une mise agrave jour multiple des mecircmes donneacutees

31

III-MR 3 formes normales

Les 3 formes normales du modegravele relationnel

Sommaire

1 1er forme normale

2 2egraveme forme normale

3 3egraveme forme normale

4 Application des regravegles

5 Reacutesumeacute

1-1er forme normale

Une relation est normaliseacutee en premiegravere forme normale si

-Elle possegravede une cleacute identifiant de maniegravere unique et stable chaque ligne

-Chaque attribut est monovalueacute (ne peut avoir qursquoune seule valeur par ligne)

-Aucun attribut nrsquoest deacutecomposable en plusieurs attributs significatifs

Contre-exemple

EMPLOYE ( Nom Preacutenom Enfants Diplocircmes)

Cette relation nrsquoest pas en premiegravere forme normale

Un employeacute peut avoir plusieurs enfants et plusieurs diplocircmes En outre ces attributs sont deacutecomposables diplocircme est deacutecomposable en Nature et Anneacutee et Enfants est deacutecomposable en Preacutenom et Anneacutee de Naissance

2-2egraveme forme normale

Une relation R est en deuxiegraveme forme normale si et seulement si

-Elle est en 1FN

-Et tout attribut non cleacute est totalement deacutependant de toute la cleacute

Autrement dit aucun des attributs ne deacutepend que drsquoune partie de la cleacute La 2FN nest agrave veacuterifier que pour les relations ayant une cleacute composeacutee Une relation en 1FN nayant quun seul attribut cleacute est toujours en 2FN

Contre-exemple 32

Cette relation est en premiegravere forme normale (existence drsquoune cleacute valide et aucun attribut nrsquoest deacutecomposable)MAIS elle nrsquoest pas en 2deg forme normale car on a DeacutesignationProd ne deacutepend pas de toute la cleacute mais seulement de reacutefeacuterenceProd

ReacutefeacuterenceProd DeacutesignationProd

Pour connaicirctre lrsquoattribut deacutesignationProd on nrsquoa pas besoin de connaicirctre le numeacutero de commande

3-3egraveme forme normale

Une relation est en 3deg forme normale si et seulement si

Elle est en 2deg forme normale et tout attribut doit deacutependre directement de la cleacute cest-dire qursquoaucun attribut ne doit deacutependre de la cleacute par transitiviteacute

Autrement dit aucun attribut ne doit deacutependre drsquoun autre attribut non cleacute

Contre-exemple

CLIENT (Num_client Nom_client code_categ nom_categ) Cette relation nrsquoest pas en 3FN car num_client nom_categ nrsquoest pas une deacutependance directe

En effet on a aussi num_client num_categ nom_categ

4-Application des regravegles

Si lrsquoune des 3 regravegles nrsquoest pas veacuterifieacutee cela indique une erreur dans le modegravele relationnel et il faut alors modifier pour que les 3 regravegles soient veacuterifieacutees pour toutes les relationsOn veacuterifie les regravegles dans lrsquoordre Si la premiegravere forme normale nrsquoest pas respecteacutee pas la peine de veacuterifier la 2FN Et si la 2FN nrsquoest pas veacuterifieacutee inutile de veacuterifier la 3FN

5-Reacutesumeacute

Modegravele normaliseacute = relations avec

-Une cleacute qui permet de distinguer chaque occurrence

-Des attributs eacuteleacutementaires (1FN)

-En deacutependance de TOUTE la cleacute (2FN)

-Et RIEN QUE de la cleacute (3FN)

On parle aussi de normalisation pour un MCD Un MCD qui donne un MR normaliseacute est qualifieacute aussi de normaliseacute

F-MeriseLes diagrammes de flux

Les diagrammes de flux reacutepondent agrave la question Que fait le systegraveme

33

En ce sens ce sont des modegraveles FONCTIONNELS (qui deacutecrivent les fonctions)

Il existe2 types principaux de diagrammes de flux

1 Le modegravele de contexte (MC) ougrave le domaine drsquoeacutetude est vu comme une boite noire On ne repreacutesente que les flux exteacuterieurs au domaine

2 Le modegravele de flux de donneacutees (DFD) ou encore modegravele de flux conceptuels (MFC) ougrave lrsquoon deacutetaille les activiteacutes du domaine drsquoeacutetude On repreacutesente aussi les flux internes au domaine

I-MeriseVocabulaire associeacute aux modegraveles de flux

Sommaire

bull 1 Domaine deacutetude bull 2 Acteur externe bull 3 Domaine connexe

bull 4 Flux de donneacutees

1-Domaine deacutetude

Le domaine deacutetude est un sous-ensemble coheacuterent de lentreprise ou de lorganisme bien deacutelimiteacute et formant le contenu du sujet agrave eacutetudier

Dans les modegraveles de flux le domaine deacutetude est repreacutesenteacute par un rectangle agrave trait plein Le nom du domaine est placeacute agrave lrsquointeacuterieur du rectangle

2-Acteur externe

Un acteur externe est un eacuteleacutement eacutemetteur ou reacutecepteur de donneacutees situeacute hors du systegraveme dinformation eacutetudieacute

Dans les modegraveles de flux un acteur externe est repreacutesenteacute par un cercle plein Le nom de lrsquoacteur est placeacute agrave lrsquointeacuterieur du cercle

3-Domaine connexe

Un domaine connexe est un composant du systegraveme drsquoinformation interagissant avec le domaine drsquoeacutetude Crsquoest un acteur interne agrave lrsquoentreprise mais externe au domaine drsquoeacutetude

34

Dans les modegraveles de flux une activiteacute est repreacutesenteacutee graphiquement par un rectangle Le nom de lactiviteacute est placeacute agrave lrsquointeacuterieur du rectangle

4-Flux de donneacutees

Un flux est un transfert drsquoinformations entre composants du systegraveme Le composant peut ecirctre un domaine une activiteacute ou un acteur externe

Dans les modegraveles de flux un flux de donneacutees est repreacutesenteacute graphiquement par une flegraveche orienteacutee du composant eacutemetteur du flux vers le composant reacutecepteur Le libelleacute du flux est inscrit en regard de la flegraveche traceacutee

Formalisme graphique illustrant par exemple un eacutechange entre un acteur externe et le domaine deacutetude

II-MeriseModegravele de contexte

Le modegravele de contexte sert agrave repreacutesenter les interactions entre le domaine deacutetude et lrsquoenvironnement et entre le domaine deacutetude et les eacuteventuels domaines connexes

Le domaine deacutetude y est repreacutesenteacute comme une boicircte noire

Le modegravele de contexte utilise les concepts suivants

bull le domaine deacutetude bull les acteurs externes bull les flux de donneacutees bull les domaines connexes

Exemple de modegravele de contexte au sein drsquoune socieacuteteacute commerciale on eacutetudie le domaine laquo gestion des ventes raquo

35

Remarque

bull on ne fait pas apparaicirctre les flux entre acteurs externes et domaines connexes ou entre les domaines connexes

Exemple le flux correspondant agrave la livraison de marchandises nrsquoapparaicirct pas

II-MeriseMFC ou DFD

Sommaire

bull 1 Modegravele de flux conceptuel(MFC) ou diagramme de flux de donneacutees(DFD) o 11 Deacutefinition o 12 Exemple o 13 Regravegles de deacutecomposition des activiteacutes

1-Modegravele de flux conceptuel (MFC) ou diagramme de flux de donneacutees (DFD)

11-Deacutefinition

Ce modegravele permet de deacutecider quelles activiteacutes inter-relieacutees de quelle maniegravere permettront de reacutesoudre au mieux le problegraveme poseacute et cette reacuteflexion est meneacutee sans sencombrer dans un premier temps du comportement du systegraveme (ordonnancement regravegles deacutemission synchronisationshellip)

Les modegraveles de flux conceptuels permettent de deacutecomposer le domaine drsquoeacutetude en activiteacutes Il nrsquoy a pas ici de notion drsquoorganisation mais drsquoobjectifs agrave reacutealiser On repreacutesente les flu x entre activiteacutes et avec lrsquoenvironnement

Pour analyser les communications et les activiteacutes on procegravede par laquo zooms raquo successifs sur le domaine eacutetudieacute pour eacutelaborer des modegraveles de plus en plus deacutetailleacutes qui permettront davoir une cartographie deacutetailleacutee du systegraveme et de preacuteparer le passage au modegravele conceptuel de repreacutesentation des traitements

36

Le modegravele de contexte est eacutegalement appeleacute le diagramme de flux de donneacutees de niveau 0

Nous obtenons ensuite des diagrammes de premier deuxiegraveme troisiegraveme hellip niveau par eacuteclatements successifs des activiteacutes agrave chacun de ces niveaux

La deacutecomposition drsquoun domaine ou drsquoune activiteacute en plusieurs activiteacutes peut faire apparaicirctre de nouveaux flux dus

1 agrave lrsquoeacutechange drsquoinformations entre activiteacutes 2 agrave la deacutecomposition drsquoun flux preacutesent au niveau n en plusieurs flux au niveau n+1

12-Exemple

Si on reprend le modegravele de contexte preacuteceacutedent on srsquoaperccediloit que le domaine des ventes peut-ecirctre eacuteclateacute en trois activiteacutes Nous obtenons ainsi le diagramme de flux de donneacutees de niveau 1

Remarque

bull On peut deacutecomposer le modegravele de flux de niveau 1 en un modegravele de flux de niveau 2 et etc hellip jusqursquoagrave arriver agrave un modegravele ougrave lrsquoactiviteacute correspond agrave une opeacuteration au sens Merise (regravegle drsquoininterruption)

Exemple lrsquoactiviteacute laquo gestion des factures raquo peut ecirctre encore deacutecomposeacutee en activiteacutes laquo facturation raquo et laquo Suivi des regraveglements raquo

13-Regravegles de deacutecomposition des activiteacutes

bull Pourquoi deacutecomposer

1 Pour deacutesagreacuteger les groupes de flux pour arriver agrave la deacutefinition des flux-types du domaine eacutetudieacute

2 Pour preacuteparer leacutetude dynamique du systegraveme dinformation pour arriver agrave lrsquoidentification des processus et des opeacuterations conceptuelles

bull Comment deacutecomposer

37

1 Identifier les groupes de donneacutees entrant et sortant du domaine drsquoeacutetude pour construire le modegravele de contexte

2 Identifier les activiteacutes geacuteneacuterant ou traitant les flux de donneacutees pour construire le DFD de niveau 1(approche par les donneacutees) ou identifier une activiteacute de niveau 1 comme un ensemble drsquoactiviteacutes participant agrave une mecircme finaliteacute (approche par les objectifs)

bull Jusquougrave deacutecomposer

Lorsquune activiteacute a atteint le niveau dinterruptabiliteacute (degraves lors que le traitement est deacuteclencheacute il se deacuteroule sans attente de ressources compleacutementaires exteacuterieures) Lactiviteacute est alors une opeacuteration conceptuelle qui sera deacutecrite lors de leacutetude dynamique du SI dans le MCTA

G-Les Modegraveles de traitements (MCT et MCTA)

I-MeriseMCT

Sommaire

bull 1 Modeacutelisation des Traitements bull 2 Le MCT bull 3 Les concepts du MCT

o 31 Lrsquoeacuteveacutenement o 32 Lrsquoopeacuteration o 33 Le reacutesultat o 34 La synchronisation o 35 Regravegle deacutemission o 36 Rocircle des regravegles de gestion o 37 Le processus

bull 4 Meacutethode drsquoeacutetablissement drsquoun MCT o 41 Regravegles de validation o 42 Cas particuliers

421 Cycles

422 Les eacuteveacutenements consommables

1-Modeacutelisation des Traitements

La modeacutelisation des traitements pour but de faire la repreacutesentation dynamique du systegraveme drsquoinformation crsquoest-agrave dire de repreacutesenter lrsquoenchaicircnement des traitements reacutealiseacutes

Cette modeacutelisation srsquoeffectue agrave deux niveaux

1 le niveau conceptuel ougrave lrsquoon srsquointeacuteresse aux opeacuterations en dehors de toute mise en oeuvre organisationnelle

2 le niveau organisationnel ougrave se pose les questions du qui ougrave quand

2-Le MCT

Lrsquoobjectif du MCT est de reacutepondre agrave la question QUOI faire par rapport agrave un eacuteveacutenement Crsquoest la chronologie qui importe Autrement dit le MCT est une repreacutesentation de la

38

succession des regravegles de gestion dont lrsquoentreprise veut se doter pour reacutepondre aux eacuteveacutenements auxquels elle doit faire face du fait de son activiteacute et de son environnement

3-Les concepts du MCT

31-Lrsquoeacuteveacutenement

Crsquoest une sollicitation du systegraveme drsquoinformation qui geacutenegravere une reacuteaction de la part de celui-ci

Un eacuteveacutenement peut ecirctre externe au domaine eacutetudieacute (ex commande client) ou interne au SI souvent le reacutesultat drsquoun processus anteacuterieur (ex ordre de preacuteparation) Un eacuteveacutenement peut-ecirctre aussi temporel cest-agrave-dire lieacute agrave des dates qui rythment lrsquoexeacutecution de certains traitements (deacutelai de maintenance relances)

32-Lrsquoopeacuteration

Crsquoest un ensemble drsquoactions accomplies par le systegraveme drsquoinformation en reacuteaction agrave un eacuteveacutenement ou agrave une conjonction drsquoeacuteveacutenements et non interruptibles par un eacuteveacutenement externe

Remarque Une opeacuteration deacuteclenche au moins un reacutesultat Une opeacuteration est repreacutesenteacutee par un verbe ou mieux un substantif (ex Preacuteparer la commande ou preacuteparation de la commande)

34-Le reacutesultat

Un reacutesultat peut-ecirctre un document un message externe un nouvel eacutetat du SI (nouvelle situation nouvelles donneacutees) creacuteeacute par une opeacuteration qui peut lui-mecircme jouer le rocircle drsquoeacuteveacutenement

Un reacutesultat externe repreacutesente une information envoyeacutee agrave lrsquoexteacuterieur du SI (ex facture)

Un reacutesultat interne est un nouvel eacutetat du systegraveme drsquoinformation (ex ordre de preacuteparation)

35-La synchronisation

Crsquoest une condition booleacuteenne (ET OU) traduisant les regravegles de gestion que doivent respecter les eacuteveacutenements pour deacuteclencher une opeacuteration Dans le cas ET elle marque quun eacuteveacutenement deacutejagrave lagrave doit en attendre un ou plusieurs autres

Remarque Pour quil soit question de synchronisation il faut la preacutesence de plusieurs eacuteveacutenements deacuteclencheurs aussi le symbole de synchronisation est laisseacute agrave blanc dans le cas dun eacuteveacutenement unique

Si tous les eacuteveacutenements entrants sont lieacutes par le mecircme opeacuterateur on peut seulement faire figurer lopeacuterateur dans le symbole de synchronisation sinon il faut numeacuteroter les eacuteveacutenements (a b c hellip) et constituer lexpression agrave laide des eacuteveacutenements et des opeacuterateurs (ex (a ET b) OU c) Regravegle deacutemission

Condition traduisant les regravegles de gestion qui permet dexprimer des conditions de sortie des reacutesultats

39

Remarques Lexpression dune regravegle deacutemission peut ecirctre composeacutee de plusieurs conditions eacuteleacutementaires relieacutees par les opeacuterateurs ET OU On peut eacutegalement utiliser lopeacuterateur NON pour exprimer la neacutegation dune condition

36-Rocircle des regravegles de gestion

Recenseacutees lors de leacutetude de lexistant ou deacutefinies pour le futur SI elles deacutecrivent les enchaicircnements dopeacuterations Elles rendent possible le regroupement des actions au sein dune seule opeacuteration non interruptible au niveau conceptuel

37-Le processus

Crsquoest un enchaicircnement synchroniseacute dopeacuterations au sein dun mecircme domaine geacuteneacuteralement deacuteclencheacute par un eacuteveacutenement externe (externe au domaine ou au SI tout entier)

Un MCT est la repreacutesentation de lrsquoenchaicircnement des opeacuterations drsquoun processus

4-Meacutethode drsquoeacutetablissement drsquoun MCT

1 Reacutealiser le graphe des flux (repreacutesentation des acteurs eacuteveacutenements et reacutesultats externes

2 Pour chaque eacuteveacutenement recenser les opeacuterations deacuteclencheacutees etou les eacuteveacutenements internes produits

3 Regrouper dans une mecircme opeacuteration tous les traitements qui ont les mecircmes deacuteclencheurs dans une uniteacute de temps avec la mecircme synchronisation

41-Regravegles de validation

Une opeacuteration ne peut pas ecirctre interrompue par lrsquoattente drsquoun eacuteveacutenement externe

Si tel est le cas il faut deacutecrire une seconde opeacuteration deacuteclencheacutee par cet eacuteveacutenement en attente

42-Cas particuliers

421-Cycles

Pour une mecircme opeacuteration leacuteveacutenement deacuteclencheur et leacuteveacutenement reacutesultat sont identiques

Une commande de client est servie si les marchandises sont disponibles sinon cette commande est mise en attente Les commandes en attente sont reacuteexamineacutees lors de chaque reacuteapprovisionnement afin de les livrer

40

Il faut sassurer que le cycle a bien un deacutebut et une fin ici cest lrsquoeacuteveacutenement Reacuteapprovisionnement effectueacute qui permet deacuteviter que le cycle ne se deacuteroule sans fin sur les commandes en attente

Noter limportance du concept doccurrences deacuteveacutenement

-une occurrence de Reacuteappro est-elle autoriseacutee agrave consommer toutes les occurrences de Commande en attente

-si le reacuteapprovisionnement est insuffisant de nouvelles occurrences de Commande en attente doivent-elles ecirctre creacuteeacutees

422-Les eacuteveacutenements consommables

Un client non satisfait peut retourner un article On lui fait un avoir Il peut alors le preacutesenter en caisse pour ecirctre rembourseacute de son achat Il peut encore remplacer larticle deacutefectueux par un autre auquel cas on annule lavoir

41

Ce qui pose question

UNE occurrence de leacuteveacutenement avoir eacutetabli ne peut ecirctre consommeacutee par 2 opeacuterations (rembourser et imputer)

Dit autrement avoir eacutetabli ne sait pas vers quelle opeacuteration se diriger On pourrait se dire quil est implicite que cest le premier eacuteveacutenement qui survient qui gagne si Echange survient en premier alors lavoir est annuleacute

Cependant que se passe-t-il si les 2 eacuteveacutenements externes se produisent simultaneacutement Si on impleacutemente tel quel ce scheacutema dans un automate il est vraisemblable que le client pourra avoir le beurre et largent du beurre

se preacutesenter en caisse et faire leacutechange pour un seul retour Il est donc preacutefeacuterable dexpliciter (cf ci-apregraves)

Une autre solution consiste agrave indiquer explicitement que cet eacuteveacutenement est consommable cest-agrave-dire que la premiegravere opeacuteration qui se deacuteclenche annule lrsquoeacuteveacutenement pour lrsquoautre opeacuteration

42

II-MeriseInteacutegration des donneacutees dans le MCT

Sommaire

bull 1 DEFINITION bull 2 FORMALISME DU MCTA bull 3 REPRESENTATION DES ACTIONS SUR LES DONNEES bull 4 COMPLEMENTS

o 41 Condition de deacuteclenchement o 42 Action collective o 43 Coheacuterence de la base de donneacutees o 44 REGLES DE VALIDATION DrsquoUN MCTA

o 45 Exemple de MCTA

1-DEFINITION

Le MCTA est une repreacutesentation syntheacutetique des traitements qui met en eacutevidence les reacuteactions du systegraveme aux eacuteveacutenements et linteraction avec les donneacutees

Il vise agrave

Deacutecrire le fonctionnement du systegraveme indeacutependamment de lorganisation

Donner une vision des traitements et de la coordination des eacuteveacutenements deacuteclencheurs

Rapprocher les donneacutees et les traitements

2-FORMALISME DU MCTA

Pour mettre en eacutevidence lrsquoarticulation entre les donneacutees et les traitements dans le MCT on ajoute agrave droite de chaque opeacuteration les entiteacutes ou associations qui sont consulteacutees ou qui subissent un changement drsquoeacutetat (creacuteation mise agrave jour suppression hellip)

43

3-REPRESENTATION DES ACTIONS SUR LES DONNEES

Un objet correspond agrave une entiteacute ou une association du MCD correspondant au champ drsquoeacutetude du SI Une action est une manipulation (creacuteation consultation modification ou suppression) drsquoun objet du systegraveme drsquoinformation Elle est symboliseacutee par un trait entre lrsquoopeacuteration et lrsquoobjet manipuleacute Ce trait est non orienteacute sil sagit dune suppression et il est orienteacute pour les autres types de manipulation le sens de la flegraveche deacutepend du type de manipulation

Un eacutetat drsquoobjet est un stade transitoire par lequel passe un objet (entiteacute ou association) au cours de sa laquo vie raquo

Dans un MCTA une opeacuteration est composeacutee dun ensemble dactions sur les donneacutees

Les actions sur les donneacutees sont de 4 types

Creacuteation drsquoune occurrence

Creacuteation drsquoune occurrence de lrsquoobjet 1 dans lrsquoeacutetat 1

Suppression drsquoune occurrence

Suppression drsquoune occurrence de lrsquoobjet 3 se trouvant dans lrsquoeacutetat 2

Consultation drsquoune occurrence

Consultation drsquoune occurrence de lrsquoobjet 4 dans lrsquoeacutetat 6 Leacutetat de lrsquoobjet nrsquoest pas indiqueacute mais sera eacuteventuellement testeacute avant reacutealisation de la (ou des) action (s) suivante (s)

44

Modification drsquoune occurrence

Modification drsquoune occurrence de lrsquoobjet 2 si elle est dans lrsquoeacutetat 3 elle passe agrave lrsquoeacutetat 4 ou agrave lrsquoeacutetat 5

Lrsquoaction de modification inclut implicitement la ou les consultations preacutealables

On ne doit pas seacuteparer les consultations qui preacutecegravedent les modifications des modifications elles-mecircmes

Remarque geacuteneacuterale Lrsquoordre des actions drsquoune opeacuteration sera si possible preacutesenteacute de haut en bas

4-COMPLEMENTS

41-Condition de deacuteclenchement

Lrsquoaction eacuteleacutementaire peut ecirctre accompagneacutee drsquoune condition de deacuteclenchement (agrave indiquer au niveau du trait ou agrave cocircteacute de lrsquoobjet) Cette condition peut porter sur lrsquoeacutetat de la structure des donneacutees agrave un moment preacutecis etou sur le type drsquoeacuteveacutenement constateacute agrave lrsquoentreacutee de lrsquoopeacuteration

42-Action collective

Elle permet drsquoindiquer que lrsquoaction intervient sur un ensemble drsquooccurrences de lrsquoobjet concerneacute (toutes srsquoil nrsquoy a pas de condition de deacuteclenchement associeacutee limitant le nombre drsquooccurrences manipuleacutees)

Exemple en fin de mois une compagnie dassurances reacutesilie les polices quelle a proposeacutees degraves que le deacutelai de signature de celles-ci est deacutepasseacute

45

C1 si le deacutelai de signature est deacutepasseacute

43-Coheacuterence de la base de donneacutees

Une BD a coheacuterent si elle ne comporte pas de contradictions (par rapport aux regravegles de gestion en particulier)

Une action peut ne pas laisser la structure de donneacutees dans un eacutetat coheacuterent

En revanche la coheacuterence doit toujours ecirctre assureacutee au niveau drsquoune opeacuteration

44-REGLES DE VALIDATION DrsquoUN MCTA

Une opeacuteration conceptuelle ne doit pas ecirctre interrompue par lrsquoattente drsquoun eacuteveacutenement externe

Une opeacuteration conceptuelle prend la structure de donneacutees manipuleacutees dans un eacutetat coheacuterent et la rend dans un eacutetat coheacuterent

46

45-Exemple de MCTA

C1 si le client eacutetait preacuteceacutedemment un client prospect (cest-agrave-dire client potentiel)

C2 sil sagit dun nouveau client ou si le client eacutetait preacuteceacutedemment un client prospect le client est mis en portefeuille (cest-agrave-dire qursquoil est reacuteellement client)

C3 si disponibiliteacute de tous les produits (quantiteacute en stock suffisante pour assurer la livraison)

Remarque on considegravere ici qursquoil nrsquoy a pas de livraison partielle

47

  • I-Systegraveme drsquoinformation de gestion
    • Sommaire
      • 1-Qursquoest ce qursquoun systegraveme
      • 2-Qursquoest ce qursquoun systegraveme drsquoinformation de gestion
      • 3-Les fonctions du systegraveme drsquoinformation
      • II-MeriseModeacutelisation
        • Sommaire
          • 1-Qursquoest qursquoun modegravele
          • 2-La meacutethode Merise
            • 21-Les composantes de Merise
            • 22-La deacutemarche Merise
            • 23-Les niveaux drsquoabstraction
            • 24-La courbe du soleil
              • Deacutefinition
              • I-MCDRecueil des donneacutees
              • Exemple
              • II-MCDConcepts et du formalisme
                • Sommaire
                  • 1-Les concepts de base
                    • 11-Entiteacute
                    • 12-Association
                    • 13-Cardinaliteacutes
                      • 2-La notion drsquooccurrence
                      • III-MCDRegravegles de construction
                        • Sommaire
                          • 1-Regravegles concernant les proprieacuteteacutes
                          • 2-Regravegles concernant les entiteacutes
                          • 3-Regravegles concernant les associations
                          • IV-MCDIntroduction aux cardinaliteacutes
                            • Sommaire
                              • 1-Formalisme
                              • 2-La cardinaliteacute minimale
                                • 21--Exemples
                                • 22-Application
                                  • 3-La cardinaliteacute maximale
                                    • 31-Exemple 1
                                    • 32-Exemple 2
                                      • 4-Conclusion
                                      • 5-Exemple
                                      • 6-Repreacutesentation des cardinaliteacutes
                                      • I-MCDCardinaliteacutes
                                        • Sommaire
                                          • 1-Deacutefinition et formalisme
                                          • 2-La cardinaliteacute minimale
                                            • 21-Exemple
                                            • 22-Application
                                              • 3-La cardinaliteacute maximale
                                                • 31-Exemple
                                                  • 4-Reacutecapitulatif
                                                    • 41-Exemples complets
                                                      • II-MCDAssociations
                                                        • Sommaire
                                                          • 1-Les associations binaires concernant 2 entiteacutes
                                                            • 11-Les associations hieacuterarchiques [1 n]
                                                            • 12-Les associations non hieacuterarchiques [n n]
                                                            • 13-Les associations de type [1 1]
                                                              • 2-Les autres types dassociation
                                                                • 21-Les associations reacuteflexives
                                                                  • 211-Exemple dassociation reacuteflexive hieacuterarchique
                                                                  • 212--Exemples dassociations reacuteflexives non hieacuterarchiques
                                                                    • 22-Les associations de dimension 3 ou plus (ternaires ou plus)
                                                                      • III-MCDRepreacutesentation des cardinaliteacutes
                                                                      • IV-MCDAssociation ternaire
                                                                      • V-MCDAssociations reacuteflexives
                                                                      • 1-Exemple dassociation reacuteflexive hieacuterarchique
                                                                      • 2-Exemples dassociations reacuteflexives non hieacuterarchiques
                                                                      • I-MRRappel sur le modegravele relationnel
                                                                      • II-MRPassage du MCD au MR
                                                                        • Sommaire
                                                                          • 1-Regravegle 1
                                                                          • 2-Regravegle 2
                                                                          • 3-Exception agrave la regravegle 1
                                                                          • 4-Cas particulier des associations reacuteflexives
                                                                            • 41-Reacuteflexive hieacuterarchique
                                                                            • 42-Reacuteflexive non hieacuterarchique
                                                                              • E-Normalisation du modegravele relationnel
                                                                              • I-Deacutependance fonctionnelle
                                                                                • Sommaire
                                                                                  • 1-Introduction
                                                                                  • 2-Rappels sur la notion de deacutependance fonctionnelle
                                                                                    • 21-Deacutefinition
                                                                                    • 22-Terminologie
                                                                                    • 23-DF agrave partir de proprieacuteteacutes concateacuteneacutees
                                                                                    • 24-Proprieacuteteacutes des deacutependances fonctionnelles
                                                                                      • 241-Union
                                                                                      • 242-Transitiviteacute
                                                                                          • II-MRInteacuterecirct de la normalisation
                                                                                          • Exemple
                                                                                          • III-MR 3 formes normales
                                                                                            • Sommaire
                                                                                              • 1-1er forme normale
                                                                                              • 2-2egraveme forme normale
                                                                                              • 3-3egraveme forme normale
                                                                                              • 4-Application des regravegles
                                                                                              • 5-Reacutesumeacute
                                                                                              • F-MeriseLes diagrammes de flux
                                                                                              • I-MeriseVocabulaire associeacute aux modegraveles de flux
                                                                                                • Sommaire
                                                                                                  • 1-Domaine deacutetude
                                                                                                  • 2-Acteur externe
                                                                                                  • 3-Domaine connexe
                                                                                                  • 4-Flux de donneacutees
                                                                                                  • II-MeriseModegravele de contexte
                                                                                                  • II-MeriseMFC ou DFD
                                                                                                    • Sommaire
                                                                                                      • 1-Modegravele de flux conceptuel (MFC) ou diagramme de flux de donneacutees (DFD)
                                                                                                        • 11-Deacutefinition
                                                                                                        • 12-Exemple
                                                                                                        • 13-Regravegles de deacutecomposition des activiteacutes
                                                                                                          • I-MeriseMCT
                                                                                                            • Sommaire
                                                                                                              • 1-Modeacutelisation des Traitements
                                                                                                              • 2-Le MCT
                                                                                                              • 3-Les concepts du MCT
                                                                                                                • 31-Lrsquoeacuteveacutenement
                                                                                                                • 32-Lrsquoopeacuteration
                                                                                                                • 34-Le reacutesultat
                                                                                                                • 35-La synchronisation
                                                                                                                • 36-Rocircle des regravegles de gestion
                                                                                                                • 37-Le processus
                                                                                                                  • 4-Meacutethode drsquoeacutetablissement drsquoun MCT
                                                                                                                    • 41-Regravegles de validation
                                                                                                                    • 42-Cas particuliers
                                                                                                                      • 421-Cycles
                                                                                                                      • 422-Les eacuteveacutenements consommables
                                                                                                                          • II-MeriseInteacutegration des donneacutees dans le MCT
                                                                                                                            • Sommaire
                                                                                                                              • 1-DEFINITION
                                                                                                                              • 2-FORMALISME DU MCTA
                                                                                                                              • 3-REPRESENTATION DES ACTIONS SUR LES DONNEES
                                                                                                                              • 4-COMPLEMENTS
                                                                                                                                • 41-Condition de deacuteclenchement
                                                                                                                                • 42-Action collective
                                                                                                                                • 43-Coheacuterence de la base de donneacutees
                                                                                                                                • 44-REGLES DE VALIDATION DrsquoUN MCTA
                                                                                                                                • 45-Exemple de MCTA
Page 5: 7472422 Cours de Merise

Voici la preacutesentation de ces diffeacuterents modegraveles selon cette typologie

NIVEAU DONNEES TRAITEMENT

ConceptuelMCDModegravele Conceptuel des Donneacutees

MCTModegravele Conceptuel des Traitements

OrganisationnelMLDModegravele logique des donneacutees

MOTModegravele Organisationnel des Traitements

PhysiqueMPDModegravele Physique des Donneacutees

MOPTModegravele Opeacuterationnel des Traitements

24-La courbe du soleil

Merise est utiliseacute dans le cas ougrave lrsquoon veut mettre en place ou modifier un systegraveme informatiseacute Dans les deux cas il convient drsquoanalyser et de critiquer le systegraveme existant afin de creacuteer un nouveau systegraveme adapteacute agrave lrsquoorganisation Pour cela la deacutemarche consiste agrave suivre la laquo courbe du soleil raquo

Lrsquoanalyse du systegraveme existant conduit agrave construire

bull Au niveau logico-physique o Le modegravele conceptuel des communications (MCC) qui repreacutesente les eacutechanges

de flux drsquoinformations entre les diffeacuterents acteurs du SI et les acteurs exteacuterieurs

bullo Le scheacutema de circulation des documents (SCD) qui repreacutesente les eacutechanges

drsquoinformations entre les acteurs du SI ainsi que les tacircches qui produisent les documents

bull Au niveau organisationnel o Le modegravele organisationnel des traitements qui permet de preacuteciser par rapport agrave

lrsquoeacutetape preacuteceacutedente si les tacircches sont automatiseacutees ou manuelles les eacuteveacutenements deacuteclencheurs et les conditions drsquoeacutemission des objets externes

bull Au niveau conceptuel o Le MCD (modegravele conceptuel des donneacutees) et le MCT (modegravele conceptuel des

traitements)

Le passage de la modeacutelisation du systegraveme existant agrave la modeacutelisation du systegraveme futur implique une critique du systegraveme existant une reacuteflexion sur les eacutevolutions possibles en tenant compte des nouveaux objectifs assigneacutes au systegraveme futur Lrsquoanalyse du systegraveme futur conduit agrave construire

bull Au niveau conceptuel o Le MCD et le MCT deacutecoulant de la critique de lrsquoexistant

5

bull Au niveau organisationnel o Le MOT du systegraveme futur mettant en valeur la nouvelle organisation (y

compris en terme de ressources humaines et de nouveaux postes de travail)

bull Au niveau logico-physique o Le MLD modegravele logique des donneacutees et le MPD modegravele physique des donneacutees

obtenus agrave partir du MCD adapteacute aux choix effectueacutes dans le MOT et aux besoins drsquoinformations compleacutementaires

o Le MPT modegravele physique des traitements (algorithmes structure des programmeshellip)

B- Introduction au Modegravele conceptuel des donneacutees

Deacutefinition

Le modegravele conceptuel des donneacutees (MCD) a pour but de repreacutesenter de faccedilon structureacutee les donneacutees qui seront utiliseacutees par le systegraveme dinformation Le modegravele conceptuel des donneacutees deacutecrit la seacutemantique crsquoest agrave dire le sens attacheacute agrave ces donneacutees et agrave leurs rapports et non agrave lrsquoutilisation qui peut en ecirctre faite

On eacutetablit le MCD apregraves avoir recenseacute et donneacute un nom agrave lrsquoensemble des donneacutees du domaine eacutetudieacute Ensuite on eacutetudie les relations existantes entre ces donneacutees (deacutependances fonctionnelles) pour aboutir au MCD

I-MCDRecueil des donneacutees

Exemple

Voilagrave plusieurs phrases qui deacutecrivent une seule et mecircme personne prononceacutees par des personnes diffeacuterenteslaquo Odile Martin est une personne convenable Et je ne dis pas ccedila parce crsquoest une cliente qui mrsquoen prend pour 100F toutes les semaines raquo Le boulanger laquo MARTIN Odile habitant 6 rue des preacutes Saint Amour (Jura) neacutee le 130273 agrave Beacuteziers (Heacuterault) hellip raquo Un inspecteur de police judiciaire laquo Odile Martin voilagrave une personne qui nrsquoa jamais commis aucun peacutecheacute mortel qui a fait preuve de beaucoup de geacuteneacuterositeacute Elle ira au paradis raquo Saint Pierre Diffeacuterents interlocuteurs diffeacuterents points de vue Lequel est le plus pertinent Ca deacutepend du domaine eacutetudieacute Mais on ne recense que les informations objectives formelles

Quand on analyse les donneacutees sur un objet (abstrait ou concret) du reacuteel il est neacutecessaire de faire le tri entre ce qui est neacutecessaire pour le systegraveme drsquoinformation et ce qui ne lrsquoest pas

bull 2deg repreacutesentation

Odile sera repreacutesenteacutee par au moins ces informations

NomPreacutenomNumeacutero de la voieNature de la voieNom de la voieCommune de reacutesidenceDeacutepartement de reacutesidenceJour de naissanceMois de naissanceAnneacutee de naissance

6

Commune de naissanceDeacutepartement de naissance

Peut-on deacutecomposer encore Par exemple la commune de reacutesidence est composeacutee de 2 mots de mecircme que le nom de la voie hellip va-t-on les deacutecomposer Non ces mots repreacutesentent ensemble une information ne veulent rien dire agrave eux seuls

Mais nrsquoavons-nous pas trop deacutecomposeacute Il existe par exemple des liens entre les informations 3 4 et 5 qui repreacutesentent lrsquoadresse drsquoOdile entre les informations 8 et 9 qui repreacutesentent sa date de naissancehellip On va alors regrouper ensemble ces informations relieacutees

On remarque que toutes les personnes (et Odile est une personne on dit que crsquoest une OCCURRENCE de personne) de la maniegravere suivante

bull on peut dire qursquoon a creacuteeacute une entiteacute (un ensemble) PERSONNE dont Odile est une occurrence (ou instance)

Les donneacutees de base sont appeleacutees PROPRIETES ou ATTRIBUTS

II-MCDConcepts et du formalisme

Sommaire

bull 1 Les concepts de base o 11 Entiteacute o 12 Association o 13 Cardinaliteacutes

bull 2 La notion drsquooccurrence bull Exemple

7

1-Les concepts de base

11-Entiteacute

Une entiteacute repreacutesente un objet du SI (acteur document concept hellip) ou plus exactement un ensemble drsquoobjets ayant les mecircmes caracteacuteristiquesDans une entiteacute on met les informations neacutecessaires et suffisantes pour caracteacuteriser cette entiteacute Ces informations sont appeleacutees proprieacuteteacutes Les proprieacuteteacutes sont collecteacutees lors de lrsquoeacutetablissement du dictionnaire des donneacutees (voire partie suivante) Les proprieacuteteacutes prennent des valeurs pour chaque occurrence drsquoune entiteacute

Une proprieacuteteacute particuliegravere appeleacutee identifiant permet de distinguer sans ambiguiumlteacute toutes les occurrences de lrsquoentiteacute Lrsquoidentifiant est toujours souligneacute Lrsquoidentifiant est une proprieacuteteacute qui ne peut pas changer au cours du temps pour une occurrence

12-Association

Crsquoest un lien entre deux entiteacutes (ou plus) On doit lui donner un nom souvent un verbe qui caracteacuterise le type de relation entre les entiteacutes

Une association possegravede parfois des proprieacuteteacutes

13-Cardinaliteacutes

Ce sont des expressions qui permettent drsquoindiquer combien de fois au minimum et au maximum le lien entre 2 entiteacutes peut se produire Pour une association de 2 entiteacutes il y a 4 cardinaliteacutes agrave indiquer

Il y a trois valeurs typiques 0 1 et N (plusieurs)Les cardinaliteacutes traduisent des regravegles de gestion Ce sont des regravegles propre au SI eacutetudieacute qui expriment des contraintes sur le modegravele

2-La notion drsquooccurrence

Il ne faut pas confondre

bull ENTITE et OCCURRENCE drsquoentiteacute bull ni PROPRIETE et VALEUR de proprieacuteteacute bull ni ASSOCIATION et OCCURRENCE drsquoassociation

Reprenons ces concepts Une ENTITE est une FAMILLE drsquoobjets ayant les mecircmes caracteacuteristiques appeleacutees proprieacuteteacutes

Un MEMBRE de la famille est appeleacute OCCURRENCE drsquoentiteacute

Une entiteacute repreacutesente un ENSEMBLE drsquoOCCURRENCES

Une PROPRIETE est une information eacuteleacutementaire qui permet de deacutecrire une entiteacute ou une association Une proprieacuteteacute peut prendre une VALEUR (crsquoest lrsquoeacutequivalent drsquoune variable) (On peut dire qursquoune VALEUR est une OCCURRENCE de PROPRIETE)

De mecircme une ASSOCIATION est un LIEN entre 2 entiteacutes ou plus et une OCCURRENCE drsquoassociation est un lien entre 2 OCCURRENCES drsquoentiteacutes

8

bull Exemple

Consideacuterons le scheacutema suivant

PROPRIETE VALEUR de PROPRIETE

Reacutefeacuterence 456

Deacutesignation Manteau

Prix unitaire 100euro

ENTITE OCCURRENCE drsquoentiteacute

PRODUIT Manteau de reacutefeacuterence 456 agrave 100euro

COMMANDE numeacutero 123 du 081002

ASSOCIATION OCCURRENCE drsquoassociation

CONCERNER lien entre la commande 123 et le manteau 456 pour une quantiteacute de 3 uniteacutes

bull On peut repreacutesenter une entiteacute comme un ensemble ougrave les eacuteleacutements sont les occurrences

bull Une association peut ecirctre vue comme lrsquoensemble des relations entre les occurrences des entiteacutes associeacutees

Attention agrave ne pas confondre occurrences et proprieacuteteacutes En effet on peut dire agrave la fois qursquoune entiteacute est un ensemble de proprieacuteteacutes et un ensemble drsquooccurrences

Une proprieacuteteacute est une rubrique un eacuteleacutement drsquoinformation qui permet de deacutecrire une entiteacute Une entiteacute est deacutecrite par plusieurs proprieacuteteacutesUne occurrence est un exemplaire un eacuteleacutement particulier de la famille repreacutesenteacutee par lrsquoentiteacute Les proprieacuteteacutes drsquoune entiteacute prennent des valeurs pour chaque occurrenceChaque occurrence drsquoentiteacute est identifieacutee de maniegravere unique par un identifiant qui est une proprieacuteteacute particuliegravere telle que 2 occurrences de lrsquoentiteacute ne peuvent pas avoir la mecircme valeur pour cette proprieacuteteacute

9

On repreacutesente souvent les occurrences drsquoune entiteacute sous forme drsquoun tableau Les lignes correspondent aux occurrences et les colonnes correspondent aux proprieacuteteacutes

bull Exemple

III-MCDRegravegles de construction

Sommaire

bull 1 Regravegles concernant les proprieacuteteacutes bull 2 Regravegles concernant les entiteacutes

bull 3 Regravegles concernant les associations

1-Regravegles concernant les proprieacuteteacutes

bull Pour qursquoil nrsquoy ait pas drsquoambiguiumlteacute possible une proprieacuteteacute ne peut pas apparaicirctre plusieurs fois dans un MCD

Autrement dit toutes les proprieacuteteacutes drsquoun MCD doivent ecirctre diffeacuterentes les unes des autres Exemples Une proprieacuteteacute Date ne peut pas apparaicirctre simultaneacutement dans une entiteacute COMMANDE et une entiteacute FACTURE Si crsquoeacutetait le cas il faudrait remplacer Date par Date_commande et Date_facture par exemple

bull Toute proprieacuteteacute ne doit avoir agrave un moment donneacute qursquoune seule valeur pour une occurrence Par conseacutequent un nom de proprieacuteteacute doit toujours ecirctre au singulier

Exemple Dans la proprieacuteteacute note drsquoune entiteacute ELEVE on ne peut avoir qursquoune seule note Si on veut la note de plusieurs matiegraveres il faut mettre autant de proprieacuteteacutes qursquoil y a de matiegraveres par exemple noteALSI noteAMSI noteDAIGL etc

2-Regravegles concernant les entiteacutes

bull Toute entiteacute doit comporter un identifiant qui permet de distinguer entre elles toutes les occurrences drsquoune mecircme entiteacute Lrsquoidentifiant est placeacute en tecircte des proprieacuteteacutes et il est souligneacute

bull Pour chaque occurrence drsquoune entiteacute il ne doit y avoir qursquoune seule valeur pour chacune des proprieacuteteacutes agrave un instant donneacute Cette valeur peut changer au cours du temps mais agrave un instant donneacute il nrsquoy en a qursquoune seule

3-Regravegles concernant les associations

bull Lrsquoidentifiant drsquoune association est implicitement formeacute par la concateacutenation des identifiants des entiteacutes lieacutees

10

On ne repreacutesente pas cet identifiant au niveau du MCD Deux occurrences drsquoassociation ne peuvent pas avoir le mecircme identifiant Pour une occurrence lrsquoidentifiant ne doit jamais changer de valeur (lrsquoidentifiant est une proprieacuteteacute constante)

bull Une association peut avoir des proprieacuteteacutes mais ce nrsquoest pas obligatoire

IV-MCDIntroduction aux cardinaliteacutes

Sommaire

bull 1 Formalisme bull 2 La cardinaliteacute minimale

o 21 Exemples o 22 Application

bull 3 La cardinaliteacute maximale o 31 Exemple 1 o 32 Exemple 2

bull 4 Conclusion bull 5 Exemple

bull 6 Repreacutesentation des cardinaliteacutes

Les cardinaliteacutes drsquoune entiteacute dans une association exprime le nombre de fois qursquoune occurrence de cette entiteacute est impliqueacutee dans lrsquoassociation au minimum et au maximum

1-Formalisme

2-La cardinaliteacute minimale

Elle est exprimeacutee presque toujours par lrsquoune des deux valeurs 0 ou 1Elle traduit combien de fois au minimum une occurrence de lrsquoentiteacute participe agrave lrsquoassociation

21--Exemples

Pour la cardinaliteacute mini entre client et commander il faut se poser la question Pour un client donneacute combien de fois au minimum il commande Si la reacuteponse est laquo tout client doit passer au moins une commande sinon ce nrsquoest pas un client raquo on met la cardinaliteacute mini agrave 1

11

Mais on peut tregraves bien imaginer que lrsquoentreprise veut aussi meacutemoriser les clients potentiels (prospects) qui nrsquoont encore rien commandeacute Dans ce cas un client peut tregraves bien ne pas avoir encore commandeacute et on met la cardinaliteacute mini agrave 0

22-Application

1 Trouver la question qui permet de trouver la cardinaliteacute minimale pour lrsquoentiteacute produit et lrsquoassociation commander

2 Faites deux hypothegraveses de regravegle de gestion concernant ce lien et trouver les cardinaliteacutes minimales correspondantes

3-La cardinaliteacute maximale

Elle traduit combien de fois au maximum lrsquoentiteacute peut ecirctre en relation avec lrsquoassociation Cela peut ecirctre plusieurs fois (si crsquoest un nombre indeacutetermineacute on indique la valeur n) ou une seule foisOn reacutepond agrave la question Combien au maximum lrsquoentiteacute peut participer agrave lrsquoassociation Si la reacuteponse est laquo au plus une fois raquo la cardinaliteacute maximale prend pour valeur 1Si la reacuteponse est laquo plusieurs raquo la cardinaliteacute maximale prend la valeur N

31-Exemple 1

bull REGLES DE GESTION

Un salarieacute est affecteacute au plus agrave un seul service Dans un service sont affecteacutes plusieurs salarieacutes

Il arrive (mais crsquoest rare) qursquoune cardinaliteacute maximale ait une valeur limiteacutee

32-Exemple 2

bull REGLE DE GESTION Un eacutelegraveve doit suivre au minimum une option et au maximum 3 options

12

4-Conclusion

En fait dans la grande majoriteacute des cas on nrsquoutilise que 4 combinaisons de valeurs pour les cardinaliteacutes

bull 01 au plus un(e) bull 11 un(e) et un(e) seul(e) bull 1 n un(e) ou plusieurs bull 0 n zeacutero ou plusieurs

5-Exemple

6-Repreacutesentation des cardinaliteacutes

Une voiture est posseacutedeacutee par une seule personne Une personne peut posseacuteder de 0 agrave plusieurs voitures

Une personne a une adresse ou est sans domicile A une adresse il y a une ou plusieurs personne qui y habitent

13

C-Les cardinaliteacutes et les diffeacuterents types dassociations

I-MCDCardinaliteacutes

Sommaire

bull 1 Deacutefinition et formalisme bull 2 La cardinaliteacute minimale

o 21 Exemple o 22 Application

bull 3 La cardinaliteacute maximale o 31 Exemple

bull 4 Reacutecapitulatif o 41 Exemples complets

1-Deacutefinition et formalisme

Les cardinaliteacutes sont des couples de valeur que lon trouve entre chaque entiteacute et ses associations lieacuteesDonc pour une association de 2 entiteacutes il y a 4 cardinaliteacutes agrave indiquer (2 de chaque cocircteacute)Il y a trois valeurs typiques 0 1 et N (plusieurs)

Pour les associations agrave 2 entiteacutes ce sont des valeurs qui permettent drsquoindiquer combien de fois au minimum et au maximum une occurrence dentiteacute peut ecirctre lieacutee agrave une autre occurrence dentiteacute

De maniegravere plus geacuteneacuterale les cardinaliteacutes drsquoune entiteacute dans une association expriment le nombre de fois qursquoune occurrence de cette entiteacute peut ecirctre impliqueacutee dans une occurrence de lassociation au minimum et au maximum

Les cardinaliteacutes traduisent des regravegles de gestion Ce sont des regravegles propres agrave lorganisation eacutetudieacutee qui sont deacutecideacutees par les gestionnaires et deacutecideurs Ces regravegles expriment des contraintes sur le modegravele

2-La cardinaliteacute minimale

14

Elle est exprimeacutee presque toujours par lrsquoune des deux valeurs 0 ou 1 Elle traduit combien de fois au minimum une occurrence de lrsquoentiteacute participe agrave lrsquoassociation autrement dit si une occurrence est obligatoirement associeacutee agrave une autre ou pas

21-Exemple

Pour la cardinaliteacute minimale entre client et commander il faut se poser la question Pour un client donneacute combien de fois au minimum il commande

ou encore mieux Est-il obligatoire quun client effectue une commande de produit

Cela deacutepend des REGLES DE GESTION de lentreprise Si la regravegle de gestion est laquo tout client doit passer au moins une commande sinon ce nrsquoest pas un client raquo on met la cardinaliteacute mini agrave 1

Mais on peut tregraves bien imaginer que lrsquoentreprise veut aussi meacutemoriser les clients potentiels (prospects) qui nrsquoont encore rien commandeacute Dans ce cas un client peut tregraves bien ne pas avoir encore commandeacute et on met la cardinaliteacute mini agrave 0

En fait les cardinaliteacutes deacutependent des regravegles de gestion propres agrave lrsquoorganisation eacutetudieacutee La regravegle peut tregraves bien ecirctre laquo On ne meacutemorise que les clients qui ont deacutejagrave commandeacute raquo ou bien laquo On veut meacutemoriser les prospects raquo

22-Application

bull Trouver la question qui permet de trouver la cardinaliteacute minimale pour lrsquoentiteacute produit et lrsquoassociation commander

Reacuteponse Est-il obligatoire quun produit ait eacuteteacute commandeacute pour quil soit meacutemoriseacute dans la base de donneacutee ou bien Peut-il exister dans la base de donneacutee des produits qui nont jamais eacuteteacute commandeacutes

bull Faites deux hypothegraveses de regravegle de gestion concernant ce lien et trouver les cardinaliteacutes minimales correspondantes

Reacuteponse H1 lentreprise peut proposer de nouveaux produits sur catalogue par exemple quelle meacutemorise dans sa base de donneacutees mais qui nont jamais encore eacuteteacute commandeacutes =gt cardinaliteacute minimale agrave 0 (cest plutocirct le cas pour les entreprises de vente)

15

H2 tout produit inscrit dans la base de donneacutee est forceacutement commandeacute (par exemple parce que lentreprise ne propose pas de catalogue mais fabrique seulement agrave la commande) =gt cardinaliteacute minimale agrave 1 (cest plutocirct le cas pour les entreprises de production)

3-La cardinaliteacute maximale

Elle traduit combien de fois au maximum une occurrence dentiteacute peut ecirctre en relation avec une occurrence de lassociation Cela peut ecirctre plusieurs fois (si crsquoest un nombre indeacutetermineacute on indique la valeur n) ou une seule fois

Cette cardinaliteacute reacutepond agrave la question

bull la participation dune occurrence doit-elle ecirctre unique ou bien peut-elle ecirctre multiple ou bien

bull combien de fois au maximum une occurrence est elle impliqueacutee dans lassociation

Si lassociation est binaire (relie seulement deux entiteacute) la question peut ecirctre aussi

bull Une occurrence de lentiteacute peut-elle ecirctre relieacutee agrave plusieurs occurrences de lautre entiteacute ou bien ne peut-elle ecirctre relieacutee quagrave une seule autre occurrence au plus

Si la reacuteponse est laquo au plus une fois raquo (participation unique) la cardinaliteacute maximale prend pour valeur 1 Si la reacuteponse est laquo plusieurs raquo (participation multiple) la cardinaliteacute maximale prend la valeur N

31-Exemple

bull RG (regravegles de gestion)

1 Un salarieacute est affecteacute au plus agrave un seul service 2 Dans un service sont affecteacutes plusieurs salarieacutes

Il arrive (mais crsquoest rare) qursquoune cardinaliteacute maximale ait une valeur limiteacutee

bull Exemple

RG Un eacutelegraveve peut suivre au maximum 3 options

4-Reacutecapitulatif

16

En fait dans la grande majoriteacute des cas on nrsquoutilise que 4 combinaisons de valeurs pour les cardinaliteacutes

bull 01 au plus un(e) bull 11 un(e) et un(e) seul(e) bull 1n un(e) ou plusieurs bull 0 n zeacutero ou plusieurs

41-Exemples complets

RG un client commande au moins 1 produit (sous entendu ou plusieurs) et un produit peut ne pas encore avoir eacuteteacute commandeacute comme il peut lavoir eacuteteacute plusieurs fois

RG Un salarieacute est obligatoirement affecteacute agrave 1 et 1 seul service Un service pour exister doit avoir au moins un salarieacute affecteacute (sous-entendu il peut bien sur en avoir plusieurs)

II-MCDAssociations

Sommaire

1 Les associations binaires concernant 2 entiteacutes

11 Les associations hieacuterarchiques [1n]

12 Les associations non hieacuterarchiques [n n]

13 Les associations de type [1 1]

2 Les autres types dassociation

21 Les associations reacuteflexives

211 Exemple dassociation reacuteflexive hieacuterarchique

212 Exemples dassociations reacuteflexives non hieacuterarchiques

22 Les associations de dimension 3 ou plus (ternaires ou plus)

1-Les associations binaires concernant 2 entiteacutes

17

On distingue trois cateacutegories dassociations en fonction des cardinaliteacutes maximales de ses branches

-Les associations hieacuterarchiques encore appeleacutees associations [1 n] ou associations fonctionnelles

-Les associations non hieacuterarchiques encore appeleacutees associations [n n] ou non fonctionnelles

-Les association [1 1] les 2 branches ont pour cardinaliteacute maximale 1 Ce cas est rare

11-Les associations hieacuterarchiques [1 n]

Ce sont les associations ougrave dun cocircteacute la |cardinaliteacute maximale est agrave 1 et de lautre cocircteacute la cardinaliteacute maximale est agrave n

Cela signifie quune occurrence de A est relieacutee au plus agrave une seule occurrence de B Cest-agrave-dire si on connaicirct une occurrence de A alors on saura forceacutement quelle est la seule occurrence de B qui correspond (si elle existe) On dit que A deacutetermine B Cest un lien de deacutependance fonctionnelle B deacutepend fonctionnellement de A

Lentiteacute qui correspond agrave la branche du cocircteacute du 1 est parfois appeleacutee entiteacute fils et lentiteacute correspondant agrave la branche du cocircteacute n est parfois appeleacutee entiteacute pegravere Cette appellation deacutecoule de lanalogie un fils na quun seul pegravere et un pegravere peut avoir plusieurs fils

12-Les associations non hieacuterarchiques [n n]

13-Les associations de type [1 1]

Cas exceptionnel

Ex un employeacute travaille sur un ordinateur (p 99 de Modeacuteliser les donneacutees) La facture correspondant agrave une commande

2-Les autres types dassociation

18

Le plus souvent une association relie 2 entiteacutes avec 2 branches Ce type dassociation est appeleacute association binaire Nous avons deacutejagrave eacutetudieacute en deacutetail les diffeacuterents types dassociations binaires

Mais une association peut aussi relier 3 ou tregraves rarement 4 entiteacutes (quasiment jamais plus) On parle dassociation ternaire quaternaire (n-aire) Enfin une association peut aussi relier une entiteacute agrave elle-mecircme cest-agrave-dire que des occurrences de la mecircme entiteacute sont relieacutees entre elles Lassociation correspondante est qualifieacutee de reacuteflexive Ce sont ces autres types dassociation que nous allons eacutetudier maintenant

21-Les associations reacuteflexives

Une association reacuteflexive est une association reliant des occurrences de la mecircme entiteacute Ces associations sont quasiment toujours binaire (2 branches) Pour lire une association reacuteflexive il est faut connaicirctre le rocircle attribueacute agrave chaque branche de lassociation Il existe comme pour les autres associations des associations reacuteflexives hieacuterarchique et des associations reacuteflexives non hieacuterarchique

211-Exemple dassociation reacuteflexive hieacuterarchique

Dans une entreprise bureaucratique chaque salarieacute a un seul chef (supeacuterieur hieacuterarchique direct) sauf le patron et chaque chef a au moins un salarieacute sous ses ordres Evidemment certains salarieacutes ne sont chefs de personnes

Exemples doccurrences diagramme doccurrences

Remarquez limportance du rocircle dans le diagramme doccurrence

212--Exemples dassociations reacuteflexives non hieacuterarchiques

19

Piegraveces composants composeacute = reacuteflexive asymeacutetrique

Personnes fregraveres = reacuteflexive symeacutetrique (rocircle pas indispensable car a pour fregravere = ecirctre fregravere de)

Preacutecision de vocabulaire dimension dune association

La dimension dune association correspond au nombre de branches de lassociation Dans plus de 80 des cas les associations sont binaires Dimension 2 binaire Dimension 3 ternaire (rare) Dimension supeacuterieure aire (exceptionnel)

Lorsquil ny a pas de reacuteflexiviteacute le nombre de branches est eacutegal au nombre dentiteacutes relieacutees La dimension est dans ce cas le nombre dentiteacutes concerneacutees par lassociation Mais la reacuteflexiviteacute existe et donc on peut avoir plusieurs branches de la mecircme association sur la mecircme entiteacute Dans ce cas alors la dimension est supeacuterieure au nombre dentiteacutes concerneacutees

Dimension = nombre dentiteacute lieacutees

Une association reacuteflexive (1 entiteacute) est quasiment toujours binaire (2 branches) On pourrait aussi avoir une association ternaire impliquant seulement deux entiteacutes

22-Les associations de dimension 3 ou plus (ternaires ou plus)

Une association peut relier plus de 2 entiteacutes ensemble le plus souvent trois On parle alors dassociation ternaire On utilise une association ternaire quand on a besoin de connaicirctre une occurrence de chaque entiteacute pour avoir une information

Exemple

Pour connaicirctre la quantiteacute de chacune des piegraveces fabriqueacutee par chaque ouvrier agrave une date donneacutee on utilise une association ternaire entre OUVRIER PIECE et DATE La quantiteacute est une donneacutee porteacutee par cette association

Une occurrence de lassociation fabrique implique une seule occurrence de chaque entiteacute

20

Exemple

Ouvrier Piegravece Date quantiteacute

Dupont 1 1702 50

Dubois 2 1702 100

Martin 1 1702 40

Dupont 3 1702 55

Dubois 3 1702 20

Dupont 1 1602 40

Martin 1 1602 40

Lassociation ternaire implique aussi que

Pour un ouvrier on peut avoir plusieurs piegraveces diffeacuterentes agrave la mecircme date (il peut fabriquer plusieurs types de piegraveces le mecircme jour)

Une piegravece peut ecirctre fabriqueacutee par plusieurs ouvriers diffeacuterents le mecircme jour

A des dates diffeacuterentes un mecircme ouvrier peut fabriquer les mecircmes piegraveces

Lidentifiant dune association ternaire est formeacutee de la concateacutenation (juxtaposition) des identifiants des 3 entiteacutes relieacutees

Dans notre exemple on ne peut donc pas avoir plusieurs occurrences de fabrique qui concernent Dupont la piegravece ndeg1 agrave la date du 1702

III-MCDRepreacutesentation des cardinaliteacutes

bull Une voiture est posseacutedeacutee par une seule personne Une personne peut posseacuteder de 0 agrave plusieurs voitures

21

bull Une personne a une adresse ou est sans domicile A une adresse il y a une ou plusieurs personnes qui y habitent

IV-MCDAssociation ternaire

bull Une association peut relier plus de 2 entiteacutes ensemble le plus souvent trois On parle alors dassociation ternaire (dimension 3) On utilise une association ternaire quand on a besoin de connaicirctre une occurrence de chaque entiteacute pour avoir une information

bull Ex

Pour connaicirctre la quantiteacute de chacune des piegraveces fabriqueacutee par chaque ouvrier agrave une date donneacutee on utilise une association ternaire entre OUVRIER PIECE et DATE La quantiteacute est une donneacutee porteacutee par cette association

22

Une occurrence de lassociation fabrique implique une seule occurrence de chaque entiteacute Exemple

Ouvrier Piegravece Date quantiteacuteDupont 1 1702 50Dubois 2 1702 100Martin 1 1702 40Dupont 3 1702 55Dubois 3 1702 20Dupont 1 1602 40Martin 1 1602 40

Lassociation ternaire implique aussi que

1 Pour un ouvrier on peut avoir plusieurs piegraveces diffeacuterentes agrave la mecircme date (il peut fabriquer plusieurs types de piegraveces le mecircme jour)

2 Une piegravece peut ecirctre fabriqueacutee par plusieurs ouvriers diffeacuterents le mecircme jour 3 A des dates diffeacuterentes un mecircme ouvrier peut fabriquer les mecircmes piegraveces

Lidentifiant dune association ternaire est formeacutee de la concateacutenation (juxtaposition) des identifiants des 3 entiteacutes relieacutees

Dans notre exemple on ne peut donc pas avoir plusieurs occurrences de fabrique qui concernent Dupont la piegravece ndeg1 agrave la date du 1702

V-MCDAssociations reacuteflexives

Une association reacuteflexive est une association reliant des occurrences de la mecircme entiteacute Ces associations sont quasiment toujours binaire (2 branches)

Pour lire une association reacuteflexive il est faut connaicirctre le rocircle attribueacute agrave chaque branche de lassociation cest agrave dire le rocircle de chaque occurrence dans le lien

23

Il existe comme pour les autres associations des associations reacuteflexives hieacuterarchique (une des cardinaliteacutes maximales agrave 1) et des association reacuteflexives non hieacuterarchique (les deux cardinaliteacutes maximales agrave n)

1-Exemple dassociation reacuteflexive hieacuterarchique

Dans une entreprise bureaucratique chaque salarieacute a un seul chef (supeacuterieur hieacuterarchique direct) sauf le patron et chaque chef a au moins un salarieacute sous ses ordres Evidemment certains salarieacutes ne sont chefs de personnes

Un mecircme salarieacute peut agrave la fois ecirctre chef et avoir un chef Tutu peut ecirctre chef de titi et de toto et dautres salarieacutes mais il na quun seul chef au maximum toto peut ecirctre le chef de coco et avoir pour chef tutu

2-Exemples dassociations reacuteflexives non hieacuterarchiques

Piegraveces composants composeacute = reacuteflexive asymeacutetrique

Une piegravece peut entrer dans la composition de plusieurs autres piegraveces (ex un boulon) Une piegravece peut aussi ecirctre composeacutee de plusieurs autres piegraveces (ex un moteur) Une mecircme piegravece peut ecirctre composeacutee dautres piegraveces et entrer dans la composition dune ou plusieurs autres piegraveces (ex une carte reacuteseau)

Preacutecision de vocabulaire dimension dune association

La dimension dune association correspond au nombre de branches de lassociation Dans plus de 80 des cas les associations sont binaires

Dimension 2 binaire Dimension 3 ternaire (rare) Dimension supeacuterieure n-aire (exceptionnel)

Lorsquil ny a pas de reacuteflexiviteacute le nombre de branches est eacutegal au nombre dentiteacutes relieacutees La dimension est dans ce cas le nombre dentiteacutes concerneacutees par lassociation Mais la reacuteflexiviteacute existe et donc on peut avoir plusieurs branches de la mecircme association sur la mecircme entiteacute Dans ce cas alors la dimension est supeacuterieure au nombre dentiteacutes concerneacutees

24

Dimension = nombre dentiteacute lieacutees

Une association reacuteflexive (1 entiteacute) est quasiment toujours binaire (2 branches) On pourrait aussi avoir une association ternaire impliquant seulement deux entiteacutes

D-Passage MCD lt=gt modegravele relationnel

I-MRRappel sur le modegravele relationnel

Cest un modegravele LOGIQUE de donneacutee celui qui correspond agrave lorganisation des donneacutees dans les bases de donneacutees relationnelles (il existe dautres organisations de bases de donneacutees hieacuterarchique reacuteseau objethellip)

Les SGBD actuels les plus courants sont relationnels (Oracle SQL Server Access MySQL hellip )

Un modegravele relationnel est composeacute de relations encore appeleacutee tables Ces tables sont deacutecrites par des attributs ou champs (noms de colonnes) Pour deacutecrire une relation on indique tout simplement son nom en majuscule suivi du nom de ses attributs entre parenthegraveses

Lidentifiant dune relation est composeacute dun ou plusieurs attributs qui forment la cleacute primaire Une relation peut faire reacutefeacuterence agrave une autre en utilisant une cleacute eacutetrangegravere qui correspond agrave la cleacute primaire de la relation reacutefeacuterenceacutee

Il ny a pas de notation officielle pour repeacuterer les cleacutes primaires et eacutetrangegraveres Cest agrave vous den adopter une et de lexpliquer en leacutegende Toutefois une notation sest peu agrave peu reacutepandue

bull on souligne la cleacute primaire dun seul trait bull on fait preacuteceacuteder (ou suivre) les cleacutes eacutetrangegraveres du symbole

Chaque ligne (tuple ou enregistrement) dune table repreacutesente une occurrence de lentiteacute ou de lassociation correspondante

II-MRPassage du MCD au MR

Sommaire

bull 1 Regravegle 1 bull 2 Regravegle 2 bull 3 Exception agrave la regravegle 1 bull 4 Cas particulier des associations reacuteflexives

o 41 Reacuteflexive hieacuterarchique o 42 Reacuteflexive non hieacuterarchique

25

1-Regravegle 1

Toute entiteacute devient une relation ayant pour cleacute primaire son identifiant

Chaque proprieacuteteacute se transforme en attribut CLIENT (code_client nom preacutenom adresse code_postal ville teacuteleacutephone)

Remarque contrairement aux proprieacuteteacutes les attributs ne doivent pas comporter despaces

2-Regravegle 2

Toute association non hieacuterarchique (de type [n n] ou de dimension gt 2) devient une relation La cleacute primaire est formeacutee par la concateacutenation (juxtaposition) lensemble des identifiants des entiteacutes relieacutees Toutes les proprieacuteteacutes eacuteventuelles deviennent des attributs qui ne peuvent pas faire partie de la cleacute

CONCERNER (numeacutero_commande reacutefeacuterence_article quantiteacute)

Cette regravegle est valable pour toutes les associations ternaires (ou quaternaires) qui sont forceacutement non hieacuterarchiques (|cardinaliteacutes maximales toutes eacutegales agrave n)

3- Exception agrave la regravegle 1

Les entiteacutes nayant que leur identifiant comme attribut ne deviennent pas des relations mais des attributs dans les autres relations lieacutees

Avec ce modegravele on meacutemorise chaque jour pour chaque ouvrier les piegraveces quil a fabriqueacute et en quelle quantiteacute Quand on passe au modegravele relationnel lentiteacute DATE FABRICATION ne

26

devient pas une relation mais un attribut cleacute dans la relation FABRIQUE issue de lassociation

FABRIQUE (code_ouvrier reacutefeacuterence_piegravece date quantiteacute) Date ici fait partie de la cleacute primaire mais nest pas cleacute eacutetrangegravere

4-Cas particulier des associations reacuteflexives

Les associations reacuteflexives suivent les regravegles 2 ou 3 selon les |cardinaliteacutes mais posent un problegraveme particulier une mecircme proprieacuteteacute va se retrouver deux fois en attribut dans la mecircme relation Il faut alors donner un nom diffeacuterent et significatif aux deux attributs correspondants

Dans les reacuteflexives il est conseilleacute de nommer les branches par des rocircles pour pouvoir lire dans le bon sens lassociation Les rocircles aident agrave nommer les attributs correspondant agrave lassociation

41-Reacuteflexive hieacuterarchique

(Une branche agrave la cardinaliteacute maxi agrave 1 et lautre agrave n)

Regravegle ndeg 2

Lecture de lassociation Regravegle ndeg1 lidentifiant de SALARIE va devenir cleacute primaire et les autres proprieacuteteacutes des attributsRegravegle ndeg2 pour traduire lassociation [1 n] encadrer lidentifiant de lentiteacute SALARIE devient cleacute eacutetrangegraverelidentifiant de SALARIE matricule se retrouve deux fois dans la relation comme cleacute primaire et comme cleacute eacutetrangegravereOn va donc donner un nom diffeacuterent et significatif agrave ces deux matricules par exemple Un salarieacute a pour chef 0 ou un seul autre salarieacute Un salarieacute est chef de 0 agrave n autre(s) salarieacute

Traduction en modegravele relationnel

SALARIE (matricule nom preacutenom fonctionhellip matricule_chef)

42-Reacuteflexive non hieacuterarchique

Regravegle ndeg3

27

bull Lecture de lassociation

Une piegravece entre dans la composition de 0 agrave plusieurs autres piegraveces Une piegravece peut ecirctre composeacutee de plusieurs autres piegraveces Une piegravece entre dans la composition dune autre un certain nombre de fois

Ex La piegravece voiture est composeacutee de 4 piegraveces roue La piegravece roue est elle-mecircme composeacutee dune piegravece pneu et dune piegravece jante

Une piegravece entrant dans la composition dune autre est appeleacutee composant Une piegravece composeacutee dautres piegraveces est appeleacutee composeacute Une roue est agrave la fois un composant (de voiture) et un composeacute (de pneu et jante)

bull Traduction en modegravele relationnel

PIECE (reacutefeacuterence libelleacute)COMPOSITION(reacutefeacuterence_composeacute reacutefeacuterence_composant nombre)

E-Normalisation du modegravele relationnel

I- Deacutependance fonctionnelle

Sommaire

1 Introduction

2 Rappels sur la notion de deacutependance fonctionnelle

21 Deacutefinition

22 Terminologie

23 DF agrave partir de proprieacuteteacutes concateacuteneacutees

24 Proprieacuteteacutes des deacutependances fonctionnelles

241 Union

242 Transitiviteacute

1-Introduction

Lobjectif de la normalisation est de construire un scheacutema de base de donneacutees coheacuterentUn mauvais scheacutema logique peut conduire agrave un certain nombre danomalies pendant la phase dexploitation de la base de donneacutee Nous allons voir ces anomalies dans une premiegravere partiePour qursquoun modegravele relationnel soit normaliseacute il faut qursquoil respecte certaines contraintes appeleacutees les formes normales Les formes normales srsquoappuient sur les deacutependances fonctionnelles entre attributs

2-Rappels sur la notion de deacutependance fonctionnelle

La construction du MCD mais eacutegalement du modegravele relationnel correspondant repose presque entiegraverement sur le concept de deacutependance fonctionnelle Crsquoest ce concept qui permet

28

de passer drsquoun ensemble de proprieacuteteacutes non structureacute agrave un modegravele conceptuel des donneacutees formeacute drsquoentiteacutes et drsquoassociations et au modegravele relationnel correspondant

21-Deacutefinition

On dit que b est en deacutependance fonctionnelle (DF) de a si agrave une valeur quelconque de la proprieacuteteacute a on ne peut faire correspondre qursquoune seule valeur au plus de la proprieacuteteacute b

On note a b(Source)-gt (but)

Autrement dit si on connaicirct la valeur de a on peut en deacuteduire une seule valeur de bMais la reacuteciproque nrsquoest pas vrai (si on connaicirct b on ne peut pas en deacuteduire a)

bull Exemple

Num client Nom client

Il existe une DF entre num client et Nom client car si on connaicirct une valeur de la proprieacuteteacute num client (ex 4553) il ne peut lui correspondre qursquoune seule valeur de la proprieacuteteacute nom (ex Duval)

La reacuteciproque est fausse

Nom client Num client nrsquoest pas une DF

Si lrsquoon connaicirct la valeur de la proprieacuteteacute Nom client on ne peut pas en deacuteduire la proprieacuteteacute Num client car il peut y avoir des homonymes

22-Terminologie

Si on a une deacutependance fonctionnelle a b on peut employer les expressions suivantes de faccedilon eacutequivalente -Il y a une deacutependance fonctionnelle de a vers b- b est en deacutependance fonctionnelle de a- b deacutepend fonctionnellement de a- a est la source et b est le but (ou la cible) de la deacutependance fonctionnelle

23-DF agrave partir de proprieacuteteacutes concateacuteneacutees

(Partie gauche composeacutee de plusieurs attributs)

Il peut exister des deacutependances fonctionnelles agrave partir de proprieacuteteacutes concateacuteneacutees cest-agrave-dire qui forment un tout indissociable comme si elles eacutetaient soudeacutees

On note par un + cette concateacutenation

Exemple Consideacuterons une commande qui comporte plusieurs produits Num_Commande + Ref_Produit quantiteacute commandeacutee

Si on nrsquoa seulement le numeacutero de la commande on ne peut pas en deacuteduire la quantiteacute commandeacutee car il faut aussi savoir de quel produit De mecircme on ne peut pas savoir la quantiteacute commandeacutee drsquoun produit si on ne sait pas de quelle commande Il faut bien connaicirctre agrave la fois la commande et le produit (leurs identifiants respectifs) pour en deacuteduire la quantiteacute commandeacutee

29

Les deacutependances fonctionnelles dont la source est formeacutee de plusieurs proprieacuteteacutes doivent ecirctre eacuteleacutementaires cest-agrave-dire ne pas ecirctre creacuteeacutees artificiellement

Ex Num Commande + Num Client date commande nrsquoest pas une DF eacuteleacutementaire car on nrsquoa pas besoin du numeacutero de client pour connaicirctre la date de commande il suffit de connaicirctre le numeacutero de la commande La proprieacuteteacute Num Client ne

24-Proprieacuteteacutes des deacutependances fonctionnelles

Les deacutependances fonctionnelles ont les proprieacuteteacutes suivantes

241-Union

Si on a deux DF ayant la mecircme source on peut les rassembler en une seule en seacuteparant les

cibles par une virgule Si a b et a c

Ex Reacutefeacuterence Deacutesignation et Reacutefeacuterence Prix de vente unitaire

Alors par union on a Reacutefeacuterence Deacutesignation Prix de vente unitaire

Lors du traceacute du graphe des deacutependances fonctionnelles lrsquounion permet de regrouper sur une seule ligne toutes les deacutependances fonctionnelles ayant la mecircme source

242-Transitiviteacute

Si a b et b c alors on a a c

Ex Num Meacutedecin Code Service et Code Service Num Hopital

Alors on a Num Meacutedecin Num Hopital

Les DF qui peuvent ecirctre deacuteduites par transitiviteacute de deux autres DF (qui ne sont pas directes) doivent ecirctre eacutelimineacutees car elles sont alors redondantesIl ne reste alors que les DF directes cest-agrave-dire celles qui ne peuvent pas ecirctre retrouveacutees par transitiviteacute

Attention toutefois agrave la signification des deacutependances Une deacutependance fonctionnelle quon peut retrouver par transitiviteacute ne doit pas ecirctre supprimeacutee si elle na pas le mecircme sens que la transitiviteacute des deux autres car il y aurait perte dinformation

II-MRInteacuterecirct de la normalisation

Exemple

Pour vous montrer lrsquointeacuterecirct de la normalisation drsquoune base de donneacutee relationnelle voyons les problegravemes que peuvent poser lrsquoutilisation drsquoune base de donneacutee baseacutee sur un modegravele relationnel non normaliseacute

Soit le scheacutema de relation

30

FOURNISSEUR (NomFournisseur AdresseFournisseur Produits Prix)

Modegravele en extension

NomFournisseur AdresseFournisseur Produit Prix

Lebras 10 Rue des Gras - ClermontChaise table

2035

Dupont 86 Rue de la Reacutepublique - Moulins Bureau 60

Lajoie 26 Rue des Docircmes - Vichy Lit 50

Dupont 39 Rue des Buttes - MoulinsLampeTable de chevet

1825

bull 1degproblegraveme

Il nrsquoy a pas de cleacute primaire on ne sait pas si les deux Dupont sont diffeacuterents ou pas (si crsquoest le mecircme Dupont il y a une des deux adresses qui est fausse

bull 2degproblegraveme

Lrsquoadresse nrsquoest pas deacutecomposeacutee Si on veut par exemple rechercher tous les fournisseurs qui habitent la mecircme ville ccedila ne va pas ecirctre possible

bull 3degproblegraveme

Une relation (table) correspondant agrave ce scheacutema pourra eacuteventuellement contenir plusieurs produits pour un mecircme fournisseur

Dans ce cas il faudra faire face agrave un certain nombre de problegravemes

bull ladresse du fournisseur sera dupliqueacutee dans chaque n-uplet (redondance) bull si on souhaite modifier ladresse dun fournisseur il faudra rechercher et mettre agrave jour

tous les n-uplets correspondant agrave ce fournisseur bull si on insegravere un nouveau produit pour un fournisseur deacutejagrave reacutefeacuterenceacute il faudra veacuterifier

que ladresse est identique bull si on veut supprimer un fournisseur il faudra retrouver et supprimer tous les n-uplets

correspondant agrave ce fournisseur (pour diffeacuterents produits) dans la table bull La normalisation eacutelimine les redondances ce qui permet

- une diminution de la taille de la base de donneacutee sur le disque- une diminution des risques drsquoincoheacuterence- drsquoeacuteviter une mise agrave jour multiple des mecircmes donneacutees

31

III-MR 3 formes normales

Les 3 formes normales du modegravele relationnel

Sommaire

1 1er forme normale

2 2egraveme forme normale

3 3egraveme forme normale

4 Application des regravegles

5 Reacutesumeacute

1-1er forme normale

Une relation est normaliseacutee en premiegravere forme normale si

-Elle possegravede une cleacute identifiant de maniegravere unique et stable chaque ligne

-Chaque attribut est monovalueacute (ne peut avoir qursquoune seule valeur par ligne)

-Aucun attribut nrsquoest deacutecomposable en plusieurs attributs significatifs

Contre-exemple

EMPLOYE ( Nom Preacutenom Enfants Diplocircmes)

Cette relation nrsquoest pas en premiegravere forme normale

Un employeacute peut avoir plusieurs enfants et plusieurs diplocircmes En outre ces attributs sont deacutecomposables diplocircme est deacutecomposable en Nature et Anneacutee et Enfants est deacutecomposable en Preacutenom et Anneacutee de Naissance

2-2egraveme forme normale

Une relation R est en deuxiegraveme forme normale si et seulement si

-Elle est en 1FN

-Et tout attribut non cleacute est totalement deacutependant de toute la cleacute

Autrement dit aucun des attributs ne deacutepend que drsquoune partie de la cleacute La 2FN nest agrave veacuterifier que pour les relations ayant une cleacute composeacutee Une relation en 1FN nayant quun seul attribut cleacute est toujours en 2FN

Contre-exemple 32

Cette relation est en premiegravere forme normale (existence drsquoune cleacute valide et aucun attribut nrsquoest deacutecomposable)MAIS elle nrsquoest pas en 2deg forme normale car on a DeacutesignationProd ne deacutepend pas de toute la cleacute mais seulement de reacutefeacuterenceProd

ReacutefeacuterenceProd DeacutesignationProd

Pour connaicirctre lrsquoattribut deacutesignationProd on nrsquoa pas besoin de connaicirctre le numeacutero de commande

3-3egraveme forme normale

Une relation est en 3deg forme normale si et seulement si

Elle est en 2deg forme normale et tout attribut doit deacutependre directement de la cleacute cest-dire qursquoaucun attribut ne doit deacutependre de la cleacute par transitiviteacute

Autrement dit aucun attribut ne doit deacutependre drsquoun autre attribut non cleacute

Contre-exemple

CLIENT (Num_client Nom_client code_categ nom_categ) Cette relation nrsquoest pas en 3FN car num_client nom_categ nrsquoest pas une deacutependance directe

En effet on a aussi num_client num_categ nom_categ

4-Application des regravegles

Si lrsquoune des 3 regravegles nrsquoest pas veacuterifieacutee cela indique une erreur dans le modegravele relationnel et il faut alors modifier pour que les 3 regravegles soient veacuterifieacutees pour toutes les relationsOn veacuterifie les regravegles dans lrsquoordre Si la premiegravere forme normale nrsquoest pas respecteacutee pas la peine de veacuterifier la 2FN Et si la 2FN nrsquoest pas veacuterifieacutee inutile de veacuterifier la 3FN

5-Reacutesumeacute

Modegravele normaliseacute = relations avec

-Une cleacute qui permet de distinguer chaque occurrence

-Des attributs eacuteleacutementaires (1FN)

-En deacutependance de TOUTE la cleacute (2FN)

-Et RIEN QUE de la cleacute (3FN)

On parle aussi de normalisation pour un MCD Un MCD qui donne un MR normaliseacute est qualifieacute aussi de normaliseacute

F-MeriseLes diagrammes de flux

Les diagrammes de flux reacutepondent agrave la question Que fait le systegraveme

33

En ce sens ce sont des modegraveles FONCTIONNELS (qui deacutecrivent les fonctions)

Il existe2 types principaux de diagrammes de flux

1 Le modegravele de contexte (MC) ougrave le domaine drsquoeacutetude est vu comme une boite noire On ne repreacutesente que les flux exteacuterieurs au domaine

2 Le modegravele de flux de donneacutees (DFD) ou encore modegravele de flux conceptuels (MFC) ougrave lrsquoon deacutetaille les activiteacutes du domaine drsquoeacutetude On repreacutesente aussi les flux internes au domaine

I-MeriseVocabulaire associeacute aux modegraveles de flux

Sommaire

bull 1 Domaine deacutetude bull 2 Acteur externe bull 3 Domaine connexe

bull 4 Flux de donneacutees

1-Domaine deacutetude

Le domaine deacutetude est un sous-ensemble coheacuterent de lentreprise ou de lorganisme bien deacutelimiteacute et formant le contenu du sujet agrave eacutetudier

Dans les modegraveles de flux le domaine deacutetude est repreacutesenteacute par un rectangle agrave trait plein Le nom du domaine est placeacute agrave lrsquointeacuterieur du rectangle

2-Acteur externe

Un acteur externe est un eacuteleacutement eacutemetteur ou reacutecepteur de donneacutees situeacute hors du systegraveme dinformation eacutetudieacute

Dans les modegraveles de flux un acteur externe est repreacutesenteacute par un cercle plein Le nom de lrsquoacteur est placeacute agrave lrsquointeacuterieur du cercle

3-Domaine connexe

Un domaine connexe est un composant du systegraveme drsquoinformation interagissant avec le domaine drsquoeacutetude Crsquoest un acteur interne agrave lrsquoentreprise mais externe au domaine drsquoeacutetude

34

Dans les modegraveles de flux une activiteacute est repreacutesenteacutee graphiquement par un rectangle Le nom de lactiviteacute est placeacute agrave lrsquointeacuterieur du rectangle

4-Flux de donneacutees

Un flux est un transfert drsquoinformations entre composants du systegraveme Le composant peut ecirctre un domaine une activiteacute ou un acteur externe

Dans les modegraveles de flux un flux de donneacutees est repreacutesenteacute graphiquement par une flegraveche orienteacutee du composant eacutemetteur du flux vers le composant reacutecepteur Le libelleacute du flux est inscrit en regard de la flegraveche traceacutee

Formalisme graphique illustrant par exemple un eacutechange entre un acteur externe et le domaine deacutetude

II-MeriseModegravele de contexte

Le modegravele de contexte sert agrave repreacutesenter les interactions entre le domaine deacutetude et lrsquoenvironnement et entre le domaine deacutetude et les eacuteventuels domaines connexes

Le domaine deacutetude y est repreacutesenteacute comme une boicircte noire

Le modegravele de contexte utilise les concepts suivants

bull le domaine deacutetude bull les acteurs externes bull les flux de donneacutees bull les domaines connexes

Exemple de modegravele de contexte au sein drsquoune socieacuteteacute commerciale on eacutetudie le domaine laquo gestion des ventes raquo

35

Remarque

bull on ne fait pas apparaicirctre les flux entre acteurs externes et domaines connexes ou entre les domaines connexes

Exemple le flux correspondant agrave la livraison de marchandises nrsquoapparaicirct pas

II-MeriseMFC ou DFD

Sommaire

bull 1 Modegravele de flux conceptuel(MFC) ou diagramme de flux de donneacutees(DFD) o 11 Deacutefinition o 12 Exemple o 13 Regravegles de deacutecomposition des activiteacutes

1-Modegravele de flux conceptuel (MFC) ou diagramme de flux de donneacutees (DFD)

11-Deacutefinition

Ce modegravele permet de deacutecider quelles activiteacutes inter-relieacutees de quelle maniegravere permettront de reacutesoudre au mieux le problegraveme poseacute et cette reacuteflexion est meneacutee sans sencombrer dans un premier temps du comportement du systegraveme (ordonnancement regravegles deacutemission synchronisationshellip)

Les modegraveles de flux conceptuels permettent de deacutecomposer le domaine drsquoeacutetude en activiteacutes Il nrsquoy a pas ici de notion drsquoorganisation mais drsquoobjectifs agrave reacutealiser On repreacutesente les flu x entre activiteacutes et avec lrsquoenvironnement

Pour analyser les communications et les activiteacutes on procegravede par laquo zooms raquo successifs sur le domaine eacutetudieacute pour eacutelaborer des modegraveles de plus en plus deacutetailleacutes qui permettront davoir une cartographie deacutetailleacutee du systegraveme et de preacuteparer le passage au modegravele conceptuel de repreacutesentation des traitements

36

Le modegravele de contexte est eacutegalement appeleacute le diagramme de flux de donneacutees de niveau 0

Nous obtenons ensuite des diagrammes de premier deuxiegraveme troisiegraveme hellip niveau par eacuteclatements successifs des activiteacutes agrave chacun de ces niveaux

La deacutecomposition drsquoun domaine ou drsquoune activiteacute en plusieurs activiteacutes peut faire apparaicirctre de nouveaux flux dus

1 agrave lrsquoeacutechange drsquoinformations entre activiteacutes 2 agrave la deacutecomposition drsquoun flux preacutesent au niveau n en plusieurs flux au niveau n+1

12-Exemple

Si on reprend le modegravele de contexte preacuteceacutedent on srsquoaperccediloit que le domaine des ventes peut-ecirctre eacuteclateacute en trois activiteacutes Nous obtenons ainsi le diagramme de flux de donneacutees de niveau 1

Remarque

bull On peut deacutecomposer le modegravele de flux de niveau 1 en un modegravele de flux de niveau 2 et etc hellip jusqursquoagrave arriver agrave un modegravele ougrave lrsquoactiviteacute correspond agrave une opeacuteration au sens Merise (regravegle drsquoininterruption)

Exemple lrsquoactiviteacute laquo gestion des factures raquo peut ecirctre encore deacutecomposeacutee en activiteacutes laquo facturation raquo et laquo Suivi des regraveglements raquo

13-Regravegles de deacutecomposition des activiteacutes

bull Pourquoi deacutecomposer

1 Pour deacutesagreacuteger les groupes de flux pour arriver agrave la deacutefinition des flux-types du domaine eacutetudieacute

2 Pour preacuteparer leacutetude dynamique du systegraveme dinformation pour arriver agrave lrsquoidentification des processus et des opeacuterations conceptuelles

bull Comment deacutecomposer

37

1 Identifier les groupes de donneacutees entrant et sortant du domaine drsquoeacutetude pour construire le modegravele de contexte

2 Identifier les activiteacutes geacuteneacuterant ou traitant les flux de donneacutees pour construire le DFD de niveau 1(approche par les donneacutees) ou identifier une activiteacute de niveau 1 comme un ensemble drsquoactiviteacutes participant agrave une mecircme finaliteacute (approche par les objectifs)

bull Jusquougrave deacutecomposer

Lorsquune activiteacute a atteint le niveau dinterruptabiliteacute (degraves lors que le traitement est deacuteclencheacute il se deacuteroule sans attente de ressources compleacutementaires exteacuterieures) Lactiviteacute est alors une opeacuteration conceptuelle qui sera deacutecrite lors de leacutetude dynamique du SI dans le MCTA

G-Les Modegraveles de traitements (MCT et MCTA)

I-MeriseMCT

Sommaire

bull 1 Modeacutelisation des Traitements bull 2 Le MCT bull 3 Les concepts du MCT

o 31 Lrsquoeacuteveacutenement o 32 Lrsquoopeacuteration o 33 Le reacutesultat o 34 La synchronisation o 35 Regravegle deacutemission o 36 Rocircle des regravegles de gestion o 37 Le processus

bull 4 Meacutethode drsquoeacutetablissement drsquoun MCT o 41 Regravegles de validation o 42 Cas particuliers

421 Cycles

422 Les eacuteveacutenements consommables

1-Modeacutelisation des Traitements

La modeacutelisation des traitements pour but de faire la repreacutesentation dynamique du systegraveme drsquoinformation crsquoest-agrave dire de repreacutesenter lrsquoenchaicircnement des traitements reacutealiseacutes

Cette modeacutelisation srsquoeffectue agrave deux niveaux

1 le niveau conceptuel ougrave lrsquoon srsquointeacuteresse aux opeacuterations en dehors de toute mise en oeuvre organisationnelle

2 le niveau organisationnel ougrave se pose les questions du qui ougrave quand

2-Le MCT

Lrsquoobjectif du MCT est de reacutepondre agrave la question QUOI faire par rapport agrave un eacuteveacutenement Crsquoest la chronologie qui importe Autrement dit le MCT est une repreacutesentation de la

38

succession des regravegles de gestion dont lrsquoentreprise veut se doter pour reacutepondre aux eacuteveacutenements auxquels elle doit faire face du fait de son activiteacute et de son environnement

3-Les concepts du MCT

31-Lrsquoeacuteveacutenement

Crsquoest une sollicitation du systegraveme drsquoinformation qui geacutenegravere une reacuteaction de la part de celui-ci

Un eacuteveacutenement peut ecirctre externe au domaine eacutetudieacute (ex commande client) ou interne au SI souvent le reacutesultat drsquoun processus anteacuterieur (ex ordre de preacuteparation) Un eacuteveacutenement peut-ecirctre aussi temporel cest-agrave-dire lieacute agrave des dates qui rythment lrsquoexeacutecution de certains traitements (deacutelai de maintenance relances)

32-Lrsquoopeacuteration

Crsquoest un ensemble drsquoactions accomplies par le systegraveme drsquoinformation en reacuteaction agrave un eacuteveacutenement ou agrave une conjonction drsquoeacuteveacutenements et non interruptibles par un eacuteveacutenement externe

Remarque Une opeacuteration deacuteclenche au moins un reacutesultat Une opeacuteration est repreacutesenteacutee par un verbe ou mieux un substantif (ex Preacuteparer la commande ou preacuteparation de la commande)

34-Le reacutesultat

Un reacutesultat peut-ecirctre un document un message externe un nouvel eacutetat du SI (nouvelle situation nouvelles donneacutees) creacuteeacute par une opeacuteration qui peut lui-mecircme jouer le rocircle drsquoeacuteveacutenement

Un reacutesultat externe repreacutesente une information envoyeacutee agrave lrsquoexteacuterieur du SI (ex facture)

Un reacutesultat interne est un nouvel eacutetat du systegraveme drsquoinformation (ex ordre de preacuteparation)

35-La synchronisation

Crsquoest une condition booleacuteenne (ET OU) traduisant les regravegles de gestion que doivent respecter les eacuteveacutenements pour deacuteclencher une opeacuteration Dans le cas ET elle marque quun eacuteveacutenement deacutejagrave lagrave doit en attendre un ou plusieurs autres

Remarque Pour quil soit question de synchronisation il faut la preacutesence de plusieurs eacuteveacutenements deacuteclencheurs aussi le symbole de synchronisation est laisseacute agrave blanc dans le cas dun eacuteveacutenement unique

Si tous les eacuteveacutenements entrants sont lieacutes par le mecircme opeacuterateur on peut seulement faire figurer lopeacuterateur dans le symbole de synchronisation sinon il faut numeacuteroter les eacuteveacutenements (a b c hellip) et constituer lexpression agrave laide des eacuteveacutenements et des opeacuterateurs (ex (a ET b) OU c) Regravegle deacutemission

Condition traduisant les regravegles de gestion qui permet dexprimer des conditions de sortie des reacutesultats

39

Remarques Lexpression dune regravegle deacutemission peut ecirctre composeacutee de plusieurs conditions eacuteleacutementaires relieacutees par les opeacuterateurs ET OU On peut eacutegalement utiliser lopeacuterateur NON pour exprimer la neacutegation dune condition

36-Rocircle des regravegles de gestion

Recenseacutees lors de leacutetude de lexistant ou deacutefinies pour le futur SI elles deacutecrivent les enchaicircnements dopeacuterations Elles rendent possible le regroupement des actions au sein dune seule opeacuteration non interruptible au niveau conceptuel

37-Le processus

Crsquoest un enchaicircnement synchroniseacute dopeacuterations au sein dun mecircme domaine geacuteneacuteralement deacuteclencheacute par un eacuteveacutenement externe (externe au domaine ou au SI tout entier)

Un MCT est la repreacutesentation de lrsquoenchaicircnement des opeacuterations drsquoun processus

4-Meacutethode drsquoeacutetablissement drsquoun MCT

1 Reacutealiser le graphe des flux (repreacutesentation des acteurs eacuteveacutenements et reacutesultats externes

2 Pour chaque eacuteveacutenement recenser les opeacuterations deacuteclencheacutees etou les eacuteveacutenements internes produits

3 Regrouper dans une mecircme opeacuteration tous les traitements qui ont les mecircmes deacuteclencheurs dans une uniteacute de temps avec la mecircme synchronisation

41-Regravegles de validation

Une opeacuteration ne peut pas ecirctre interrompue par lrsquoattente drsquoun eacuteveacutenement externe

Si tel est le cas il faut deacutecrire une seconde opeacuteration deacuteclencheacutee par cet eacuteveacutenement en attente

42-Cas particuliers

421-Cycles

Pour une mecircme opeacuteration leacuteveacutenement deacuteclencheur et leacuteveacutenement reacutesultat sont identiques

Une commande de client est servie si les marchandises sont disponibles sinon cette commande est mise en attente Les commandes en attente sont reacuteexamineacutees lors de chaque reacuteapprovisionnement afin de les livrer

40

Il faut sassurer que le cycle a bien un deacutebut et une fin ici cest lrsquoeacuteveacutenement Reacuteapprovisionnement effectueacute qui permet deacuteviter que le cycle ne se deacuteroule sans fin sur les commandes en attente

Noter limportance du concept doccurrences deacuteveacutenement

-une occurrence de Reacuteappro est-elle autoriseacutee agrave consommer toutes les occurrences de Commande en attente

-si le reacuteapprovisionnement est insuffisant de nouvelles occurrences de Commande en attente doivent-elles ecirctre creacuteeacutees

422-Les eacuteveacutenements consommables

Un client non satisfait peut retourner un article On lui fait un avoir Il peut alors le preacutesenter en caisse pour ecirctre rembourseacute de son achat Il peut encore remplacer larticle deacutefectueux par un autre auquel cas on annule lavoir

41

Ce qui pose question

UNE occurrence de leacuteveacutenement avoir eacutetabli ne peut ecirctre consommeacutee par 2 opeacuterations (rembourser et imputer)

Dit autrement avoir eacutetabli ne sait pas vers quelle opeacuteration se diriger On pourrait se dire quil est implicite que cest le premier eacuteveacutenement qui survient qui gagne si Echange survient en premier alors lavoir est annuleacute

Cependant que se passe-t-il si les 2 eacuteveacutenements externes se produisent simultaneacutement Si on impleacutemente tel quel ce scheacutema dans un automate il est vraisemblable que le client pourra avoir le beurre et largent du beurre

se preacutesenter en caisse et faire leacutechange pour un seul retour Il est donc preacutefeacuterable dexpliciter (cf ci-apregraves)

Une autre solution consiste agrave indiquer explicitement que cet eacuteveacutenement est consommable cest-agrave-dire que la premiegravere opeacuteration qui se deacuteclenche annule lrsquoeacuteveacutenement pour lrsquoautre opeacuteration

42

II-MeriseInteacutegration des donneacutees dans le MCT

Sommaire

bull 1 DEFINITION bull 2 FORMALISME DU MCTA bull 3 REPRESENTATION DES ACTIONS SUR LES DONNEES bull 4 COMPLEMENTS

o 41 Condition de deacuteclenchement o 42 Action collective o 43 Coheacuterence de la base de donneacutees o 44 REGLES DE VALIDATION DrsquoUN MCTA

o 45 Exemple de MCTA

1-DEFINITION

Le MCTA est une repreacutesentation syntheacutetique des traitements qui met en eacutevidence les reacuteactions du systegraveme aux eacuteveacutenements et linteraction avec les donneacutees

Il vise agrave

Deacutecrire le fonctionnement du systegraveme indeacutependamment de lorganisation

Donner une vision des traitements et de la coordination des eacuteveacutenements deacuteclencheurs

Rapprocher les donneacutees et les traitements

2-FORMALISME DU MCTA

Pour mettre en eacutevidence lrsquoarticulation entre les donneacutees et les traitements dans le MCT on ajoute agrave droite de chaque opeacuteration les entiteacutes ou associations qui sont consulteacutees ou qui subissent un changement drsquoeacutetat (creacuteation mise agrave jour suppression hellip)

43

3-REPRESENTATION DES ACTIONS SUR LES DONNEES

Un objet correspond agrave une entiteacute ou une association du MCD correspondant au champ drsquoeacutetude du SI Une action est une manipulation (creacuteation consultation modification ou suppression) drsquoun objet du systegraveme drsquoinformation Elle est symboliseacutee par un trait entre lrsquoopeacuteration et lrsquoobjet manipuleacute Ce trait est non orienteacute sil sagit dune suppression et il est orienteacute pour les autres types de manipulation le sens de la flegraveche deacutepend du type de manipulation

Un eacutetat drsquoobjet est un stade transitoire par lequel passe un objet (entiteacute ou association) au cours de sa laquo vie raquo

Dans un MCTA une opeacuteration est composeacutee dun ensemble dactions sur les donneacutees

Les actions sur les donneacutees sont de 4 types

Creacuteation drsquoune occurrence

Creacuteation drsquoune occurrence de lrsquoobjet 1 dans lrsquoeacutetat 1

Suppression drsquoune occurrence

Suppression drsquoune occurrence de lrsquoobjet 3 se trouvant dans lrsquoeacutetat 2

Consultation drsquoune occurrence

Consultation drsquoune occurrence de lrsquoobjet 4 dans lrsquoeacutetat 6 Leacutetat de lrsquoobjet nrsquoest pas indiqueacute mais sera eacuteventuellement testeacute avant reacutealisation de la (ou des) action (s) suivante (s)

44

Modification drsquoune occurrence

Modification drsquoune occurrence de lrsquoobjet 2 si elle est dans lrsquoeacutetat 3 elle passe agrave lrsquoeacutetat 4 ou agrave lrsquoeacutetat 5

Lrsquoaction de modification inclut implicitement la ou les consultations preacutealables

On ne doit pas seacuteparer les consultations qui preacutecegravedent les modifications des modifications elles-mecircmes

Remarque geacuteneacuterale Lrsquoordre des actions drsquoune opeacuteration sera si possible preacutesenteacute de haut en bas

4-COMPLEMENTS

41-Condition de deacuteclenchement

Lrsquoaction eacuteleacutementaire peut ecirctre accompagneacutee drsquoune condition de deacuteclenchement (agrave indiquer au niveau du trait ou agrave cocircteacute de lrsquoobjet) Cette condition peut porter sur lrsquoeacutetat de la structure des donneacutees agrave un moment preacutecis etou sur le type drsquoeacuteveacutenement constateacute agrave lrsquoentreacutee de lrsquoopeacuteration

42-Action collective

Elle permet drsquoindiquer que lrsquoaction intervient sur un ensemble drsquooccurrences de lrsquoobjet concerneacute (toutes srsquoil nrsquoy a pas de condition de deacuteclenchement associeacutee limitant le nombre drsquooccurrences manipuleacutees)

Exemple en fin de mois une compagnie dassurances reacutesilie les polices quelle a proposeacutees degraves que le deacutelai de signature de celles-ci est deacutepasseacute

45

C1 si le deacutelai de signature est deacutepasseacute

43-Coheacuterence de la base de donneacutees

Une BD a coheacuterent si elle ne comporte pas de contradictions (par rapport aux regravegles de gestion en particulier)

Une action peut ne pas laisser la structure de donneacutees dans un eacutetat coheacuterent

En revanche la coheacuterence doit toujours ecirctre assureacutee au niveau drsquoune opeacuteration

44-REGLES DE VALIDATION DrsquoUN MCTA

Une opeacuteration conceptuelle ne doit pas ecirctre interrompue par lrsquoattente drsquoun eacuteveacutenement externe

Une opeacuteration conceptuelle prend la structure de donneacutees manipuleacutees dans un eacutetat coheacuterent et la rend dans un eacutetat coheacuterent

46

45-Exemple de MCTA

C1 si le client eacutetait preacuteceacutedemment un client prospect (cest-agrave-dire client potentiel)

C2 sil sagit dun nouveau client ou si le client eacutetait preacuteceacutedemment un client prospect le client est mis en portefeuille (cest-agrave-dire qursquoil est reacuteellement client)

C3 si disponibiliteacute de tous les produits (quantiteacute en stock suffisante pour assurer la livraison)

Remarque on considegravere ici qursquoil nrsquoy a pas de livraison partielle

47

  • I-Systegraveme drsquoinformation de gestion
    • Sommaire
      • 1-Qursquoest ce qursquoun systegraveme
      • 2-Qursquoest ce qursquoun systegraveme drsquoinformation de gestion
      • 3-Les fonctions du systegraveme drsquoinformation
      • II-MeriseModeacutelisation
        • Sommaire
          • 1-Qursquoest qursquoun modegravele
          • 2-La meacutethode Merise
            • 21-Les composantes de Merise
            • 22-La deacutemarche Merise
            • 23-Les niveaux drsquoabstraction
            • 24-La courbe du soleil
              • Deacutefinition
              • I-MCDRecueil des donneacutees
              • Exemple
              • II-MCDConcepts et du formalisme
                • Sommaire
                  • 1-Les concepts de base
                    • 11-Entiteacute
                    • 12-Association
                    • 13-Cardinaliteacutes
                      • 2-La notion drsquooccurrence
                      • III-MCDRegravegles de construction
                        • Sommaire
                          • 1-Regravegles concernant les proprieacuteteacutes
                          • 2-Regravegles concernant les entiteacutes
                          • 3-Regravegles concernant les associations
                          • IV-MCDIntroduction aux cardinaliteacutes
                            • Sommaire
                              • 1-Formalisme
                              • 2-La cardinaliteacute minimale
                                • 21--Exemples
                                • 22-Application
                                  • 3-La cardinaliteacute maximale
                                    • 31-Exemple 1
                                    • 32-Exemple 2
                                      • 4-Conclusion
                                      • 5-Exemple
                                      • 6-Repreacutesentation des cardinaliteacutes
                                      • I-MCDCardinaliteacutes
                                        • Sommaire
                                          • 1-Deacutefinition et formalisme
                                          • 2-La cardinaliteacute minimale
                                            • 21-Exemple
                                            • 22-Application
                                              • 3-La cardinaliteacute maximale
                                                • 31-Exemple
                                                  • 4-Reacutecapitulatif
                                                    • 41-Exemples complets
                                                      • II-MCDAssociations
                                                        • Sommaire
                                                          • 1-Les associations binaires concernant 2 entiteacutes
                                                            • 11-Les associations hieacuterarchiques [1 n]
                                                            • 12-Les associations non hieacuterarchiques [n n]
                                                            • 13-Les associations de type [1 1]
                                                              • 2-Les autres types dassociation
                                                                • 21-Les associations reacuteflexives
                                                                  • 211-Exemple dassociation reacuteflexive hieacuterarchique
                                                                  • 212--Exemples dassociations reacuteflexives non hieacuterarchiques
                                                                    • 22-Les associations de dimension 3 ou plus (ternaires ou plus)
                                                                      • III-MCDRepreacutesentation des cardinaliteacutes
                                                                      • IV-MCDAssociation ternaire
                                                                      • V-MCDAssociations reacuteflexives
                                                                      • 1-Exemple dassociation reacuteflexive hieacuterarchique
                                                                      • 2-Exemples dassociations reacuteflexives non hieacuterarchiques
                                                                      • I-MRRappel sur le modegravele relationnel
                                                                      • II-MRPassage du MCD au MR
                                                                        • Sommaire
                                                                          • 1-Regravegle 1
                                                                          • 2-Regravegle 2
                                                                          • 3-Exception agrave la regravegle 1
                                                                          • 4-Cas particulier des associations reacuteflexives
                                                                            • 41-Reacuteflexive hieacuterarchique
                                                                            • 42-Reacuteflexive non hieacuterarchique
                                                                              • E-Normalisation du modegravele relationnel
                                                                              • I-Deacutependance fonctionnelle
                                                                                • Sommaire
                                                                                  • 1-Introduction
                                                                                  • 2-Rappels sur la notion de deacutependance fonctionnelle
                                                                                    • 21-Deacutefinition
                                                                                    • 22-Terminologie
                                                                                    • 23-DF agrave partir de proprieacuteteacutes concateacuteneacutees
                                                                                    • 24-Proprieacuteteacutes des deacutependances fonctionnelles
                                                                                      • 241-Union
                                                                                      • 242-Transitiviteacute
                                                                                          • II-MRInteacuterecirct de la normalisation
                                                                                          • Exemple
                                                                                          • III-MR 3 formes normales
                                                                                            • Sommaire
                                                                                              • 1-1er forme normale
                                                                                              • 2-2egraveme forme normale
                                                                                              • 3-3egraveme forme normale
                                                                                              • 4-Application des regravegles
                                                                                              • 5-Reacutesumeacute
                                                                                              • F-MeriseLes diagrammes de flux
                                                                                              • I-MeriseVocabulaire associeacute aux modegraveles de flux
                                                                                                • Sommaire
                                                                                                  • 1-Domaine deacutetude
                                                                                                  • 2-Acteur externe
                                                                                                  • 3-Domaine connexe
                                                                                                  • 4-Flux de donneacutees
                                                                                                  • II-MeriseModegravele de contexte
                                                                                                  • II-MeriseMFC ou DFD
                                                                                                    • Sommaire
                                                                                                      • 1-Modegravele de flux conceptuel (MFC) ou diagramme de flux de donneacutees (DFD)
                                                                                                        • 11-Deacutefinition
                                                                                                        • 12-Exemple
                                                                                                        • 13-Regravegles de deacutecomposition des activiteacutes
                                                                                                          • I-MeriseMCT
                                                                                                            • Sommaire
                                                                                                              • 1-Modeacutelisation des Traitements
                                                                                                              • 2-Le MCT
                                                                                                              • 3-Les concepts du MCT
                                                                                                                • 31-Lrsquoeacuteveacutenement
                                                                                                                • 32-Lrsquoopeacuteration
                                                                                                                • 34-Le reacutesultat
                                                                                                                • 35-La synchronisation
                                                                                                                • 36-Rocircle des regravegles de gestion
                                                                                                                • 37-Le processus
                                                                                                                  • 4-Meacutethode drsquoeacutetablissement drsquoun MCT
                                                                                                                    • 41-Regravegles de validation
                                                                                                                    • 42-Cas particuliers
                                                                                                                      • 421-Cycles
                                                                                                                      • 422-Les eacuteveacutenements consommables
                                                                                                                          • II-MeriseInteacutegration des donneacutees dans le MCT
                                                                                                                            • Sommaire
                                                                                                                              • 1-DEFINITION
                                                                                                                              • 2-FORMALISME DU MCTA
                                                                                                                              • 3-REPRESENTATION DES ACTIONS SUR LES DONNEES
                                                                                                                              • 4-COMPLEMENTS
                                                                                                                                • 41-Condition de deacuteclenchement
                                                                                                                                • 42-Action collective
                                                                                                                                • 43-Coheacuterence de la base de donneacutees
                                                                                                                                • 44-REGLES DE VALIDATION DrsquoUN MCTA
                                                                                                                                • 45-Exemple de MCTA
Page 6: 7472422 Cours de Merise

bull Au niveau organisationnel o Le MOT du systegraveme futur mettant en valeur la nouvelle organisation (y

compris en terme de ressources humaines et de nouveaux postes de travail)

bull Au niveau logico-physique o Le MLD modegravele logique des donneacutees et le MPD modegravele physique des donneacutees

obtenus agrave partir du MCD adapteacute aux choix effectueacutes dans le MOT et aux besoins drsquoinformations compleacutementaires

o Le MPT modegravele physique des traitements (algorithmes structure des programmeshellip)

B- Introduction au Modegravele conceptuel des donneacutees

Deacutefinition

Le modegravele conceptuel des donneacutees (MCD) a pour but de repreacutesenter de faccedilon structureacutee les donneacutees qui seront utiliseacutees par le systegraveme dinformation Le modegravele conceptuel des donneacutees deacutecrit la seacutemantique crsquoest agrave dire le sens attacheacute agrave ces donneacutees et agrave leurs rapports et non agrave lrsquoutilisation qui peut en ecirctre faite

On eacutetablit le MCD apregraves avoir recenseacute et donneacute un nom agrave lrsquoensemble des donneacutees du domaine eacutetudieacute Ensuite on eacutetudie les relations existantes entre ces donneacutees (deacutependances fonctionnelles) pour aboutir au MCD

I-MCDRecueil des donneacutees

Exemple

Voilagrave plusieurs phrases qui deacutecrivent une seule et mecircme personne prononceacutees par des personnes diffeacuterenteslaquo Odile Martin est une personne convenable Et je ne dis pas ccedila parce crsquoest une cliente qui mrsquoen prend pour 100F toutes les semaines raquo Le boulanger laquo MARTIN Odile habitant 6 rue des preacutes Saint Amour (Jura) neacutee le 130273 agrave Beacuteziers (Heacuterault) hellip raquo Un inspecteur de police judiciaire laquo Odile Martin voilagrave une personne qui nrsquoa jamais commis aucun peacutecheacute mortel qui a fait preuve de beaucoup de geacuteneacuterositeacute Elle ira au paradis raquo Saint Pierre Diffeacuterents interlocuteurs diffeacuterents points de vue Lequel est le plus pertinent Ca deacutepend du domaine eacutetudieacute Mais on ne recense que les informations objectives formelles

Quand on analyse les donneacutees sur un objet (abstrait ou concret) du reacuteel il est neacutecessaire de faire le tri entre ce qui est neacutecessaire pour le systegraveme drsquoinformation et ce qui ne lrsquoest pas

bull 2deg repreacutesentation

Odile sera repreacutesenteacutee par au moins ces informations

NomPreacutenomNumeacutero de la voieNature de la voieNom de la voieCommune de reacutesidenceDeacutepartement de reacutesidenceJour de naissanceMois de naissanceAnneacutee de naissance

6

Commune de naissanceDeacutepartement de naissance

Peut-on deacutecomposer encore Par exemple la commune de reacutesidence est composeacutee de 2 mots de mecircme que le nom de la voie hellip va-t-on les deacutecomposer Non ces mots repreacutesentent ensemble une information ne veulent rien dire agrave eux seuls

Mais nrsquoavons-nous pas trop deacutecomposeacute Il existe par exemple des liens entre les informations 3 4 et 5 qui repreacutesentent lrsquoadresse drsquoOdile entre les informations 8 et 9 qui repreacutesentent sa date de naissancehellip On va alors regrouper ensemble ces informations relieacutees

On remarque que toutes les personnes (et Odile est une personne on dit que crsquoest une OCCURRENCE de personne) de la maniegravere suivante

bull on peut dire qursquoon a creacuteeacute une entiteacute (un ensemble) PERSONNE dont Odile est une occurrence (ou instance)

Les donneacutees de base sont appeleacutees PROPRIETES ou ATTRIBUTS

II-MCDConcepts et du formalisme

Sommaire

bull 1 Les concepts de base o 11 Entiteacute o 12 Association o 13 Cardinaliteacutes

bull 2 La notion drsquooccurrence bull Exemple

7

1-Les concepts de base

11-Entiteacute

Une entiteacute repreacutesente un objet du SI (acteur document concept hellip) ou plus exactement un ensemble drsquoobjets ayant les mecircmes caracteacuteristiquesDans une entiteacute on met les informations neacutecessaires et suffisantes pour caracteacuteriser cette entiteacute Ces informations sont appeleacutees proprieacuteteacutes Les proprieacuteteacutes sont collecteacutees lors de lrsquoeacutetablissement du dictionnaire des donneacutees (voire partie suivante) Les proprieacuteteacutes prennent des valeurs pour chaque occurrence drsquoune entiteacute

Une proprieacuteteacute particuliegravere appeleacutee identifiant permet de distinguer sans ambiguiumlteacute toutes les occurrences de lrsquoentiteacute Lrsquoidentifiant est toujours souligneacute Lrsquoidentifiant est une proprieacuteteacute qui ne peut pas changer au cours du temps pour une occurrence

12-Association

Crsquoest un lien entre deux entiteacutes (ou plus) On doit lui donner un nom souvent un verbe qui caracteacuterise le type de relation entre les entiteacutes

Une association possegravede parfois des proprieacuteteacutes

13-Cardinaliteacutes

Ce sont des expressions qui permettent drsquoindiquer combien de fois au minimum et au maximum le lien entre 2 entiteacutes peut se produire Pour une association de 2 entiteacutes il y a 4 cardinaliteacutes agrave indiquer

Il y a trois valeurs typiques 0 1 et N (plusieurs)Les cardinaliteacutes traduisent des regravegles de gestion Ce sont des regravegles propre au SI eacutetudieacute qui expriment des contraintes sur le modegravele

2-La notion drsquooccurrence

Il ne faut pas confondre

bull ENTITE et OCCURRENCE drsquoentiteacute bull ni PROPRIETE et VALEUR de proprieacuteteacute bull ni ASSOCIATION et OCCURRENCE drsquoassociation

Reprenons ces concepts Une ENTITE est une FAMILLE drsquoobjets ayant les mecircmes caracteacuteristiques appeleacutees proprieacuteteacutes

Un MEMBRE de la famille est appeleacute OCCURRENCE drsquoentiteacute

Une entiteacute repreacutesente un ENSEMBLE drsquoOCCURRENCES

Une PROPRIETE est une information eacuteleacutementaire qui permet de deacutecrire une entiteacute ou une association Une proprieacuteteacute peut prendre une VALEUR (crsquoest lrsquoeacutequivalent drsquoune variable) (On peut dire qursquoune VALEUR est une OCCURRENCE de PROPRIETE)

De mecircme une ASSOCIATION est un LIEN entre 2 entiteacutes ou plus et une OCCURRENCE drsquoassociation est un lien entre 2 OCCURRENCES drsquoentiteacutes

8

bull Exemple

Consideacuterons le scheacutema suivant

PROPRIETE VALEUR de PROPRIETE

Reacutefeacuterence 456

Deacutesignation Manteau

Prix unitaire 100euro

ENTITE OCCURRENCE drsquoentiteacute

PRODUIT Manteau de reacutefeacuterence 456 agrave 100euro

COMMANDE numeacutero 123 du 081002

ASSOCIATION OCCURRENCE drsquoassociation

CONCERNER lien entre la commande 123 et le manteau 456 pour une quantiteacute de 3 uniteacutes

bull On peut repreacutesenter une entiteacute comme un ensemble ougrave les eacuteleacutements sont les occurrences

bull Une association peut ecirctre vue comme lrsquoensemble des relations entre les occurrences des entiteacutes associeacutees

Attention agrave ne pas confondre occurrences et proprieacuteteacutes En effet on peut dire agrave la fois qursquoune entiteacute est un ensemble de proprieacuteteacutes et un ensemble drsquooccurrences

Une proprieacuteteacute est une rubrique un eacuteleacutement drsquoinformation qui permet de deacutecrire une entiteacute Une entiteacute est deacutecrite par plusieurs proprieacuteteacutesUne occurrence est un exemplaire un eacuteleacutement particulier de la famille repreacutesenteacutee par lrsquoentiteacute Les proprieacuteteacutes drsquoune entiteacute prennent des valeurs pour chaque occurrenceChaque occurrence drsquoentiteacute est identifieacutee de maniegravere unique par un identifiant qui est une proprieacuteteacute particuliegravere telle que 2 occurrences de lrsquoentiteacute ne peuvent pas avoir la mecircme valeur pour cette proprieacuteteacute

9

On repreacutesente souvent les occurrences drsquoune entiteacute sous forme drsquoun tableau Les lignes correspondent aux occurrences et les colonnes correspondent aux proprieacuteteacutes

bull Exemple

III-MCDRegravegles de construction

Sommaire

bull 1 Regravegles concernant les proprieacuteteacutes bull 2 Regravegles concernant les entiteacutes

bull 3 Regravegles concernant les associations

1-Regravegles concernant les proprieacuteteacutes

bull Pour qursquoil nrsquoy ait pas drsquoambiguiumlteacute possible une proprieacuteteacute ne peut pas apparaicirctre plusieurs fois dans un MCD

Autrement dit toutes les proprieacuteteacutes drsquoun MCD doivent ecirctre diffeacuterentes les unes des autres Exemples Une proprieacuteteacute Date ne peut pas apparaicirctre simultaneacutement dans une entiteacute COMMANDE et une entiteacute FACTURE Si crsquoeacutetait le cas il faudrait remplacer Date par Date_commande et Date_facture par exemple

bull Toute proprieacuteteacute ne doit avoir agrave un moment donneacute qursquoune seule valeur pour une occurrence Par conseacutequent un nom de proprieacuteteacute doit toujours ecirctre au singulier

Exemple Dans la proprieacuteteacute note drsquoune entiteacute ELEVE on ne peut avoir qursquoune seule note Si on veut la note de plusieurs matiegraveres il faut mettre autant de proprieacuteteacutes qursquoil y a de matiegraveres par exemple noteALSI noteAMSI noteDAIGL etc

2-Regravegles concernant les entiteacutes

bull Toute entiteacute doit comporter un identifiant qui permet de distinguer entre elles toutes les occurrences drsquoune mecircme entiteacute Lrsquoidentifiant est placeacute en tecircte des proprieacuteteacutes et il est souligneacute

bull Pour chaque occurrence drsquoune entiteacute il ne doit y avoir qursquoune seule valeur pour chacune des proprieacuteteacutes agrave un instant donneacute Cette valeur peut changer au cours du temps mais agrave un instant donneacute il nrsquoy en a qursquoune seule

3-Regravegles concernant les associations

bull Lrsquoidentifiant drsquoune association est implicitement formeacute par la concateacutenation des identifiants des entiteacutes lieacutees

10

On ne repreacutesente pas cet identifiant au niveau du MCD Deux occurrences drsquoassociation ne peuvent pas avoir le mecircme identifiant Pour une occurrence lrsquoidentifiant ne doit jamais changer de valeur (lrsquoidentifiant est une proprieacuteteacute constante)

bull Une association peut avoir des proprieacuteteacutes mais ce nrsquoest pas obligatoire

IV-MCDIntroduction aux cardinaliteacutes

Sommaire

bull 1 Formalisme bull 2 La cardinaliteacute minimale

o 21 Exemples o 22 Application

bull 3 La cardinaliteacute maximale o 31 Exemple 1 o 32 Exemple 2

bull 4 Conclusion bull 5 Exemple

bull 6 Repreacutesentation des cardinaliteacutes

Les cardinaliteacutes drsquoune entiteacute dans une association exprime le nombre de fois qursquoune occurrence de cette entiteacute est impliqueacutee dans lrsquoassociation au minimum et au maximum

1-Formalisme

2-La cardinaliteacute minimale

Elle est exprimeacutee presque toujours par lrsquoune des deux valeurs 0 ou 1Elle traduit combien de fois au minimum une occurrence de lrsquoentiteacute participe agrave lrsquoassociation

21--Exemples

Pour la cardinaliteacute mini entre client et commander il faut se poser la question Pour un client donneacute combien de fois au minimum il commande Si la reacuteponse est laquo tout client doit passer au moins une commande sinon ce nrsquoest pas un client raquo on met la cardinaliteacute mini agrave 1

11

Mais on peut tregraves bien imaginer que lrsquoentreprise veut aussi meacutemoriser les clients potentiels (prospects) qui nrsquoont encore rien commandeacute Dans ce cas un client peut tregraves bien ne pas avoir encore commandeacute et on met la cardinaliteacute mini agrave 0

22-Application

1 Trouver la question qui permet de trouver la cardinaliteacute minimale pour lrsquoentiteacute produit et lrsquoassociation commander

2 Faites deux hypothegraveses de regravegle de gestion concernant ce lien et trouver les cardinaliteacutes minimales correspondantes

3-La cardinaliteacute maximale

Elle traduit combien de fois au maximum lrsquoentiteacute peut ecirctre en relation avec lrsquoassociation Cela peut ecirctre plusieurs fois (si crsquoest un nombre indeacutetermineacute on indique la valeur n) ou une seule foisOn reacutepond agrave la question Combien au maximum lrsquoentiteacute peut participer agrave lrsquoassociation Si la reacuteponse est laquo au plus une fois raquo la cardinaliteacute maximale prend pour valeur 1Si la reacuteponse est laquo plusieurs raquo la cardinaliteacute maximale prend la valeur N

31-Exemple 1

bull REGLES DE GESTION

Un salarieacute est affecteacute au plus agrave un seul service Dans un service sont affecteacutes plusieurs salarieacutes

Il arrive (mais crsquoest rare) qursquoune cardinaliteacute maximale ait une valeur limiteacutee

32-Exemple 2

bull REGLE DE GESTION Un eacutelegraveve doit suivre au minimum une option et au maximum 3 options

12

4-Conclusion

En fait dans la grande majoriteacute des cas on nrsquoutilise que 4 combinaisons de valeurs pour les cardinaliteacutes

bull 01 au plus un(e) bull 11 un(e) et un(e) seul(e) bull 1 n un(e) ou plusieurs bull 0 n zeacutero ou plusieurs

5-Exemple

6-Repreacutesentation des cardinaliteacutes

Une voiture est posseacutedeacutee par une seule personne Une personne peut posseacuteder de 0 agrave plusieurs voitures

Une personne a une adresse ou est sans domicile A une adresse il y a une ou plusieurs personne qui y habitent

13

C-Les cardinaliteacutes et les diffeacuterents types dassociations

I-MCDCardinaliteacutes

Sommaire

bull 1 Deacutefinition et formalisme bull 2 La cardinaliteacute minimale

o 21 Exemple o 22 Application

bull 3 La cardinaliteacute maximale o 31 Exemple

bull 4 Reacutecapitulatif o 41 Exemples complets

1-Deacutefinition et formalisme

Les cardinaliteacutes sont des couples de valeur que lon trouve entre chaque entiteacute et ses associations lieacuteesDonc pour une association de 2 entiteacutes il y a 4 cardinaliteacutes agrave indiquer (2 de chaque cocircteacute)Il y a trois valeurs typiques 0 1 et N (plusieurs)

Pour les associations agrave 2 entiteacutes ce sont des valeurs qui permettent drsquoindiquer combien de fois au minimum et au maximum une occurrence dentiteacute peut ecirctre lieacutee agrave une autre occurrence dentiteacute

De maniegravere plus geacuteneacuterale les cardinaliteacutes drsquoune entiteacute dans une association expriment le nombre de fois qursquoune occurrence de cette entiteacute peut ecirctre impliqueacutee dans une occurrence de lassociation au minimum et au maximum

Les cardinaliteacutes traduisent des regravegles de gestion Ce sont des regravegles propres agrave lorganisation eacutetudieacutee qui sont deacutecideacutees par les gestionnaires et deacutecideurs Ces regravegles expriment des contraintes sur le modegravele

2-La cardinaliteacute minimale

14

Elle est exprimeacutee presque toujours par lrsquoune des deux valeurs 0 ou 1 Elle traduit combien de fois au minimum une occurrence de lrsquoentiteacute participe agrave lrsquoassociation autrement dit si une occurrence est obligatoirement associeacutee agrave une autre ou pas

21-Exemple

Pour la cardinaliteacute minimale entre client et commander il faut se poser la question Pour un client donneacute combien de fois au minimum il commande

ou encore mieux Est-il obligatoire quun client effectue une commande de produit

Cela deacutepend des REGLES DE GESTION de lentreprise Si la regravegle de gestion est laquo tout client doit passer au moins une commande sinon ce nrsquoest pas un client raquo on met la cardinaliteacute mini agrave 1

Mais on peut tregraves bien imaginer que lrsquoentreprise veut aussi meacutemoriser les clients potentiels (prospects) qui nrsquoont encore rien commandeacute Dans ce cas un client peut tregraves bien ne pas avoir encore commandeacute et on met la cardinaliteacute mini agrave 0

En fait les cardinaliteacutes deacutependent des regravegles de gestion propres agrave lrsquoorganisation eacutetudieacutee La regravegle peut tregraves bien ecirctre laquo On ne meacutemorise que les clients qui ont deacutejagrave commandeacute raquo ou bien laquo On veut meacutemoriser les prospects raquo

22-Application

bull Trouver la question qui permet de trouver la cardinaliteacute minimale pour lrsquoentiteacute produit et lrsquoassociation commander

Reacuteponse Est-il obligatoire quun produit ait eacuteteacute commandeacute pour quil soit meacutemoriseacute dans la base de donneacutee ou bien Peut-il exister dans la base de donneacutee des produits qui nont jamais eacuteteacute commandeacutes

bull Faites deux hypothegraveses de regravegle de gestion concernant ce lien et trouver les cardinaliteacutes minimales correspondantes

Reacuteponse H1 lentreprise peut proposer de nouveaux produits sur catalogue par exemple quelle meacutemorise dans sa base de donneacutees mais qui nont jamais encore eacuteteacute commandeacutes =gt cardinaliteacute minimale agrave 0 (cest plutocirct le cas pour les entreprises de vente)

15

H2 tout produit inscrit dans la base de donneacutee est forceacutement commandeacute (par exemple parce que lentreprise ne propose pas de catalogue mais fabrique seulement agrave la commande) =gt cardinaliteacute minimale agrave 1 (cest plutocirct le cas pour les entreprises de production)

3-La cardinaliteacute maximale

Elle traduit combien de fois au maximum une occurrence dentiteacute peut ecirctre en relation avec une occurrence de lassociation Cela peut ecirctre plusieurs fois (si crsquoest un nombre indeacutetermineacute on indique la valeur n) ou une seule fois

Cette cardinaliteacute reacutepond agrave la question

bull la participation dune occurrence doit-elle ecirctre unique ou bien peut-elle ecirctre multiple ou bien

bull combien de fois au maximum une occurrence est elle impliqueacutee dans lassociation

Si lassociation est binaire (relie seulement deux entiteacute) la question peut ecirctre aussi

bull Une occurrence de lentiteacute peut-elle ecirctre relieacutee agrave plusieurs occurrences de lautre entiteacute ou bien ne peut-elle ecirctre relieacutee quagrave une seule autre occurrence au plus

Si la reacuteponse est laquo au plus une fois raquo (participation unique) la cardinaliteacute maximale prend pour valeur 1 Si la reacuteponse est laquo plusieurs raquo (participation multiple) la cardinaliteacute maximale prend la valeur N

31-Exemple

bull RG (regravegles de gestion)

1 Un salarieacute est affecteacute au plus agrave un seul service 2 Dans un service sont affecteacutes plusieurs salarieacutes

Il arrive (mais crsquoest rare) qursquoune cardinaliteacute maximale ait une valeur limiteacutee

bull Exemple

RG Un eacutelegraveve peut suivre au maximum 3 options

4-Reacutecapitulatif

16

En fait dans la grande majoriteacute des cas on nrsquoutilise que 4 combinaisons de valeurs pour les cardinaliteacutes

bull 01 au plus un(e) bull 11 un(e) et un(e) seul(e) bull 1n un(e) ou plusieurs bull 0 n zeacutero ou plusieurs

41-Exemples complets

RG un client commande au moins 1 produit (sous entendu ou plusieurs) et un produit peut ne pas encore avoir eacuteteacute commandeacute comme il peut lavoir eacuteteacute plusieurs fois

RG Un salarieacute est obligatoirement affecteacute agrave 1 et 1 seul service Un service pour exister doit avoir au moins un salarieacute affecteacute (sous-entendu il peut bien sur en avoir plusieurs)

II-MCDAssociations

Sommaire

1 Les associations binaires concernant 2 entiteacutes

11 Les associations hieacuterarchiques [1n]

12 Les associations non hieacuterarchiques [n n]

13 Les associations de type [1 1]

2 Les autres types dassociation

21 Les associations reacuteflexives

211 Exemple dassociation reacuteflexive hieacuterarchique

212 Exemples dassociations reacuteflexives non hieacuterarchiques

22 Les associations de dimension 3 ou plus (ternaires ou plus)

1-Les associations binaires concernant 2 entiteacutes

17

On distingue trois cateacutegories dassociations en fonction des cardinaliteacutes maximales de ses branches

-Les associations hieacuterarchiques encore appeleacutees associations [1 n] ou associations fonctionnelles

-Les associations non hieacuterarchiques encore appeleacutees associations [n n] ou non fonctionnelles

-Les association [1 1] les 2 branches ont pour cardinaliteacute maximale 1 Ce cas est rare

11-Les associations hieacuterarchiques [1 n]

Ce sont les associations ougrave dun cocircteacute la |cardinaliteacute maximale est agrave 1 et de lautre cocircteacute la cardinaliteacute maximale est agrave n

Cela signifie quune occurrence de A est relieacutee au plus agrave une seule occurrence de B Cest-agrave-dire si on connaicirct une occurrence de A alors on saura forceacutement quelle est la seule occurrence de B qui correspond (si elle existe) On dit que A deacutetermine B Cest un lien de deacutependance fonctionnelle B deacutepend fonctionnellement de A

Lentiteacute qui correspond agrave la branche du cocircteacute du 1 est parfois appeleacutee entiteacute fils et lentiteacute correspondant agrave la branche du cocircteacute n est parfois appeleacutee entiteacute pegravere Cette appellation deacutecoule de lanalogie un fils na quun seul pegravere et un pegravere peut avoir plusieurs fils

12-Les associations non hieacuterarchiques [n n]

13-Les associations de type [1 1]

Cas exceptionnel

Ex un employeacute travaille sur un ordinateur (p 99 de Modeacuteliser les donneacutees) La facture correspondant agrave une commande

2-Les autres types dassociation

18

Le plus souvent une association relie 2 entiteacutes avec 2 branches Ce type dassociation est appeleacute association binaire Nous avons deacutejagrave eacutetudieacute en deacutetail les diffeacuterents types dassociations binaires

Mais une association peut aussi relier 3 ou tregraves rarement 4 entiteacutes (quasiment jamais plus) On parle dassociation ternaire quaternaire (n-aire) Enfin une association peut aussi relier une entiteacute agrave elle-mecircme cest-agrave-dire que des occurrences de la mecircme entiteacute sont relieacutees entre elles Lassociation correspondante est qualifieacutee de reacuteflexive Ce sont ces autres types dassociation que nous allons eacutetudier maintenant

21-Les associations reacuteflexives

Une association reacuteflexive est une association reliant des occurrences de la mecircme entiteacute Ces associations sont quasiment toujours binaire (2 branches) Pour lire une association reacuteflexive il est faut connaicirctre le rocircle attribueacute agrave chaque branche de lassociation Il existe comme pour les autres associations des associations reacuteflexives hieacuterarchique et des associations reacuteflexives non hieacuterarchique

211-Exemple dassociation reacuteflexive hieacuterarchique

Dans une entreprise bureaucratique chaque salarieacute a un seul chef (supeacuterieur hieacuterarchique direct) sauf le patron et chaque chef a au moins un salarieacute sous ses ordres Evidemment certains salarieacutes ne sont chefs de personnes

Exemples doccurrences diagramme doccurrences

Remarquez limportance du rocircle dans le diagramme doccurrence

212--Exemples dassociations reacuteflexives non hieacuterarchiques

19

Piegraveces composants composeacute = reacuteflexive asymeacutetrique

Personnes fregraveres = reacuteflexive symeacutetrique (rocircle pas indispensable car a pour fregravere = ecirctre fregravere de)

Preacutecision de vocabulaire dimension dune association

La dimension dune association correspond au nombre de branches de lassociation Dans plus de 80 des cas les associations sont binaires Dimension 2 binaire Dimension 3 ternaire (rare) Dimension supeacuterieure aire (exceptionnel)

Lorsquil ny a pas de reacuteflexiviteacute le nombre de branches est eacutegal au nombre dentiteacutes relieacutees La dimension est dans ce cas le nombre dentiteacutes concerneacutees par lassociation Mais la reacuteflexiviteacute existe et donc on peut avoir plusieurs branches de la mecircme association sur la mecircme entiteacute Dans ce cas alors la dimension est supeacuterieure au nombre dentiteacutes concerneacutees

Dimension = nombre dentiteacute lieacutees

Une association reacuteflexive (1 entiteacute) est quasiment toujours binaire (2 branches) On pourrait aussi avoir une association ternaire impliquant seulement deux entiteacutes

22-Les associations de dimension 3 ou plus (ternaires ou plus)

Une association peut relier plus de 2 entiteacutes ensemble le plus souvent trois On parle alors dassociation ternaire On utilise une association ternaire quand on a besoin de connaicirctre une occurrence de chaque entiteacute pour avoir une information

Exemple

Pour connaicirctre la quantiteacute de chacune des piegraveces fabriqueacutee par chaque ouvrier agrave une date donneacutee on utilise une association ternaire entre OUVRIER PIECE et DATE La quantiteacute est une donneacutee porteacutee par cette association

Une occurrence de lassociation fabrique implique une seule occurrence de chaque entiteacute

20

Exemple

Ouvrier Piegravece Date quantiteacute

Dupont 1 1702 50

Dubois 2 1702 100

Martin 1 1702 40

Dupont 3 1702 55

Dubois 3 1702 20

Dupont 1 1602 40

Martin 1 1602 40

Lassociation ternaire implique aussi que

Pour un ouvrier on peut avoir plusieurs piegraveces diffeacuterentes agrave la mecircme date (il peut fabriquer plusieurs types de piegraveces le mecircme jour)

Une piegravece peut ecirctre fabriqueacutee par plusieurs ouvriers diffeacuterents le mecircme jour

A des dates diffeacuterentes un mecircme ouvrier peut fabriquer les mecircmes piegraveces

Lidentifiant dune association ternaire est formeacutee de la concateacutenation (juxtaposition) des identifiants des 3 entiteacutes relieacutees

Dans notre exemple on ne peut donc pas avoir plusieurs occurrences de fabrique qui concernent Dupont la piegravece ndeg1 agrave la date du 1702

III-MCDRepreacutesentation des cardinaliteacutes

bull Une voiture est posseacutedeacutee par une seule personne Une personne peut posseacuteder de 0 agrave plusieurs voitures

21

bull Une personne a une adresse ou est sans domicile A une adresse il y a une ou plusieurs personnes qui y habitent

IV-MCDAssociation ternaire

bull Une association peut relier plus de 2 entiteacutes ensemble le plus souvent trois On parle alors dassociation ternaire (dimension 3) On utilise une association ternaire quand on a besoin de connaicirctre une occurrence de chaque entiteacute pour avoir une information

bull Ex

Pour connaicirctre la quantiteacute de chacune des piegraveces fabriqueacutee par chaque ouvrier agrave une date donneacutee on utilise une association ternaire entre OUVRIER PIECE et DATE La quantiteacute est une donneacutee porteacutee par cette association

22

Une occurrence de lassociation fabrique implique une seule occurrence de chaque entiteacute Exemple

Ouvrier Piegravece Date quantiteacuteDupont 1 1702 50Dubois 2 1702 100Martin 1 1702 40Dupont 3 1702 55Dubois 3 1702 20Dupont 1 1602 40Martin 1 1602 40

Lassociation ternaire implique aussi que

1 Pour un ouvrier on peut avoir plusieurs piegraveces diffeacuterentes agrave la mecircme date (il peut fabriquer plusieurs types de piegraveces le mecircme jour)

2 Une piegravece peut ecirctre fabriqueacutee par plusieurs ouvriers diffeacuterents le mecircme jour 3 A des dates diffeacuterentes un mecircme ouvrier peut fabriquer les mecircmes piegraveces

Lidentifiant dune association ternaire est formeacutee de la concateacutenation (juxtaposition) des identifiants des 3 entiteacutes relieacutees

Dans notre exemple on ne peut donc pas avoir plusieurs occurrences de fabrique qui concernent Dupont la piegravece ndeg1 agrave la date du 1702

V-MCDAssociations reacuteflexives

Une association reacuteflexive est une association reliant des occurrences de la mecircme entiteacute Ces associations sont quasiment toujours binaire (2 branches)

Pour lire une association reacuteflexive il est faut connaicirctre le rocircle attribueacute agrave chaque branche de lassociation cest agrave dire le rocircle de chaque occurrence dans le lien

23

Il existe comme pour les autres associations des associations reacuteflexives hieacuterarchique (une des cardinaliteacutes maximales agrave 1) et des association reacuteflexives non hieacuterarchique (les deux cardinaliteacutes maximales agrave n)

1-Exemple dassociation reacuteflexive hieacuterarchique

Dans une entreprise bureaucratique chaque salarieacute a un seul chef (supeacuterieur hieacuterarchique direct) sauf le patron et chaque chef a au moins un salarieacute sous ses ordres Evidemment certains salarieacutes ne sont chefs de personnes

Un mecircme salarieacute peut agrave la fois ecirctre chef et avoir un chef Tutu peut ecirctre chef de titi et de toto et dautres salarieacutes mais il na quun seul chef au maximum toto peut ecirctre le chef de coco et avoir pour chef tutu

2-Exemples dassociations reacuteflexives non hieacuterarchiques

Piegraveces composants composeacute = reacuteflexive asymeacutetrique

Une piegravece peut entrer dans la composition de plusieurs autres piegraveces (ex un boulon) Une piegravece peut aussi ecirctre composeacutee de plusieurs autres piegraveces (ex un moteur) Une mecircme piegravece peut ecirctre composeacutee dautres piegraveces et entrer dans la composition dune ou plusieurs autres piegraveces (ex une carte reacuteseau)

Preacutecision de vocabulaire dimension dune association

La dimension dune association correspond au nombre de branches de lassociation Dans plus de 80 des cas les associations sont binaires

Dimension 2 binaire Dimension 3 ternaire (rare) Dimension supeacuterieure n-aire (exceptionnel)

Lorsquil ny a pas de reacuteflexiviteacute le nombre de branches est eacutegal au nombre dentiteacutes relieacutees La dimension est dans ce cas le nombre dentiteacutes concerneacutees par lassociation Mais la reacuteflexiviteacute existe et donc on peut avoir plusieurs branches de la mecircme association sur la mecircme entiteacute Dans ce cas alors la dimension est supeacuterieure au nombre dentiteacutes concerneacutees

24

Dimension = nombre dentiteacute lieacutees

Une association reacuteflexive (1 entiteacute) est quasiment toujours binaire (2 branches) On pourrait aussi avoir une association ternaire impliquant seulement deux entiteacutes

D-Passage MCD lt=gt modegravele relationnel

I-MRRappel sur le modegravele relationnel

Cest un modegravele LOGIQUE de donneacutee celui qui correspond agrave lorganisation des donneacutees dans les bases de donneacutees relationnelles (il existe dautres organisations de bases de donneacutees hieacuterarchique reacuteseau objethellip)

Les SGBD actuels les plus courants sont relationnels (Oracle SQL Server Access MySQL hellip )

Un modegravele relationnel est composeacute de relations encore appeleacutee tables Ces tables sont deacutecrites par des attributs ou champs (noms de colonnes) Pour deacutecrire une relation on indique tout simplement son nom en majuscule suivi du nom de ses attributs entre parenthegraveses

Lidentifiant dune relation est composeacute dun ou plusieurs attributs qui forment la cleacute primaire Une relation peut faire reacutefeacuterence agrave une autre en utilisant une cleacute eacutetrangegravere qui correspond agrave la cleacute primaire de la relation reacutefeacuterenceacutee

Il ny a pas de notation officielle pour repeacuterer les cleacutes primaires et eacutetrangegraveres Cest agrave vous den adopter une et de lexpliquer en leacutegende Toutefois une notation sest peu agrave peu reacutepandue

bull on souligne la cleacute primaire dun seul trait bull on fait preacuteceacuteder (ou suivre) les cleacutes eacutetrangegraveres du symbole

Chaque ligne (tuple ou enregistrement) dune table repreacutesente une occurrence de lentiteacute ou de lassociation correspondante

II-MRPassage du MCD au MR

Sommaire

bull 1 Regravegle 1 bull 2 Regravegle 2 bull 3 Exception agrave la regravegle 1 bull 4 Cas particulier des associations reacuteflexives

o 41 Reacuteflexive hieacuterarchique o 42 Reacuteflexive non hieacuterarchique

25

1-Regravegle 1

Toute entiteacute devient une relation ayant pour cleacute primaire son identifiant

Chaque proprieacuteteacute se transforme en attribut CLIENT (code_client nom preacutenom adresse code_postal ville teacuteleacutephone)

Remarque contrairement aux proprieacuteteacutes les attributs ne doivent pas comporter despaces

2-Regravegle 2

Toute association non hieacuterarchique (de type [n n] ou de dimension gt 2) devient une relation La cleacute primaire est formeacutee par la concateacutenation (juxtaposition) lensemble des identifiants des entiteacutes relieacutees Toutes les proprieacuteteacutes eacuteventuelles deviennent des attributs qui ne peuvent pas faire partie de la cleacute

CONCERNER (numeacutero_commande reacutefeacuterence_article quantiteacute)

Cette regravegle est valable pour toutes les associations ternaires (ou quaternaires) qui sont forceacutement non hieacuterarchiques (|cardinaliteacutes maximales toutes eacutegales agrave n)

3- Exception agrave la regravegle 1

Les entiteacutes nayant que leur identifiant comme attribut ne deviennent pas des relations mais des attributs dans les autres relations lieacutees

Avec ce modegravele on meacutemorise chaque jour pour chaque ouvrier les piegraveces quil a fabriqueacute et en quelle quantiteacute Quand on passe au modegravele relationnel lentiteacute DATE FABRICATION ne

26

devient pas une relation mais un attribut cleacute dans la relation FABRIQUE issue de lassociation

FABRIQUE (code_ouvrier reacutefeacuterence_piegravece date quantiteacute) Date ici fait partie de la cleacute primaire mais nest pas cleacute eacutetrangegravere

4-Cas particulier des associations reacuteflexives

Les associations reacuteflexives suivent les regravegles 2 ou 3 selon les |cardinaliteacutes mais posent un problegraveme particulier une mecircme proprieacuteteacute va se retrouver deux fois en attribut dans la mecircme relation Il faut alors donner un nom diffeacuterent et significatif aux deux attributs correspondants

Dans les reacuteflexives il est conseilleacute de nommer les branches par des rocircles pour pouvoir lire dans le bon sens lassociation Les rocircles aident agrave nommer les attributs correspondant agrave lassociation

41-Reacuteflexive hieacuterarchique

(Une branche agrave la cardinaliteacute maxi agrave 1 et lautre agrave n)

Regravegle ndeg 2

Lecture de lassociation Regravegle ndeg1 lidentifiant de SALARIE va devenir cleacute primaire et les autres proprieacuteteacutes des attributsRegravegle ndeg2 pour traduire lassociation [1 n] encadrer lidentifiant de lentiteacute SALARIE devient cleacute eacutetrangegraverelidentifiant de SALARIE matricule se retrouve deux fois dans la relation comme cleacute primaire et comme cleacute eacutetrangegravereOn va donc donner un nom diffeacuterent et significatif agrave ces deux matricules par exemple Un salarieacute a pour chef 0 ou un seul autre salarieacute Un salarieacute est chef de 0 agrave n autre(s) salarieacute

Traduction en modegravele relationnel

SALARIE (matricule nom preacutenom fonctionhellip matricule_chef)

42-Reacuteflexive non hieacuterarchique

Regravegle ndeg3

27

bull Lecture de lassociation

Une piegravece entre dans la composition de 0 agrave plusieurs autres piegraveces Une piegravece peut ecirctre composeacutee de plusieurs autres piegraveces Une piegravece entre dans la composition dune autre un certain nombre de fois

Ex La piegravece voiture est composeacutee de 4 piegraveces roue La piegravece roue est elle-mecircme composeacutee dune piegravece pneu et dune piegravece jante

Une piegravece entrant dans la composition dune autre est appeleacutee composant Une piegravece composeacutee dautres piegraveces est appeleacutee composeacute Une roue est agrave la fois un composant (de voiture) et un composeacute (de pneu et jante)

bull Traduction en modegravele relationnel

PIECE (reacutefeacuterence libelleacute)COMPOSITION(reacutefeacuterence_composeacute reacutefeacuterence_composant nombre)

E-Normalisation du modegravele relationnel

I- Deacutependance fonctionnelle

Sommaire

1 Introduction

2 Rappels sur la notion de deacutependance fonctionnelle

21 Deacutefinition

22 Terminologie

23 DF agrave partir de proprieacuteteacutes concateacuteneacutees

24 Proprieacuteteacutes des deacutependances fonctionnelles

241 Union

242 Transitiviteacute

1-Introduction

Lobjectif de la normalisation est de construire un scheacutema de base de donneacutees coheacuterentUn mauvais scheacutema logique peut conduire agrave un certain nombre danomalies pendant la phase dexploitation de la base de donneacutee Nous allons voir ces anomalies dans une premiegravere partiePour qursquoun modegravele relationnel soit normaliseacute il faut qursquoil respecte certaines contraintes appeleacutees les formes normales Les formes normales srsquoappuient sur les deacutependances fonctionnelles entre attributs

2-Rappels sur la notion de deacutependance fonctionnelle

La construction du MCD mais eacutegalement du modegravele relationnel correspondant repose presque entiegraverement sur le concept de deacutependance fonctionnelle Crsquoest ce concept qui permet

28

de passer drsquoun ensemble de proprieacuteteacutes non structureacute agrave un modegravele conceptuel des donneacutees formeacute drsquoentiteacutes et drsquoassociations et au modegravele relationnel correspondant

21-Deacutefinition

On dit que b est en deacutependance fonctionnelle (DF) de a si agrave une valeur quelconque de la proprieacuteteacute a on ne peut faire correspondre qursquoune seule valeur au plus de la proprieacuteteacute b

On note a b(Source)-gt (but)

Autrement dit si on connaicirct la valeur de a on peut en deacuteduire une seule valeur de bMais la reacuteciproque nrsquoest pas vrai (si on connaicirct b on ne peut pas en deacuteduire a)

bull Exemple

Num client Nom client

Il existe une DF entre num client et Nom client car si on connaicirct une valeur de la proprieacuteteacute num client (ex 4553) il ne peut lui correspondre qursquoune seule valeur de la proprieacuteteacute nom (ex Duval)

La reacuteciproque est fausse

Nom client Num client nrsquoest pas une DF

Si lrsquoon connaicirct la valeur de la proprieacuteteacute Nom client on ne peut pas en deacuteduire la proprieacuteteacute Num client car il peut y avoir des homonymes

22-Terminologie

Si on a une deacutependance fonctionnelle a b on peut employer les expressions suivantes de faccedilon eacutequivalente -Il y a une deacutependance fonctionnelle de a vers b- b est en deacutependance fonctionnelle de a- b deacutepend fonctionnellement de a- a est la source et b est le but (ou la cible) de la deacutependance fonctionnelle

23-DF agrave partir de proprieacuteteacutes concateacuteneacutees

(Partie gauche composeacutee de plusieurs attributs)

Il peut exister des deacutependances fonctionnelles agrave partir de proprieacuteteacutes concateacuteneacutees cest-agrave-dire qui forment un tout indissociable comme si elles eacutetaient soudeacutees

On note par un + cette concateacutenation

Exemple Consideacuterons une commande qui comporte plusieurs produits Num_Commande + Ref_Produit quantiteacute commandeacutee

Si on nrsquoa seulement le numeacutero de la commande on ne peut pas en deacuteduire la quantiteacute commandeacutee car il faut aussi savoir de quel produit De mecircme on ne peut pas savoir la quantiteacute commandeacutee drsquoun produit si on ne sait pas de quelle commande Il faut bien connaicirctre agrave la fois la commande et le produit (leurs identifiants respectifs) pour en deacuteduire la quantiteacute commandeacutee

29

Les deacutependances fonctionnelles dont la source est formeacutee de plusieurs proprieacuteteacutes doivent ecirctre eacuteleacutementaires cest-agrave-dire ne pas ecirctre creacuteeacutees artificiellement

Ex Num Commande + Num Client date commande nrsquoest pas une DF eacuteleacutementaire car on nrsquoa pas besoin du numeacutero de client pour connaicirctre la date de commande il suffit de connaicirctre le numeacutero de la commande La proprieacuteteacute Num Client ne

24-Proprieacuteteacutes des deacutependances fonctionnelles

Les deacutependances fonctionnelles ont les proprieacuteteacutes suivantes

241-Union

Si on a deux DF ayant la mecircme source on peut les rassembler en une seule en seacuteparant les

cibles par une virgule Si a b et a c

Ex Reacutefeacuterence Deacutesignation et Reacutefeacuterence Prix de vente unitaire

Alors par union on a Reacutefeacuterence Deacutesignation Prix de vente unitaire

Lors du traceacute du graphe des deacutependances fonctionnelles lrsquounion permet de regrouper sur une seule ligne toutes les deacutependances fonctionnelles ayant la mecircme source

242-Transitiviteacute

Si a b et b c alors on a a c

Ex Num Meacutedecin Code Service et Code Service Num Hopital

Alors on a Num Meacutedecin Num Hopital

Les DF qui peuvent ecirctre deacuteduites par transitiviteacute de deux autres DF (qui ne sont pas directes) doivent ecirctre eacutelimineacutees car elles sont alors redondantesIl ne reste alors que les DF directes cest-agrave-dire celles qui ne peuvent pas ecirctre retrouveacutees par transitiviteacute

Attention toutefois agrave la signification des deacutependances Une deacutependance fonctionnelle quon peut retrouver par transitiviteacute ne doit pas ecirctre supprimeacutee si elle na pas le mecircme sens que la transitiviteacute des deux autres car il y aurait perte dinformation

II-MRInteacuterecirct de la normalisation

Exemple

Pour vous montrer lrsquointeacuterecirct de la normalisation drsquoune base de donneacutee relationnelle voyons les problegravemes que peuvent poser lrsquoutilisation drsquoune base de donneacutee baseacutee sur un modegravele relationnel non normaliseacute

Soit le scheacutema de relation

30

FOURNISSEUR (NomFournisseur AdresseFournisseur Produits Prix)

Modegravele en extension

NomFournisseur AdresseFournisseur Produit Prix

Lebras 10 Rue des Gras - ClermontChaise table

2035

Dupont 86 Rue de la Reacutepublique - Moulins Bureau 60

Lajoie 26 Rue des Docircmes - Vichy Lit 50

Dupont 39 Rue des Buttes - MoulinsLampeTable de chevet

1825

bull 1degproblegraveme

Il nrsquoy a pas de cleacute primaire on ne sait pas si les deux Dupont sont diffeacuterents ou pas (si crsquoest le mecircme Dupont il y a une des deux adresses qui est fausse

bull 2degproblegraveme

Lrsquoadresse nrsquoest pas deacutecomposeacutee Si on veut par exemple rechercher tous les fournisseurs qui habitent la mecircme ville ccedila ne va pas ecirctre possible

bull 3degproblegraveme

Une relation (table) correspondant agrave ce scheacutema pourra eacuteventuellement contenir plusieurs produits pour un mecircme fournisseur

Dans ce cas il faudra faire face agrave un certain nombre de problegravemes

bull ladresse du fournisseur sera dupliqueacutee dans chaque n-uplet (redondance) bull si on souhaite modifier ladresse dun fournisseur il faudra rechercher et mettre agrave jour

tous les n-uplets correspondant agrave ce fournisseur bull si on insegravere un nouveau produit pour un fournisseur deacutejagrave reacutefeacuterenceacute il faudra veacuterifier

que ladresse est identique bull si on veut supprimer un fournisseur il faudra retrouver et supprimer tous les n-uplets

correspondant agrave ce fournisseur (pour diffeacuterents produits) dans la table bull La normalisation eacutelimine les redondances ce qui permet

- une diminution de la taille de la base de donneacutee sur le disque- une diminution des risques drsquoincoheacuterence- drsquoeacuteviter une mise agrave jour multiple des mecircmes donneacutees

31

III-MR 3 formes normales

Les 3 formes normales du modegravele relationnel

Sommaire

1 1er forme normale

2 2egraveme forme normale

3 3egraveme forme normale

4 Application des regravegles

5 Reacutesumeacute

1-1er forme normale

Une relation est normaliseacutee en premiegravere forme normale si

-Elle possegravede une cleacute identifiant de maniegravere unique et stable chaque ligne

-Chaque attribut est monovalueacute (ne peut avoir qursquoune seule valeur par ligne)

-Aucun attribut nrsquoest deacutecomposable en plusieurs attributs significatifs

Contre-exemple

EMPLOYE ( Nom Preacutenom Enfants Diplocircmes)

Cette relation nrsquoest pas en premiegravere forme normale

Un employeacute peut avoir plusieurs enfants et plusieurs diplocircmes En outre ces attributs sont deacutecomposables diplocircme est deacutecomposable en Nature et Anneacutee et Enfants est deacutecomposable en Preacutenom et Anneacutee de Naissance

2-2egraveme forme normale

Une relation R est en deuxiegraveme forme normale si et seulement si

-Elle est en 1FN

-Et tout attribut non cleacute est totalement deacutependant de toute la cleacute

Autrement dit aucun des attributs ne deacutepend que drsquoune partie de la cleacute La 2FN nest agrave veacuterifier que pour les relations ayant une cleacute composeacutee Une relation en 1FN nayant quun seul attribut cleacute est toujours en 2FN

Contre-exemple 32

Cette relation est en premiegravere forme normale (existence drsquoune cleacute valide et aucun attribut nrsquoest deacutecomposable)MAIS elle nrsquoest pas en 2deg forme normale car on a DeacutesignationProd ne deacutepend pas de toute la cleacute mais seulement de reacutefeacuterenceProd

ReacutefeacuterenceProd DeacutesignationProd

Pour connaicirctre lrsquoattribut deacutesignationProd on nrsquoa pas besoin de connaicirctre le numeacutero de commande

3-3egraveme forme normale

Une relation est en 3deg forme normale si et seulement si

Elle est en 2deg forme normale et tout attribut doit deacutependre directement de la cleacute cest-dire qursquoaucun attribut ne doit deacutependre de la cleacute par transitiviteacute

Autrement dit aucun attribut ne doit deacutependre drsquoun autre attribut non cleacute

Contre-exemple

CLIENT (Num_client Nom_client code_categ nom_categ) Cette relation nrsquoest pas en 3FN car num_client nom_categ nrsquoest pas une deacutependance directe

En effet on a aussi num_client num_categ nom_categ

4-Application des regravegles

Si lrsquoune des 3 regravegles nrsquoest pas veacuterifieacutee cela indique une erreur dans le modegravele relationnel et il faut alors modifier pour que les 3 regravegles soient veacuterifieacutees pour toutes les relationsOn veacuterifie les regravegles dans lrsquoordre Si la premiegravere forme normale nrsquoest pas respecteacutee pas la peine de veacuterifier la 2FN Et si la 2FN nrsquoest pas veacuterifieacutee inutile de veacuterifier la 3FN

5-Reacutesumeacute

Modegravele normaliseacute = relations avec

-Une cleacute qui permet de distinguer chaque occurrence

-Des attributs eacuteleacutementaires (1FN)

-En deacutependance de TOUTE la cleacute (2FN)

-Et RIEN QUE de la cleacute (3FN)

On parle aussi de normalisation pour un MCD Un MCD qui donne un MR normaliseacute est qualifieacute aussi de normaliseacute

F-MeriseLes diagrammes de flux

Les diagrammes de flux reacutepondent agrave la question Que fait le systegraveme

33

En ce sens ce sont des modegraveles FONCTIONNELS (qui deacutecrivent les fonctions)

Il existe2 types principaux de diagrammes de flux

1 Le modegravele de contexte (MC) ougrave le domaine drsquoeacutetude est vu comme une boite noire On ne repreacutesente que les flux exteacuterieurs au domaine

2 Le modegravele de flux de donneacutees (DFD) ou encore modegravele de flux conceptuels (MFC) ougrave lrsquoon deacutetaille les activiteacutes du domaine drsquoeacutetude On repreacutesente aussi les flux internes au domaine

I-MeriseVocabulaire associeacute aux modegraveles de flux

Sommaire

bull 1 Domaine deacutetude bull 2 Acteur externe bull 3 Domaine connexe

bull 4 Flux de donneacutees

1-Domaine deacutetude

Le domaine deacutetude est un sous-ensemble coheacuterent de lentreprise ou de lorganisme bien deacutelimiteacute et formant le contenu du sujet agrave eacutetudier

Dans les modegraveles de flux le domaine deacutetude est repreacutesenteacute par un rectangle agrave trait plein Le nom du domaine est placeacute agrave lrsquointeacuterieur du rectangle

2-Acteur externe

Un acteur externe est un eacuteleacutement eacutemetteur ou reacutecepteur de donneacutees situeacute hors du systegraveme dinformation eacutetudieacute

Dans les modegraveles de flux un acteur externe est repreacutesenteacute par un cercle plein Le nom de lrsquoacteur est placeacute agrave lrsquointeacuterieur du cercle

3-Domaine connexe

Un domaine connexe est un composant du systegraveme drsquoinformation interagissant avec le domaine drsquoeacutetude Crsquoest un acteur interne agrave lrsquoentreprise mais externe au domaine drsquoeacutetude

34

Dans les modegraveles de flux une activiteacute est repreacutesenteacutee graphiquement par un rectangle Le nom de lactiviteacute est placeacute agrave lrsquointeacuterieur du rectangle

4-Flux de donneacutees

Un flux est un transfert drsquoinformations entre composants du systegraveme Le composant peut ecirctre un domaine une activiteacute ou un acteur externe

Dans les modegraveles de flux un flux de donneacutees est repreacutesenteacute graphiquement par une flegraveche orienteacutee du composant eacutemetteur du flux vers le composant reacutecepteur Le libelleacute du flux est inscrit en regard de la flegraveche traceacutee

Formalisme graphique illustrant par exemple un eacutechange entre un acteur externe et le domaine deacutetude

II-MeriseModegravele de contexte

Le modegravele de contexte sert agrave repreacutesenter les interactions entre le domaine deacutetude et lrsquoenvironnement et entre le domaine deacutetude et les eacuteventuels domaines connexes

Le domaine deacutetude y est repreacutesenteacute comme une boicircte noire

Le modegravele de contexte utilise les concepts suivants

bull le domaine deacutetude bull les acteurs externes bull les flux de donneacutees bull les domaines connexes

Exemple de modegravele de contexte au sein drsquoune socieacuteteacute commerciale on eacutetudie le domaine laquo gestion des ventes raquo

35

Remarque

bull on ne fait pas apparaicirctre les flux entre acteurs externes et domaines connexes ou entre les domaines connexes

Exemple le flux correspondant agrave la livraison de marchandises nrsquoapparaicirct pas

II-MeriseMFC ou DFD

Sommaire

bull 1 Modegravele de flux conceptuel(MFC) ou diagramme de flux de donneacutees(DFD) o 11 Deacutefinition o 12 Exemple o 13 Regravegles de deacutecomposition des activiteacutes

1-Modegravele de flux conceptuel (MFC) ou diagramme de flux de donneacutees (DFD)

11-Deacutefinition

Ce modegravele permet de deacutecider quelles activiteacutes inter-relieacutees de quelle maniegravere permettront de reacutesoudre au mieux le problegraveme poseacute et cette reacuteflexion est meneacutee sans sencombrer dans un premier temps du comportement du systegraveme (ordonnancement regravegles deacutemission synchronisationshellip)

Les modegraveles de flux conceptuels permettent de deacutecomposer le domaine drsquoeacutetude en activiteacutes Il nrsquoy a pas ici de notion drsquoorganisation mais drsquoobjectifs agrave reacutealiser On repreacutesente les flu x entre activiteacutes et avec lrsquoenvironnement

Pour analyser les communications et les activiteacutes on procegravede par laquo zooms raquo successifs sur le domaine eacutetudieacute pour eacutelaborer des modegraveles de plus en plus deacutetailleacutes qui permettront davoir une cartographie deacutetailleacutee du systegraveme et de preacuteparer le passage au modegravele conceptuel de repreacutesentation des traitements

36

Le modegravele de contexte est eacutegalement appeleacute le diagramme de flux de donneacutees de niveau 0

Nous obtenons ensuite des diagrammes de premier deuxiegraveme troisiegraveme hellip niveau par eacuteclatements successifs des activiteacutes agrave chacun de ces niveaux

La deacutecomposition drsquoun domaine ou drsquoune activiteacute en plusieurs activiteacutes peut faire apparaicirctre de nouveaux flux dus

1 agrave lrsquoeacutechange drsquoinformations entre activiteacutes 2 agrave la deacutecomposition drsquoun flux preacutesent au niveau n en plusieurs flux au niveau n+1

12-Exemple

Si on reprend le modegravele de contexte preacuteceacutedent on srsquoaperccediloit que le domaine des ventes peut-ecirctre eacuteclateacute en trois activiteacutes Nous obtenons ainsi le diagramme de flux de donneacutees de niveau 1

Remarque

bull On peut deacutecomposer le modegravele de flux de niveau 1 en un modegravele de flux de niveau 2 et etc hellip jusqursquoagrave arriver agrave un modegravele ougrave lrsquoactiviteacute correspond agrave une opeacuteration au sens Merise (regravegle drsquoininterruption)

Exemple lrsquoactiviteacute laquo gestion des factures raquo peut ecirctre encore deacutecomposeacutee en activiteacutes laquo facturation raquo et laquo Suivi des regraveglements raquo

13-Regravegles de deacutecomposition des activiteacutes

bull Pourquoi deacutecomposer

1 Pour deacutesagreacuteger les groupes de flux pour arriver agrave la deacutefinition des flux-types du domaine eacutetudieacute

2 Pour preacuteparer leacutetude dynamique du systegraveme dinformation pour arriver agrave lrsquoidentification des processus et des opeacuterations conceptuelles

bull Comment deacutecomposer

37

1 Identifier les groupes de donneacutees entrant et sortant du domaine drsquoeacutetude pour construire le modegravele de contexte

2 Identifier les activiteacutes geacuteneacuterant ou traitant les flux de donneacutees pour construire le DFD de niveau 1(approche par les donneacutees) ou identifier une activiteacute de niveau 1 comme un ensemble drsquoactiviteacutes participant agrave une mecircme finaliteacute (approche par les objectifs)

bull Jusquougrave deacutecomposer

Lorsquune activiteacute a atteint le niveau dinterruptabiliteacute (degraves lors que le traitement est deacuteclencheacute il se deacuteroule sans attente de ressources compleacutementaires exteacuterieures) Lactiviteacute est alors une opeacuteration conceptuelle qui sera deacutecrite lors de leacutetude dynamique du SI dans le MCTA

G-Les Modegraveles de traitements (MCT et MCTA)

I-MeriseMCT

Sommaire

bull 1 Modeacutelisation des Traitements bull 2 Le MCT bull 3 Les concepts du MCT

o 31 Lrsquoeacuteveacutenement o 32 Lrsquoopeacuteration o 33 Le reacutesultat o 34 La synchronisation o 35 Regravegle deacutemission o 36 Rocircle des regravegles de gestion o 37 Le processus

bull 4 Meacutethode drsquoeacutetablissement drsquoun MCT o 41 Regravegles de validation o 42 Cas particuliers

421 Cycles

422 Les eacuteveacutenements consommables

1-Modeacutelisation des Traitements

La modeacutelisation des traitements pour but de faire la repreacutesentation dynamique du systegraveme drsquoinformation crsquoest-agrave dire de repreacutesenter lrsquoenchaicircnement des traitements reacutealiseacutes

Cette modeacutelisation srsquoeffectue agrave deux niveaux

1 le niveau conceptuel ougrave lrsquoon srsquointeacuteresse aux opeacuterations en dehors de toute mise en oeuvre organisationnelle

2 le niveau organisationnel ougrave se pose les questions du qui ougrave quand

2-Le MCT

Lrsquoobjectif du MCT est de reacutepondre agrave la question QUOI faire par rapport agrave un eacuteveacutenement Crsquoest la chronologie qui importe Autrement dit le MCT est une repreacutesentation de la

38

succession des regravegles de gestion dont lrsquoentreprise veut se doter pour reacutepondre aux eacuteveacutenements auxquels elle doit faire face du fait de son activiteacute et de son environnement

3-Les concepts du MCT

31-Lrsquoeacuteveacutenement

Crsquoest une sollicitation du systegraveme drsquoinformation qui geacutenegravere une reacuteaction de la part de celui-ci

Un eacuteveacutenement peut ecirctre externe au domaine eacutetudieacute (ex commande client) ou interne au SI souvent le reacutesultat drsquoun processus anteacuterieur (ex ordre de preacuteparation) Un eacuteveacutenement peut-ecirctre aussi temporel cest-agrave-dire lieacute agrave des dates qui rythment lrsquoexeacutecution de certains traitements (deacutelai de maintenance relances)

32-Lrsquoopeacuteration

Crsquoest un ensemble drsquoactions accomplies par le systegraveme drsquoinformation en reacuteaction agrave un eacuteveacutenement ou agrave une conjonction drsquoeacuteveacutenements et non interruptibles par un eacuteveacutenement externe

Remarque Une opeacuteration deacuteclenche au moins un reacutesultat Une opeacuteration est repreacutesenteacutee par un verbe ou mieux un substantif (ex Preacuteparer la commande ou preacuteparation de la commande)

34-Le reacutesultat

Un reacutesultat peut-ecirctre un document un message externe un nouvel eacutetat du SI (nouvelle situation nouvelles donneacutees) creacuteeacute par une opeacuteration qui peut lui-mecircme jouer le rocircle drsquoeacuteveacutenement

Un reacutesultat externe repreacutesente une information envoyeacutee agrave lrsquoexteacuterieur du SI (ex facture)

Un reacutesultat interne est un nouvel eacutetat du systegraveme drsquoinformation (ex ordre de preacuteparation)

35-La synchronisation

Crsquoest une condition booleacuteenne (ET OU) traduisant les regravegles de gestion que doivent respecter les eacuteveacutenements pour deacuteclencher une opeacuteration Dans le cas ET elle marque quun eacuteveacutenement deacutejagrave lagrave doit en attendre un ou plusieurs autres

Remarque Pour quil soit question de synchronisation il faut la preacutesence de plusieurs eacuteveacutenements deacuteclencheurs aussi le symbole de synchronisation est laisseacute agrave blanc dans le cas dun eacuteveacutenement unique

Si tous les eacuteveacutenements entrants sont lieacutes par le mecircme opeacuterateur on peut seulement faire figurer lopeacuterateur dans le symbole de synchronisation sinon il faut numeacuteroter les eacuteveacutenements (a b c hellip) et constituer lexpression agrave laide des eacuteveacutenements et des opeacuterateurs (ex (a ET b) OU c) Regravegle deacutemission

Condition traduisant les regravegles de gestion qui permet dexprimer des conditions de sortie des reacutesultats

39

Remarques Lexpression dune regravegle deacutemission peut ecirctre composeacutee de plusieurs conditions eacuteleacutementaires relieacutees par les opeacuterateurs ET OU On peut eacutegalement utiliser lopeacuterateur NON pour exprimer la neacutegation dune condition

36-Rocircle des regravegles de gestion

Recenseacutees lors de leacutetude de lexistant ou deacutefinies pour le futur SI elles deacutecrivent les enchaicircnements dopeacuterations Elles rendent possible le regroupement des actions au sein dune seule opeacuteration non interruptible au niveau conceptuel

37-Le processus

Crsquoest un enchaicircnement synchroniseacute dopeacuterations au sein dun mecircme domaine geacuteneacuteralement deacuteclencheacute par un eacuteveacutenement externe (externe au domaine ou au SI tout entier)

Un MCT est la repreacutesentation de lrsquoenchaicircnement des opeacuterations drsquoun processus

4-Meacutethode drsquoeacutetablissement drsquoun MCT

1 Reacutealiser le graphe des flux (repreacutesentation des acteurs eacuteveacutenements et reacutesultats externes

2 Pour chaque eacuteveacutenement recenser les opeacuterations deacuteclencheacutees etou les eacuteveacutenements internes produits

3 Regrouper dans une mecircme opeacuteration tous les traitements qui ont les mecircmes deacuteclencheurs dans une uniteacute de temps avec la mecircme synchronisation

41-Regravegles de validation

Une opeacuteration ne peut pas ecirctre interrompue par lrsquoattente drsquoun eacuteveacutenement externe

Si tel est le cas il faut deacutecrire une seconde opeacuteration deacuteclencheacutee par cet eacuteveacutenement en attente

42-Cas particuliers

421-Cycles

Pour une mecircme opeacuteration leacuteveacutenement deacuteclencheur et leacuteveacutenement reacutesultat sont identiques

Une commande de client est servie si les marchandises sont disponibles sinon cette commande est mise en attente Les commandes en attente sont reacuteexamineacutees lors de chaque reacuteapprovisionnement afin de les livrer

40

Il faut sassurer que le cycle a bien un deacutebut et une fin ici cest lrsquoeacuteveacutenement Reacuteapprovisionnement effectueacute qui permet deacuteviter que le cycle ne se deacuteroule sans fin sur les commandes en attente

Noter limportance du concept doccurrences deacuteveacutenement

-une occurrence de Reacuteappro est-elle autoriseacutee agrave consommer toutes les occurrences de Commande en attente

-si le reacuteapprovisionnement est insuffisant de nouvelles occurrences de Commande en attente doivent-elles ecirctre creacuteeacutees

422-Les eacuteveacutenements consommables

Un client non satisfait peut retourner un article On lui fait un avoir Il peut alors le preacutesenter en caisse pour ecirctre rembourseacute de son achat Il peut encore remplacer larticle deacutefectueux par un autre auquel cas on annule lavoir

41

Ce qui pose question

UNE occurrence de leacuteveacutenement avoir eacutetabli ne peut ecirctre consommeacutee par 2 opeacuterations (rembourser et imputer)

Dit autrement avoir eacutetabli ne sait pas vers quelle opeacuteration se diriger On pourrait se dire quil est implicite que cest le premier eacuteveacutenement qui survient qui gagne si Echange survient en premier alors lavoir est annuleacute

Cependant que se passe-t-il si les 2 eacuteveacutenements externes se produisent simultaneacutement Si on impleacutemente tel quel ce scheacutema dans un automate il est vraisemblable que le client pourra avoir le beurre et largent du beurre

se preacutesenter en caisse et faire leacutechange pour un seul retour Il est donc preacutefeacuterable dexpliciter (cf ci-apregraves)

Une autre solution consiste agrave indiquer explicitement que cet eacuteveacutenement est consommable cest-agrave-dire que la premiegravere opeacuteration qui se deacuteclenche annule lrsquoeacuteveacutenement pour lrsquoautre opeacuteration

42

II-MeriseInteacutegration des donneacutees dans le MCT

Sommaire

bull 1 DEFINITION bull 2 FORMALISME DU MCTA bull 3 REPRESENTATION DES ACTIONS SUR LES DONNEES bull 4 COMPLEMENTS

o 41 Condition de deacuteclenchement o 42 Action collective o 43 Coheacuterence de la base de donneacutees o 44 REGLES DE VALIDATION DrsquoUN MCTA

o 45 Exemple de MCTA

1-DEFINITION

Le MCTA est une repreacutesentation syntheacutetique des traitements qui met en eacutevidence les reacuteactions du systegraveme aux eacuteveacutenements et linteraction avec les donneacutees

Il vise agrave

Deacutecrire le fonctionnement du systegraveme indeacutependamment de lorganisation

Donner une vision des traitements et de la coordination des eacuteveacutenements deacuteclencheurs

Rapprocher les donneacutees et les traitements

2-FORMALISME DU MCTA

Pour mettre en eacutevidence lrsquoarticulation entre les donneacutees et les traitements dans le MCT on ajoute agrave droite de chaque opeacuteration les entiteacutes ou associations qui sont consulteacutees ou qui subissent un changement drsquoeacutetat (creacuteation mise agrave jour suppression hellip)

43

3-REPRESENTATION DES ACTIONS SUR LES DONNEES

Un objet correspond agrave une entiteacute ou une association du MCD correspondant au champ drsquoeacutetude du SI Une action est une manipulation (creacuteation consultation modification ou suppression) drsquoun objet du systegraveme drsquoinformation Elle est symboliseacutee par un trait entre lrsquoopeacuteration et lrsquoobjet manipuleacute Ce trait est non orienteacute sil sagit dune suppression et il est orienteacute pour les autres types de manipulation le sens de la flegraveche deacutepend du type de manipulation

Un eacutetat drsquoobjet est un stade transitoire par lequel passe un objet (entiteacute ou association) au cours de sa laquo vie raquo

Dans un MCTA une opeacuteration est composeacutee dun ensemble dactions sur les donneacutees

Les actions sur les donneacutees sont de 4 types

Creacuteation drsquoune occurrence

Creacuteation drsquoune occurrence de lrsquoobjet 1 dans lrsquoeacutetat 1

Suppression drsquoune occurrence

Suppression drsquoune occurrence de lrsquoobjet 3 se trouvant dans lrsquoeacutetat 2

Consultation drsquoune occurrence

Consultation drsquoune occurrence de lrsquoobjet 4 dans lrsquoeacutetat 6 Leacutetat de lrsquoobjet nrsquoest pas indiqueacute mais sera eacuteventuellement testeacute avant reacutealisation de la (ou des) action (s) suivante (s)

44

Modification drsquoune occurrence

Modification drsquoune occurrence de lrsquoobjet 2 si elle est dans lrsquoeacutetat 3 elle passe agrave lrsquoeacutetat 4 ou agrave lrsquoeacutetat 5

Lrsquoaction de modification inclut implicitement la ou les consultations preacutealables

On ne doit pas seacuteparer les consultations qui preacutecegravedent les modifications des modifications elles-mecircmes

Remarque geacuteneacuterale Lrsquoordre des actions drsquoune opeacuteration sera si possible preacutesenteacute de haut en bas

4-COMPLEMENTS

41-Condition de deacuteclenchement

Lrsquoaction eacuteleacutementaire peut ecirctre accompagneacutee drsquoune condition de deacuteclenchement (agrave indiquer au niveau du trait ou agrave cocircteacute de lrsquoobjet) Cette condition peut porter sur lrsquoeacutetat de la structure des donneacutees agrave un moment preacutecis etou sur le type drsquoeacuteveacutenement constateacute agrave lrsquoentreacutee de lrsquoopeacuteration

42-Action collective

Elle permet drsquoindiquer que lrsquoaction intervient sur un ensemble drsquooccurrences de lrsquoobjet concerneacute (toutes srsquoil nrsquoy a pas de condition de deacuteclenchement associeacutee limitant le nombre drsquooccurrences manipuleacutees)

Exemple en fin de mois une compagnie dassurances reacutesilie les polices quelle a proposeacutees degraves que le deacutelai de signature de celles-ci est deacutepasseacute

45

C1 si le deacutelai de signature est deacutepasseacute

43-Coheacuterence de la base de donneacutees

Une BD a coheacuterent si elle ne comporte pas de contradictions (par rapport aux regravegles de gestion en particulier)

Une action peut ne pas laisser la structure de donneacutees dans un eacutetat coheacuterent

En revanche la coheacuterence doit toujours ecirctre assureacutee au niveau drsquoune opeacuteration

44-REGLES DE VALIDATION DrsquoUN MCTA

Une opeacuteration conceptuelle ne doit pas ecirctre interrompue par lrsquoattente drsquoun eacuteveacutenement externe

Une opeacuteration conceptuelle prend la structure de donneacutees manipuleacutees dans un eacutetat coheacuterent et la rend dans un eacutetat coheacuterent

46

45-Exemple de MCTA

C1 si le client eacutetait preacuteceacutedemment un client prospect (cest-agrave-dire client potentiel)

C2 sil sagit dun nouveau client ou si le client eacutetait preacuteceacutedemment un client prospect le client est mis en portefeuille (cest-agrave-dire qursquoil est reacuteellement client)

C3 si disponibiliteacute de tous les produits (quantiteacute en stock suffisante pour assurer la livraison)

Remarque on considegravere ici qursquoil nrsquoy a pas de livraison partielle

47

  • I-Systegraveme drsquoinformation de gestion
    • Sommaire
      • 1-Qursquoest ce qursquoun systegraveme
      • 2-Qursquoest ce qursquoun systegraveme drsquoinformation de gestion
      • 3-Les fonctions du systegraveme drsquoinformation
      • II-MeriseModeacutelisation
        • Sommaire
          • 1-Qursquoest qursquoun modegravele
          • 2-La meacutethode Merise
            • 21-Les composantes de Merise
            • 22-La deacutemarche Merise
            • 23-Les niveaux drsquoabstraction
            • 24-La courbe du soleil
              • Deacutefinition
              • I-MCDRecueil des donneacutees
              • Exemple
              • II-MCDConcepts et du formalisme
                • Sommaire
                  • 1-Les concepts de base
                    • 11-Entiteacute
                    • 12-Association
                    • 13-Cardinaliteacutes
                      • 2-La notion drsquooccurrence
                      • III-MCDRegravegles de construction
                        • Sommaire
                          • 1-Regravegles concernant les proprieacuteteacutes
                          • 2-Regravegles concernant les entiteacutes
                          • 3-Regravegles concernant les associations
                          • IV-MCDIntroduction aux cardinaliteacutes
                            • Sommaire
                              • 1-Formalisme
                              • 2-La cardinaliteacute minimale
                                • 21--Exemples
                                • 22-Application
                                  • 3-La cardinaliteacute maximale
                                    • 31-Exemple 1
                                    • 32-Exemple 2
                                      • 4-Conclusion
                                      • 5-Exemple
                                      • 6-Repreacutesentation des cardinaliteacutes
                                      • I-MCDCardinaliteacutes
                                        • Sommaire
                                          • 1-Deacutefinition et formalisme
                                          • 2-La cardinaliteacute minimale
                                            • 21-Exemple
                                            • 22-Application
                                              • 3-La cardinaliteacute maximale
                                                • 31-Exemple
                                                  • 4-Reacutecapitulatif
                                                    • 41-Exemples complets
                                                      • II-MCDAssociations
                                                        • Sommaire
                                                          • 1-Les associations binaires concernant 2 entiteacutes
                                                            • 11-Les associations hieacuterarchiques [1 n]
                                                            • 12-Les associations non hieacuterarchiques [n n]
                                                            • 13-Les associations de type [1 1]
                                                              • 2-Les autres types dassociation
                                                                • 21-Les associations reacuteflexives
                                                                  • 211-Exemple dassociation reacuteflexive hieacuterarchique
                                                                  • 212--Exemples dassociations reacuteflexives non hieacuterarchiques
                                                                    • 22-Les associations de dimension 3 ou plus (ternaires ou plus)
                                                                      • III-MCDRepreacutesentation des cardinaliteacutes
                                                                      • IV-MCDAssociation ternaire
                                                                      • V-MCDAssociations reacuteflexives
                                                                      • 1-Exemple dassociation reacuteflexive hieacuterarchique
                                                                      • 2-Exemples dassociations reacuteflexives non hieacuterarchiques
                                                                      • I-MRRappel sur le modegravele relationnel
                                                                      • II-MRPassage du MCD au MR
                                                                        • Sommaire
                                                                          • 1-Regravegle 1
                                                                          • 2-Regravegle 2
                                                                          • 3-Exception agrave la regravegle 1
                                                                          • 4-Cas particulier des associations reacuteflexives
                                                                            • 41-Reacuteflexive hieacuterarchique
                                                                            • 42-Reacuteflexive non hieacuterarchique
                                                                              • E-Normalisation du modegravele relationnel
                                                                              • I-Deacutependance fonctionnelle
                                                                                • Sommaire
                                                                                  • 1-Introduction
                                                                                  • 2-Rappels sur la notion de deacutependance fonctionnelle
                                                                                    • 21-Deacutefinition
                                                                                    • 22-Terminologie
                                                                                    • 23-DF agrave partir de proprieacuteteacutes concateacuteneacutees
                                                                                    • 24-Proprieacuteteacutes des deacutependances fonctionnelles
                                                                                      • 241-Union
                                                                                      • 242-Transitiviteacute
                                                                                          • II-MRInteacuterecirct de la normalisation
                                                                                          • Exemple
                                                                                          • III-MR 3 formes normales
                                                                                            • Sommaire
                                                                                              • 1-1er forme normale
                                                                                              • 2-2egraveme forme normale
                                                                                              • 3-3egraveme forme normale
                                                                                              • 4-Application des regravegles
                                                                                              • 5-Reacutesumeacute
                                                                                              • F-MeriseLes diagrammes de flux
                                                                                              • I-MeriseVocabulaire associeacute aux modegraveles de flux
                                                                                                • Sommaire
                                                                                                  • 1-Domaine deacutetude
                                                                                                  • 2-Acteur externe
                                                                                                  • 3-Domaine connexe
                                                                                                  • 4-Flux de donneacutees
                                                                                                  • II-MeriseModegravele de contexte
                                                                                                  • II-MeriseMFC ou DFD
                                                                                                    • Sommaire
                                                                                                      • 1-Modegravele de flux conceptuel (MFC) ou diagramme de flux de donneacutees (DFD)
                                                                                                        • 11-Deacutefinition
                                                                                                        • 12-Exemple
                                                                                                        • 13-Regravegles de deacutecomposition des activiteacutes
                                                                                                          • I-MeriseMCT
                                                                                                            • Sommaire
                                                                                                              • 1-Modeacutelisation des Traitements
                                                                                                              • 2-Le MCT
                                                                                                              • 3-Les concepts du MCT
                                                                                                                • 31-Lrsquoeacuteveacutenement
                                                                                                                • 32-Lrsquoopeacuteration
                                                                                                                • 34-Le reacutesultat
                                                                                                                • 35-La synchronisation
                                                                                                                • 36-Rocircle des regravegles de gestion
                                                                                                                • 37-Le processus
                                                                                                                  • 4-Meacutethode drsquoeacutetablissement drsquoun MCT
                                                                                                                    • 41-Regravegles de validation
                                                                                                                    • 42-Cas particuliers
                                                                                                                      • 421-Cycles
                                                                                                                      • 422-Les eacuteveacutenements consommables
                                                                                                                          • II-MeriseInteacutegration des donneacutees dans le MCT
                                                                                                                            • Sommaire
                                                                                                                              • 1-DEFINITION
                                                                                                                              • 2-FORMALISME DU MCTA
                                                                                                                              • 3-REPRESENTATION DES ACTIONS SUR LES DONNEES
                                                                                                                              • 4-COMPLEMENTS
                                                                                                                                • 41-Condition de deacuteclenchement
                                                                                                                                • 42-Action collective
                                                                                                                                • 43-Coheacuterence de la base de donneacutees
                                                                                                                                • 44-REGLES DE VALIDATION DrsquoUN MCTA
                                                                                                                                • 45-Exemple de MCTA
Page 7: 7472422 Cours de Merise

Commune de naissanceDeacutepartement de naissance

Peut-on deacutecomposer encore Par exemple la commune de reacutesidence est composeacutee de 2 mots de mecircme que le nom de la voie hellip va-t-on les deacutecomposer Non ces mots repreacutesentent ensemble une information ne veulent rien dire agrave eux seuls

Mais nrsquoavons-nous pas trop deacutecomposeacute Il existe par exemple des liens entre les informations 3 4 et 5 qui repreacutesentent lrsquoadresse drsquoOdile entre les informations 8 et 9 qui repreacutesentent sa date de naissancehellip On va alors regrouper ensemble ces informations relieacutees

On remarque que toutes les personnes (et Odile est une personne on dit que crsquoest une OCCURRENCE de personne) de la maniegravere suivante

bull on peut dire qursquoon a creacuteeacute une entiteacute (un ensemble) PERSONNE dont Odile est une occurrence (ou instance)

Les donneacutees de base sont appeleacutees PROPRIETES ou ATTRIBUTS

II-MCDConcepts et du formalisme

Sommaire

bull 1 Les concepts de base o 11 Entiteacute o 12 Association o 13 Cardinaliteacutes

bull 2 La notion drsquooccurrence bull Exemple

7

1-Les concepts de base

11-Entiteacute

Une entiteacute repreacutesente un objet du SI (acteur document concept hellip) ou plus exactement un ensemble drsquoobjets ayant les mecircmes caracteacuteristiquesDans une entiteacute on met les informations neacutecessaires et suffisantes pour caracteacuteriser cette entiteacute Ces informations sont appeleacutees proprieacuteteacutes Les proprieacuteteacutes sont collecteacutees lors de lrsquoeacutetablissement du dictionnaire des donneacutees (voire partie suivante) Les proprieacuteteacutes prennent des valeurs pour chaque occurrence drsquoune entiteacute

Une proprieacuteteacute particuliegravere appeleacutee identifiant permet de distinguer sans ambiguiumlteacute toutes les occurrences de lrsquoentiteacute Lrsquoidentifiant est toujours souligneacute Lrsquoidentifiant est une proprieacuteteacute qui ne peut pas changer au cours du temps pour une occurrence

12-Association

Crsquoest un lien entre deux entiteacutes (ou plus) On doit lui donner un nom souvent un verbe qui caracteacuterise le type de relation entre les entiteacutes

Une association possegravede parfois des proprieacuteteacutes

13-Cardinaliteacutes

Ce sont des expressions qui permettent drsquoindiquer combien de fois au minimum et au maximum le lien entre 2 entiteacutes peut se produire Pour une association de 2 entiteacutes il y a 4 cardinaliteacutes agrave indiquer

Il y a trois valeurs typiques 0 1 et N (plusieurs)Les cardinaliteacutes traduisent des regravegles de gestion Ce sont des regravegles propre au SI eacutetudieacute qui expriment des contraintes sur le modegravele

2-La notion drsquooccurrence

Il ne faut pas confondre

bull ENTITE et OCCURRENCE drsquoentiteacute bull ni PROPRIETE et VALEUR de proprieacuteteacute bull ni ASSOCIATION et OCCURRENCE drsquoassociation

Reprenons ces concepts Une ENTITE est une FAMILLE drsquoobjets ayant les mecircmes caracteacuteristiques appeleacutees proprieacuteteacutes

Un MEMBRE de la famille est appeleacute OCCURRENCE drsquoentiteacute

Une entiteacute repreacutesente un ENSEMBLE drsquoOCCURRENCES

Une PROPRIETE est une information eacuteleacutementaire qui permet de deacutecrire une entiteacute ou une association Une proprieacuteteacute peut prendre une VALEUR (crsquoest lrsquoeacutequivalent drsquoune variable) (On peut dire qursquoune VALEUR est une OCCURRENCE de PROPRIETE)

De mecircme une ASSOCIATION est un LIEN entre 2 entiteacutes ou plus et une OCCURRENCE drsquoassociation est un lien entre 2 OCCURRENCES drsquoentiteacutes

8

bull Exemple

Consideacuterons le scheacutema suivant

PROPRIETE VALEUR de PROPRIETE

Reacutefeacuterence 456

Deacutesignation Manteau

Prix unitaire 100euro

ENTITE OCCURRENCE drsquoentiteacute

PRODUIT Manteau de reacutefeacuterence 456 agrave 100euro

COMMANDE numeacutero 123 du 081002

ASSOCIATION OCCURRENCE drsquoassociation

CONCERNER lien entre la commande 123 et le manteau 456 pour une quantiteacute de 3 uniteacutes

bull On peut repreacutesenter une entiteacute comme un ensemble ougrave les eacuteleacutements sont les occurrences

bull Une association peut ecirctre vue comme lrsquoensemble des relations entre les occurrences des entiteacutes associeacutees

Attention agrave ne pas confondre occurrences et proprieacuteteacutes En effet on peut dire agrave la fois qursquoune entiteacute est un ensemble de proprieacuteteacutes et un ensemble drsquooccurrences

Une proprieacuteteacute est une rubrique un eacuteleacutement drsquoinformation qui permet de deacutecrire une entiteacute Une entiteacute est deacutecrite par plusieurs proprieacuteteacutesUne occurrence est un exemplaire un eacuteleacutement particulier de la famille repreacutesenteacutee par lrsquoentiteacute Les proprieacuteteacutes drsquoune entiteacute prennent des valeurs pour chaque occurrenceChaque occurrence drsquoentiteacute est identifieacutee de maniegravere unique par un identifiant qui est une proprieacuteteacute particuliegravere telle que 2 occurrences de lrsquoentiteacute ne peuvent pas avoir la mecircme valeur pour cette proprieacuteteacute

9

On repreacutesente souvent les occurrences drsquoune entiteacute sous forme drsquoun tableau Les lignes correspondent aux occurrences et les colonnes correspondent aux proprieacuteteacutes

bull Exemple

III-MCDRegravegles de construction

Sommaire

bull 1 Regravegles concernant les proprieacuteteacutes bull 2 Regravegles concernant les entiteacutes

bull 3 Regravegles concernant les associations

1-Regravegles concernant les proprieacuteteacutes

bull Pour qursquoil nrsquoy ait pas drsquoambiguiumlteacute possible une proprieacuteteacute ne peut pas apparaicirctre plusieurs fois dans un MCD

Autrement dit toutes les proprieacuteteacutes drsquoun MCD doivent ecirctre diffeacuterentes les unes des autres Exemples Une proprieacuteteacute Date ne peut pas apparaicirctre simultaneacutement dans une entiteacute COMMANDE et une entiteacute FACTURE Si crsquoeacutetait le cas il faudrait remplacer Date par Date_commande et Date_facture par exemple

bull Toute proprieacuteteacute ne doit avoir agrave un moment donneacute qursquoune seule valeur pour une occurrence Par conseacutequent un nom de proprieacuteteacute doit toujours ecirctre au singulier

Exemple Dans la proprieacuteteacute note drsquoune entiteacute ELEVE on ne peut avoir qursquoune seule note Si on veut la note de plusieurs matiegraveres il faut mettre autant de proprieacuteteacutes qursquoil y a de matiegraveres par exemple noteALSI noteAMSI noteDAIGL etc

2-Regravegles concernant les entiteacutes

bull Toute entiteacute doit comporter un identifiant qui permet de distinguer entre elles toutes les occurrences drsquoune mecircme entiteacute Lrsquoidentifiant est placeacute en tecircte des proprieacuteteacutes et il est souligneacute

bull Pour chaque occurrence drsquoune entiteacute il ne doit y avoir qursquoune seule valeur pour chacune des proprieacuteteacutes agrave un instant donneacute Cette valeur peut changer au cours du temps mais agrave un instant donneacute il nrsquoy en a qursquoune seule

3-Regravegles concernant les associations

bull Lrsquoidentifiant drsquoune association est implicitement formeacute par la concateacutenation des identifiants des entiteacutes lieacutees

10

On ne repreacutesente pas cet identifiant au niveau du MCD Deux occurrences drsquoassociation ne peuvent pas avoir le mecircme identifiant Pour une occurrence lrsquoidentifiant ne doit jamais changer de valeur (lrsquoidentifiant est une proprieacuteteacute constante)

bull Une association peut avoir des proprieacuteteacutes mais ce nrsquoest pas obligatoire

IV-MCDIntroduction aux cardinaliteacutes

Sommaire

bull 1 Formalisme bull 2 La cardinaliteacute minimale

o 21 Exemples o 22 Application

bull 3 La cardinaliteacute maximale o 31 Exemple 1 o 32 Exemple 2

bull 4 Conclusion bull 5 Exemple

bull 6 Repreacutesentation des cardinaliteacutes

Les cardinaliteacutes drsquoune entiteacute dans une association exprime le nombre de fois qursquoune occurrence de cette entiteacute est impliqueacutee dans lrsquoassociation au minimum et au maximum

1-Formalisme

2-La cardinaliteacute minimale

Elle est exprimeacutee presque toujours par lrsquoune des deux valeurs 0 ou 1Elle traduit combien de fois au minimum une occurrence de lrsquoentiteacute participe agrave lrsquoassociation

21--Exemples

Pour la cardinaliteacute mini entre client et commander il faut se poser la question Pour un client donneacute combien de fois au minimum il commande Si la reacuteponse est laquo tout client doit passer au moins une commande sinon ce nrsquoest pas un client raquo on met la cardinaliteacute mini agrave 1

11

Mais on peut tregraves bien imaginer que lrsquoentreprise veut aussi meacutemoriser les clients potentiels (prospects) qui nrsquoont encore rien commandeacute Dans ce cas un client peut tregraves bien ne pas avoir encore commandeacute et on met la cardinaliteacute mini agrave 0

22-Application

1 Trouver la question qui permet de trouver la cardinaliteacute minimale pour lrsquoentiteacute produit et lrsquoassociation commander

2 Faites deux hypothegraveses de regravegle de gestion concernant ce lien et trouver les cardinaliteacutes minimales correspondantes

3-La cardinaliteacute maximale

Elle traduit combien de fois au maximum lrsquoentiteacute peut ecirctre en relation avec lrsquoassociation Cela peut ecirctre plusieurs fois (si crsquoest un nombre indeacutetermineacute on indique la valeur n) ou une seule foisOn reacutepond agrave la question Combien au maximum lrsquoentiteacute peut participer agrave lrsquoassociation Si la reacuteponse est laquo au plus une fois raquo la cardinaliteacute maximale prend pour valeur 1Si la reacuteponse est laquo plusieurs raquo la cardinaliteacute maximale prend la valeur N

31-Exemple 1

bull REGLES DE GESTION

Un salarieacute est affecteacute au plus agrave un seul service Dans un service sont affecteacutes plusieurs salarieacutes

Il arrive (mais crsquoest rare) qursquoune cardinaliteacute maximale ait une valeur limiteacutee

32-Exemple 2

bull REGLE DE GESTION Un eacutelegraveve doit suivre au minimum une option et au maximum 3 options

12

4-Conclusion

En fait dans la grande majoriteacute des cas on nrsquoutilise que 4 combinaisons de valeurs pour les cardinaliteacutes

bull 01 au plus un(e) bull 11 un(e) et un(e) seul(e) bull 1 n un(e) ou plusieurs bull 0 n zeacutero ou plusieurs

5-Exemple

6-Repreacutesentation des cardinaliteacutes

Une voiture est posseacutedeacutee par une seule personne Une personne peut posseacuteder de 0 agrave plusieurs voitures

Une personne a une adresse ou est sans domicile A une adresse il y a une ou plusieurs personne qui y habitent

13

C-Les cardinaliteacutes et les diffeacuterents types dassociations

I-MCDCardinaliteacutes

Sommaire

bull 1 Deacutefinition et formalisme bull 2 La cardinaliteacute minimale

o 21 Exemple o 22 Application

bull 3 La cardinaliteacute maximale o 31 Exemple

bull 4 Reacutecapitulatif o 41 Exemples complets

1-Deacutefinition et formalisme

Les cardinaliteacutes sont des couples de valeur que lon trouve entre chaque entiteacute et ses associations lieacuteesDonc pour une association de 2 entiteacutes il y a 4 cardinaliteacutes agrave indiquer (2 de chaque cocircteacute)Il y a trois valeurs typiques 0 1 et N (plusieurs)

Pour les associations agrave 2 entiteacutes ce sont des valeurs qui permettent drsquoindiquer combien de fois au minimum et au maximum une occurrence dentiteacute peut ecirctre lieacutee agrave une autre occurrence dentiteacute

De maniegravere plus geacuteneacuterale les cardinaliteacutes drsquoune entiteacute dans une association expriment le nombre de fois qursquoune occurrence de cette entiteacute peut ecirctre impliqueacutee dans une occurrence de lassociation au minimum et au maximum

Les cardinaliteacutes traduisent des regravegles de gestion Ce sont des regravegles propres agrave lorganisation eacutetudieacutee qui sont deacutecideacutees par les gestionnaires et deacutecideurs Ces regravegles expriment des contraintes sur le modegravele

2-La cardinaliteacute minimale

14

Elle est exprimeacutee presque toujours par lrsquoune des deux valeurs 0 ou 1 Elle traduit combien de fois au minimum une occurrence de lrsquoentiteacute participe agrave lrsquoassociation autrement dit si une occurrence est obligatoirement associeacutee agrave une autre ou pas

21-Exemple

Pour la cardinaliteacute minimale entre client et commander il faut se poser la question Pour un client donneacute combien de fois au minimum il commande

ou encore mieux Est-il obligatoire quun client effectue une commande de produit

Cela deacutepend des REGLES DE GESTION de lentreprise Si la regravegle de gestion est laquo tout client doit passer au moins une commande sinon ce nrsquoest pas un client raquo on met la cardinaliteacute mini agrave 1

Mais on peut tregraves bien imaginer que lrsquoentreprise veut aussi meacutemoriser les clients potentiels (prospects) qui nrsquoont encore rien commandeacute Dans ce cas un client peut tregraves bien ne pas avoir encore commandeacute et on met la cardinaliteacute mini agrave 0

En fait les cardinaliteacutes deacutependent des regravegles de gestion propres agrave lrsquoorganisation eacutetudieacutee La regravegle peut tregraves bien ecirctre laquo On ne meacutemorise que les clients qui ont deacutejagrave commandeacute raquo ou bien laquo On veut meacutemoriser les prospects raquo

22-Application

bull Trouver la question qui permet de trouver la cardinaliteacute minimale pour lrsquoentiteacute produit et lrsquoassociation commander

Reacuteponse Est-il obligatoire quun produit ait eacuteteacute commandeacute pour quil soit meacutemoriseacute dans la base de donneacutee ou bien Peut-il exister dans la base de donneacutee des produits qui nont jamais eacuteteacute commandeacutes

bull Faites deux hypothegraveses de regravegle de gestion concernant ce lien et trouver les cardinaliteacutes minimales correspondantes

Reacuteponse H1 lentreprise peut proposer de nouveaux produits sur catalogue par exemple quelle meacutemorise dans sa base de donneacutees mais qui nont jamais encore eacuteteacute commandeacutes =gt cardinaliteacute minimale agrave 0 (cest plutocirct le cas pour les entreprises de vente)

15

H2 tout produit inscrit dans la base de donneacutee est forceacutement commandeacute (par exemple parce que lentreprise ne propose pas de catalogue mais fabrique seulement agrave la commande) =gt cardinaliteacute minimale agrave 1 (cest plutocirct le cas pour les entreprises de production)

3-La cardinaliteacute maximale

Elle traduit combien de fois au maximum une occurrence dentiteacute peut ecirctre en relation avec une occurrence de lassociation Cela peut ecirctre plusieurs fois (si crsquoest un nombre indeacutetermineacute on indique la valeur n) ou une seule fois

Cette cardinaliteacute reacutepond agrave la question

bull la participation dune occurrence doit-elle ecirctre unique ou bien peut-elle ecirctre multiple ou bien

bull combien de fois au maximum une occurrence est elle impliqueacutee dans lassociation

Si lassociation est binaire (relie seulement deux entiteacute) la question peut ecirctre aussi

bull Une occurrence de lentiteacute peut-elle ecirctre relieacutee agrave plusieurs occurrences de lautre entiteacute ou bien ne peut-elle ecirctre relieacutee quagrave une seule autre occurrence au plus

Si la reacuteponse est laquo au plus une fois raquo (participation unique) la cardinaliteacute maximale prend pour valeur 1 Si la reacuteponse est laquo plusieurs raquo (participation multiple) la cardinaliteacute maximale prend la valeur N

31-Exemple

bull RG (regravegles de gestion)

1 Un salarieacute est affecteacute au plus agrave un seul service 2 Dans un service sont affecteacutes plusieurs salarieacutes

Il arrive (mais crsquoest rare) qursquoune cardinaliteacute maximale ait une valeur limiteacutee

bull Exemple

RG Un eacutelegraveve peut suivre au maximum 3 options

4-Reacutecapitulatif

16

En fait dans la grande majoriteacute des cas on nrsquoutilise que 4 combinaisons de valeurs pour les cardinaliteacutes

bull 01 au plus un(e) bull 11 un(e) et un(e) seul(e) bull 1n un(e) ou plusieurs bull 0 n zeacutero ou plusieurs

41-Exemples complets

RG un client commande au moins 1 produit (sous entendu ou plusieurs) et un produit peut ne pas encore avoir eacuteteacute commandeacute comme il peut lavoir eacuteteacute plusieurs fois

RG Un salarieacute est obligatoirement affecteacute agrave 1 et 1 seul service Un service pour exister doit avoir au moins un salarieacute affecteacute (sous-entendu il peut bien sur en avoir plusieurs)

II-MCDAssociations

Sommaire

1 Les associations binaires concernant 2 entiteacutes

11 Les associations hieacuterarchiques [1n]

12 Les associations non hieacuterarchiques [n n]

13 Les associations de type [1 1]

2 Les autres types dassociation

21 Les associations reacuteflexives

211 Exemple dassociation reacuteflexive hieacuterarchique

212 Exemples dassociations reacuteflexives non hieacuterarchiques

22 Les associations de dimension 3 ou plus (ternaires ou plus)

1-Les associations binaires concernant 2 entiteacutes

17

On distingue trois cateacutegories dassociations en fonction des cardinaliteacutes maximales de ses branches

-Les associations hieacuterarchiques encore appeleacutees associations [1 n] ou associations fonctionnelles

-Les associations non hieacuterarchiques encore appeleacutees associations [n n] ou non fonctionnelles

-Les association [1 1] les 2 branches ont pour cardinaliteacute maximale 1 Ce cas est rare

11-Les associations hieacuterarchiques [1 n]

Ce sont les associations ougrave dun cocircteacute la |cardinaliteacute maximale est agrave 1 et de lautre cocircteacute la cardinaliteacute maximale est agrave n

Cela signifie quune occurrence de A est relieacutee au plus agrave une seule occurrence de B Cest-agrave-dire si on connaicirct une occurrence de A alors on saura forceacutement quelle est la seule occurrence de B qui correspond (si elle existe) On dit que A deacutetermine B Cest un lien de deacutependance fonctionnelle B deacutepend fonctionnellement de A

Lentiteacute qui correspond agrave la branche du cocircteacute du 1 est parfois appeleacutee entiteacute fils et lentiteacute correspondant agrave la branche du cocircteacute n est parfois appeleacutee entiteacute pegravere Cette appellation deacutecoule de lanalogie un fils na quun seul pegravere et un pegravere peut avoir plusieurs fils

12-Les associations non hieacuterarchiques [n n]

13-Les associations de type [1 1]

Cas exceptionnel

Ex un employeacute travaille sur un ordinateur (p 99 de Modeacuteliser les donneacutees) La facture correspondant agrave une commande

2-Les autres types dassociation

18

Le plus souvent une association relie 2 entiteacutes avec 2 branches Ce type dassociation est appeleacute association binaire Nous avons deacutejagrave eacutetudieacute en deacutetail les diffeacuterents types dassociations binaires

Mais une association peut aussi relier 3 ou tregraves rarement 4 entiteacutes (quasiment jamais plus) On parle dassociation ternaire quaternaire (n-aire) Enfin une association peut aussi relier une entiteacute agrave elle-mecircme cest-agrave-dire que des occurrences de la mecircme entiteacute sont relieacutees entre elles Lassociation correspondante est qualifieacutee de reacuteflexive Ce sont ces autres types dassociation que nous allons eacutetudier maintenant

21-Les associations reacuteflexives

Une association reacuteflexive est une association reliant des occurrences de la mecircme entiteacute Ces associations sont quasiment toujours binaire (2 branches) Pour lire une association reacuteflexive il est faut connaicirctre le rocircle attribueacute agrave chaque branche de lassociation Il existe comme pour les autres associations des associations reacuteflexives hieacuterarchique et des associations reacuteflexives non hieacuterarchique

211-Exemple dassociation reacuteflexive hieacuterarchique

Dans une entreprise bureaucratique chaque salarieacute a un seul chef (supeacuterieur hieacuterarchique direct) sauf le patron et chaque chef a au moins un salarieacute sous ses ordres Evidemment certains salarieacutes ne sont chefs de personnes

Exemples doccurrences diagramme doccurrences

Remarquez limportance du rocircle dans le diagramme doccurrence

212--Exemples dassociations reacuteflexives non hieacuterarchiques

19

Piegraveces composants composeacute = reacuteflexive asymeacutetrique

Personnes fregraveres = reacuteflexive symeacutetrique (rocircle pas indispensable car a pour fregravere = ecirctre fregravere de)

Preacutecision de vocabulaire dimension dune association

La dimension dune association correspond au nombre de branches de lassociation Dans plus de 80 des cas les associations sont binaires Dimension 2 binaire Dimension 3 ternaire (rare) Dimension supeacuterieure aire (exceptionnel)

Lorsquil ny a pas de reacuteflexiviteacute le nombre de branches est eacutegal au nombre dentiteacutes relieacutees La dimension est dans ce cas le nombre dentiteacutes concerneacutees par lassociation Mais la reacuteflexiviteacute existe et donc on peut avoir plusieurs branches de la mecircme association sur la mecircme entiteacute Dans ce cas alors la dimension est supeacuterieure au nombre dentiteacutes concerneacutees

Dimension = nombre dentiteacute lieacutees

Une association reacuteflexive (1 entiteacute) est quasiment toujours binaire (2 branches) On pourrait aussi avoir une association ternaire impliquant seulement deux entiteacutes

22-Les associations de dimension 3 ou plus (ternaires ou plus)

Une association peut relier plus de 2 entiteacutes ensemble le plus souvent trois On parle alors dassociation ternaire On utilise une association ternaire quand on a besoin de connaicirctre une occurrence de chaque entiteacute pour avoir une information

Exemple

Pour connaicirctre la quantiteacute de chacune des piegraveces fabriqueacutee par chaque ouvrier agrave une date donneacutee on utilise une association ternaire entre OUVRIER PIECE et DATE La quantiteacute est une donneacutee porteacutee par cette association

Une occurrence de lassociation fabrique implique une seule occurrence de chaque entiteacute

20

Exemple

Ouvrier Piegravece Date quantiteacute

Dupont 1 1702 50

Dubois 2 1702 100

Martin 1 1702 40

Dupont 3 1702 55

Dubois 3 1702 20

Dupont 1 1602 40

Martin 1 1602 40

Lassociation ternaire implique aussi que

Pour un ouvrier on peut avoir plusieurs piegraveces diffeacuterentes agrave la mecircme date (il peut fabriquer plusieurs types de piegraveces le mecircme jour)

Une piegravece peut ecirctre fabriqueacutee par plusieurs ouvriers diffeacuterents le mecircme jour

A des dates diffeacuterentes un mecircme ouvrier peut fabriquer les mecircmes piegraveces

Lidentifiant dune association ternaire est formeacutee de la concateacutenation (juxtaposition) des identifiants des 3 entiteacutes relieacutees

Dans notre exemple on ne peut donc pas avoir plusieurs occurrences de fabrique qui concernent Dupont la piegravece ndeg1 agrave la date du 1702

III-MCDRepreacutesentation des cardinaliteacutes

bull Une voiture est posseacutedeacutee par une seule personne Une personne peut posseacuteder de 0 agrave plusieurs voitures

21

bull Une personne a une adresse ou est sans domicile A une adresse il y a une ou plusieurs personnes qui y habitent

IV-MCDAssociation ternaire

bull Une association peut relier plus de 2 entiteacutes ensemble le plus souvent trois On parle alors dassociation ternaire (dimension 3) On utilise une association ternaire quand on a besoin de connaicirctre une occurrence de chaque entiteacute pour avoir une information

bull Ex

Pour connaicirctre la quantiteacute de chacune des piegraveces fabriqueacutee par chaque ouvrier agrave une date donneacutee on utilise une association ternaire entre OUVRIER PIECE et DATE La quantiteacute est une donneacutee porteacutee par cette association

22

Une occurrence de lassociation fabrique implique une seule occurrence de chaque entiteacute Exemple

Ouvrier Piegravece Date quantiteacuteDupont 1 1702 50Dubois 2 1702 100Martin 1 1702 40Dupont 3 1702 55Dubois 3 1702 20Dupont 1 1602 40Martin 1 1602 40

Lassociation ternaire implique aussi que

1 Pour un ouvrier on peut avoir plusieurs piegraveces diffeacuterentes agrave la mecircme date (il peut fabriquer plusieurs types de piegraveces le mecircme jour)

2 Une piegravece peut ecirctre fabriqueacutee par plusieurs ouvriers diffeacuterents le mecircme jour 3 A des dates diffeacuterentes un mecircme ouvrier peut fabriquer les mecircmes piegraveces

Lidentifiant dune association ternaire est formeacutee de la concateacutenation (juxtaposition) des identifiants des 3 entiteacutes relieacutees

Dans notre exemple on ne peut donc pas avoir plusieurs occurrences de fabrique qui concernent Dupont la piegravece ndeg1 agrave la date du 1702

V-MCDAssociations reacuteflexives

Une association reacuteflexive est une association reliant des occurrences de la mecircme entiteacute Ces associations sont quasiment toujours binaire (2 branches)

Pour lire une association reacuteflexive il est faut connaicirctre le rocircle attribueacute agrave chaque branche de lassociation cest agrave dire le rocircle de chaque occurrence dans le lien

23

Il existe comme pour les autres associations des associations reacuteflexives hieacuterarchique (une des cardinaliteacutes maximales agrave 1) et des association reacuteflexives non hieacuterarchique (les deux cardinaliteacutes maximales agrave n)

1-Exemple dassociation reacuteflexive hieacuterarchique

Dans une entreprise bureaucratique chaque salarieacute a un seul chef (supeacuterieur hieacuterarchique direct) sauf le patron et chaque chef a au moins un salarieacute sous ses ordres Evidemment certains salarieacutes ne sont chefs de personnes

Un mecircme salarieacute peut agrave la fois ecirctre chef et avoir un chef Tutu peut ecirctre chef de titi et de toto et dautres salarieacutes mais il na quun seul chef au maximum toto peut ecirctre le chef de coco et avoir pour chef tutu

2-Exemples dassociations reacuteflexives non hieacuterarchiques

Piegraveces composants composeacute = reacuteflexive asymeacutetrique

Une piegravece peut entrer dans la composition de plusieurs autres piegraveces (ex un boulon) Une piegravece peut aussi ecirctre composeacutee de plusieurs autres piegraveces (ex un moteur) Une mecircme piegravece peut ecirctre composeacutee dautres piegraveces et entrer dans la composition dune ou plusieurs autres piegraveces (ex une carte reacuteseau)

Preacutecision de vocabulaire dimension dune association

La dimension dune association correspond au nombre de branches de lassociation Dans plus de 80 des cas les associations sont binaires

Dimension 2 binaire Dimension 3 ternaire (rare) Dimension supeacuterieure n-aire (exceptionnel)

Lorsquil ny a pas de reacuteflexiviteacute le nombre de branches est eacutegal au nombre dentiteacutes relieacutees La dimension est dans ce cas le nombre dentiteacutes concerneacutees par lassociation Mais la reacuteflexiviteacute existe et donc on peut avoir plusieurs branches de la mecircme association sur la mecircme entiteacute Dans ce cas alors la dimension est supeacuterieure au nombre dentiteacutes concerneacutees

24

Dimension = nombre dentiteacute lieacutees

Une association reacuteflexive (1 entiteacute) est quasiment toujours binaire (2 branches) On pourrait aussi avoir une association ternaire impliquant seulement deux entiteacutes

D-Passage MCD lt=gt modegravele relationnel

I-MRRappel sur le modegravele relationnel

Cest un modegravele LOGIQUE de donneacutee celui qui correspond agrave lorganisation des donneacutees dans les bases de donneacutees relationnelles (il existe dautres organisations de bases de donneacutees hieacuterarchique reacuteseau objethellip)

Les SGBD actuels les plus courants sont relationnels (Oracle SQL Server Access MySQL hellip )

Un modegravele relationnel est composeacute de relations encore appeleacutee tables Ces tables sont deacutecrites par des attributs ou champs (noms de colonnes) Pour deacutecrire une relation on indique tout simplement son nom en majuscule suivi du nom de ses attributs entre parenthegraveses

Lidentifiant dune relation est composeacute dun ou plusieurs attributs qui forment la cleacute primaire Une relation peut faire reacutefeacuterence agrave une autre en utilisant une cleacute eacutetrangegravere qui correspond agrave la cleacute primaire de la relation reacutefeacuterenceacutee

Il ny a pas de notation officielle pour repeacuterer les cleacutes primaires et eacutetrangegraveres Cest agrave vous den adopter une et de lexpliquer en leacutegende Toutefois une notation sest peu agrave peu reacutepandue

bull on souligne la cleacute primaire dun seul trait bull on fait preacuteceacuteder (ou suivre) les cleacutes eacutetrangegraveres du symbole

Chaque ligne (tuple ou enregistrement) dune table repreacutesente une occurrence de lentiteacute ou de lassociation correspondante

II-MRPassage du MCD au MR

Sommaire

bull 1 Regravegle 1 bull 2 Regravegle 2 bull 3 Exception agrave la regravegle 1 bull 4 Cas particulier des associations reacuteflexives

o 41 Reacuteflexive hieacuterarchique o 42 Reacuteflexive non hieacuterarchique

25

1-Regravegle 1

Toute entiteacute devient une relation ayant pour cleacute primaire son identifiant

Chaque proprieacuteteacute se transforme en attribut CLIENT (code_client nom preacutenom adresse code_postal ville teacuteleacutephone)

Remarque contrairement aux proprieacuteteacutes les attributs ne doivent pas comporter despaces

2-Regravegle 2

Toute association non hieacuterarchique (de type [n n] ou de dimension gt 2) devient une relation La cleacute primaire est formeacutee par la concateacutenation (juxtaposition) lensemble des identifiants des entiteacutes relieacutees Toutes les proprieacuteteacutes eacuteventuelles deviennent des attributs qui ne peuvent pas faire partie de la cleacute

CONCERNER (numeacutero_commande reacutefeacuterence_article quantiteacute)

Cette regravegle est valable pour toutes les associations ternaires (ou quaternaires) qui sont forceacutement non hieacuterarchiques (|cardinaliteacutes maximales toutes eacutegales agrave n)

3- Exception agrave la regravegle 1

Les entiteacutes nayant que leur identifiant comme attribut ne deviennent pas des relations mais des attributs dans les autres relations lieacutees

Avec ce modegravele on meacutemorise chaque jour pour chaque ouvrier les piegraveces quil a fabriqueacute et en quelle quantiteacute Quand on passe au modegravele relationnel lentiteacute DATE FABRICATION ne

26

devient pas une relation mais un attribut cleacute dans la relation FABRIQUE issue de lassociation

FABRIQUE (code_ouvrier reacutefeacuterence_piegravece date quantiteacute) Date ici fait partie de la cleacute primaire mais nest pas cleacute eacutetrangegravere

4-Cas particulier des associations reacuteflexives

Les associations reacuteflexives suivent les regravegles 2 ou 3 selon les |cardinaliteacutes mais posent un problegraveme particulier une mecircme proprieacuteteacute va se retrouver deux fois en attribut dans la mecircme relation Il faut alors donner un nom diffeacuterent et significatif aux deux attributs correspondants

Dans les reacuteflexives il est conseilleacute de nommer les branches par des rocircles pour pouvoir lire dans le bon sens lassociation Les rocircles aident agrave nommer les attributs correspondant agrave lassociation

41-Reacuteflexive hieacuterarchique

(Une branche agrave la cardinaliteacute maxi agrave 1 et lautre agrave n)

Regravegle ndeg 2

Lecture de lassociation Regravegle ndeg1 lidentifiant de SALARIE va devenir cleacute primaire et les autres proprieacuteteacutes des attributsRegravegle ndeg2 pour traduire lassociation [1 n] encadrer lidentifiant de lentiteacute SALARIE devient cleacute eacutetrangegraverelidentifiant de SALARIE matricule se retrouve deux fois dans la relation comme cleacute primaire et comme cleacute eacutetrangegravereOn va donc donner un nom diffeacuterent et significatif agrave ces deux matricules par exemple Un salarieacute a pour chef 0 ou un seul autre salarieacute Un salarieacute est chef de 0 agrave n autre(s) salarieacute

Traduction en modegravele relationnel

SALARIE (matricule nom preacutenom fonctionhellip matricule_chef)

42-Reacuteflexive non hieacuterarchique

Regravegle ndeg3

27

bull Lecture de lassociation

Une piegravece entre dans la composition de 0 agrave plusieurs autres piegraveces Une piegravece peut ecirctre composeacutee de plusieurs autres piegraveces Une piegravece entre dans la composition dune autre un certain nombre de fois

Ex La piegravece voiture est composeacutee de 4 piegraveces roue La piegravece roue est elle-mecircme composeacutee dune piegravece pneu et dune piegravece jante

Une piegravece entrant dans la composition dune autre est appeleacutee composant Une piegravece composeacutee dautres piegraveces est appeleacutee composeacute Une roue est agrave la fois un composant (de voiture) et un composeacute (de pneu et jante)

bull Traduction en modegravele relationnel

PIECE (reacutefeacuterence libelleacute)COMPOSITION(reacutefeacuterence_composeacute reacutefeacuterence_composant nombre)

E-Normalisation du modegravele relationnel

I- Deacutependance fonctionnelle

Sommaire

1 Introduction

2 Rappels sur la notion de deacutependance fonctionnelle

21 Deacutefinition

22 Terminologie

23 DF agrave partir de proprieacuteteacutes concateacuteneacutees

24 Proprieacuteteacutes des deacutependances fonctionnelles

241 Union

242 Transitiviteacute

1-Introduction

Lobjectif de la normalisation est de construire un scheacutema de base de donneacutees coheacuterentUn mauvais scheacutema logique peut conduire agrave un certain nombre danomalies pendant la phase dexploitation de la base de donneacutee Nous allons voir ces anomalies dans une premiegravere partiePour qursquoun modegravele relationnel soit normaliseacute il faut qursquoil respecte certaines contraintes appeleacutees les formes normales Les formes normales srsquoappuient sur les deacutependances fonctionnelles entre attributs

2-Rappels sur la notion de deacutependance fonctionnelle

La construction du MCD mais eacutegalement du modegravele relationnel correspondant repose presque entiegraverement sur le concept de deacutependance fonctionnelle Crsquoest ce concept qui permet

28

de passer drsquoun ensemble de proprieacuteteacutes non structureacute agrave un modegravele conceptuel des donneacutees formeacute drsquoentiteacutes et drsquoassociations et au modegravele relationnel correspondant

21-Deacutefinition

On dit que b est en deacutependance fonctionnelle (DF) de a si agrave une valeur quelconque de la proprieacuteteacute a on ne peut faire correspondre qursquoune seule valeur au plus de la proprieacuteteacute b

On note a b(Source)-gt (but)

Autrement dit si on connaicirct la valeur de a on peut en deacuteduire une seule valeur de bMais la reacuteciproque nrsquoest pas vrai (si on connaicirct b on ne peut pas en deacuteduire a)

bull Exemple

Num client Nom client

Il existe une DF entre num client et Nom client car si on connaicirct une valeur de la proprieacuteteacute num client (ex 4553) il ne peut lui correspondre qursquoune seule valeur de la proprieacuteteacute nom (ex Duval)

La reacuteciproque est fausse

Nom client Num client nrsquoest pas une DF

Si lrsquoon connaicirct la valeur de la proprieacuteteacute Nom client on ne peut pas en deacuteduire la proprieacuteteacute Num client car il peut y avoir des homonymes

22-Terminologie

Si on a une deacutependance fonctionnelle a b on peut employer les expressions suivantes de faccedilon eacutequivalente -Il y a une deacutependance fonctionnelle de a vers b- b est en deacutependance fonctionnelle de a- b deacutepend fonctionnellement de a- a est la source et b est le but (ou la cible) de la deacutependance fonctionnelle

23-DF agrave partir de proprieacuteteacutes concateacuteneacutees

(Partie gauche composeacutee de plusieurs attributs)

Il peut exister des deacutependances fonctionnelles agrave partir de proprieacuteteacutes concateacuteneacutees cest-agrave-dire qui forment un tout indissociable comme si elles eacutetaient soudeacutees

On note par un + cette concateacutenation

Exemple Consideacuterons une commande qui comporte plusieurs produits Num_Commande + Ref_Produit quantiteacute commandeacutee

Si on nrsquoa seulement le numeacutero de la commande on ne peut pas en deacuteduire la quantiteacute commandeacutee car il faut aussi savoir de quel produit De mecircme on ne peut pas savoir la quantiteacute commandeacutee drsquoun produit si on ne sait pas de quelle commande Il faut bien connaicirctre agrave la fois la commande et le produit (leurs identifiants respectifs) pour en deacuteduire la quantiteacute commandeacutee

29

Les deacutependances fonctionnelles dont la source est formeacutee de plusieurs proprieacuteteacutes doivent ecirctre eacuteleacutementaires cest-agrave-dire ne pas ecirctre creacuteeacutees artificiellement

Ex Num Commande + Num Client date commande nrsquoest pas une DF eacuteleacutementaire car on nrsquoa pas besoin du numeacutero de client pour connaicirctre la date de commande il suffit de connaicirctre le numeacutero de la commande La proprieacuteteacute Num Client ne

24-Proprieacuteteacutes des deacutependances fonctionnelles

Les deacutependances fonctionnelles ont les proprieacuteteacutes suivantes

241-Union

Si on a deux DF ayant la mecircme source on peut les rassembler en une seule en seacuteparant les

cibles par une virgule Si a b et a c

Ex Reacutefeacuterence Deacutesignation et Reacutefeacuterence Prix de vente unitaire

Alors par union on a Reacutefeacuterence Deacutesignation Prix de vente unitaire

Lors du traceacute du graphe des deacutependances fonctionnelles lrsquounion permet de regrouper sur une seule ligne toutes les deacutependances fonctionnelles ayant la mecircme source

242-Transitiviteacute

Si a b et b c alors on a a c

Ex Num Meacutedecin Code Service et Code Service Num Hopital

Alors on a Num Meacutedecin Num Hopital

Les DF qui peuvent ecirctre deacuteduites par transitiviteacute de deux autres DF (qui ne sont pas directes) doivent ecirctre eacutelimineacutees car elles sont alors redondantesIl ne reste alors que les DF directes cest-agrave-dire celles qui ne peuvent pas ecirctre retrouveacutees par transitiviteacute

Attention toutefois agrave la signification des deacutependances Une deacutependance fonctionnelle quon peut retrouver par transitiviteacute ne doit pas ecirctre supprimeacutee si elle na pas le mecircme sens que la transitiviteacute des deux autres car il y aurait perte dinformation

II-MRInteacuterecirct de la normalisation

Exemple

Pour vous montrer lrsquointeacuterecirct de la normalisation drsquoune base de donneacutee relationnelle voyons les problegravemes que peuvent poser lrsquoutilisation drsquoune base de donneacutee baseacutee sur un modegravele relationnel non normaliseacute

Soit le scheacutema de relation

30

FOURNISSEUR (NomFournisseur AdresseFournisseur Produits Prix)

Modegravele en extension

NomFournisseur AdresseFournisseur Produit Prix

Lebras 10 Rue des Gras - ClermontChaise table

2035

Dupont 86 Rue de la Reacutepublique - Moulins Bureau 60

Lajoie 26 Rue des Docircmes - Vichy Lit 50

Dupont 39 Rue des Buttes - MoulinsLampeTable de chevet

1825

bull 1degproblegraveme

Il nrsquoy a pas de cleacute primaire on ne sait pas si les deux Dupont sont diffeacuterents ou pas (si crsquoest le mecircme Dupont il y a une des deux adresses qui est fausse

bull 2degproblegraveme

Lrsquoadresse nrsquoest pas deacutecomposeacutee Si on veut par exemple rechercher tous les fournisseurs qui habitent la mecircme ville ccedila ne va pas ecirctre possible

bull 3degproblegraveme

Une relation (table) correspondant agrave ce scheacutema pourra eacuteventuellement contenir plusieurs produits pour un mecircme fournisseur

Dans ce cas il faudra faire face agrave un certain nombre de problegravemes

bull ladresse du fournisseur sera dupliqueacutee dans chaque n-uplet (redondance) bull si on souhaite modifier ladresse dun fournisseur il faudra rechercher et mettre agrave jour

tous les n-uplets correspondant agrave ce fournisseur bull si on insegravere un nouveau produit pour un fournisseur deacutejagrave reacutefeacuterenceacute il faudra veacuterifier

que ladresse est identique bull si on veut supprimer un fournisseur il faudra retrouver et supprimer tous les n-uplets

correspondant agrave ce fournisseur (pour diffeacuterents produits) dans la table bull La normalisation eacutelimine les redondances ce qui permet

- une diminution de la taille de la base de donneacutee sur le disque- une diminution des risques drsquoincoheacuterence- drsquoeacuteviter une mise agrave jour multiple des mecircmes donneacutees

31

III-MR 3 formes normales

Les 3 formes normales du modegravele relationnel

Sommaire

1 1er forme normale

2 2egraveme forme normale

3 3egraveme forme normale

4 Application des regravegles

5 Reacutesumeacute

1-1er forme normale

Une relation est normaliseacutee en premiegravere forme normale si

-Elle possegravede une cleacute identifiant de maniegravere unique et stable chaque ligne

-Chaque attribut est monovalueacute (ne peut avoir qursquoune seule valeur par ligne)

-Aucun attribut nrsquoest deacutecomposable en plusieurs attributs significatifs

Contre-exemple

EMPLOYE ( Nom Preacutenom Enfants Diplocircmes)

Cette relation nrsquoest pas en premiegravere forme normale

Un employeacute peut avoir plusieurs enfants et plusieurs diplocircmes En outre ces attributs sont deacutecomposables diplocircme est deacutecomposable en Nature et Anneacutee et Enfants est deacutecomposable en Preacutenom et Anneacutee de Naissance

2-2egraveme forme normale

Une relation R est en deuxiegraveme forme normale si et seulement si

-Elle est en 1FN

-Et tout attribut non cleacute est totalement deacutependant de toute la cleacute

Autrement dit aucun des attributs ne deacutepend que drsquoune partie de la cleacute La 2FN nest agrave veacuterifier que pour les relations ayant une cleacute composeacutee Une relation en 1FN nayant quun seul attribut cleacute est toujours en 2FN

Contre-exemple 32

Cette relation est en premiegravere forme normale (existence drsquoune cleacute valide et aucun attribut nrsquoest deacutecomposable)MAIS elle nrsquoest pas en 2deg forme normale car on a DeacutesignationProd ne deacutepend pas de toute la cleacute mais seulement de reacutefeacuterenceProd

ReacutefeacuterenceProd DeacutesignationProd

Pour connaicirctre lrsquoattribut deacutesignationProd on nrsquoa pas besoin de connaicirctre le numeacutero de commande

3-3egraveme forme normale

Une relation est en 3deg forme normale si et seulement si

Elle est en 2deg forme normale et tout attribut doit deacutependre directement de la cleacute cest-dire qursquoaucun attribut ne doit deacutependre de la cleacute par transitiviteacute

Autrement dit aucun attribut ne doit deacutependre drsquoun autre attribut non cleacute

Contre-exemple

CLIENT (Num_client Nom_client code_categ nom_categ) Cette relation nrsquoest pas en 3FN car num_client nom_categ nrsquoest pas une deacutependance directe

En effet on a aussi num_client num_categ nom_categ

4-Application des regravegles

Si lrsquoune des 3 regravegles nrsquoest pas veacuterifieacutee cela indique une erreur dans le modegravele relationnel et il faut alors modifier pour que les 3 regravegles soient veacuterifieacutees pour toutes les relationsOn veacuterifie les regravegles dans lrsquoordre Si la premiegravere forme normale nrsquoest pas respecteacutee pas la peine de veacuterifier la 2FN Et si la 2FN nrsquoest pas veacuterifieacutee inutile de veacuterifier la 3FN

5-Reacutesumeacute

Modegravele normaliseacute = relations avec

-Une cleacute qui permet de distinguer chaque occurrence

-Des attributs eacuteleacutementaires (1FN)

-En deacutependance de TOUTE la cleacute (2FN)

-Et RIEN QUE de la cleacute (3FN)

On parle aussi de normalisation pour un MCD Un MCD qui donne un MR normaliseacute est qualifieacute aussi de normaliseacute

F-MeriseLes diagrammes de flux

Les diagrammes de flux reacutepondent agrave la question Que fait le systegraveme

33

En ce sens ce sont des modegraveles FONCTIONNELS (qui deacutecrivent les fonctions)

Il existe2 types principaux de diagrammes de flux

1 Le modegravele de contexte (MC) ougrave le domaine drsquoeacutetude est vu comme une boite noire On ne repreacutesente que les flux exteacuterieurs au domaine

2 Le modegravele de flux de donneacutees (DFD) ou encore modegravele de flux conceptuels (MFC) ougrave lrsquoon deacutetaille les activiteacutes du domaine drsquoeacutetude On repreacutesente aussi les flux internes au domaine

I-MeriseVocabulaire associeacute aux modegraveles de flux

Sommaire

bull 1 Domaine deacutetude bull 2 Acteur externe bull 3 Domaine connexe

bull 4 Flux de donneacutees

1-Domaine deacutetude

Le domaine deacutetude est un sous-ensemble coheacuterent de lentreprise ou de lorganisme bien deacutelimiteacute et formant le contenu du sujet agrave eacutetudier

Dans les modegraveles de flux le domaine deacutetude est repreacutesenteacute par un rectangle agrave trait plein Le nom du domaine est placeacute agrave lrsquointeacuterieur du rectangle

2-Acteur externe

Un acteur externe est un eacuteleacutement eacutemetteur ou reacutecepteur de donneacutees situeacute hors du systegraveme dinformation eacutetudieacute

Dans les modegraveles de flux un acteur externe est repreacutesenteacute par un cercle plein Le nom de lrsquoacteur est placeacute agrave lrsquointeacuterieur du cercle

3-Domaine connexe

Un domaine connexe est un composant du systegraveme drsquoinformation interagissant avec le domaine drsquoeacutetude Crsquoest un acteur interne agrave lrsquoentreprise mais externe au domaine drsquoeacutetude

34

Dans les modegraveles de flux une activiteacute est repreacutesenteacutee graphiquement par un rectangle Le nom de lactiviteacute est placeacute agrave lrsquointeacuterieur du rectangle

4-Flux de donneacutees

Un flux est un transfert drsquoinformations entre composants du systegraveme Le composant peut ecirctre un domaine une activiteacute ou un acteur externe

Dans les modegraveles de flux un flux de donneacutees est repreacutesenteacute graphiquement par une flegraveche orienteacutee du composant eacutemetteur du flux vers le composant reacutecepteur Le libelleacute du flux est inscrit en regard de la flegraveche traceacutee

Formalisme graphique illustrant par exemple un eacutechange entre un acteur externe et le domaine deacutetude

II-MeriseModegravele de contexte

Le modegravele de contexte sert agrave repreacutesenter les interactions entre le domaine deacutetude et lrsquoenvironnement et entre le domaine deacutetude et les eacuteventuels domaines connexes

Le domaine deacutetude y est repreacutesenteacute comme une boicircte noire

Le modegravele de contexte utilise les concepts suivants

bull le domaine deacutetude bull les acteurs externes bull les flux de donneacutees bull les domaines connexes

Exemple de modegravele de contexte au sein drsquoune socieacuteteacute commerciale on eacutetudie le domaine laquo gestion des ventes raquo

35

Remarque

bull on ne fait pas apparaicirctre les flux entre acteurs externes et domaines connexes ou entre les domaines connexes

Exemple le flux correspondant agrave la livraison de marchandises nrsquoapparaicirct pas

II-MeriseMFC ou DFD

Sommaire

bull 1 Modegravele de flux conceptuel(MFC) ou diagramme de flux de donneacutees(DFD) o 11 Deacutefinition o 12 Exemple o 13 Regravegles de deacutecomposition des activiteacutes

1-Modegravele de flux conceptuel (MFC) ou diagramme de flux de donneacutees (DFD)

11-Deacutefinition

Ce modegravele permet de deacutecider quelles activiteacutes inter-relieacutees de quelle maniegravere permettront de reacutesoudre au mieux le problegraveme poseacute et cette reacuteflexion est meneacutee sans sencombrer dans un premier temps du comportement du systegraveme (ordonnancement regravegles deacutemission synchronisationshellip)

Les modegraveles de flux conceptuels permettent de deacutecomposer le domaine drsquoeacutetude en activiteacutes Il nrsquoy a pas ici de notion drsquoorganisation mais drsquoobjectifs agrave reacutealiser On repreacutesente les flu x entre activiteacutes et avec lrsquoenvironnement

Pour analyser les communications et les activiteacutes on procegravede par laquo zooms raquo successifs sur le domaine eacutetudieacute pour eacutelaborer des modegraveles de plus en plus deacutetailleacutes qui permettront davoir une cartographie deacutetailleacutee du systegraveme et de preacuteparer le passage au modegravele conceptuel de repreacutesentation des traitements

36

Le modegravele de contexte est eacutegalement appeleacute le diagramme de flux de donneacutees de niveau 0

Nous obtenons ensuite des diagrammes de premier deuxiegraveme troisiegraveme hellip niveau par eacuteclatements successifs des activiteacutes agrave chacun de ces niveaux

La deacutecomposition drsquoun domaine ou drsquoune activiteacute en plusieurs activiteacutes peut faire apparaicirctre de nouveaux flux dus

1 agrave lrsquoeacutechange drsquoinformations entre activiteacutes 2 agrave la deacutecomposition drsquoun flux preacutesent au niveau n en plusieurs flux au niveau n+1

12-Exemple

Si on reprend le modegravele de contexte preacuteceacutedent on srsquoaperccediloit que le domaine des ventes peut-ecirctre eacuteclateacute en trois activiteacutes Nous obtenons ainsi le diagramme de flux de donneacutees de niveau 1

Remarque

bull On peut deacutecomposer le modegravele de flux de niveau 1 en un modegravele de flux de niveau 2 et etc hellip jusqursquoagrave arriver agrave un modegravele ougrave lrsquoactiviteacute correspond agrave une opeacuteration au sens Merise (regravegle drsquoininterruption)

Exemple lrsquoactiviteacute laquo gestion des factures raquo peut ecirctre encore deacutecomposeacutee en activiteacutes laquo facturation raquo et laquo Suivi des regraveglements raquo

13-Regravegles de deacutecomposition des activiteacutes

bull Pourquoi deacutecomposer

1 Pour deacutesagreacuteger les groupes de flux pour arriver agrave la deacutefinition des flux-types du domaine eacutetudieacute

2 Pour preacuteparer leacutetude dynamique du systegraveme dinformation pour arriver agrave lrsquoidentification des processus et des opeacuterations conceptuelles

bull Comment deacutecomposer

37

1 Identifier les groupes de donneacutees entrant et sortant du domaine drsquoeacutetude pour construire le modegravele de contexte

2 Identifier les activiteacutes geacuteneacuterant ou traitant les flux de donneacutees pour construire le DFD de niveau 1(approche par les donneacutees) ou identifier une activiteacute de niveau 1 comme un ensemble drsquoactiviteacutes participant agrave une mecircme finaliteacute (approche par les objectifs)

bull Jusquougrave deacutecomposer

Lorsquune activiteacute a atteint le niveau dinterruptabiliteacute (degraves lors que le traitement est deacuteclencheacute il se deacuteroule sans attente de ressources compleacutementaires exteacuterieures) Lactiviteacute est alors une opeacuteration conceptuelle qui sera deacutecrite lors de leacutetude dynamique du SI dans le MCTA

G-Les Modegraveles de traitements (MCT et MCTA)

I-MeriseMCT

Sommaire

bull 1 Modeacutelisation des Traitements bull 2 Le MCT bull 3 Les concepts du MCT

o 31 Lrsquoeacuteveacutenement o 32 Lrsquoopeacuteration o 33 Le reacutesultat o 34 La synchronisation o 35 Regravegle deacutemission o 36 Rocircle des regravegles de gestion o 37 Le processus

bull 4 Meacutethode drsquoeacutetablissement drsquoun MCT o 41 Regravegles de validation o 42 Cas particuliers

421 Cycles

422 Les eacuteveacutenements consommables

1-Modeacutelisation des Traitements

La modeacutelisation des traitements pour but de faire la repreacutesentation dynamique du systegraveme drsquoinformation crsquoest-agrave dire de repreacutesenter lrsquoenchaicircnement des traitements reacutealiseacutes

Cette modeacutelisation srsquoeffectue agrave deux niveaux

1 le niveau conceptuel ougrave lrsquoon srsquointeacuteresse aux opeacuterations en dehors de toute mise en oeuvre organisationnelle

2 le niveau organisationnel ougrave se pose les questions du qui ougrave quand

2-Le MCT

Lrsquoobjectif du MCT est de reacutepondre agrave la question QUOI faire par rapport agrave un eacuteveacutenement Crsquoest la chronologie qui importe Autrement dit le MCT est une repreacutesentation de la

38

succession des regravegles de gestion dont lrsquoentreprise veut se doter pour reacutepondre aux eacuteveacutenements auxquels elle doit faire face du fait de son activiteacute et de son environnement

3-Les concepts du MCT

31-Lrsquoeacuteveacutenement

Crsquoest une sollicitation du systegraveme drsquoinformation qui geacutenegravere une reacuteaction de la part de celui-ci

Un eacuteveacutenement peut ecirctre externe au domaine eacutetudieacute (ex commande client) ou interne au SI souvent le reacutesultat drsquoun processus anteacuterieur (ex ordre de preacuteparation) Un eacuteveacutenement peut-ecirctre aussi temporel cest-agrave-dire lieacute agrave des dates qui rythment lrsquoexeacutecution de certains traitements (deacutelai de maintenance relances)

32-Lrsquoopeacuteration

Crsquoest un ensemble drsquoactions accomplies par le systegraveme drsquoinformation en reacuteaction agrave un eacuteveacutenement ou agrave une conjonction drsquoeacuteveacutenements et non interruptibles par un eacuteveacutenement externe

Remarque Une opeacuteration deacuteclenche au moins un reacutesultat Une opeacuteration est repreacutesenteacutee par un verbe ou mieux un substantif (ex Preacuteparer la commande ou preacuteparation de la commande)

34-Le reacutesultat

Un reacutesultat peut-ecirctre un document un message externe un nouvel eacutetat du SI (nouvelle situation nouvelles donneacutees) creacuteeacute par une opeacuteration qui peut lui-mecircme jouer le rocircle drsquoeacuteveacutenement

Un reacutesultat externe repreacutesente une information envoyeacutee agrave lrsquoexteacuterieur du SI (ex facture)

Un reacutesultat interne est un nouvel eacutetat du systegraveme drsquoinformation (ex ordre de preacuteparation)

35-La synchronisation

Crsquoest une condition booleacuteenne (ET OU) traduisant les regravegles de gestion que doivent respecter les eacuteveacutenements pour deacuteclencher une opeacuteration Dans le cas ET elle marque quun eacuteveacutenement deacutejagrave lagrave doit en attendre un ou plusieurs autres

Remarque Pour quil soit question de synchronisation il faut la preacutesence de plusieurs eacuteveacutenements deacuteclencheurs aussi le symbole de synchronisation est laisseacute agrave blanc dans le cas dun eacuteveacutenement unique

Si tous les eacuteveacutenements entrants sont lieacutes par le mecircme opeacuterateur on peut seulement faire figurer lopeacuterateur dans le symbole de synchronisation sinon il faut numeacuteroter les eacuteveacutenements (a b c hellip) et constituer lexpression agrave laide des eacuteveacutenements et des opeacuterateurs (ex (a ET b) OU c) Regravegle deacutemission

Condition traduisant les regravegles de gestion qui permet dexprimer des conditions de sortie des reacutesultats

39

Remarques Lexpression dune regravegle deacutemission peut ecirctre composeacutee de plusieurs conditions eacuteleacutementaires relieacutees par les opeacuterateurs ET OU On peut eacutegalement utiliser lopeacuterateur NON pour exprimer la neacutegation dune condition

36-Rocircle des regravegles de gestion

Recenseacutees lors de leacutetude de lexistant ou deacutefinies pour le futur SI elles deacutecrivent les enchaicircnements dopeacuterations Elles rendent possible le regroupement des actions au sein dune seule opeacuteration non interruptible au niveau conceptuel

37-Le processus

Crsquoest un enchaicircnement synchroniseacute dopeacuterations au sein dun mecircme domaine geacuteneacuteralement deacuteclencheacute par un eacuteveacutenement externe (externe au domaine ou au SI tout entier)

Un MCT est la repreacutesentation de lrsquoenchaicircnement des opeacuterations drsquoun processus

4-Meacutethode drsquoeacutetablissement drsquoun MCT

1 Reacutealiser le graphe des flux (repreacutesentation des acteurs eacuteveacutenements et reacutesultats externes

2 Pour chaque eacuteveacutenement recenser les opeacuterations deacuteclencheacutees etou les eacuteveacutenements internes produits

3 Regrouper dans une mecircme opeacuteration tous les traitements qui ont les mecircmes deacuteclencheurs dans une uniteacute de temps avec la mecircme synchronisation

41-Regravegles de validation

Une opeacuteration ne peut pas ecirctre interrompue par lrsquoattente drsquoun eacuteveacutenement externe

Si tel est le cas il faut deacutecrire une seconde opeacuteration deacuteclencheacutee par cet eacuteveacutenement en attente

42-Cas particuliers

421-Cycles

Pour une mecircme opeacuteration leacuteveacutenement deacuteclencheur et leacuteveacutenement reacutesultat sont identiques

Une commande de client est servie si les marchandises sont disponibles sinon cette commande est mise en attente Les commandes en attente sont reacuteexamineacutees lors de chaque reacuteapprovisionnement afin de les livrer

40

Il faut sassurer que le cycle a bien un deacutebut et une fin ici cest lrsquoeacuteveacutenement Reacuteapprovisionnement effectueacute qui permet deacuteviter que le cycle ne se deacuteroule sans fin sur les commandes en attente

Noter limportance du concept doccurrences deacuteveacutenement

-une occurrence de Reacuteappro est-elle autoriseacutee agrave consommer toutes les occurrences de Commande en attente

-si le reacuteapprovisionnement est insuffisant de nouvelles occurrences de Commande en attente doivent-elles ecirctre creacuteeacutees

422-Les eacuteveacutenements consommables

Un client non satisfait peut retourner un article On lui fait un avoir Il peut alors le preacutesenter en caisse pour ecirctre rembourseacute de son achat Il peut encore remplacer larticle deacutefectueux par un autre auquel cas on annule lavoir

41

Ce qui pose question

UNE occurrence de leacuteveacutenement avoir eacutetabli ne peut ecirctre consommeacutee par 2 opeacuterations (rembourser et imputer)

Dit autrement avoir eacutetabli ne sait pas vers quelle opeacuteration se diriger On pourrait se dire quil est implicite que cest le premier eacuteveacutenement qui survient qui gagne si Echange survient en premier alors lavoir est annuleacute

Cependant que se passe-t-il si les 2 eacuteveacutenements externes se produisent simultaneacutement Si on impleacutemente tel quel ce scheacutema dans un automate il est vraisemblable que le client pourra avoir le beurre et largent du beurre

se preacutesenter en caisse et faire leacutechange pour un seul retour Il est donc preacutefeacuterable dexpliciter (cf ci-apregraves)

Une autre solution consiste agrave indiquer explicitement que cet eacuteveacutenement est consommable cest-agrave-dire que la premiegravere opeacuteration qui se deacuteclenche annule lrsquoeacuteveacutenement pour lrsquoautre opeacuteration

42

II-MeriseInteacutegration des donneacutees dans le MCT

Sommaire

bull 1 DEFINITION bull 2 FORMALISME DU MCTA bull 3 REPRESENTATION DES ACTIONS SUR LES DONNEES bull 4 COMPLEMENTS

o 41 Condition de deacuteclenchement o 42 Action collective o 43 Coheacuterence de la base de donneacutees o 44 REGLES DE VALIDATION DrsquoUN MCTA

o 45 Exemple de MCTA

1-DEFINITION

Le MCTA est une repreacutesentation syntheacutetique des traitements qui met en eacutevidence les reacuteactions du systegraveme aux eacuteveacutenements et linteraction avec les donneacutees

Il vise agrave

Deacutecrire le fonctionnement du systegraveme indeacutependamment de lorganisation

Donner une vision des traitements et de la coordination des eacuteveacutenements deacuteclencheurs

Rapprocher les donneacutees et les traitements

2-FORMALISME DU MCTA

Pour mettre en eacutevidence lrsquoarticulation entre les donneacutees et les traitements dans le MCT on ajoute agrave droite de chaque opeacuteration les entiteacutes ou associations qui sont consulteacutees ou qui subissent un changement drsquoeacutetat (creacuteation mise agrave jour suppression hellip)

43

3-REPRESENTATION DES ACTIONS SUR LES DONNEES

Un objet correspond agrave une entiteacute ou une association du MCD correspondant au champ drsquoeacutetude du SI Une action est une manipulation (creacuteation consultation modification ou suppression) drsquoun objet du systegraveme drsquoinformation Elle est symboliseacutee par un trait entre lrsquoopeacuteration et lrsquoobjet manipuleacute Ce trait est non orienteacute sil sagit dune suppression et il est orienteacute pour les autres types de manipulation le sens de la flegraveche deacutepend du type de manipulation

Un eacutetat drsquoobjet est un stade transitoire par lequel passe un objet (entiteacute ou association) au cours de sa laquo vie raquo

Dans un MCTA une opeacuteration est composeacutee dun ensemble dactions sur les donneacutees

Les actions sur les donneacutees sont de 4 types

Creacuteation drsquoune occurrence

Creacuteation drsquoune occurrence de lrsquoobjet 1 dans lrsquoeacutetat 1

Suppression drsquoune occurrence

Suppression drsquoune occurrence de lrsquoobjet 3 se trouvant dans lrsquoeacutetat 2

Consultation drsquoune occurrence

Consultation drsquoune occurrence de lrsquoobjet 4 dans lrsquoeacutetat 6 Leacutetat de lrsquoobjet nrsquoest pas indiqueacute mais sera eacuteventuellement testeacute avant reacutealisation de la (ou des) action (s) suivante (s)

44

Modification drsquoune occurrence

Modification drsquoune occurrence de lrsquoobjet 2 si elle est dans lrsquoeacutetat 3 elle passe agrave lrsquoeacutetat 4 ou agrave lrsquoeacutetat 5

Lrsquoaction de modification inclut implicitement la ou les consultations preacutealables

On ne doit pas seacuteparer les consultations qui preacutecegravedent les modifications des modifications elles-mecircmes

Remarque geacuteneacuterale Lrsquoordre des actions drsquoune opeacuteration sera si possible preacutesenteacute de haut en bas

4-COMPLEMENTS

41-Condition de deacuteclenchement

Lrsquoaction eacuteleacutementaire peut ecirctre accompagneacutee drsquoune condition de deacuteclenchement (agrave indiquer au niveau du trait ou agrave cocircteacute de lrsquoobjet) Cette condition peut porter sur lrsquoeacutetat de la structure des donneacutees agrave un moment preacutecis etou sur le type drsquoeacuteveacutenement constateacute agrave lrsquoentreacutee de lrsquoopeacuteration

42-Action collective

Elle permet drsquoindiquer que lrsquoaction intervient sur un ensemble drsquooccurrences de lrsquoobjet concerneacute (toutes srsquoil nrsquoy a pas de condition de deacuteclenchement associeacutee limitant le nombre drsquooccurrences manipuleacutees)

Exemple en fin de mois une compagnie dassurances reacutesilie les polices quelle a proposeacutees degraves que le deacutelai de signature de celles-ci est deacutepasseacute

45

C1 si le deacutelai de signature est deacutepasseacute

43-Coheacuterence de la base de donneacutees

Une BD a coheacuterent si elle ne comporte pas de contradictions (par rapport aux regravegles de gestion en particulier)

Une action peut ne pas laisser la structure de donneacutees dans un eacutetat coheacuterent

En revanche la coheacuterence doit toujours ecirctre assureacutee au niveau drsquoune opeacuteration

44-REGLES DE VALIDATION DrsquoUN MCTA

Une opeacuteration conceptuelle ne doit pas ecirctre interrompue par lrsquoattente drsquoun eacuteveacutenement externe

Une opeacuteration conceptuelle prend la structure de donneacutees manipuleacutees dans un eacutetat coheacuterent et la rend dans un eacutetat coheacuterent

46

45-Exemple de MCTA

C1 si le client eacutetait preacuteceacutedemment un client prospect (cest-agrave-dire client potentiel)

C2 sil sagit dun nouveau client ou si le client eacutetait preacuteceacutedemment un client prospect le client est mis en portefeuille (cest-agrave-dire qursquoil est reacuteellement client)

C3 si disponibiliteacute de tous les produits (quantiteacute en stock suffisante pour assurer la livraison)

Remarque on considegravere ici qursquoil nrsquoy a pas de livraison partielle

47

  • I-Systegraveme drsquoinformation de gestion
    • Sommaire
      • 1-Qursquoest ce qursquoun systegraveme
      • 2-Qursquoest ce qursquoun systegraveme drsquoinformation de gestion
      • 3-Les fonctions du systegraveme drsquoinformation
      • II-MeriseModeacutelisation
        • Sommaire
          • 1-Qursquoest qursquoun modegravele
          • 2-La meacutethode Merise
            • 21-Les composantes de Merise
            • 22-La deacutemarche Merise
            • 23-Les niveaux drsquoabstraction
            • 24-La courbe du soleil
              • Deacutefinition
              • I-MCDRecueil des donneacutees
              • Exemple
              • II-MCDConcepts et du formalisme
                • Sommaire
                  • 1-Les concepts de base
                    • 11-Entiteacute
                    • 12-Association
                    • 13-Cardinaliteacutes
                      • 2-La notion drsquooccurrence
                      • III-MCDRegravegles de construction
                        • Sommaire
                          • 1-Regravegles concernant les proprieacuteteacutes
                          • 2-Regravegles concernant les entiteacutes
                          • 3-Regravegles concernant les associations
                          • IV-MCDIntroduction aux cardinaliteacutes
                            • Sommaire
                              • 1-Formalisme
                              • 2-La cardinaliteacute minimale
                                • 21--Exemples
                                • 22-Application
                                  • 3-La cardinaliteacute maximale
                                    • 31-Exemple 1
                                    • 32-Exemple 2
                                      • 4-Conclusion
                                      • 5-Exemple
                                      • 6-Repreacutesentation des cardinaliteacutes
                                      • I-MCDCardinaliteacutes
                                        • Sommaire
                                          • 1-Deacutefinition et formalisme
                                          • 2-La cardinaliteacute minimale
                                            • 21-Exemple
                                            • 22-Application
                                              • 3-La cardinaliteacute maximale
                                                • 31-Exemple
                                                  • 4-Reacutecapitulatif
                                                    • 41-Exemples complets
                                                      • II-MCDAssociations
                                                        • Sommaire
                                                          • 1-Les associations binaires concernant 2 entiteacutes
                                                            • 11-Les associations hieacuterarchiques [1 n]
                                                            • 12-Les associations non hieacuterarchiques [n n]
                                                            • 13-Les associations de type [1 1]
                                                              • 2-Les autres types dassociation
                                                                • 21-Les associations reacuteflexives
                                                                  • 211-Exemple dassociation reacuteflexive hieacuterarchique
                                                                  • 212--Exemples dassociations reacuteflexives non hieacuterarchiques
                                                                    • 22-Les associations de dimension 3 ou plus (ternaires ou plus)
                                                                      • III-MCDRepreacutesentation des cardinaliteacutes
                                                                      • IV-MCDAssociation ternaire
                                                                      • V-MCDAssociations reacuteflexives
                                                                      • 1-Exemple dassociation reacuteflexive hieacuterarchique
                                                                      • 2-Exemples dassociations reacuteflexives non hieacuterarchiques
                                                                      • I-MRRappel sur le modegravele relationnel
                                                                      • II-MRPassage du MCD au MR
                                                                        • Sommaire
                                                                          • 1-Regravegle 1
                                                                          • 2-Regravegle 2
                                                                          • 3-Exception agrave la regravegle 1
                                                                          • 4-Cas particulier des associations reacuteflexives
                                                                            • 41-Reacuteflexive hieacuterarchique
                                                                            • 42-Reacuteflexive non hieacuterarchique
                                                                              • E-Normalisation du modegravele relationnel
                                                                              • I-Deacutependance fonctionnelle
                                                                                • Sommaire
                                                                                  • 1-Introduction
                                                                                  • 2-Rappels sur la notion de deacutependance fonctionnelle
                                                                                    • 21-Deacutefinition
                                                                                    • 22-Terminologie
                                                                                    • 23-DF agrave partir de proprieacuteteacutes concateacuteneacutees
                                                                                    • 24-Proprieacuteteacutes des deacutependances fonctionnelles
                                                                                      • 241-Union
                                                                                      • 242-Transitiviteacute
                                                                                          • II-MRInteacuterecirct de la normalisation
                                                                                          • Exemple
                                                                                          • III-MR 3 formes normales
                                                                                            • Sommaire
                                                                                              • 1-1er forme normale
                                                                                              • 2-2egraveme forme normale
                                                                                              • 3-3egraveme forme normale
                                                                                              • 4-Application des regravegles
                                                                                              • 5-Reacutesumeacute
                                                                                              • F-MeriseLes diagrammes de flux
                                                                                              • I-MeriseVocabulaire associeacute aux modegraveles de flux
                                                                                                • Sommaire
                                                                                                  • 1-Domaine deacutetude
                                                                                                  • 2-Acteur externe
                                                                                                  • 3-Domaine connexe
                                                                                                  • 4-Flux de donneacutees
                                                                                                  • II-MeriseModegravele de contexte
                                                                                                  • II-MeriseMFC ou DFD
                                                                                                    • Sommaire
                                                                                                      • 1-Modegravele de flux conceptuel (MFC) ou diagramme de flux de donneacutees (DFD)
                                                                                                        • 11-Deacutefinition
                                                                                                        • 12-Exemple
                                                                                                        • 13-Regravegles de deacutecomposition des activiteacutes
                                                                                                          • I-MeriseMCT
                                                                                                            • Sommaire
                                                                                                              • 1-Modeacutelisation des Traitements
                                                                                                              • 2-Le MCT
                                                                                                              • 3-Les concepts du MCT
                                                                                                                • 31-Lrsquoeacuteveacutenement
                                                                                                                • 32-Lrsquoopeacuteration
                                                                                                                • 34-Le reacutesultat
                                                                                                                • 35-La synchronisation
                                                                                                                • 36-Rocircle des regravegles de gestion
                                                                                                                • 37-Le processus
                                                                                                                  • 4-Meacutethode drsquoeacutetablissement drsquoun MCT
                                                                                                                    • 41-Regravegles de validation
                                                                                                                    • 42-Cas particuliers
                                                                                                                      • 421-Cycles
                                                                                                                      • 422-Les eacuteveacutenements consommables
                                                                                                                          • II-MeriseInteacutegration des donneacutees dans le MCT
                                                                                                                            • Sommaire
                                                                                                                              • 1-DEFINITION
                                                                                                                              • 2-FORMALISME DU MCTA
                                                                                                                              • 3-REPRESENTATION DES ACTIONS SUR LES DONNEES
                                                                                                                              • 4-COMPLEMENTS
                                                                                                                                • 41-Condition de deacuteclenchement
                                                                                                                                • 42-Action collective
                                                                                                                                • 43-Coheacuterence de la base de donneacutees
                                                                                                                                • 44-REGLES DE VALIDATION DrsquoUN MCTA
                                                                                                                                • 45-Exemple de MCTA
Page 8: 7472422 Cours de Merise

1-Les concepts de base

11-Entiteacute

Une entiteacute repreacutesente un objet du SI (acteur document concept hellip) ou plus exactement un ensemble drsquoobjets ayant les mecircmes caracteacuteristiquesDans une entiteacute on met les informations neacutecessaires et suffisantes pour caracteacuteriser cette entiteacute Ces informations sont appeleacutees proprieacuteteacutes Les proprieacuteteacutes sont collecteacutees lors de lrsquoeacutetablissement du dictionnaire des donneacutees (voire partie suivante) Les proprieacuteteacutes prennent des valeurs pour chaque occurrence drsquoune entiteacute

Une proprieacuteteacute particuliegravere appeleacutee identifiant permet de distinguer sans ambiguiumlteacute toutes les occurrences de lrsquoentiteacute Lrsquoidentifiant est toujours souligneacute Lrsquoidentifiant est une proprieacuteteacute qui ne peut pas changer au cours du temps pour une occurrence

12-Association

Crsquoest un lien entre deux entiteacutes (ou plus) On doit lui donner un nom souvent un verbe qui caracteacuterise le type de relation entre les entiteacutes

Une association possegravede parfois des proprieacuteteacutes

13-Cardinaliteacutes

Ce sont des expressions qui permettent drsquoindiquer combien de fois au minimum et au maximum le lien entre 2 entiteacutes peut se produire Pour une association de 2 entiteacutes il y a 4 cardinaliteacutes agrave indiquer

Il y a trois valeurs typiques 0 1 et N (plusieurs)Les cardinaliteacutes traduisent des regravegles de gestion Ce sont des regravegles propre au SI eacutetudieacute qui expriment des contraintes sur le modegravele

2-La notion drsquooccurrence

Il ne faut pas confondre

bull ENTITE et OCCURRENCE drsquoentiteacute bull ni PROPRIETE et VALEUR de proprieacuteteacute bull ni ASSOCIATION et OCCURRENCE drsquoassociation

Reprenons ces concepts Une ENTITE est une FAMILLE drsquoobjets ayant les mecircmes caracteacuteristiques appeleacutees proprieacuteteacutes

Un MEMBRE de la famille est appeleacute OCCURRENCE drsquoentiteacute

Une entiteacute repreacutesente un ENSEMBLE drsquoOCCURRENCES

Une PROPRIETE est une information eacuteleacutementaire qui permet de deacutecrire une entiteacute ou une association Une proprieacuteteacute peut prendre une VALEUR (crsquoest lrsquoeacutequivalent drsquoune variable) (On peut dire qursquoune VALEUR est une OCCURRENCE de PROPRIETE)

De mecircme une ASSOCIATION est un LIEN entre 2 entiteacutes ou plus et une OCCURRENCE drsquoassociation est un lien entre 2 OCCURRENCES drsquoentiteacutes

8

bull Exemple

Consideacuterons le scheacutema suivant

PROPRIETE VALEUR de PROPRIETE

Reacutefeacuterence 456

Deacutesignation Manteau

Prix unitaire 100euro

ENTITE OCCURRENCE drsquoentiteacute

PRODUIT Manteau de reacutefeacuterence 456 agrave 100euro

COMMANDE numeacutero 123 du 081002

ASSOCIATION OCCURRENCE drsquoassociation

CONCERNER lien entre la commande 123 et le manteau 456 pour une quantiteacute de 3 uniteacutes

bull On peut repreacutesenter une entiteacute comme un ensemble ougrave les eacuteleacutements sont les occurrences

bull Une association peut ecirctre vue comme lrsquoensemble des relations entre les occurrences des entiteacutes associeacutees

Attention agrave ne pas confondre occurrences et proprieacuteteacutes En effet on peut dire agrave la fois qursquoune entiteacute est un ensemble de proprieacuteteacutes et un ensemble drsquooccurrences

Une proprieacuteteacute est une rubrique un eacuteleacutement drsquoinformation qui permet de deacutecrire une entiteacute Une entiteacute est deacutecrite par plusieurs proprieacuteteacutesUne occurrence est un exemplaire un eacuteleacutement particulier de la famille repreacutesenteacutee par lrsquoentiteacute Les proprieacuteteacutes drsquoune entiteacute prennent des valeurs pour chaque occurrenceChaque occurrence drsquoentiteacute est identifieacutee de maniegravere unique par un identifiant qui est une proprieacuteteacute particuliegravere telle que 2 occurrences de lrsquoentiteacute ne peuvent pas avoir la mecircme valeur pour cette proprieacuteteacute

9

On repreacutesente souvent les occurrences drsquoune entiteacute sous forme drsquoun tableau Les lignes correspondent aux occurrences et les colonnes correspondent aux proprieacuteteacutes

bull Exemple

III-MCDRegravegles de construction

Sommaire

bull 1 Regravegles concernant les proprieacuteteacutes bull 2 Regravegles concernant les entiteacutes

bull 3 Regravegles concernant les associations

1-Regravegles concernant les proprieacuteteacutes

bull Pour qursquoil nrsquoy ait pas drsquoambiguiumlteacute possible une proprieacuteteacute ne peut pas apparaicirctre plusieurs fois dans un MCD

Autrement dit toutes les proprieacuteteacutes drsquoun MCD doivent ecirctre diffeacuterentes les unes des autres Exemples Une proprieacuteteacute Date ne peut pas apparaicirctre simultaneacutement dans une entiteacute COMMANDE et une entiteacute FACTURE Si crsquoeacutetait le cas il faudrait remplacer Date par Date_commande et Date_facture par exemple

bull Toute proprieacuteteacute ne doit avoir agrave un moment donneacute qursquoune seule valeur pour une occurrence Par conseacutequent un nom de proprieacuteteacute doit toujours ecirctre au singulier

Exemple Dans la proprieacuteteacute note drsquoune entiteacute ELEVE on ne peut avoir qursquoune seule note Si on veut la note de plusieurs matiegraveres il faut mettre autant de proprieacuteteacutes qursquoil y a de matiegraveres par exemple noteALSI noteAMSI noteDAIGL etc

2-Regravegles concernant les entiteacutes

bull Toute entiteacute doit comporter un identifiant qui permet de distinguer entre elles toutes les occurrences drsquoune mecircme entiteacute Lrsquoidentifiant est placeacute en tecircte des proprieacuteteacutes et il est souligneacute

bull Pour chaque occurrence drsquoune entiteacute il ne doit y avoir qursquoune seule valeur pour chacune des proprieacuteteacutes agrave un instant donneacute Cette valeur peut changer au cours du temps mais agrave un instant donneacute il nrsquoy en a qursquoune seule

3-Regravegles concernant les associations

bull Lrsquoidentifiant drsquoune association est implicitement formeacute par la concateacutenation des identifiants des entiteacutes lieacutees

10

On ne repreacutesente pas cet identifiant au niveau du MCD Deux occurrences drsquoassociation ne peuvent pas avoir le mecircme identifiant Pour une occurrence lrsquoidentifiant ne doit jamais changer de valeur (lrsquoidentifiant est une proprieacuteteacute constante)

bull Une association peut avoir des proprieacuteteacutes mais ce nrsquoest pas obligatoire

IV-MCDIntroduction aux cardinaliteacutes

Sommaire

bull 1 Formalisme bull 2 La cardinaliteacute minimale

o 21 Exemples o 22 Application

bull 3 La cardinaliteacute maximale o 31 Exemple 1 o 32 Exemple 2

bull 4 Conclusion bull 5 Exemple

bull 6 Repreacutesentation des cardinaliteacutes

Les cardinaliteacutes drsquoune entiteacute dans une association exprime le nombre de fois qursquoune occurrence de cette entiteacute est impliqueacutee dans lrsquoassociation au minimum et au maximum

1-Formalisme

2-La cardinaliteacute minimale

Elle est exprimeacutee presque toujours par lrsquoune des deux valeurs 0 ou 1Elle traduit combien de fois au minimum une occurrence de lrsquoentiteacute participe agrave lrsquoassociation

21--Exemples

Pour la cardinaliteacute mini entre client et commander il faut se poser la question Pour un client donneacute combien de fois au minimum il commande Si la reacuteponse est laquo tout client doit passer au moins une commande sinon ce nrsquoest pas un client raquo on met la cardinaliteacute mini agrave 1

11

Mais on peut tregraves bien imaginer que lrsquoentreprise veut aussi meacutemoriser les clients potentiels (prospects) qui nrsquoont encore rien commandeacute Dans ce cas un client peut tregraves bien ne pas avoir encore commandeacute et on met la cardinaliteacute mini agrave 0

22-Application

1 Trouver la question qui permet de trouver la cardinaliteacute minimale pour lrsquoentiteacute produit et lrsquoassociation commander

2 Faites deux hypothegraveses de regravegle de gestion concernant ce lien et trouver les cardinaliteacutes minimales correspondantes

3-La cardinaliteacute maximale

Elle traduit combien de fois au maximum lrsquoentiteacute peut ecirctre en relation avec lrsquoassociation Cela peut ecirctre plusieurs fois (si crsquoest un nombre indeacutetermineacute on indique la valeur n) ou une seule foisOn reacutepond agrave la question Combien au maximum lrsquoentiteacute peut participer agrave lrsquoassociation Si la reacuteponse est laquo au plus une fois raquo la cardinaliteacute maximale prend pour valeur 1Si la reacuteponse est laquo plusieurs raquo la cardinaliteacute maximale prend la valeur N

31-Exemple 1

bull REGLES DE GESTION

Un salarieacute est affecteacute au plus agrave un seul service Dans un service sont affecteacutes plusieurs salarieacutes

Il arrive (mais crsquoest rare) qursquoune cardinaliteacute maximale ait une valeur limiteacutee

32-Exemple 2

bull REGLE DE GESTION Un eacutelegraveve doit suivre au minimum une option et au maximum 3 options

12

4-Conclusion

En fait dans la grande majoriteacute des cas on nrsquoutilise que 4 combinaisons de valeurs pour les cardinaliteacutes

bull 01 au plus un(e) bull 11 un(e) et un(e) seul(e) bull 1 n un(e) ou plusieurs bull 0 n zeacutero ou plusieurs

5-Exemple

6-Repreacutesentation des cardinaliteacutes

Une voiture est posseacutedeacutee par une seule personne Une personne peut posseacuteder de 0 agrave plusieurs voitures

Une personne a une adresse ou est sans domicile A une adresse il y a une ou plusieurs personne qui y habitent

13

C-Les cardinaliteacutes et les diffeacuterents types dassociations

I-MCDCardinaliteacutes

Sommaire

bull 1 Deacutefinition et formalisme bull 2 La cardinaliteacute minimale

o 21 Exemple o 22 Application

bull 3 La cardinaliteacute maximale o 31 Exemple

bull 4 Reacutecapitulatif o 41 Exemples complets

1-Deacutefinition et formalisme

Les cardinaliteacutes sont des couples de valeur que lon trouve entre chaque entiteacute et ses associations lieacuteesDonc pour une association de 2 entiteacutes il y a 4 cardinaliteacutes agrave indiquer (2 de chaque cocircteacute)Il y a trois valeurs typiques 0 1 et N (plusieurs)

Pour les associations agrave 2 entiteacutes ce sont des valeurs qui permettent drsquoindiquer combien de fois au minimum et au maximum une occurrence dentiteacute peut ecirctre lieacutee agrave une autre occurrence dentiteacute

De maniegravere plus geacuteneacuterale les cardinaliteacutes drsquoune entiteacute dans une association expriment le nombre de fois qursquoune occurrence de cette entiteacute peut ecirctre impliqueacutee dans une occurrence de lassociation au minimum et au maximum

Les cardinaliteacutes traduisent des regravegles de gestion Ce sont des regravegles propres agrave lorganisation eacutetudieacutee qui sont deacutecideacutees par les gestionnaires et deacutecideurs Ces regravegles expriment des contraintes sur le modegravele

2-La cardinaliteacute minimale

14

Elle est exprimeacutee presque toujours par lrsquoune des deux valeurs 0 ou 1 Elle traduit combien de fois au minimum une occurrence de lrsquoentiteacute participe agrave lrsquoassociation autrement dit si une occurrence est obligatoirement associeacutee agrave une autre ou pas

21-Exemple

Pour la cardinaliteacute minimale entre client et commander il faut se poser la question Pour un client donneacute combien de fois au minimum il commande

ou encore mieux Est-il obligatoire quun client effectue une commande de produit

Cela deacutepend des REGLES DE GESTION de lentreprise Si la regravegle de gestion est laquo tout client doit passer au moins une commande sinon ce nrsquoest pas un client raquo on met la cardinaliteacute mini agrave 1

Mais on peut tregraves bien imaginer que lrsquoentreprise veut aussi meacutemoriser les clients potentiels (prospects) qui nrsquoont encore rien commandeacute Dans ce cas un client peut tregraves bien ne pas avoir encore commandeacute et on met la cardinaliteacute mini agrave 0

En fait les cardinaliteacutes deacutependent des regravegles de gestion propres agrave lrsquoorganisation eacutetudieacutee La regravegle peut tregraves bien ecirctre laquo On ne meacutemorise que les clients qui ont deacutejagrave commandeacute raquo ou bien laquo On veut meacutemoriser les prospects raquo

22-Application

bull Trouver la question qui permet de trouver la cardinaliteacute minimale pour lrsquoentiteacute produit et lrsquoassociation commander

Reacuteponse Est-il obligatoire quun produit ait eacuteteacute commandeacute pour quil soit meacutemoriseacute dans la base de donneacutee ou bien Peut-il exister dans la base de donneacutee des produits qui nont jamais eacuteteacute commandeacutes

bull Faites deux hypothegraveses de regravegle de gestion concernant ce lien et trouver les cardinaliteacutes minimales correspondantes

Reacuteponse H1 lentreprise peut proposer de nouveaux produits sur catalogue par exemple quelle meacutemorise dans sa base de donneacutees mais qui nont jamais encore eacuteteacute commandeacutes =gt cardinaliteacute minimale agrave 0 (cest plutocirct le cas pour les entreprises de vente)

15

H2 tout produit inscrit dans la base de donneacutee est forceacutement commandeacute (par exemple parce que lentreprise ne propose pas de catalogue mais fabrique seulement agrave la commande) =gt cardinaliteacute minimale agrave 1 (cest plutocirct le cas pour les entreprises de production)

3-La cardinaliteacute maximale

Elle traduit combien de fois au maximum une occurrence dentiteacute peut ecirctre en relation avec une occurrence de lassociation Cela peut ecirctre plusieurs fois (si crsquoest un nombre indeacutetermineacute on indique la valeur n) ou une seule fois

Cette cardinaliteacute reacutepond agrave la question

bull la participation dune occurrence doit-elle ecirctre unique ou bien peut-elle ecirctre multiple ou bien

bull combien de fois au maximum une occurrence est elle impliqueacutee dans lassociation

Si lassociation est binaire (relie seulement deux entiteacute) la question peut ecirctre aussi

bull Une occurrence de lentiteacute peut-elle ecirctre relieacutee agrave plusieurs occurrences de lautre entiteacute ou bien ne peut-elle ecirctre relieacutee quagrave une seule autre occurrence au plus

Si la reacuteponse est laquo au plus une fois raquo (participation unique) la cardinaliteacute maximale prend pour valeur 1 Si la reacuteponse est laquo plusieurs raquo (participation multiple) la cardinaliteacute maximale prend la valeur N

31-Exemple

bull RG (regravegles de gestion)

1 Un salarieacute est affecteacute au plus agrave un seul service 2 Dans un service sont affecteacutes plusieurs salarieacutes

Il arrive (mais crsquoest rare) qursquoune cardinaliteacute maximale ait une valeur limiteacutee

bull Exemple

RG Un eacutelegraveve peut suivre au maximum 3 options

4-Reacutecapitulatif

16

En fait dans la grande majoriteacute des cas on nrsquoutilise que 4 combinaisons de valeurs pour les cardinaliteacutes

bull 01 au plus un(e) bull 11 un(e) et un(e) seul(e) bull 1n un(e) ou plusieurs bull 0 n zeacutero ou plusieurs

41-Exemples complets

RG un client commande au moins 1 produit (sous entendu ou plusieurs) et un produit peut ne pas encore avoir eacuteteacute commandeacute comme il peut lavoir eacuteteacute plusieurs fois

RG Un salarieacute est obligatoirement affecteacute agrave 1 et 1 seul service Un service pour exister doit avoir au moins un salarieacute affecteacute (sous-entendu il peut bien sur en avoir plusieurs)

II-MCDAssociations

Sommaire

1 Les associations binaires concernant 2 entiteacutes

11 Les associations hieacuterarchiques [1n]

12 Les associations non hieacuterarchiques [n n]

13 Les associations de type [1 1]

2 Les autres types dassociation

21 Les associations reacuteflexives

211 Exemple dassociation reacuteflexive hieacuterarchique

212 Exemples dassociations reacuteflexives non hieacuterarchiques

22 Les associations de dimension 3 ou plus (ternaires ou plus)

1-Les associations binaires concernant 2 entiteacutes

17

On distingue trois cateacutegories dassociations en fonction des cardinaliteacutes maximales de ses branches

-Les associations hieacuterarchiques encore appeleacutees associations [1 n] ou associations fonctionnelles

-Les associations non hieacuterarchiques encore appeleacutees associations [n n] ou non fonctionnelles

-Les association [1 1] les 2 branches ont pour cardinaliteacute maximale 1 Ce cas est rare

11-Les associations hieacuterarchiques [1 n]

Ce sont les associations ougrave dun cocircteacute la |cardinaliteacute maximale est agrave 1 et de lautre cocircteacute la cardinaliteacute maximale est agrave n

Cela signifie quune occurrence de A est relieacutee au plus agrave une seule occurrence de B Cest-agrave-dire si on connaicirct une occurrence de A alors on saura forceacutement quelle est la seule occurrence de B qui correspond (si elle existe) On dit que A deacutetermine B Cest un lien de deacutependance fonctionnelle B deacutepend fonctionnellement de A

Lentiteacute qui correspond agrave la branche du cocircteacute du 1 est parfois appeleacutee entiteacute fils et lentiteacute correspondant agrave la branche du cocircteacute n est parfois appeleacutee entiteacute pegravere Cette appellation deacutecoule de lanalogie un fils na quun seul pegravere et un pegravere peut avoir plusieurs fils

12-Les associations non hieacuterarchiques [n n]

13-Les associations de type [1 1]

Cas exceptionnel

Ex un employeacute travaille sur un ordinateur (p 99 de Modeacuteliser les donneacutees) La facture correspondant agrave une commande

2-Les autres types dassociation

18

Le plus souvent une association relie 2 entiteacutes avec 2 branches Ce type dassociation est appeleacute association binaire Nous avons deacutejagrave eacutetudieacute en deacutetail les diffeacuterents types dassociations binaires

Mais une association peut aussi relier 3 ou tregraves rarement 4 entiteacutes (quasiment jamais plus) On parle dassociation ternaire quaternaire (n-aire) Enfin une association peut aussi relier une entiteacute agrave elle-mecircme cest-agrave-dire que des occurrences de la mecircme entiteacute sont relieacutees entre elles Lassociation correspondante est qualifieacutee de reacuteflexive Ce sont ces autres types dassociation que nous allons eacutetudier maintenant

21-Les associations reacuteflexives

Une association reacuteflexive est une association reliant des occurrences de la mecircme entiteacute Ces associations sont quasiment toujours binaire (2 branches) Pour lire une association reacuteflexive il est faut connaicirctre le rocircle attribueacute agrave chaque branche de lassociation Il existe comme pour les autres associations des associations reacuteflexives hieacuterarchique et des associations reacuteflexives non hieacuterarchique

211-Exemple dassociation reacuteflexive hieacuterarchique

Dans une entreprise bureaucratique chaque salarieacute a un seul chef (supeacuterieur hieacuterarchique direct) sauf le patron et chaque chef a au moins un salarieacute sous ses ordres Evidemment certains salarieacutes ne sont chefs de personnes

Exemples doccurrences diagramme doccurrences

Remarquez limportance du rocircle dans le diagramme doccurrence

212--Exemples dassociations reacuteflexives non hieacuterarchiques

19

Piegraveces composants composeacute = reacuteflexive asymeacutetrique

Personnes fregraveres = reacuteflexive symeacutetrique (rocircle pas indispensable car a pour fregravere = ecirctre fregravere de)

Preacutecision de vocabulaire dimension dune association

La dimension dune association correspond au nombre de branches de lassociation Dans plus de 80 des cas les associations sont binaires Dimension 2 binaire Dimension 3 ternaire (rare) Dimension supeacuterieure aire (exceptionnel)

Lorsquil ny a pas de reacuteflexiviteacute le nombre de branches est eacutegal au nombre dentiteacutes relieacutees La dimension est dans ce cas le nombre dentiteacutes concerneacutees par lassociation Mais la reacuteflexiviteacute existe et donc on peut avoir plusieurs branches de la mecircme association sur la mecircme entiteacute Dans ce cas alors la dimension est supeacuterieure au nombre dentiteacutes concerneacutees

Dimension = nombre dentiteacute lieacutees

Une association reacuteflexive (1 entiteacute) est quasiment toujours binaire (2 branches) On pourrait aussi avoir une association ternaire impliquant seulement deux entiteacutes

22-Les associations de dimension 3 ou plus (ternaires ou plus)

Une association peut relier plus de 2 entiteacutes ensemble le plus souvent trois On parle alors dassociation ternaire On utilise une association ternaire quand on a besoin de connaicirctre une occurrence de chaque entiteacute pour avoir une information

Exemple

Pour connaicirctre la quantiteacute de chacune des piegraveces fabriqueacutee par chaque ouvrier agrave une date donneacutee on utilise une association ternaire entre OUVRIER PIECE et DATE La quantiteacute est une donneacutee porteacutee par cette association

Une occurrence de lassociation fabrique implique une seule occurrence de chaque entiteacute

20

Exemple

Ouvrier Piegravece Date quantiteacute

Dupont 1 1702 50

Dubois 2 1702 100

Martin 1 1702 40

Dupont 3 1702 55

Dubois 3 1702 20

Dupont 1 1602 40

Martin 1 1602 40

Lassociation ternaire implique aussi que

Pour un ouvrier on peut avoir plusieurs piegraveces diffeacuterentes agrave la mecircme date (il peut fabriquer plusieurs types de piegraveces le mecircme jour)

Une piegravece peut ecirctre fabriqueacutee par plusieurs ouvriers diffeacuterents le mecircme jour

A des dates diffeacuterentes un mecircme ouvrier peut fabriquer les mecircmes piegraveces

Lidentifiant dune association ternaire est formeacutee de la concateacutenation (juxtaposition) des identifiants des 3 entiteacutes relieacutees

Dans notre exemple on ne peut donc pas avoir plusieurs occurrences de fabrique qui concernent Dupont la piegravece ndeg1 agrave la date du 1702

III-MCDRepreacutesentation des cardinaliteacutes

bull Une voiture est posseacutedeacutee par une seule personne Une personne peut posseacuteder de 0 agrave plusieurs voitures

21

bull Une personne a une adresse ou est sans domicile A une adresse il y a une ou plusieurs personnes qui y habitent

IV-MCDAssociation ternaire

bull Une association peut relier plus de 2 entiteacutes ensemble le plus souvent trois On parle alors dassociation ternaire (dimension 3) On utilise une association ternaire quand on a besoin de connaicirctre une occurrence de chaque entiteacute pour avoir une information

bull Ex

Pour connaicirctre la quantiteacute de chacune des piegraveces fabriqueacutee par chaque ouvrier agrave une date donneacutee on utilise une association ternaire entre OUVRIER PIECE et DATE La quantiteacute est une donneacutee porteacutee par cette association

22

Une occurrence de lassociation fabrique implique une seule occurrence de chaque entiteacute Exemple

Ouvrier Piegravece Date quantiteacuteDupont 1 1702 50Dubois 2 1702 100Martin 1 1702 40Dupont 3 1702 55Dubois 3 1702 20Dupont 1 1602 40Martin 1 1602 40

Lassociation ternaire implique aussi que

1 Pour un ouvrier on peut avoir plusieurs piegraveces diffeacuterentes agrave la mecircme date (il peut fabriquer plusieurs types de piegraveces le mecircme jour)

2 Une piegravece peut ecirctre fabriqueacutee par plusieurs ouvriers diffeacuterents le mecircme jour 3 A des dates diffeacuterentes un mecircme ouvrier peut fabriquer les mecircmes piegraveces

Lidentifiant dune association ternaire est formeacutee de la concateacutenation (juxtaposition) des identifiants des 3 entiteacutes relieacutees

Dans notre exemple on ne peut donc pas avoir plusieurs occurrences de fabrique qui concernent Dupont la piegravece ndeg1 agrave la date du 1702

V-MCDAssociations reacuteflexives

Une association reacuteflexive est une association reliant des occurrences de la mecircme entiteacute Ces associations sont quasiment toujours binaire (2 branches)

Pour lire une association reacuteflexive il est faut connaicirctre le rocircle attribueacute agrave chaque branche de lassociation cest agrave dire le rocircle de chaque occurrence dans le lien

23

Il existe comme pour les autres associations des associations reacuteflexives hieacuterarchique (une des cardinaliteacutes maximales agrave 1) et des association reacuteflexives non hieacuterarchique (les deux cardinaliteacutes maximales agrave n)

1-Exemple dassociation reacuteflexive hieacuterarchique

Dans une entreprise bureaucratique chaque salarieacute a un seul chef (supeacuterieur hieacuterarchique direct) sauf le patron et chaque chef a au moins un salarieacute sous ses ordres Evidemment certains salarieacutes ne sont chefs de personnes

Un mecircme salarieacute peut agrave la fois ecirctre chef et avoir un chef Tutu peut ecirctre chef de titi et de toto et dautres salarieacutes mais il na quun seul chef au maximum toto peut ecirctre le chef de coco et avoir pour chef tutu

2-Exemples dassociations reacuteflexives non hieacuterarchiques

Piegraveces composants composeacute = reacuteflexive asymeacutetrique

Une piegravece peut entrer dans la composition de plusieurs autres piegraveces (ex un boulon) Une piegravece peut aussi ecirctre composeacutee de plusieurs autres piegraveces (ex un moteur) Une mecircme piegravece peut ecirctre composeacutee dautres piegraveces et entrer dans la composition dune ou plusieurs autres piegraveces (ex une carte reacuteseau)

Preacutecision de vocabulaire dimension dune association

La dimension dune association correspond au nombre de branches de lassociation Dans plus de 80 des cas les associations sont binaires

Dimension 2 binaire Dimension 3 ternaire (rare) Dimension supeacuterieure n-aire (exceptionnel)

Lorsquil ny a pas de reacuteflexiviteacute le nombre de branches est eacutegal au nombre dentiteacutes relieacutees La dimension est dans ce cas le nombre dentiteacutes concerneacutees par lassociation Mais la reacuteflexiviteacute existe et donc on peut avoir plusieurs branches de la mecircme association sur la mecircme entiteacute Dans ce cas alors la dimension est supeacuterieure au nombre dentiteacutes concerneacutees

24

Dimension = nombre dentiteacute lieacutees

Une association reacuteflexive (1 entiteacute) est quasiment toujours binaire (2 branches) On pourrait aussi avoir une association ternaire impliquant seulement deux entiteacutes

D-Passage MCD lt=gt modegravele relationnel

I-MRRappel sur le modegravele relationnel

Cest un modegravele LOGIQUE de donneacutee celui qui correspond agrave lorganisation des donneacutees dans les bases de donneacutees relationnelles (il existe dautres organisations de bases de donneacutees hieacuterarchique reacuteseau objethellip)

Les SGBD actuels les plus courants sont relationnels (Oracle SQL Server Access MySQL hellip )

Un modegravele relationnel est composeacute de relations encore appeleacutee tables Ces tables sont deacutecrites par des attributs ou champs (noms de colonnes) Pour deacutecrire une relation on indique tout simplement son nom en majuscule suivi du nom de ses attributs entre parenthegraveses

Lidentifiant dune relation est composeacute dun ou plusieurs attributs qui forment la cleacute primaire Une relation peut faire reacutefeacuterence agrave une autre en utilisant une cleacute eacutetrangegravere qui correspond agrave la cleacute primaire de la relation reacutefeacuterenceacutee

Il ny a pas de notation officielle pour repeacuterer les cleacutes primaires et eacutetrangegraveres Cest agrave vous den adopter une et de lexpliquer en leacutegende Toutefois une notation sest peu agrave peu reacutepandue

bull on souligne la cleacute primaire dun seul trait bull on fait preacuteceacuteder (ou suivre) les cleacutes eacutetrangegraveres du symbole

Chaque ligne (tuple ou enregistrement) dune table repreacutesente une occurrence de lentiteacute ou de lassociation correspondante

II-MRPassage du MCD au MR

Sommaire

bull 1 Regravegle 1 bull 2 Regravegle 2 bull 3 Exception agrave la regravegle 1 bull 4 Cas particulier des associations reacuteflexives

o 41 Reacuteflexive hieacuterarchique o 42 Reacuteflexive non hieacuterarchique

25

1-Regravegle 1

Toute entiteacute devient une relation ayant pour cleacute primaire son identifiant

Chaque proprieacuteteacute se transforme en attribut CLIENT (code_client nom preacutenom adresse code_postal ville teacuteleacutephone)

Remarque contrairement aux proprieacuteteacutes les attributs ne doivent pas comporter despaces

2-Regravegle 2

Toute association non hieacuterarchique (de type [n n] ou de dimension gt 2) devient une relation La cleacute primaire est formeacutee par la concateacutenation (juxtaposition) lensemble des identifiants des entiteacutes relieacutees Toutes les proprieacuteteacutes eacuteventuelles deviennent des attributs qui ne peuvent pas faire partie de la cleacute

CONCERNER (numeacutero_commande reacutefeacuterence_article quantiteacute)

Cette regravegle est valable pour toutes les associations ternaires (ou quaternaires) qui sont forceacutement non hieacuterarchiques (|cardinaliteacutes maximales toutes eacutegales agrave n)

3- Exception agrave la regravegle 1

Les entiteacutes nayant que leur identifiant comme attribut ne deviennent pas des relations mais des attributs dans les autres relations lieacutees

Avec ce modegravele on meacutemorise chaque jour pour chaque ouvrier les piegraveces quil a fabriqueacute et en quelle quantiteacute Quand on passe au modegravele relationnel lentiteacute DATE FABRICATION ne

26

devient pas une relation mais un attribut cleacute dans la relation FABRIQUE issue de lassociation

FABRIQUE (code_ouvrier reacutefeacuterence_piegravece date quantiteacute) Date ici fait partie de la cleacute primaire mais nest pas cleacute eacutetrangegravere

4-Cas particulier des associations reacuteflexives

Les associations reacuteflexives suivent les regravegles 2 ou 3 selon les |cardinaliteacutes mais posent un problegraveme particulier une mecircme proprieacuteteacute va se retrouver deux fois en attribut dans la mecircme relation Il faut alors donner un nom diffeacuterent et significatif aux deux attributs correspondants

Dans les reacuteflexives il est conseilleacute de nommer les branches par des rocircles pour pouvoir lire dans le bon sens lassociation Les rocircles aident agrave nommer les attributs correspondant agrave lassociation

41-Reacuteflexive hieacuterarchique

(Une branche agrave la cardinaliteacute maxi agrave 1 et lautre agrave n)

Regravegle ndeg 2

Lecture de lassociation Regravegle ndeg1 lidentifiant de SALARIE va devenir cleacute primaire et les autres proprieacuteteacutes des attributsRegravegle ndeg2 pour traduire lassociation [1 n] encadrer lidentifiant de lentiteacute SALARIE devient cleacute eacutetrangegraverelidentifiant de SALARIE matricule se retrouve deux fois dans la relation comme cleacute primaire et comme cleacute eacutetrangegravereOn va donc donner un nom diffeacuterent et significatif agrave ces deux matricules par exemple Un salarieacute a pour chef 0 ou un seul autre salarieacute Un salarieacute est chef de 0 agrave n autre(s) salarieacute

Traduction en modegravele relationnel

SALARIE (matricule nom preacutenom fonctionhellip matricule_chef)

42-Reacuteflexive non hieacuterarchique

Regravegle ndeg3

27

bull Lecture de lassociation

Une piegravece entre dans la composition de 0 agrave plusieurs autres piegraveces Une piegravece peut ecirctre composeacutee de plusieurs autres piegraveces Une piegravece entre dans la composition dune autre un certain nombre de fois

Ex La piegravece voiture est composeacutee de 4 piegraveces roue La piegravece roue est elle-mecircme composeacutee dune piegravece pneu et dune piegravece jante

Une piegravece entrant dans la composition dune autre est appeleacutee composant Une piegravece composeacutee dautres piegraveces est appeleacutee composeacute Une roue est agrave la fois un composant (de voiture) et un composeacute (de pneu et jante)

bull Traduction en modegravele relationnel

PIECE (reacutefeacuterence libelleacute)COMPOSITION(reacutefeacuterence_composeacute reacutefeacuterence_composant nombre)

E-Normalisation du modegravele relationnel

I- Deacutependance fonctionnelle

Sommaire

1 Introduction

2 Rappels sur la notion de deacutependance fonctionnelle

21 Deacutefinition

22 Terminologie

23 DF agrave partir de proprieacuteteacutes concateacuteneacutees

24 Proprieacuteteacutes des deacutependances fonctionnelles

241 Union

242 Transitiviteacute

1-Introduction

Lobjectif de la normalisation est de construire un scheacutema de base de donneacutees coheacuterentUn mauvais scheacutema logique peut conduire agrave un certain nombre danomalies pendant la phase dexploitation de la base de donneacutee Nous allons voir ces anomalies dans une premiegravere partiePour qursquoun modegravele relationnel soit normaliseacute il faut qursquoil respecte certaines contraintes appeleacutees les formes normales Les formes normales srsquoappuient sur les deacutependances fonctionnelles entre attributs

2-Rappels sur la notion de deacutependance fonctionnelle

La construction du MCD mais eacutegalement du modegravele relationnel correspondant repose presque entiegraverement sur le concept de deacutependance fonctionnelle Crsquoest ce concept qui permet

28

de passer drsquoun ensemble de proprieacuteteacutes non structureacute agrave un modegravele conceptuel des donneacutees formeacute drsquoentiteacutes et drsquoassociations et au modegravele relationnel correspondant

21-Deacutefinition

On dit que b est en deacutependance fonctionnelle (DF) de a si agrave une valeur quelconque de la proprieacuteteacute a on ne peut faire correspondre qursquoune seule valeur au plus de la proprieacuteteacute b

On note a b(Source)-gt (but)

Autrement dit si on connaicirct la valeur de a on peut en deacuteduire une seule valeur de bMais la reacuteciproque nrsquoest pas vrai (si on connaicirct b on ne peut pas en deacuteduire a)

bull Exemple

Num client Nom client

Il existe une DF entre num client et Nom client car si on connaicirct une valeur de la proprieacuteteacute num client (ex 4553) il ne peut lui correspondre qursquoune seule valeur de la proprieacuteteacute nom (ex Duval)

La reacuteciproque est fausse

Nom client Num client nrsquoest pas une DF

Si lrsquoon connaicirct la valeur de la proprieacuteteacute Nom client on ne peut pas en deacuteduire la proprieacuteteacute Num client car il peut y avoir des homonymes

22-Terminologie

Si on a une deacutependance fonctionnelle a b on peut employer les expressions suivantes de faccedilon eacutequivalente -Il y a une deacutependance fonctionnelle de a vers b- b est en deacutependance fonctionnelle de a- b deacutepend fonctionnellement de a- a est la source et b est le but (ou la cible) de la deacutependance fonctionnelle

23-DF agrave partir de proprieacuteteacutes concateacuteneacutees

(Partie gauche composeacutee de plusieurs attributs)

Il peut exister des deacutependances fonctionnelles agrave partir de proprieacuteteacutes concateacuteneacutees cest-agrave-dire qui forment un tout indissociable comme si elles eacutetaient soudeacutees

On note par un + cette concateacutenation

Exemple Consideacuterons une commande qui comporte plusieurs produits Num_Commande + Ref_Produit quantiteacute commandeacutee

Si on nrsquoa seulement le numeacutero de la commande on ne peut pas en deacuteduire la quantiteacute commandeacutee car il faut aussi savoir de quel produit De mecircme on ne peut pas savoir la quantiteacute commandeacutee drsquoun produit si on ne sait pas de quelle commande Il faut bien connaicirctre agrave la fois la commande et le produit (leurs identifiants respectifs) pour en deacuteduire la quantiteacute commandeacutee

29

Les deacutependances fonctionnelles dont la source est formeacutee de plusieurs proprieacuteteacutes doivent ecirctre eacuteleacutementaires cest-agrave-dire ne pas ecirctre creacuteeacutees artificiellement

Ex Num Commande + Num Client date commande nrsquoest pas une DF eacuteleacutementaire car on nrsquoa pas besoin du numeacutero de client pour connaicirctre la date de commande il suffit de connaicirctre le numeacutero de la commande La proprieacuteteacute Num Client ne

24-Proprieacuteteacutes des deacutependances fonctionnelles

Les deacutependances fonctionnelles ont les proprieacuteteacutes suivantes

241-Union

Si on a deux DF ayant la mecircme source on peut les rassembler en une seule en seacuteparant les

cibles par une virgule Si a b et a c

Ex Reacutefeacuterence Deacutesignation et Reacutefeacuterence Prix de vente unitaire

Alors par union on a Reacutefeacuterence Deacutesignation Prix de vente unitaire

Lors du traceacute du graphe des deacutependances fonctionnelles lrsquounion permet de regrouper sur une seule ligne toutes les deacutependances fonctionnelles ayant la mecircme source

242-Transitiviteacute

Si a b et b c alors on a a c

Ex Num Meacutedecin Code Service et Code Service Num Hopital

Alors on a Num Meacutedecin Num Hopital

Les DF qui peuvent ecirctre deacuteduites par transitiviteacute de deux autres DF (qui ne sont pas directes) doivent ecirctre eacutelimineacutees car elles sont alors redondantesIl ne reste alors que les DF directes cest-agrave-dire celles qui ne peuvent pas ecirctre retrouveacutees par transitiviteacute

Attention toutefois agrave la signification des deacutependances Une deacutependance fonctionnelle quon peut retrouver par transitiviteacute ne doit pas ecirctre supprimeacutee si elle na pas le mecircme sens que la transitiviteacute des deux autres car il y aurait perte dinformation

II-MRInteacuterecirct de la normalisation

Exemple

Pour vous montrer lrsquointeacuterecirct de la normalisation drsquoune base de donneacutee relationnelle voyons les problegravemes que peuvent poser lrsquoutilisation drsquoune base de donneacutee baseacutee sur un modegravele relationnel non normaliseacute

Soit le scheacutema de relation

30

FOURNISSEUR (NomFournisseur AdresseFournisseur Produits Prix)

Modegravele en extension

NomFournisseur AdresseFournisseur Produit Prix

Lebras 10 Rue des Gras - ClermontChaise table

2035

Dupont 86 Rue de la Reacutepublique - Moulins Bureau 60

Lajoie 26 Rue des Docircmes - Vichy Lit 50

Dupont 39 Rue des Buttes - MoulinsLampeTable de chevet

1825

bull 1degproblegraveme

Il nrsquoy a pas de cleacute primaire on ne sait pas si les deux Dupont sont diffeacuterents ou pas (si crsquoest le mecircme Dupont il y a une des deux adresses qui est fausse

bull 2degproblegraveme

Lrsquoadresse nrsquoest pas deacutecomposeacutee Si on veut par exemple rechercher tous les fournisseurs qui habitent la mecircme ville ccedila ne va pas ecirctre possible

bull 3degproblegraveme

Une relation (table) correspondant agrave ce scheacutema pourra eacuteventuellement contenir plusieurs produits pour un mecircme fournisseur

Dans ce cas il faudra faire face agrave un certain nombre de problegravemes

bull ladresse du fournisseur sera dupliqueacutee dans chaque n-uplet (redondance) bull si on souhaite modifier ladresse dun fournisseur il faudra rechercher et mettre agrave jour

tous les n-uplets correspondant agrave ce fournisseur bull si on insegravere un nouveau produit pour un fournisseur deacutejagrave reacutefeacuterenceacute il faudra veacuterifier

que ladresse est identique bull si on veut supprimer un fournisseur il faudra retrouver et supprimer tous les n-uplets

correspondant agrave ce fournisseur (pour diffeacuterents produits) dans la table bull La normalisation eacutelimine les redondances ce qui permet

- une diminution de la taille de la base de donneacutee sur le disque- une diminution des risques drsquoincoheacuterence- drsquoeacuteviter une mise agrave jour multiple des mecircmes donneacutees

31

III-MR 3 formes normales

Les 3 formes normales du modegravele relationnel

Sommaire

1 1er forme normale

2 2egraveme forme normale

3 3egraveme forme normale

4 Application des regravegles

5 Reacutesumeacute

1-1er forme normale

Une relation est normaliseacutee en premiegravere forme normale si

-Elle possegravede une cleacute identifiant de maniegravere unique et stable chaque ligne

-Chaque attribut est monovalueacute (ne peut avoir qursquoune seule valeur par ligne)

-Aucun attribut nrsquoest deacutecomposable en plusieurs attributs significatifs

Contre-exemple

EMPLOYE ( Nom Preacutenom Enfants Diplocircmes)

Cette relation nrsquoest pas en premiegravere forme normale

Un employeacute peut avoir plusieurs enfants et plusieurs diplocircmes En outre ces attributs sont deacutecomposables diplocircme est deacutecomposable en Nature et Anneacutee et Enfants est deacutecomposable en Preacutenom et Anneacutee de Naissance

2-2egraveme forme normale

Une relation R est en deuxiegraveme forme normale si et seulement si

-Elle est en 1FN

-Et tout attribut non cleacute est totalement deacutependant de toute la cleacute

Autrement dit aucun des attributs ne deacutepend que drsquoune partie de la cleacute La 2FN nest agrave veacuterifier que pour les relations ayant une cleacute composeacutee Une relation en 1FN nayant quun seul attribut cleacute est toujours en 2FN

Contre-exemple 32

Cette relation est en premiegravere forme normale (existence drsquoune cleacute valide et aucun attribut nrsquoest deacutecomposable)MAIS elle nrsquoest pas en 2deg forme normale car on a DeacutesignationProd ne deacutepend pas de toute la cleacute mais seulement de reacutefeacuterenceProd

ReacutefeacuterenceProd DeacutesignationProd

Pour connaicirctre lrsquoattribut deacutesignationProd on nrsquoa pas besoin de connaicirctre le numeacutero de commande

3-3egraveme forme normale

Une relation est en 3deg forme normale si et seulement si

Elle est en 2deg forme normale et tout attribut doit deacutependre directement de la cleacute cest-dire qursquoaucun attribut ne doit deacutependre de la cleacute par transitiviteacute

Autrement dit aucun attribut ne doit deacutependre drsquoun autre attribut non cleacute

Contre-exemple

CLIENT (Num_client Nom_client code_categ nom_categ) Cette relation nrsquoest pas en 3FN car num_client nom_categ nrsquoest pas une deacutependance directe

En effet on a aussi num_client num_categ nom_categ

4-Application des regravegles

Si lrsquoune des 3 regravegles nrsquoest pas veacuterifieacutee cela indique une erreur dans le modegravele relationnel et il faut alors modifier pour que les 3 regravegles soient veacuterifieacutees pour toutes les relationsOn veacuterifie les regravegles dans lrsquoordre Si la premiegravere forme normale nrsquoest pas respecteacutee pas la peine de veacuterifier la 2FN Et si la 2FN nrsquoest pas veacuterifieacutee inutile de veacuterifier la 3FN

5-Reacutesumeacute

Modegravele normaliseacute = relations avec

-Une cleacute qui permet de distinguer chaque occurrence

-Des attributs eacuteleacutementaires (1FN)

-En deacutependance de TOUTE la cleacute (2FN)

-Et RIEN QUE de la cleacute (3FN)

On parle aussi de normalisation pour un MCD Un MCD qui donne un MR normaliseacute est qualifieacute aussi de normaliseacute

F-MeriseLes diagrammes de flux

Les diagrammes de flux reacutepondent agrave la question Que fait le systegraveme

33

En ce sens ce sont des modegraveles FONCTIONNELS (qui deacutecrivent les fonctions)

Il existe2 types principaux de diagrammes de flux

1 Le modegravele de contexte (MC) ougrave le domaine drsquoeacutetude est vu comme une boite noire On ne repreacutesente que les flux exteacuterieurs au domaine

2 Le modegravele de flux de donneacutees (DFD) ou encore modegravele de flux conceptuels (MFC) ougrave lrsquoon deacutetaille les activiteacutes du domaine drsquoeacutetude On repreacutesente aussi les flux internes au domaine

I-MeriseVocabulaire associeacute aux modegraveles de flux

Sommaire

bull 1 Domaine deacutetude bull 2 Acteur externe bull 3 Domaine connexe

bull 4 Flux de donneacutees

1-Domaine deacutetude

Le domaine deacutetude est un sous-ensemble coheacuterent de lentreprise ou de lorganisme bien deacutelimiteacute et formant le contenu du sujet agrave eacutetudier

Dans les modegraveles de flux le domaine deacutetude est repreacutesenteacute par un rectangle agrave trait plein Le nom du domaine est placeacute agrave lrsquointeacuterieur du rectangle

2-Acteur externe

Un acteur externe est un eacuteleacutement eacutemetteur ou reacutecepteur de donneacutees situeacute hors du systegraveme dinformation eacutetudieacute

Dans les modegraveles de flux un acteur externe est repreacutesenteacute par un cercle plein Le nom de lrsquoacteur est placeacute agrave lrsquointeacuterieur du cercle

3-Domaine connexe

Un domaine connexe est un composant du systegraveme drsquoinformation interagissant avec le domaine drsquoeacutetude Crsquoest un acteur interne agrave lrsquoentreprise mais externe au domaine drsquoeacutetude

34

Dans les modegraveles de flux une activiteacute est repreacutesenteacutee graphiquement par un rectangle Le nom de lactiviteacute est placeacute agrave lrsquointeacuterieur du rectangle

4-Flux de donneacutees

Un flux est un transfert drsquoinformations entre composants du systegraveme Le composant peut ecirctre un domaine une activiteacute ou un acteur externe

Dans les modegraveles de flux un flux de donneacutees est repreacutesenteacute graphiquement par une flegraveche orienteacutee du composant eacutemetteur du flux vers le composant reacutecepteur Le libelleacute du flux est inscrit en regard de la flegraveche traceacutee

Formalisme graphique illustrant par exemple un eacutechange entre un acteur externe et le domaine deacutetude

II-MeriseModegravele de contexte

Le modegravele de contexte sert agrave repreacutesenter les interactions entre le domaine deacutetude et lrsquoenvironnement et entre le domaine deacutetude et les eacuteventuels domaines connexes

Le domaine deacutetude y est repreacutesenteacute comme une boicircte noire

Le modegravele de contexte utilise les concepts suivants

bull le domaine deacutetude bull les acteurs externes bull les flux de donneacutees bull les domaines connexes

Exemple de modegravele de contexte au sein drsquoune socieacuteteacute commerciale on eacutetudie le domaine laquo gestion des ventes raquo

35

Remarque

bull on ne fait pas apparaicirctre les flux entre acteurs externes et domaines connexes ou entre les domaines connexes

Exemple le flux correspondant agrave la livraison de marchandises nrsquoapparaicirct pas

II-MeriseMFC ou DFD

Sommaire

bull 1 Modegravele de flux conceptuel(MFC) ou diagramme de flux de donneacutees(DFD) o 11 Deacutefinition o 12 Exemple o 13 Regravegles de deacutecomposition des activiteacutes

1-Modegravele de flux conceptuel (MFC) ou diagramme de flux de donneacutees (DFD)

11-Deacutefinition

Ce modegravele permet de deacutecider quelles activiteacutes inter-relieacutees de quelle maniegravere permettront de reacutesoudre au mieux le problegraveme poseacute et cette reacuteflexion est meneacutee sans sencombrer dans un premier temps du comportement du systegraveme (ordonnancement regravegles deacutemission synchronisationshellip)

Les modegraveles de flux conceptuels permettent de deacutecomposer le domaine drsquoeacutetude en activiteacutes Il nrsquoy a pas ici de notion drsquoorganisation mais drsquoobjectifs agrave reacutealiser On repreacutesente les flu x entre activiteacutes et avec lrsquoenvironnement

Pour analyser les communications et les activiteacutes on procegravede par laquo zooms raquo successifs sur le domaine eacutetudieacute pour eacutelaborer des modegraveles de plus en plus deacutetailleacutes qui permettront davoir une cartographie deacutetailleacutee du systegraveme et de preacuteparer le passage au modegravele conceptuel de repreacutesentation des traitements

36

Le modegravele de contexte est eacutegalement appeleacute le diagramme de flux de donneacutees de niveau 0

Nous obtenons ensuite des diagrammes de premier deuxiegraveme troisiegraveme hellip niveau par eacuteclatements successifs des activiteacutes agrave chacun de ces niveaux

La deacutecomposition drsquoun domaine ou drsquoune activiteacute en plusieurs activiteacutes peut faire apparaicirctre de nouveaux flux dus

1 agrave lrsquoeacutechange drsquoinformations entre activiteacutes 2 agrave la deacutecomposition drsquoun flux preacutesent au niveau n en plusieurs flux au niveau n+1

12-Exemple

Si on reprend le modegravele de contexte preacuteceacutedent on srsquoaperccediloit que le domaine des ventes peut-ecirctre eacuteclateacute en trois activiteacutes Nous obtenons ainsi le diagramme de flux de donneacutees de niveau 1

Remarque

bull On peut deacutecomposer le modegravele de flux de niveau 1 en un modegravele de flux de niveau 2 et etc hellip jusqursquoagrave arriver agrave un modegravele ougrave lrsquoactiviteacute correspond agrave une opeacuteration au sens Merise (regravegle drsquoininterruption)

Exemple lrsquoactiviteacute laquo gestion des factures raquo peut ecirctre encore deacutecomposeacutee en activiteacutes laquo facturation raquo et laquo Suivi des regraveglements raquo

13-Regravegles de deacutecomposition des activiteacutes

bull Pourquoi deacutecomposer

1 Pour deacutesagreacuteger les groupes de flux pour arriver agrave la deacutefinition des flux-types du domaine eacutetudieacute

2 Pour preacuteparer leacutetude dynamique du systegraveme dinformation pour arriver agrave lrsquoidentification des processus et des opeacuterations conceptuelles

bull Comment deacutecomposer

37

1 Identifier les groupes de donneacutees entrant et sortant du domaine drsquoeacutetude pour construire le modegravele de contexte

2 Identifier les activiteacutes geacuteneacuterant ou traitant les flux de donneacutees pour construire le DFD de niveau 1(approche par les donneacutees) ou identifier une activiteacute de niveau 1 comme un ensemble drsquoactiviteacutes participant agrave une mecircme finaliteacute (approche par les objectifs)

bull Jusquougrave deacutecomposer

Lorsquune activiteacute a atteint le niveau dinterruptabiliteacute (degraves lors que le traitement est deacuteclencheacute il se deacuteroule sans attente de ressources compleacutementaires exteacuterieures) Lactiviteacute est alors une opeacuteration conceptuelle qui sera deacutecrite lors de leacutetude dynamique du SI dans le MCTA

G-Les Modegraveles de traitements (MCT et MCTA)

I-MeriseMCT

Sommaire

bull 1 Modeacutelisation des Traitements bull 2 Le MCT bull 3 Les concepts du MCT

o 31 Lrsquoeacuteveacutenement o 32 Lrsquoopeacuteration o 33 Le reacutesultat o 34 La synchronisation o 35 Regravegle deacutemission o 36 Rocircle des regravegles de gestion o 37 Le processus

bull 4 Meacutethode drsquoeacutetablissement drsquoun MCT o 41 Regravegles de validation o 42 Cas particuliers

421 Cycles

422 Les eacuteveacutenements consommables

1-Modeacutelisation des Traitements

La modeacutelisation des traitements pour but de faire la repreacutesentation dynamique du systegraveme drsquoinformation crsquoest-agrave dire de repreacutesenter lrsquoenchaicircnement des traitements reacutealiseacutes

Cette modeacutelisation srsquoeffectue agrave deux niveaux

1 le niveau conceptuel ougrave lrsquoon srsquointeacuteresse aux opeacuterations en dehors de toute mise en oeuvre organisationnelle

2 le niveau organisationnel ougrave se pose les questions du qui ougrave quand

2-Le MCT

Lrsquoobjectif du MCT est de reacutepondre agrave la question QUOI faire par rapport agrave un eacuteveacutenement Crsquoest la chronologie qui importe Autrement dit le MCT est une repreacutesentation de la

38

succession des regravegles de gestion dont lrsquoentreprise veut se doter pour reacutepondre aux eacuteveacutenements auxquels elle doit faire face du fait de son activiteacute et de son environnement

3-Les concepts du MCT

31-Lrsquoeacuteveacutenement

Crsquoest une sollicitation du systegraveme drsquoinformation qui geacutenegravere une reacuteaction de la part de celui-ci

Un eacuteveacutenement peut ecirctre externe au domaine eacutetudieacute (ex commande client) ou interne au SI souvent le reacutesultat drsquoun processus anteacuterieur (ex ordre de preacuteparation) Un eacuteveacutenement peut-ecirctre aussi temporel cest-agrave-dire lieacute agrave des dates qui rythment lrsquoexeacutecution de certains traitements (deacutelai de maintenance relances)

32-Lrsquoopeacuteration

Crsquoest un ensemble drsquoactions accomplies par le systegraveme drsquoinformation en reacuteaction agrave un eacuteveacutenement ou agrave une conjonction drsquoeacuteveacutenements et non interruptibles par un eacuteveacutenement externe

Remarque Une opeacuteration deacuteclenche au moins un reacutesultat Une opeacuteration est repreacutesenteacutee par un verbe ou mieux un substantif (ex Preacuteparer la commande ou preacuteparation de la commande)

34-Le reacutesultat

Un reacutesultat peut-ecirctre un document un message externe un nouvel eacutetat du SI (nouvelle situation nouvelles donneacutees) creacuteeacute par une opeacuteration qui peut lui-mecircme jouer le rocircle drsquoeacuteveacutenement

Un reacutesultat externe repreacutesente une information envoyeacutee agrave lrsquoexteacuterieur du SI (ex facture)

Un reacutesultat interne est un nouvel eacutetat du systegraveme drsquoinformation (ex ordre de preacuteparation)

35-La synchronisation

Crsquoest une condition booleacuteenne (ET OU) traduisant les regravegles de gestion que doivent respecter les eacuteveacutenements pour deacuteclencher une opeacuteration Dans le cas ET elle marque quun eacuteveacutenement deacutejagrave lagrave doit en attendre un ou plusieurs autres

Remarque Pour quil soit question de synchronisation il faut la preacutesence de plusieurs eacuteveacutenements deacuteclencheurs aussi le symbole de synchronisation est laisseacute agrave blanc dans le cas dun eacuteveacutenement unique

Si tous les eacuteveacutenements entrants sont lieacutes par le mecircme opeacuterateur on peut seulement faire figurer lopeacuterateur dans le symbole de synchronisation sinon il faut numeacuteroter les eacuteveacutenements (a b c hellip) et constituer lexpression agrave laide des eacuteveacutenements et des opeacuterateurs (ex (a ET b) OU c) Regravegle deacutemission

Condition traduisant les regravegles de gestion qui permet dexprimer des conditions de sortie des reacutesultats

39

Remarques Lexpression dune regravegle deacutemission peut ecirctre composeacutee de plusieurs conditions eacuteleacutementaires relieacutees par les opeacuterateurs ET OU On peut eacutegalement utiliser lopeacuterateur NON pour exprimer la neacutegation dune condition

36-Rocircle des regravegles de gestion

Recenseacutees lors de leacutetude de lexistant ou deacutefinies pour le futur SI elles deacutecrivent les enchaicircnements dopeacuterations Elles rendent possible le regroupement des actions au sein dune seule opeacuteration non interruptible au niveau conceptuel

37-Le processus

Crsquoest un enchaicircnement synchroniseacute dopeacuterations au sein dun mecircme domaine geacuteneacuteralement deacuteclencheacute par un eacuteveacutenement externe (externe au domaine ou au SI tout entier)

Un MCT est la repreacutesentation de lrsquoenchaicircnement des opeacuterations drsquoun processus

4-Meacutethode drsquoeacutetablissement drsquoun MCT

1 Reacutealiser le graphe des flux (repreacutesentation des acteurs eacuteveacutenements et reacutesultats externes

2 Pour chaque eacuteveacutenement recenser les opeacuterations deacuteclencheacutees etou les eacuteveacutenements internes produits

3 Regrouper dans une mecircme opeacuteration tous les traitements qui ont les mecircmes deacuteclencheurs dans une uniteacute de temps avec la mecircme synchronisation

41-Regravegles de validation

Une opeacuteration ne peut pas ecirctre interrompue par lrsquoattente drsquoun eacuteveacutenement externe

Si tel est le cas il faut deacutecrire une seconde opeacuteration deacuteclencheacutee par cet eacuteveacutenement en attente

42-Cas particuliers

421-Cycles

Pour une mecircme opeacuteration leacuteveacutenement deacuteclencheur et leacuteveacutenement reacutesultat sont identiques

Une commande de client est servie si les marchandises sont disponibles sinon cette commande est mise en attente Les commandes en attente sont reacuteexamineacutees lors de chaque reacuteapprovisionnement afin de les livrer

40

Il faut sassurer que le cycle a bien un deacutebut et une fin ici cest lrsquoeacuteveacutenement Reacuteapprovisionnement effectueacute qui permet deacuteviter que le cycle ne se deacuteroule sans fin sur les commandes en attente

Noter limportance du concept doccurrences deacuteveacutenement

-une occurrence de Reacuteappro est-elle autoriseacutee agrave consommer toutes les occurrences de Commande en attente

-si le reacuteapprovisionnement est insuffisant de nouvelles occurrences de Commande en attente doivent-elles ecirctre creacuteeacutees

422-Les eacuteveacutenements consommables

Un client non satisfait peut retourner un article On lui fait un avoir Il peut alors le preacutesenter en caisse pour ecirctre rembourseacute de son achat Il peut encore remplacer larticle deacutefectueux par un autre auquel cas on annule lavoir

41

Ce qui pose question

UNE occurrence de leacuteveacutenement avoir eacutetabli ne peut ecirctre consommeacutee par 2 opeacuterations (rembourser et imputer)

Dit autrement avoir eacutetabli ne sait pas vers quelle opeacuteration se diriger On pourrait se dire quil est implicite que cest le premier eacuteveacutenement qui survient qui gagne si Echange survient en premier alors lavoir est annuleacute

Cependant que se passe-t-il si les 2 eacuteveacutenements externes se produisent simultaneacutement Si on impleacutemente tel quel ce scheacutema dans un automate il est vraisemblable que le client pourra avoir le beurre et largent du beurre

se preacutesenter en caisse et faire leacutechange pour un seul retour Il est donc preacutefeacuterable dexpliciter (cf ci-apregraves)

Une autre solution consiste agrave indiquer explicitement que cet eacuteveacutenement est consommable cest-agrave-dire que la premiegravere opeacuteration qui se deacuteclenche annule lrsquoeacuteveacutenement pour lrsquoautre opeacuteration

42

II-MeriseInteacutegration des donneacutees dans le MCT

Sommaire

bull 1 DEFINITION bull 2 FORMALISME DU MCTA bull 3 REPRESENTATION DES ACTIONS SUR LES DONNEES bull 4 COMPLEMENTS

o 41 Condition de deacuteclenchement o 42 Action collective o 43 Coheacuterence de la base de donneacutees o 44 REGLES DE VALIDATION DrsquoUN MCTA

o 45 Exemple de MCTA

1-DEFINITION

Le MCTA est une repreacutesentation syntheacutetique des traitements qui met en eacutevidence les reacuteactions du systegraveme aux eacuteveacutenements et linteraction avec les donneacutees

Il vise agrave

Deacutecrire le fonctionnement du systegraveme indeacutependamment de lorganisation

Donner une vision des traitements et de la coordination des eacuteveacutenements deacuteclencheurs

Rapprocher les donneacutees et les traitements

2-FORMALISME DU MCTA

Pour mettre en eacutevidence lrsquoarticulation entre les donneacutees et les traitements dans le MCT on ajoute agrave droite de chaque opeacuteration les entiteacutes ou associations qui sont consulteacutees ou qui subissent un changement drsquoeacutetat (creacuteation mise agrave jour suppression hellip)

43

3-REPRESENTATION DES ACTIONS SUR LES DONNEES

Un objet correspond agrave une entiteacute ou une association du MCD correspondant au champ drsquoeacutetude du SI Une action est une manipulation (creacuteation consultation modification ou suppression) drsquoun objet du systegraveme drsquoinformation Elle est symboliseacutee par un trait entre lrsquoopeacuteration et lrsquoobjet manipuleacute Ce trait est non orienteacute sil sagit dune suppression et il est orienteacute pour les autres types de manipulation le sens de la flegraveche deacutepend du type de manipulation

Un eacutetat drsquoobjet est un stade transitoire par lequel passe un objet (entiteacute ou association) au cours de sa laquo vie raquo

Dans un MCTA une opeacuteration est composeacutee dun ensemble dactions sur les donneacutees

Les actions sur les donneacutees sont de 4 types

Creacuteation drsquoune occurrence

Creacuteation drsquoune occurrence de lrsquoobjet 1 dans lrsquoeacutetat 1

Suppression drsquoune occurrence

Suppression drsquoune occurrence de lrsquoobjet 3 se trouvant dans lrsquoeacutetat 2

Consultation drsquoune occurrence

Consultation drsquoune occurrence de lrsquoobjet 4 dans lrsquoeacutetat 6 Leacutetat de lrsquoobjet nrsquoest pas indiqueacute mais sera eacuteventuellement testeacute avant reacutealisation de la (ou des) action (s) suivante (s)

44

Modification drsquoune occurrence

Modification drsquoune occurrence de lrsquoobjet 2 si elle est dans lrsquoeacutetat 3 elle passe agrave lrsquoeacutetat 4 ou agrave lrsquoeacutetat 5

Lrsquoaction de modification inclut implicitement la ou les consultations preacutealables

On ne doit pas seacuteparer les consultations qui preacutecegravedent les modifications des modifications elles-mecircmes

Remarque geacuteneacuterale Lrsquoordre des actions drsquoune opeacuteration sera si possible preacutesenteacute de haut en bas

4-COMPLEMENTS

41-Condition de deacuteclenchement

Lrsquoaction eacuteleacutementaire peut ecirctre accompagneacutee drsquoune condition de deacuteclenchement (agrave indiquer au niveau du trait ou agrave cocircteacute de lrsquoobjet) Cette condition peut porter sur lrsquoeacutetat de la structure des donneacutees agrave un moment preacutecis etou sur le type drsquoeacuteveacutenement constateacute agrave lrsquoentreacutee de lrsquoopeacuteration

42-Action collective

Elle permet drsquoindiquer que lrsquoaction intervient sur un ensemble drsquooccurrences de lrsquoobjet concerneacute (toutes srsquoil nrsquoy a pas de condition de deacuteclenchement associeacutee limitant le nombre drsquooccurrences manipuleacutees)

Exemple en fin de mois une compagnie dassurances reacutesilie les polices quelle a proposeacutees degraves que le deacutelai de signature de celles-ci est deacutepasseacute

45

C1 si le deacutelai de signature est deacutepasseacute

43-Coheacuterence de la base de donneacutees

Une BD a coheacuterent si elle ne comporte pas de contradictions (par rapport aux regravegles de gestion en particulier)

Une action peut ne pas laisser la structure de donneacutees dans un eacutetat coheacuterent

En revanche la coheacuterence doit toujours ecirctre assureacutee au niveau drsquoune opeacuteration

44-REGLES DE VALIDATION DrsquoUN MCTA

Une opeacuteration conceptuelle ne doit pas ecirctre interrompue par lrsquoattente drsquoun eacuteveacutenement externe

Une opeacuteration conceptuelle prend la structure de donneacutees manipuleacutees dans un eacutetat coheacuterent et la rend dans un eacutetat coheacuterent

46

45-Exemple de MCTA

C1 si le client eacutetait preacuteceacutedemment un client prospect (cest-agrave-dire client potentiel)

C2 sil sagit dun nouveau client ou si le client eacutetait preacuteceacutedemment un client prospect le client est mis en portefeuille (cest-agrave-dire qursquoil est reacuteellement client)

C3 si disponibiliteacute de tous les produits (quantiteacute en stock suffisante pour assurer la livraison)

Remarque on considegravere ici qursquoil nrsquoy a pas de livraison partielle

47

  • I-Systegraveme drsquoinformation de gestion
    • Sommaire
      • 1-Qursquoest ce qursquoun systegraveme
      • 2-Qursquoest ce qursquoun systegraveme drsquoinformation de gestion
      • 3-Les fonctions du systegraveme drsquoinformation
      • II-MeriseModeacutelisation
        • Sommaire
          • 1-Qursquoest qursquoun modegravele
          • 2-La meacutethode Merise
            • 21-Les composantes de Merise
            • 22-La deacutemarche Merise
            • 23-Les niveaux drsquoabstraction
            • 24-La courbe du soleil
              • Deacutefinition
              • I-MCDRecueil des donneacutees
              • Exemple
              • II-MCDConcepts et du formalisme
                • Sommaire
                  • 1-Les concepts de base
                    • 11-Entiteacute
                    • 12-Association
                    • 13-Cardinaliteacutes
                      • 2-La notion drsquooccurrence
                      • III-MCDRegravegles de construction
                        • Sommaire
                          • 1-Regravegles concernant les proprieacuteteacutes
                          • 2-Regravegles concernant les entiteacutes
                          • 3-Regravegles concernant les associations
                          • IV-MCDIntroduction aux cardinaliteacutes
                            • Sommaire
                              • 1-Formalisme
                              • 2-La cardinaliteacute minimale
                                • 21--Exemples
                                • 22-Application
                                  • 3-La cardinaliteacute maximale
                                    • 31-Exemple 1
                                    • 32-Exemple 2
                                      • 4-Conclusion
                                      • 5-Exemple
                                      • 6-Repreacutesentation des cardinaliteacutes
                                      • I-MCDCardinaliteacutes
                                        • Sommaire
                                          • 1-Deacutefinition et formalisme
                                          • 2-La cardinaliteacute minimale
                                            • 21-Exemple
                                            • 22-Application
                                              • 3-La cardinaliteacute maximale
                                                • 31-Exemple
                                                  • 4-Reacutecapitulatif
                                                    • 41-Exemples complets
                                                      • II-MCDAssociations
                                                        • Sommaire
                                                          • 1-Les associations binaires concernant 2 entiteacutes
                                                            • 11-Les associations hieacuterarchiques [1 n]
                                                            • 12-Les associations non hieacuterarchiques [n n]
                                                            • 13-Les associations de type [1 1]
                                                              • 2-Les autres types dassociation
                                                                • 21-Les associations reacuteflexives
                                                                  • 211-Exemple dassociation reacuteflexive hieacuterarchique
                                                                  • 212--Exemples dassociations reacuteflexives non hieacuterarchiques
                                                                    • 22-Les associations de dimension 3 ou plus (ternaires ou plus)
                                                                      • III-MCDRepreacutesentation des cardinaliteacutes
                                                                      • IV-MCDAssociation ternaire
                                                                      • V-MCDAssociations reacuteflexives
                                                                      • 1-Exemple dassociation reacuteflexive hieacuterarchique
                                                                      • 2-Exemples dassociations reacuteflexives non hieacuterarchiques
                                                                      • I-MRRappel sur le modegravele relationnel
                                                                      • II-MRPassage du MCD au MR
                                                                        • Sommaire
                                                                          • 1-Regravegle 1
                                                                          • 2-Regravegle 2
                                                                          • 3-Exception agrave la regravegle 1
                                                                          • 4-Cas particulier des associations reacuteflexives
                                                                            • 41-Reacuteflexive hieacuterarchique
                                                                            • 42-Reacuteflexive non hieacuterarchique
                                                                              • E-Normalisation du modegravele relationnel
                                                                              • I-Deacutependance fonctionnelle
                                                                                • Sommaire
                                                                                  • 1-Introduction
                                                                                  • 2-Rappels sur la notion de deacutependance fonctionnelle
                                                                                    • 21-Deacutefinition
                                                                                    • 22-Terminologie
                                                                                    • 23-DF agrave partir de proprieacuteteacutes concateacuteneacutees
                                                                                    • 24-Proprieacuteteacutes des deacutependances fonctionnelles
                                                                                      • 241-Union
                                                                                      • 242-Transitiviteacute
                                                                                          • II-MRInteacuterecirct de la normalisation
                                                                                          • Exemple
                                                                                          • III-MR 3 formes normales
                                                                                            • Sommaire
                                                                                              • 1-1er forme normale
                                                                                              • 2-2egraveme forme normale
                                                                                              • 3-3egraveme forme normale
                                                                                              • 4-Application des regravegles
                                                                                              • 5-Reacutesumeacute
                                                                                              • F-MeriseLes diagrammes de flux
                                                                                              • I-MeriseVocabulaire associeacute aux modegraveles de flux
                                                                                                • Sommaire
                                                                                                  • 1-Domaine deacutetude
                                                                                                  • 2-Acteur externe
                                                                                                  • 3-Domaine connexe
                                                                                                  • 4-Flux de donneacutees
                                                                                                  • II-MeriseModegravele de contexte
                                                                                                  • II-MeriseMFC ou DFD
                                                                                                    • Sommaire
                                                                                                      • 1-Modegravele de flux conceptuel (MFC) ou diagramme de flux de donneacutees (DFD)
                                                                                                        • 11-Deacutefinition
                                                                                                        • 12-Exemple
                                                                                                        • 13-Regravegles de deacutecomposition des activiteacutes
                                                                                                          • I-MeriseMCT
                                                                                                            • Sommaire
                                                                                                              • 1-Modeacutelisation des Traitements
                                                                                                              • 2-Le MCT
                                                                                                              • 3-Les concepts du MCT
                                                                                                                • 31-Lrsquoeacuteveacutenement
                                                                                                                • 32-Lrsquoopeacuteration
                                                                                                                • 34-Le reacutesultat
                                                                                                                • 35-La synchronisation
                                                                                                                • 36-Rocircle des regravegles de gestion
                                                                                                                • 37-Le processus
                                                                                                                  • 4-Meacutethode drsquoeacutetablissement drsquoun MCT
                                                                                                                    • 41-Regravegles de validation
                                                                                                                    • 42-Cas particuliers
                                                                                                                      • 421-Cycles
                                                                                                                      • 422-Les eacuteveacutenements consommables
                                                                                                                          • II-MeriseInteacutegration des donneacutees dans le MCT
                                                                                                                            • Sommaire
                                                                                                                              • 1-DEFINITION
                                                                                                                              • 2-FORMALISME DU MCTA
                                                                                                                              • 3-REPRESENTATION DES ACTIONS SUR LES DONNEES
                                                                                                                              • 4-COMPLEMENTS
                                                                                                                                • 41-Condition de deacuteclenchement
                                                                                                                                • 42-Action collective
                                                                                                                                • 43-Coheacuterence de la base de donneacutees
                                                                                                                                • 44-REGLES DE VALIDATION DrsquoUN MCTA
                                                                                                                                • 45-Exemple de MCTA
Page 9: 7472422 Cours de Merise

bull Exemple

Consideacuterons le scheacutema suivant

PROPRIETE VALEUR de PROPRIETE

Reacutefeacuterence 456

Deacutesignation Manteau

Prix unitaire 100euro

ENTITE OCCURRENCE drsquoentiteacute

PRODUIT Manteau de reacutefeacuterence 456 agrave 100euro

COMMANDE numeacutero 123 du 081002

ASSOCIATION OCCURRENCE drsquoassociation

CONCERNER lien entre la commande 123 et le manteau 456 pour une quantiteacute de 3 uniteacutes

bull On peut repreacutesenter une entiteacute comme un ensemble ougrave les eacuteleacutements sont les occurrences

bull Une association peut ecirctre vue comme lrsquoensemble des relations entre les occurrences des entiteacutes associeacutees

Attention agrave ne pas confondre occurrences et proprieacuteteacutes En effet on peut dire agrave la fois qursquoune entiteacute est un ensemble de proprieacuteteacutes et un ensemble drsquooccurrences

Une proprieacuteteacute est une rubrique un eacuteleacutement drsquoinformation qui permet de deacutecrire une entiteacute Une entiteacute est deacutecrite par plusieurs proprieacuteteacutesUne occurrence est un exemplaire un eacuteleacutement particulier de la famille repreacutesenteacutee par lrsquoentiteacute Les proprieacuteteacutes drsquoune entiteacute prennent des valeurs pour chaque occurrenceChaque occurrence drsquoentiteacute est identifieacutee de maniegravere unique par un identifiant qui est une proprieacuteteacute particuliegravere telle que 2 occurrences de lrsquoentiteacute ne peuvent pas avoir la mecircme valeur pour cette proprieacuteteacute

9

On repreacutesente souvent les occurrences drsquoune entiteacute sous forme drsquoun tableau Les lignes correspondent aux occurrences et les colonnes correspondent aux proprieacuteteacutes

bull Exemple

III-MCDRegravegles de construction

Sommaire

bull 1 Regravegles concernant les proprieacuteteacutes bull 2 Regravegles concernant les entiteacutes

bull 3 Regravegles concernant les associations

1-Regravegles concernant les proprieacuteteacutes

bull Pour qursquoil nrsquoy ait pas drsquoambiguiumlteacute possible une proprieacuteteacute ne peut pas apparaicirctre plusieurs fois dans un MCD

Autrement dit toutes les proprieacuteteacutes drsquoun MCD doivent ecirctre diffeacuterentes les unes des autres Exemples Une proprieacuteteacute Date ne peut pas apparaicirctre simultaneacutement dans une entiteacute COMMANDE et une entiteacute FACTURE Si crsquoeacutetait le cas il faudrait remplacer Date par Date_commande et Date_facture par exemple

bull Toute proprieacuteteacute ne doit avoir agrave un moment donneacute qursquoune seule valeur pour une occurrence Par conseacutequent un nom de proprieacuteteacute doit toujours ecirctre au singulier

Exemple Dans la proprieacuteteacute note drsquoune entiteacute ELEVE on ne peut avoir qursquoune seule note Si on veut la note de plusieurs matiegraveres il faut mettre autant de proprieacuteteacutes qursquoil y a de matiegraveres par exemple noteALSI noteAMSI noteDAIGL etc

2-Regravegles concernant les entiteacutes

bull Toute entiteacute doit comporter un identifiant qui permet de distinguer entre elles toutes les occurrences drsquoune mecircme entiteacute Lrsquoidentifiant est placeacute en tecircte des proprieacuteteacutes et il est souligneacute

bull Pour chaque occurrence drsquoune entiteacute il ne doit y avoir qursquoune seule valeur pour chacune des proprieacuteteacutes agrave un instant donneacute Cette valeur peut changer au cours du temps mais agrave un instant donneacute il nrsquoy en a qursquoune seule

3-Regravegles concernant les associations

bull Lrsquoidentifiant drsquoune association est implicitement formeacute par la concateacutenation des identifiants des entiteacutes lieacutees

10

On ne repreacutesente pas cet identifiant au niveau du MCD Deux occurrences drsquoassociation ne peuvent pas avoir le mecircme identifiant Pour une occurrence lrsquoidentifiant ne doit jamais changer de valeur (lrsquoidentifiant est une proprieacuteteacute constante)

bull Une association peut avoir des proprieacuteteacutes mais ce nrsquoest pas obligatoire

IV-MCDIntroduction aux cardinaliteacutes

Sommaire

bull 1 Formalisme bull 2 La cardinaliteacute minimale

o 21 Exemples o 22 Application

bull 3 La cardinaliteacute maximale o 31 Exemple 1 o 32 Exemple 2

bull 4 Conclusion bull 5 Exemple

bull 6 Repreacutesentation des cardinaliteacutes

Les cardinaliteacutes drsquoune entiteacute dans une association exprime le nombre de fois qursquoune occurrence de cette entiteacute est impliqueacutee dans lrsquoassociation au minimum et au maximum

1-Formalisme

2-La cardinaliteacute minimale

Elle est exprimeacutee presque toujours par lrsquoune des deux valeurs 0 ou 1Elle traduit combien de fois au minimum une occurrence de lrsquoentiteacute participe agrave lrsquoassociation

21--Exemples

Pour la cardinaliteacute mini entre client et commander il faut se poser la question Pour un client donneacute combien de fois au minimum il commande Si la reacuteponse est laquo tout client doit passer au moins une commande sinon ce nrsquoest pas un client raquo on met la cardinaliteacute mini agrave 1

11

Mais on peut tregraves bien imaginer que lrsquoentreprise veut aussi meacutemoriser les clients potentiels (prospects) qui nrsquoont encore rien commandeacute Dans ce cas un client peut tregraves bien ne pas avoir encore commandeacute et on met la cardinaliteacute mini agrave 0

22-Application

1 Trouver la question qui permet de trouver la cardinaliteacute minimale pour lrsquoentiteacute produit et lrsquoassociation commander

2 Faites deux hypothegraveses de regravegle de gestion concernant ce lien et trouver les cardinaliteacutes minimales correspondantes

3-La cardinaliteacute maximale

Elle traduit combien de fois au maximum lrsquoentiteacute peut ecirctre en relation avec lrsquoassociation Cela peut ecirctre plusieurs fois (si crsquoest un nombre indeacutetermineacute on indique la valeur n) ou une seule foisOn reacutepond agrave la question Combien au maximum lrsquoentiteacute peut participer agrave lrsquoassociation Si la reacuteponse est laquo au plus une fois raquo la cardinaliteacute maximale prend pour valeur 1Si la reacuteponse est laquo plusieurs raquo la cardinaliteacute maximale prend la valeur N

31-Exemple 1

bull REGLES DE GESTION

Un salarieacute est affecteacute au plus agrave un seul service Dans un service sont affecteacutes plusieurs salarieacutes

Il arrive (mais crsquoest rare) qursquoune cardinaliteacute maximale ait une valeur limiteacutee

32-Exemple 2

bull REGLE DE GESTION Un eacutelegraveve doit suivre au minimum une option et au maximum 3 options

12

4-Conclusion

En fait dans la grande majoriteacute des cas on nrsquoutilise que 4 combinaisons de valeurs pour les cardinaliteacutes

bull 01 au plus un(e) bull 11 un(e) et un(e) seul(e) bull 1 n un(e) ou plusieurs bull 0 n zeacutero ou plusieurs

5-Exemple

6-Repreacutesentation des cardinaliteacutes

Une voiture est posseacutedeacutee par une seule personne Une personne peut posseacuteder de 0 agrave plusieurs voitures

Une personne a une adresse ou est sans domicile A une adresse il y a une ou plusieurs personne qui y habitent

13

C-Les cardinaliteacutes et les diffeacuterents types dassociations

I-MCDCardinaliteacutes

Sommaire

bull 1 Deacutefinition et formalisme bull 2 La cardinaliteacute minimale

o 21 Exemple o 22 Application

bull 3 La cardinaliteacute maximale o 31 Exemple

bull 4 Reacutecapitulatif o 41 Exemples complets

1-Deacutefinition et formalisme

Les cardinaliteacutes sont des couples de valeur que lon trouve entre chaque entiteacute et ses associations lieacuteesDonc pour une association de 2 entiteacutes il y a 4 cardinaliteacutes agrave indiquer (2 de chaque cocircteacute)Il y a trois valeurs typiques 0 1 et N (plusieurs)

Pour les associations agrave 2 entiteacutes ce sont des valeurs qui permettent drsquoindiquer combien de fois au minimum et au maximum une occurrence dentiteacute peut ecirctre lieacutee agrave une autre occurrence dentiteacute

De maniegravere plus geacuteneacuterale les cardinaliteacutes drsquoune entiteacute dans une association expriment le nombre de fois qursquoune occurrence de cette entiteacute peut ecirctre impliqueacutee dans une occurrence de lassociation au minimum et au maximum

Les cardinaliteacutes traduisent des regravegles de gestion Ce sont des regravegles propres agrave lorganisation eacutetudieacutee qui sont deacutecideacutees par les gestionnaires et deacutecideurs Ces regravegles expriment des contraintes sur le modegravele

2-La cardinaliteacute minimale

14

Elle est exprimeacutee presque toujours par lrsquoune des deux valeurs 0 ou 1 Elle traduit combien de fois au minimum une occurrence de lrsquoentiteacute participe agrave lrsquoassociation autrement dit si une occurrence est obligatoirement associeacutee agrave une autre ou pas

21-Exemple

Pour la cardinaliteacute minimale entre client et commander il faut se poser la question Pour un client donneacute combien de fois au minimum il commande

ou encore mieux Est-il obligatoire quun client effectue une commande de produit

Cela deacutepend des REGLES DE GESTION de lentreprise Si la regravegle de gestion est laquo tout client doit passer au moins une commande sinon ce nrsquoest pas un client raquo on met la cardinaliteacute mini agrave 1

Mais on peut tregraves bien imaginer que lrsquoentreprise veut aussi meacutemoriser les clients potentiels (prospects) qui nrsquoont encore rien commandeacute Dans ce cas un client peut tregraves bien ne pas avoir encore commandeacute et on met la cardinaliteacute mini agrave 0

En fait les cardinaliteacutes deacutependent des regravegles de gestion propres agrave lrsquoorganisation eacutetudieacutee La regravegle peut tregraves bien ecirctre laquo On ne meacutemorise que les clients qui ont deacutejagrave commandeacute raquo ou bien laquo On veut meacutemoriser les prospects raquo

22-Application

bull Trouver la question qui permet de trouver la cardinaliteacute minimale pour lrsquoentiteacute produit et lrsquoassociation commander

Reacuteponse Est-il obligatoire quun produit ait eacuteteacute commandeacute pour quil soit meacutemoriseacute dans la base de donneacutee ou bien Peut-il exister dans la base de donneacutee des produits qui nont jamais eacuteteacute commandeacutes

bull Faites deux hypothegraveses de regravegle de gestion concernant ce lien et trouver les cardinaliteacutes minimales correspondantes

Reacuteponse H1 lentreprise peut proposer de nouveaux produits sur catalogue par exemple quelle meacutemorise dans sa base de donneacutees mais qui nont jamais encore eacuteteacute commandeacutes =gt cardinaliteacute minimale agrave 0 (cest plutocirct le cas pour les entreprises de vente)

15

H2 tout produit inscrit dans la base de donneacutee est forceacutement commandeacute (par exemple parce que lentreprise ne propose pas de catalogue mais fabrique seulement agrave la commande) =gt cardinaliteacute minimale agrave 1 (cest plutocirct le cas pour les entreprises de production)

3-La cardinaliteacute maximale

Elle traduit combien de fois au maximum une occurrence dentiteacute peut ecirctre en relation avec une occurrence de lassociation Cela peut ecirctre plusieurs fois (si crsquoest un nombre indeacutetermineacute on indique la valeur n) ou une seule fois

Cette cardinaliteacute reacutepond agrave la question

bull la participation dune occurrence doit-elle ecirctre unique ou bien peut-elle ecirctre multiple ou bien

bull combien de fois au maximum une occurrence est elle impliqueacutee dans lassociation

Si lassociation est binaire (relie seulement deux entiteacute) la question peut ecirctre aussi

bull Une occurrence de lentiteacute peut-elle ecirctre relieacutee agrave plusieurs occurrences de lautre entiteacute ou bien ne peut-elle ecirctre relieacutee quagrave une seule autre occurrence au plus

Si la reacuteponse est laquo au plus une fois raquo (participation unique) la cardinaliteacute maximale prend pour valeur 1 Si la reacuteponse est laquo plusieurs raquo (participation multiple) la cardinaliteacute maximale prend la valeur N

31-Exemple

bull RG (regravegles de gestion)

1 Un salarieacute est affecteacute au plus agrave un seul service 2 Dans un service sont affecteacutes plusieurs salarieacutes

Il arrive (mais crsquoest rare) qursquoune cardinaliteacute maximale ait une valeur limiteacutee

bull Exemple

RG Un eacutelegraveve peut suivre au maximum 3 options

4-Reacutecapitulatif

16

En fait dans la grande majoriteacute des cas on nrsquoutilise que 4 combinaisons de valeurs pour les cardinaliteacutes

bull 01 au plus un(e) bull 11 un(e) et un(e) seul(e) bull 1n un(e) ou plusieurs bull 0 n zeacutero ou plusieurs

41-Exemples complets

RG un client commande au moins 1 produit (sous entendu ou plusieurs) et un produit peut ne pas encore avoir eacuteteacute commandeacute comme il peut lavoir eacuteteacute plusieurs fois

RG Un salarieacute est obligatoirement affecteacute agrave 1 et 1 seul service Un service pour exister doit avoir au moins un salarieacute affecteacute (sous-entendu il peut bien sur en avoir plusieurs)

II-MCDAssociations

Sommaire

1 Les associations binaires concernant 2 entiteacutes

11 Les associations hieacuterarchiques [1n]

12 Les associations non hieacuterarchiques [n n]

13 Les associations de type [1 1]

2 Les autres types dassociation

21 Les associations reacuteflexives

211 Exemple dassociation reacuteflexive hieacuterarchique

212 Exemples dassociations reacuteflexives non hieacuterarchiques

22 Les associations de dimension 3 ou plus (ternaires ou plus)

1-Les associations binaires concernant 2 entiteacutes

17

On distingue trois cateacutegories dassociations en fonction des cardinaliteacutes maximales de ses branches

-Les associations hieacuterarchiques encore appeleacutees associations [1 n] ou associations fonctionnelles

-Les associations non hieacuterarchiques encore appeleacutees associations [n n] ou non fonctionnelles

-Les association [1 1] les 2 branches ont pour cardinaliteacute maximale 1 Ce cas est rare

11-Les associations hieacuterarchiques [1 n]

Ce sont les associations ougrave dun cocircteacute la |cardinaliteacute maximale est agrave 1 et de lautre cocircteacute la cardinaliteacute maximale est agrave n

Cela signifie quune occurrence de A est relieacutee au plus agrave une seule occurrence de B Cest-agrave-dire si on connaicirct une occurrence de A alors on saura forceacutement quelle est la seule occurrence de B qui correspond (si elle existe) On dit que A deacutetermine B Cest un lien de deacutependance fonctionnelle B deacutepend fonctionnellement de A

Lentiteacute qui correspond agrave la branche du cocircteacute du 1 est parfois appeleacutee entiteacute fils et lentiteacute correspondant agrave la branche du cocircteacute n est parfois appeleacutee entiteacute pegravere Cette appellation deacutecoule de lanalogie un fils na quun seul pegravere et un pegravere peut avoir plusieurs fils

12-Les associations non hieacuterarchiques [n n]

13-Les associations de type [1 1]

Cas exceptionnel

Ex un employeacute travaille sur un ordinateur (p 99 de Modeacuteliser les donneacutees) La facture correspondant agrave une commande

2-Les autres types dassociation

18

Le plus souvent une association relie 2 entiteacutes avec 2 branches Ce type dassociation est appeleacute association binaire Nous avons deacutejagrave eacutetudieacute en deacutetail les diffeacuterents types dassociations binaires

Mais une association peut aussi relier 3 ou tregraves rarement 4 entiteacutes (quasiment jamais plus) On parle dassociation ternaire quaternaire (n-aire) Enfin une association peut aussi relier une entiteacute agrave elle-mecircme cest-agrave-dire que des occurrences de la mecircme entiteacute sont relieacutees entre elles Lassociation correspondante est qualifieacutee de reacuteflexive Ce sont ces autres types dassociation que nous allons eacutetudier maintenant

21-Les associations reacuteflexives

Une association reacuteflexive est une association reliant des occurrences de la mecircme entiteacute Ces associations sont quasiment toujours binaire (2 branches) Pour lire une association reacuteflexive il est faut connaicirctre le rocircle attribueacute agrave chaque branche de lassociation Il existe comme pour les autres associations des associations reacuteflexives hieacuterarchique et des associations reacuteflexives non hieacuterarchique

211-Exemple dassociation reacuteflexive hieacuterarchique

Dans une entreprise bureaucratique chaque salarieacute a un seul chef (supeacuterieur hieacuterarchique direct) sauf le patron et chaque chef a au moins un salarieacute sous ses ordres Evidemment certains salarieacutes ne sont chefs de personnes

Exemples doccurrences diagramme doccurrences

Remarquez limportance du rocircle dans le diagramme doccurrence

212--Exemples dassociations reacuteflexives non hieacuterarchiques

19

Piegraveces composants composeacute = reacuteflexive asymeacutetrique

Personnes fregraveres = reacuteflexive symeacutetrique (rocircle pas indispensable car a pour fregravere = ecirctre fregravere de)

Preacutecision de vocabulaire dimension dune association

La dimension dune association correspond au nombre de branches de lassociation Dans plus de 80 des cas les associations sont binaires Dimension 2 binaire Dimension 3 ternaire (rare) Dimension supeacuterieure aire (exceptionnel)

Lorsquil ny a pas de reacuteflexiviteacute le nombre de branches est eacutegal au nombre dentiteacutes relieacutees La dimension est dans ce cas le nombre dentiteacutes concerneacutees par lassociation Mais la reacuteflexiviteacute existe et donc on peut avoir plusieurs branches de la mecircme association sur la mecircme entiteacute Dans ce cas alors la dimension est supeacuterieure au nombre dentiteacutes concerneacutees

Dimension = nombre dentiteacute lieacutees

Une association reacuteflexive (1 entiteacute) est quasiment toujours binaire (2 branches) On pourrait aussi avoir une association ternaire impliquant seulement deux entiteacutes

22-Les associations de dimension 3 ou plus (ternaires ou plus)

Une association peut relier plus de 2 entiteacutes ensemble le plus souvent trois On parle alors dassociation ternaire On utilise une association ternaire quand on a besoin de connaicirctre une occurrence de chaque entiteacute pour avoir une information

Exemple

Pour connaicirctre la quantiteacute de chacune des piegraveces fabriqueacutee par chaque ouvrier agrave une date donneacutee on utilise une association ternaire entre OUVRIER PIECE et DATE La quantiteacute est une donneacutee porteacutee par cette association

Une occurrence de lassociation fabrique implique une seule occurrence de chaque entiteacute

20

Exemple

Ouvrier Piegravece Date quantiteacute

Dupont 1 1702 50

Dubois 2 1702 100

Martin 1 1702 40

Dupont 3 1702 55

Dubois 3 1702 20

Dupont 1 1602 40

Martin 1 1602 40

Lassociation ternaire implique aussi que

Pour un ouvrier on peut avoir plusieurs piegraveces diffeacuterentes agrave la mecircme date (il peut fabriquer plusieurs types de piegraveces le mecircme jour)

Une piegravece peut ecirctre fabriqueacutee par plusieurs ouvriers diffeacuterents le mecircme jour

A des dates diffeacuterentes un mecircme ouvrier peut fabriquer les mecircmes piegraveces

Lidentifiant dune association ternaire est formeacutee de la concateacutenation (juxtaposition) des identifiants des 3 entiteacutes relieacutees

Dans notre exemple on ne peut donc pas avoir plusieurs occurrences de fabrique qui concernent Dupont la piegravece ndeg1 agrave la date du 1702

III-MCDRepreacutesentation des cardinaliteacutes

bull Une voiture est posseacutedeacutee par une seule personne Une personne peut posseacuteder de 0 agrave plusieurs voitures

21

bull Une personne a une adresse ou est sans domicile A une adresse il y a une ou plusieurs personnes qui y habitent

IV-MCDAssociation ternaire

bull Une association peut relier plus de 2 entiteacutes ensemble le plus souvent trois On parle alors dassociation ternaire (dimension 3) On utilise une association ternaire quand on a besoin de connaicirctre une occurrence de chaque entiteacute pour avoir une information

bull Ex

Pour connaicirctre la quantiteacute de chacune des piegraveces fabriqueacutee par chaque ouvrier agrave une date donneacutee on utilise une association ternaire entre OUVRIER PIECE et DATE La quantiteacute est une donneacutee porteacutee par cette association

22

Une occurrence de lassociation fabrique implique une seule occurrence de chaque entiteacute Exemple

Ouvrier Piegravece Date quantiteacuteDupont 1 1702 50Dubois 2 1702 100Martin 1 1702 40Dupont 3 1702 55Dubois 3 1702 20Dupont 1 1602 40Martin 1 1602 40

Lassociation ternaire implique aussi que

1 Pour un ouvrier on peut avoir plusieurs piegraveces diffeacuterentes agrave la mecircme date (il peut fabriquer plusieurs types de piegraveces le mecircme jour)

2 Une piegravece peut ecirctre fabriqueacutee par plusieurs ouvriers diffeacuterents le mecircme jour 3 A des dates diffeacuterentes un mecircme ouvrier peut fabriquer les mecircmes piegraveces

Lidentifiant dune association ternaire est formeacutee de la concateacutenation (juxtaposition) des identifiants des 3 entiteacutes relieacutees

Dans notre exemple on ne peut donc pas avoir plusieurs occurrences de fabrique qui concernent Dupont la piegravece ndeg1 agrave la date du 1702

V-MCDAssociations reacuteflexives

Une association reacuteflexive est une association reliant des occurrences de la mecircme entiteacute Ces associations sont quasiment toujours binaire (2 branches)

Pour lire une association reacuteflexive il est faut connaicirctre le rocircle attribueacute agrave chaque branche de lassociation cest agrave dire le rocircle de chaque occurrence dans le lien

23

Il existe comme pour les autres associations des associations reacuteflexives hieacuterarchique (une des cardinaliteacutes maximales agrave 1) et des association reacuteflexives non hieacuterarchique (les deux cardinaliteacutes maximales agrave n)

1-Exemple dassociation reacuteflexive hieacuterarchique

Dans une entreprise bureaucratique chaque salarieacute a un seul chef (supeacuterieur hieacuterarchique direct) sauf le patron et chaque chef a au moins un salarieacute sous ses ordres Evidemment certains salarieacutes ne sont chefs de personnes

Un mecircme salarieacute peut agrave la fois ecirctre chef et avoir un chef Tutu peut ecirctre chef de titi et de toto et dautres salarieacutes mais il na quun seul chef au maximum toto peut ecirctre le chef de coco et avoir pour chef tutu

2-Exemples dassociations reacuteflexives non hieacuterarchiques

Piegraveces composants composeacute = reacuteflexive asymeacutetrique

Une piegravece peut entrer dans la composition de plusieurs autres piegraveces (ex un boulon) Une piegravece peut aussi ecirctre composeacutee de plusieurs autres piegraveces (ex un moteur) Une mecircme piegravece peut ecirctre composeacutee dautres piegraveces et entrer dans la composition dune ou plusieurs autres piegraveces (ex une carte reacuteseau)

Preacutecision de vocabulaire dimension dune association

La dimension dune association correspond au nombre de branches de lassociation Dans plus de 80 des cas les associations sont binaires

Dimension 2 binaire Dimension 3 ternaire (rare) Dimension supeacuterieure n-aire (exceptionnel)

Lorsquil ny a pas de reacuteflexiviteacute le nombre de branches est eacutegal au nombre dentiteacutes relieacutees La dimension est dans ce cas le nombre dentiteacutes concerneacutees par lassociation Mais la reacuteflexiviteacute existe et donc on peut avoir plusieurs branches de la mecircme association sur la mecircme entiteacute Dans ce cas alors la dimension est supeacuterieure au nombre dentiteacutes concerneacutees

24

Dimension = nombre dentiteacute lieacutees

Une association reacuteflexive (1 entiteacute) est quasiment toujours binaire (2 branches) On pourrait aussi avoir une association ternaire impliquant seulement deux entiteacutes

D-Passage MCD lt=gt modegravele relationnel

I-MRRappel sur le modegravele relationnel

Cest un modegravele LOGIQUE de donneacutee celui qui correspond agrave lorganisation des donneacutees dans les bases de donneacutees relationnelles (il existe dautres organisations de bases de donneacutees hieacuterarchique reacuteseau objethellip)

Les SGBD actuels les plus courants sont relationnels (Oracle SQL Server Access MySQL hellip )

Un modegravele relationnel est composeacute de relations encore appeleacutee tables Ces tables sont deacutecrites par des attributs ou champs (noms de colonnes) Pour deacutecrire une relation on indique tout simplement son nom en majuscule suivi du nom de ses attributs entre parenthegraveses

Lidentifiant dune relation est composeacute dun ou plusieurs attributs qui forment la cleacute primaire Une relation peut faire reacutefeacuterence agrave une autre en utilisant une cleacute eacutetrangegravere qui correspond agrave la cleacute primaire de la relation reacutefeacuterenceacutee

Il ny a pas de notation officielle pour repeacuterer les cleacutes primaires et eacutetrangegraveres Cest agrave vous den adopter une et de lexpliquer en leacutegende Toutefois une notation sest peu agrave peu reacutepandue

bull on souligne la cleacute primaire dun seul trait bull on fait preacuteceacuteder (ou suivre) les cleacutes eacutetrangegraveres du symbole

Chaque ligne (tuple ou enregistrement) dune table repreacutesente une occurrence de lentiteacute ou de lassociation correspondante

II-MRPassage du MCD au MR

Sommaire

bull 1 Regravegle 1 bull 2 Regravegle 2 bull 3 Exception agrave la regravegle 1 bull 4 Cas particulier des associations reacuteflexives

o 41 Reacuteflexive hieacuterarchique o 42 Reacuteflexive non hieacuterarchique

25

1-Regravegle 1

Toute entiteacute devient une relation ayant pour cleacute primaire son identifiant

Chaque proprieacuteteacute se transforme en attribut CLIENT (code_client nom preacutenom adresse code_postal ville teacuteleacutephone)

Remarque contrairement aux proprieacuteteacutes les attributs ne doivent pas comporter despaces

2-Regravegle 2

Toute association non hieacuterarchique (de type [n n] ou de dimension gt 2) devient une relation La cleacute primaire est formeacutee par la concateacutenation (juxtaposition) lensemble des identifiants des entiteacutes relieacutees Toutes les proprieacuteteacutes eacuteventuelles deviennent des attributs qui ne peuvent pas faire partie de la cleacute

CONCERNER (numeacutero_commande reacutefeacuterence_article quantiteacute)

Cette regravegle est valable pour toutes les associations ternaires (ou quaternaires) qui sont forceacutement non hieacuterarchiques (|cardinaliteacutes maximales toutes eacutegales agrave n)

3- Exception agrave la regravegle 1

Les entiteacutes nayant que leur identifiant comme attribut ne deviennent pas des relations mais des attributs dans les autres relations lieacutees

Avec ce modegravele on meacutemorise chaque jour pour chaque ouvrier les piegraveces quil a fabriqueacute et en quelle quantiteacute Quand on passe au modegravele relationnel lentiteacute DATE FABRICATION ne

26

devient pas une relation mais un attribut cleacute dans la relation FABRIQUE issue de lassociation

FABRIQUE (code_ouvrier reacutefeacuterence_piegravece date quantiteacute) Date ici fait partie de la cleacute primaire mais nest pas cleacute eacutetrangegravere

4-Cas particulier des associations reacuteflexives

Les associations reacuteflexives suivent les regravegles 2 ou 3 selon les |cardinaliteacutes mais posent un problegraveme particulier une mecircme proprieacuteteacute va se retrouver deux fois en attribut dans la mecircme relation Il faut alors donner un nom diffeacuterent et significatif aux deux attributs correspondants

Dans les reacuteflexives il est conseilleacute de nommer les branches par des rocircles pour pouvoir lire dans le bon sens lassociation Les rocircles aident agrave nommer les attributs correspondant agrave lassociation

41-Reacuteflexive hieacuterarchique

(Une branche agrave la cardinaliteacute maxi agrave 1 et lautre agrave n)

Regravegle ndeg 2

Lecture de lassociation Regravegle ndeg1 lidentifiant de SALARIE va devenir cleacute primaire et les autres proprieacuteteacutes des attributsRegravegle ndeg2 pour traduire lassociation [1 n] encadrer lidentifiant de lentiteacute SALARIE devient cleacute eacutetrangegraverelidentifiant de SALARIE matricule se retrouve deux fois dans la relation comme cleacute primaire et comme cleacute eacutetrangegravereOn va donc donner un nom diffeacuterent et significatif agrave ces deux matricules par exemple Un salarieacute a pour chef 0 ou un seul autre salarieacute Un salarieacute est chef de 0 agrave n autre(s) salarieacute

Traduction en modegravele relationnel

SALARIE (matricule nom preacutenom fonctionhellip matricule_chef)

42-Reacuteflexive non hieacuterarchique

Regravegle ndeg3

27

bull Lecture de lassociation

Une piegravece entre dans la composition de 0 agrave plusieurs autres piegraveces Une piegravece peut ecirctre composeacutee de plusieurs autres piegraveces Une piegravece entre dans la composition dune autre un certain nombre de fois

Ex La piegravece voiture est composeacutee de 4 piegraveces roue La piegravece roue est elle-mecircme composeacutee dune piegravece pneu et dune piegravece jante

Une piegravece entrant dans la composition dune autre est appeleacutee composant Une piegravece composeacutee dautres piegraveces est appeleacutee composeacute Une roue est agrave la fois un composant (de voiture) et un composeacute (de pneu et jante)

bull Traduction en modegravele relationnel

PIECE (reacutefeacuterence libelleacute)COMPOSITION(reacutefeacuterence_composeacute reacutefeacuterence_composant nombre)

E-Normalisation du modegravele relationnel

I- Deacutependance fonctionnelle

Sommaire

1 Introduction

2 Rappels sur la notion de deacutependance fonctionnelle

21 Deacutefinition

22 Terminologie

23 DF agrave partir de proprieacuteteacutes concateacuteneacutees

24 Proprieacuteteacutes des deacutependances fonctionnelles

241 Union

242 Transitiviteacute

1-Introduction

Lobjectif de la normalisation est de construire un scheacutema de base de donneacutees coheacuterentUn mauvais scheacutema logique peut conduire agrave un certain nombre danomalies pendant la phase dexploitation de la base de donneacutee Nous allons voir ces anomalies dans une premiegravere partiePour qursquoun modegravele relationnel soit normaliseacute il faut qursquoil respecte certaines contraintes appeleacutees les formes normales Les formes normales srsquoappuient sur les deacutependances fonctionnelles entre attributs

2-Rappels sur la notion de deacutependance fonctionnelle

La construction du MCD mais eacutegalement du modegravele relationnel correspondant repose presque entiegraverement sur le concept de deacutependance fonctionnelle Crsquoest ce concept qui permet

28

de passer drsquoun ensemble de proprieacuteteacutes non structureacute agrave un modegravele conceptuel des donneacutees formeacute drsquoentiteacutes et drsquoassociations et au modegravele relationnel correspondant

21-Deacutefinition

On dit que b est en deacutependance fonctionnelle (DF) de a si agrave une valeur quelconque de la proprieacuteteacute a on ne peut faire correspondre qursquoune seule valeur au plus de la proprieacuteteacute b

On note a b(Source)-gt (but)

Autrement dit si on connaicirct la valeur de a on peut en deacuteduire une seule valeur de bMais la reacuteciproque nrsquoest pas vrai (si on connaicirct b on ne peut pas en deacuteduire a)

bull Exemple

Num client Nom client

Il existe une DF entre num client et Nom client car si on connaicirct une valeur de la proprieacuteteacute num client (ex 4553) il ne peut lui correspondre qursquoune seule valeur de la proprieacuteteacute nom (ex Duval)

La reacuteciproque est fausse

Nom client Num client nrsquoest pas une DF

Si lrsquoon connaicirct la valeur de la proprieacuteteacute Nom client on ne peut pas en deacuteduire la proprieacuteteacute Num client car il peut y avoir des homonymes

22-Terminologie

Si on a une deacutependance fonctionnelle a b on peut employer les expressions suivantes de faccedilon eacutequivalente -Il y a une deacutependance fonctionnelle de a vers b- b est en deacutependance fonctionnelle de a- b deacutepend fonctionnellement de a- a est la source et b est le but (ou la cible) de la deacutependance fonctionnelle

23-DF agrave partir de proprieacuteteacutes concateacuteneacutees

(Partie gauche composeacutee de plusieurs attributs)

Il peut exister des deacutependances fonctionnelles agrave partir de proprieacuteteacutes concateacuteneacutees cest-agrave-dire qui forment un tout indissociable comme si elles eacutetaient soudeacutees

On note par un + cette concateacutenation

Exemple Consideacuterons une commande qui comporte plusieurs produits Num_Commande + Ref_Produit quantiteacute commandeacutee

Si on nrsquoa seulement le numeacutero de la commande on ne peut pas en deacuteduire la quantiteacute commandeacutee car il faut aussi savoir de quel produit De mecircme on ne peut pas savoir la quantiteacute commandeacutee drsquoun produit si on ne sait pas de quelle commande Il faut bien connaicirctre agrave la fois la commande et le produit (leurs identifiants respectifs) pour en deacuteduire la quantiteacute commandeacutee

29

Les deacutependances fonctionnelles dont la source est formeacutee de plusieurs proprieacuteteacutes doivent ecirctre eacuteleacutementaires cest-agrave-dire ne pas ecirctre creacuteeacutees artificiellement

Ex Num Commande + Num Client date commande nrsquoest pas une DF eacuteleacutementaire car on nrsquoa pas besoin du numeacutero de client pour connaicirctre la date de commande il suffit de connaicirctre le numeacutero de la commande La proprieacuteteacute Num Client ne

24-Proprieacuteteacutes des deacutependances fonctionnelles

Les deacutependances fonctionnelles ont les proprieacuteteacutes suivantes

241-Union

Si on a deux DF ayant la mecircme source on peut les rassembler en une seule en seacuteparant les

cibles par une virgule Si a b et a c

Ex Reacutefeacuterence Deacutesignation et Reacutefeacuterence Prix de vente unitaire

Alors par union on a Reacutefeacuterence Deacutesignation Prix de vente unitaire

Lors du traceacute du graphe des deacutependances fonctionnelles lrsquounion permet de regrouper sur une seule ligne toutes les deacutependances fonctionnelles ayant la mecircme source

242-Transitiviteacute

Si a b et b c alors on a a c

Ex Num Meacutedecin Code Service et Code Service Num Hopital

Alors on a Num Meacutedecin Num Hopital

Les DF qui peuvent ecirctre deacuteduites par transitiviteacute de deux autres DF (qui ne sont pas directes) doivent ecirctre eacutelimineacutees car elles sont alors redondantesIl ne reste alors que les DF directes cest-agrave-dire celles qui ne peuvent pas ecirctre retrouveacutees par transitiviteacute

Attention toutefois agrave la signification des deacutependances Une deacutependance fonctionnelle quon peut retrouver par transitiviteacute ne doit pas ecirctre supprimeacutee si elle na pas le mecircme sens que la transitiviteacute des deux autres car il y aurait perte dinformation

II-MRInteacuterecirct de la normalisation

Exemple

Pour vous montrer lrsquointeacuterecirct de la normalisation drsquoune base de donneacutee relationnelle voyons les problegravemes que peuvent poser lrsquoutilisation drsquoune base de donneacutee baseacutee sur un modegravele relationnel non normaliseacute

Soit le scheacutema de relation

30

FOURNISSEUR (NomFournisseur AdresseFournisseur Produits Prix)

Modegravele en extension

NomFournisseur AdresseFournisseur Produit Prix

Lebras 10 Rue des Gras - ClermontChaise table

2035

Dupont 86 Rue de la Reacutepublique - Moulins Bureau 60

Lajoie 26 Rue des Docircmes - Vichy Lit 50

Dupont 39 Rue des Buttes - MoulinsLampeTable de chevet

1825

bull 1degproblegraveme

Il nrsquoy a pas de cleacute primaire on ne sait pas si les deux Dupont sont diffeacuterents ou pas (si crsquoest le mecircme Dupont il y a une des deux adresses qui est fausse

bull 2degproblegraveme

Lrsquoadresse nrsquoest pas deacutecomposeacutee Si on veut par exemple rechercher tous les fournisseurs qui habitent la mecircme ville ccedila ne va pas ecirctre possible

bull 3degproblegraveme

Une relation (table) correspondant agrave ce scheacutema pourra eacuteventuellement contenir plusieurs produits pour un mecircme fournisseur

Dans ce cas il faudra faire face agrave un certain nombre de problegravemes

bull ladresse du fournisseur sera dupliqueacutee dans chaque n-uplet (redondance) bull si on souhaite modifier ladresse dun fournisseur il faudra rechercher et mettre agrave jour

tous les n-uplets correspondant agrave ce fournisseur bull si on insegravere un nouveau produit pour un fournisseur deacutejagrave reacutefeacuterenceacute il faudra veacuterifier

que ladresse est identique bull si on veut supprimer un fournisseur il faudra retrouver et supprimer tous les n-uplets

correspondant agrave ce fournisseur (pour diffeacuterents produits) dans la table bull La normalisation eacutelimine les redondances ce qui permet

- une diminution de la taille de la base de donneacutee sur le disque- une diminution des risques drsquoincoheacuterence- drsquoeacuteviter une mise agrave jour multiple des mecircmes donneacutees

31

III-MR 3 formes normales

Les 3 formes normales du modegravele relationnel

Sommaire

1 1er forme normale

2 2egraveme forme normale

3 3egraveme forme normale

4 Application des regravegles

5 Reacutesumeacute

1-1er forme normale

Une relation est normaliseacutee en premiegravere forme normale si

-Elle possegravede une cleacute identifiant de maniegravere unique et stable chaque ligne

-Chaque attribut est monovalueacute (ne peut avoir qursquoune seule valeur par ligne)

-Aucun attribut nrsquoest deacutecomposable en plusieurs attributs significatifs

Contre-exemple

EMPLOYE ( Nom Preacutenom Enfants Diplocircmes)

Cette relation nrsquoest pas en premiegravere forme normale

Un employeacute peut avoir plusieurs enfants et plusieurs diplocircmes En outre ces attributs sont deacutecomposables diplocircme est deacutecomposable en Nature et Anneacutee et Enfants est deacutecomposable en Preacutenom et Anneacutee de Naissance

2-2egraveme forme normale

Une relation R est en deuxiegraveme forme normale si et seulement si

-Elle est en 1FN

-Et tout attribut non cleacute est totalement deacutependant de toute la cleacute

Autrement dit aucun des attributs ne deacutepend que drsquoune partie de la cleacute La 2FN nest agrave veacuterifier que pour les relations ayant une cleacute composeacutee Une relation en 1FN nayant quun seul attribut cleacute est toujours en 2FN

Contre-exemple 32

Cette relation est en premiegravere forme normale (existence drsquoune cleacute valide et aucun attribut nrsquoest deacutecomposable)MAIS elle nrsquoest pas en 2deg forme normale car on a DeacutesignationProd ne deacutepend pas de toute la cleacute mais seulement de reacutefeacuterenceProd

ReacutefeacuterenceProd DeacutesignationProd

Pour connaicirctre lrsquoattribut deacutesignationProd on nrsquoa pas besoin de connaicirctre le numeacutero de commande

3-3egraveme forme normale

Une relation est en 3deg forme normale si et seulement si

Elle est en 2deg forme normale et tout attribut doit deacutependre directement de la cleacute cest-dire qursquoaucun attribut ne doit deacutependre de la cleacute par transitiviteacute

Autrement dit aucun attribut ne doit deacutependre drsquoun autre attribut non cleacute

Contre-exemple

CLIENT (Num_client Nom_client code_categ nom_categ) Cette relation nrsquoest pas en 3FN car num_client nom_categ nrsquoest pas une deacutependance directe

En effet on a aussi num_client num_categ nom_categ

4-Application des regravegles

Si lrsquoune des 3 regravegles nrsquoest pas veacuterifieacutee cela indique une erreur dans le modegravele relationnel et il faut alors modifier pour que les 3 regravegles soient veacuterifieacutees pour toutes les relationsOn veacuterifie les regravegles dans lrsquoordre Si la premiegravere forme normale nrsquoest pas respecteacutee pas la peine de veacuterifier la 2FN Et si la 2FN nrsquoest pas veacuterifieacutee inutile de veacuterifier la 3FN

5-Reacutesumeacute

Modegravele normaliseacute = relations avec

-Une cleacute qui permet de distinguer chaque occurrence

-Des attributs eacuteleacutementaires (1FN)

-En deacutependance de TOUTE la cleacute (2FN)

-Et RIEN QUE de la cleacute (3FN)

On parle aussi de normalisation pour un MCD Un MCD qui donne un MR normaliseacute est qualifieacute aussi de normaliseacute

F-MeriseLes diagrammes de flux

Les diagrammes de flux reacutepondent agrave la question Que fait le systegraveme

33

En ce sens ce sont des modegraveles FONCTIONNELS (qui deacutecrivent les fonctions)

Il existe2 types principaux de diagrammes de flux

1 Le modegravele de contexte (MC) ougrave le domaine drsquoeacutetude est vu comme une boite noire On ne repreacutesente que les flux exteacuterieurs au domaine

2 Le modegravele de flux de donneacutees (DFD) ou encore modegravele de flux conceptuels (MFC) ougrave lrsquoon deacutetaille les activiteacutes du domaine drsquoeacutetude On repreacutesente aussi les flux internes au domaine

I-MeriseVocabulaire associeacute aux modegraveles de flux

Sommaire

bull 1 Domaine deacutetude bull 2 Acteur externe bull 3 Domaine connexe

bull 4 Flux de donneacutees

1-Domaine deacutetude

Le domaine deacutetude est un sous-ensemble coheacuterent de lentreprise ou de lorganisme bien deacutelimiteacute et formant le contenu du sujet agrave eacutetudier

Dans les modegraveles de flux le domaine deacutetude est repreacutesenteacute par un rectangle agrave trait plein Le nom du domaine est placeacute agrave lrsquointeacuterieur du rectangle

2-Acteur externe

Un acteur externe est un eacuteleacutement eacutemetteur ou reacutecepteur de donneacutees situeacute hors du systegraveme dinformation eacutetudieacute

Dans les modegraveles de flux un acteur externe est repreacutesenteacute par un cercle plein Le nom de lrsquoacteur est placeacute agrave lrsquointeacuterieur du cercle

3-Domaine connexe

Un domaine connexe est un composant du systegraveme drsquoinformation interagissant avec le domaine drsquoeacutetude Crsquoest un acteur interne agrave lrsquoentreprise mais externe au domaine drsquoeacutetude

34

Dans les modegraveles de flux une activiteacute est repreacutesenteacutee graphiquement par un rectangle Le nom de lactiviteacute est placeacute agrave lrsquointeacuterieur du rectangle

4-Flux de donneacutees

Un flux est un transfert drsquoinformations entre composants du systegraveme Le composant peut ecirctre un domaine une activiteacute ou un acteur externe

Dans les modegraveles de flux un flux de donneacutees est repreacutesenteacute graphiquement par une flegraveche orienteacutee du composant eacutemetteur du flux vers le composant reacutecepteur Le libelleacute du flux est inscrit en regard de la flegraveche traceacutee

Formalisme graphique illustrant par exemple un eacutechange entre un acteur externe et le domaine deacutetude

II-MeriseModegravele de contexte

Le modegravele de contexte sert agrave repreacutesenter les interactions entre le domaine deacutetude et lrsquoenvironnement et entre le domaine deacutetude et les eacuteventuels domaines connexes

Le domaine deacutetude y est repreacutesenteacute comme une boicircte noire

Le modegravele de contexte utilise les concepts suivants

bull le domaine deacutetude bull les acteurs externes bull les flux de donneacutees bull les domaines connexes

Exemple de modegravele de contexte au sein drsquoune socieacuteteacute commerciale on eacutetudie le domaine laquo gestion des ventes raquo

35

Remarque

bull on ne fait pas apparaicirctre les flux entre acteurs externes et domaines connexes ou entre les domaines connexes

Exemple le flux correspondant agrave la livraison de marchandises nrsquoapparaicirct pas

II-MeriseMFC ou DFD

Sommaire

bull 1 Modegravele de flux conceptuel(MFC) ou diagramme de flux de donneacutees(DFD) o 11 Deacutefinition o 12 Exemple o 13 Regravegles de deacutecomposition des activiteacutes

1-Modegravele de flux conceptuel (MFC) ou diagramme de flux de donneacutees (DFD)

11-Deacutefinition

Ce modegravele permet de deacutecider quelles activiteacutes inter-relieacutees de quelle maniegravere permettront de reacutesoudre au mieux le problegraveme poseacute et cette reacuteflexion est meneacutee sans sencombrer dans un premier temps du comportement du systegraveme (ordonnancement regravegles deacutemission synchronisationshellip)

Les modegraveles de flux conceptuels permettent de deacutecomposer le domaine drsquoeacutetude en activiteacutes Il nrsquoy a pas ici de notion drsquoorganisation mais drsquoobjectifs agrave reacutealiser On repreacutesente les flu x entre activiteacutes et avec lrsquoenvironnement

Pour analyser les communications et les activiteacutes on procegravede par laquo zooms raquo successifs sur le domaine eacutetudieacute pour eacutelaborer des modegraveles de plus en plus deacutetailleacutes qui permettront davoir une cartographie deacutetailleacutee du systegraveme et de preacuteparer le passage au modegravele conceptuel de repreacutesentation des traitements

36

Le modegravele de contexte est eacutegalement appeleacute le diagramme de flux de donneacutees de niveau 0

Nous obtenons ensuite des diagrammes de premier deuxiegraveme troisiegraveme hellip niveau par eacuteclatements successifs des activiteacutes agrave chacun de ces niveaux

La deacutecomposition drsquoun domaine ou drsquoune activiteacute en plusieurs activiteacutes peut faire apparaicirctre de nouveaux flux dus

1 agrave lrsquoeacutechange drsquoinformations entre activiteacutes 2 agrave la deacutecomposition drsquoun flux preacutesent au niveau n en plusieurs flux au niveau n+1

12-Exemple

Si on reprend le modegravele de contexte preacuteceacutedent on srsquoaperccediloit que le domaine des ventes peut-ecirctre eacuteclateacute en trois activiteacutes Nous obtenons ainsi le diagramme de flux de donneacutees de niveau 1

Remarque

bull On peut deacutecomposer le modegravele de flux de niveau 1 en un modegravele de flux de niveau 2 et etc hellip jusqursquoagrave arriver agrave un modegravele ougrave lrsquoactiviteacute correspond agrave une opeacuteration au sens Merise (regravegle drsquoininterruption)

Exemple lrsquoactiviteacute laquo gestion des factures raquo peut ecirctre encore deacutecomposeacutee en activiteacutes laquo facturation raquo et laquo Suivi des regraveglements raquo

13-Regravegles de deacutecomposition des activiteacutes

bull Pourquoi deacutecomposer

1 Pour deacutesagreacuteger les groupes de flux pour arriver agrave la deacutefinition des flux-types du domaine eacutetudieacute

2 Pour preacuteparer leacutetude dynamique du systegraveme dinformation pour arriver agrave lrsquoidentification des processus et des opeacuterations conceptuelles

bull Comment deacutecomposer

37

1 Identifier les groupes de donneacutees entrant et sortant du domaine drsquoeacutetude pour construire le modegravele de contexte

2 Identifier les activiteacutes geacuteneacuterant ou traitant les flux de donneacutees pour construire le DFD de niveau 1(approche par les donneacutees) ou identifier une activiteacute de niveau 1 comme un ensemble drsquoactiviteacutes participant agrave une mecircme finaliteacute (approche par les objectifs)

bull Jusquougrave deacutecomposer

Lorsquune activiteacute a atteint le niveau dinterruptabiliteacute (degraves lors que le traitement est deacuteclencheacute il se deacuteroule sans attente de ressources compleacutementaires exteacuterieures) Lactiviteacute est alors une opeacuteration conceptuelle qui sera deacutecrite lors de leacutetude dynamique du SI dans le MCTA

G-Les Modegraveles de traitements (MCT et MCTA)

I-MeriseMCT

Sommaire

bull 1 Modeacutelisation des Traitements bull 2 Le MCT bull 3 Les concepts du MCT

o 31 Lrsquoeacuteveacutenement o 32 Lrsquoopeacuteration o 33 Le reacutesultat o 34 La synchronisation o 35 Regravegle deacutemission o 36 Rocircle des regravegles de gestion o 37 Le processus

bull 4 Meacutethode drsquoeacutetablissement drsquoun MCT o 41 Regravegles de validation o 42 Cas particuliers

421 Cycles

422 Les eacuteveacutenements consommables

1-Modeacutelisation des Traitements

La modeacutelisation des traitements pour but de faire la repreacutesentation dynamique du systegraveme drsquoinformation crsquoest-agrave dire de repreacutesenter lrsquoenchaicircnement des traitements reacutealiseacutes

Cette modeacutelisation srsquoeffectue agrave deux niveaux

1 le niveau conceptuel ougrave lrsquoon srsquointeacuteresse aux opeacuterations en dehors de toute mise en oeuvre organisationnelle

2 le niveau organisationnel ougrave se pose les questions du qui ougrave quand

2-Le MCT

Lrsquoobjectif du MCT est de reacutepondre agrave la question QUOI faire par rapport agrave un eacuteveacutenement Crsquoest la chronologie qui importe Autrement dit le MCT est une repreacutesentation de la

38

succession des regravegles de gestion dont lrsquoentreprise veut se doter pour reacutepondre aux eacuteveacutenements auxquels elle doit faire face du fait de son activiteacute et de son environnement

3-Les concepts du MCT

31-Lrsquoeacuteveacutenement

Crsquoest une sollicitation du systegraveme drsquoinformation qui geacutenegravere une reacuteaction de la part de celui-ci

Un eacuteveacutenement peut ecirctre externe au domaine eacutetudieacute (ex commande client) ou interne au SI souvent le reacutesultat drsquoun processus anteacuterieur (ex ordre de preacuteparation) Un eacuteveacutenement peut-ecirctre aussi temporel cest-agrave-dire lieacute agrave des dates qui rythment lrsquoexeacutecution de certains traitements (deacutelai de maintenance relances)

32-Lrsquoopeacuteration

Crsquoest un ensemble drsquoactions accomplies par le systegraveme drsquoinformation en reacuteaction agrave un eacuteveacutenement ou agrave une conjonction drsquoeacuteveacutenements et non interruptibles par un eacuteveacutenement externe

Remarque Une opeacuteration deacuteclenche au moins un reacutesultat Une opeacuteration est repreacutesenteacutee par un verbe ou mieux un substantif (ex Preacuteparer la commande ou preacuteparation de la commande)

34-Le reacutesultat

Un reacutesultat peut-ecirctre un document un message externe un nouvel eacutetat du SI (nouvelle situation nouvelles donneacutees) creacuteeacute par une opeacuteration qui peut lui-mecircme jouer le rocircle drsquoeacuteveacutenement

Un reacutesultat externe repreacutesente une information envoyeacutee agrave lrsquoexteacuterieur du SI (ex facture)

Un reacutesultat interne est un nouvel eacutetat du systegraveme drsquoinformation (ex ordre de preacuteparation)

35-La synchronisation

Crsquoest une condition booleacuteenne (ET OU) traduisant les regravegles de gestion que doivent respecter les eacuteveacutenements pour deacuteclencher une opeacuteration Dans le cas ET elle marque quun eacuteveacutenement deacutejagrave lagrave doit en attendre un ou plusieurs autres

Remarque Pour quil soit question de synchronisation il faut la preacutesence de plusieurs eacuteveacutenements deacuteclencheurs aussi le symbole de synchronisation est laisseacute agrave blanc dans le cas dun eacuteveacutenement unique

Si tous les eacuteveacutenements entrants sont lieacutes par le mecircme opeacuterateur on peut seulement faire figurer lopeacuterateur dans le symbole de synchronisation sinon il faut numeacuteroter les eacuteveacutenements (a b c hellip) et constituer lexpression agrave laide des eacuteveacutenements et des opeacuterateurs (ex (a ET b) OU c) Regravegle deacutemission

Condition traduisant les regravegles de gestion qui permet dexprimer des conditions de sortie des reacutesultats

39

Remarques Lexpression dune regravegle deacutemission peut ecirctre composeacutee de plusieurs conditions eacuteleacutementaires relieacutees par les opeacuterateurs ET OU On peut eacutegalement utiliser lopeacuterateur NON pour exprimer la neacutegation dune condition

36-Rocircle des regravegles de gestion

Recenseacutees lors de leacutetude de lexistant ou deacutefinies pour le futur SI elles deacutecrivent les enchaicircnements dopeacuterations Elles rendent possible le regroupement des actions au sein dune seule opeacuteration non interruptible au niveau conceptuel

37-Le processus

Crsquoest un enchaicircnement synchroniseacute dopeacuterations au sein dun mecircme domaine geacuteneacuteralement deacuteclencheacute par un eacuteveacutenement externe (externe au domaine ou au SI tout entier)

Un MCT est la repreacutesentation de lrsquoenchaicircnement des opeacuterations drsquoun processus

4-Meacutethode drsquoeacutetablissement drsquoun MCT

1 Reacutealiser le graphe des flux (repreacutesentation des acteurs eacuteveacutenements et reacutesultats externes

2 Pour chaque eacuteveacutenement recenser les opeacuterations deacuteclencheacutees etou les eacuteveacutenements internes produits

3 Regrouper dans une mecircme opeacuteration tous les traitements qui ont les mecircmes deacuteclencheurs dans une uniteacute de temps avec la mecircme synchronisation

41-Regravegles de validation

Une opeacuteration ne peut pas ecirctre interrompue par lrsquoattente drsquoun eacuteveacutenement externe

Si tel est le cas il faut deacutecrire une seconde opeacuteration deacuteclencheacutee par cet eacuteveacutenement en attente

42-Cas particuliers

421-Cycles

Pour une mecircme opeacuteration leacuteveacutenement deacuteclencheur et leacuteveacutenement reacutesultat sont identiques

Une commande de client est servie si les marchandises sont disponibles sinon cette commande est mise en attente Les commandes en attente sont reacuteexamineacutees lors de chaque reacuteapprovisionnement afin de les livrer

40

Il faut sassurer que le cycle a bien un deacutebut et une fin ici cest lrsquoeacuteveacutenement Reacuteapprovisionnement effectueacute qui permet deacuteviter que le cycle ne se deacuteroule sans fin sur les commandes en attente

Noter limportance du concept doccurrences deacuteveacutenement

-une occurrence de Reacuteappro est-elle autoriseacutee agrave consommer toutes les occurrences de Commande en attente

-si le reacuteapprovisionnement est insuffisant de nouvelles occurrences de Commande en attente doivent-elles ecirctre creacuteeacutees

422-Les eacuteveacutenements consommables

Un client non satisfait peut retourner un article On lui fait un avoir Il peut alors le preacutesenter en caisse pour ecirctre rembourseacute de son achat Il peut encore remplacer larticle deacutefectueux par un autre auquel cas on annule lavoir

41

Ce qui pose question

UNE occurrence de leacuteveacutenement avoir eacutetabli ne peut ecirctre consommeacutee par 2 opeacuterations (rembourser et imputer)

Dit autrement avoir eacutetabli ne sait pas vers quelle opeacuteration se diriger On pourrait se dire quil est implicite que cest le premier eacuteveacutenement qui survient qui gagne si Echange survient en premier alors lavoir est annuleacute

Cependant que se passe-t-il si les 2 eacuteveacutenements externes se produisent simultaneacutement Si on impleacutemente tel quel ce scheacutema dans un automate il est vraisemblable que le client pourra avoir le beurre et largent du beurre

se preacutesenter en caisse et faire leacutechange pour un seul retour Il est donc preacutefeacuterable dexpliciter (cf ci-apregraves)

Une autre solution consiste agrave indiquer explicitement que cet eacuteveacutenement est consommable cest-agrave-dire que la premiegravere opeacuteration qui se deacuteclenche annule lrsquoeacuteveacutenement pour lrsquoautre opeacuteration

42

II-MeriseInteacutegration des donneacutees dans le MCT

Sommaire

bull 1 DEFINITION bull 2 FORMALISME DU MCTA bull 3 REPRESENTATION DES ACTIONS SUR LES DONNEES bull 4 COMPLEMENTS

o 41 Condition de deacuteclenchement o 42 Action collective o 43 Coheacuterence de la base de donneacutees o 44 REGLES DE VALIDATION DrsquoUN MCTA

o 45 Exemple de MCTA

1-DEFINITION

Le MCTA est une repreacutesentation syntheacutetique des traitements qui met en eacutevidence les reacuteactions du systegraveme aux eacuteveacutenements et linteraction avec les donneacutees

Il vise agrave

Deacutecrire le fonctionnement du systegraveme indeacutependamment de lorganisation

Donner une vision des traitements et de la coordination des eacuteveacutenements deacuteclencheurs

Rapprocher les donneacutees et les traitements

2-FORMALISME DU MCTA

Pour mettre en eacutevidence lrsquoarticulation entre les donneacutees et les traitements dans le MCT on ajoute agrave droite de chaque opeacuteration les entiteacutes ou associations qui sont consulteacutees ou qui subissent un changement drsquoeacutetat (creacuteation mise agrave jour suppression hellip)

43

3-REPRESENTATION DES ACTIONS SUR LES DONNEES

Un objet correspond agrave une entiteacute ou une association du MCD correspondant au champ drsquoeacutetude du SI Une action est une manipulation (creacuteation consultation modification ou suppression) drsquoun objet du systegraveme drsquoinformation Elle est symboliseacutee par un trait entre lrsquoopeacuteration et lrsquoobjet manipuleacute Ce trait est non orienteacute sil sagit dune suppression et il est orienteacute pour les autres types de manipulation le sens de la flegraveche deacutepend du type de manipulation

Un eacutetat drsquoobjet est un stade transitoire par lequel passe un objet (entiteacute ou association) au cours de sa laquo vie raquo

Dans un MCTA une opeacuteration est composeacutee dun ensemble dactions sur les donneacutees

Les actions sur les donneacutees sont de 4 types

Creacuteation drsquoune occurrence

Creacuteation drsquoune occurrence de lrsquoobjet 1 dans lrsquoeacutetat 1

Suppression drsquoune occurrence

Suppression drsquoune occurrence de lrsquoobjet 3 se trouvant dans lrsquoeacutetat 2

Consultation drsquoune occurrence

Consultation drsquoune occurrence de lrsquoobjet 4 dans lrsquoeacutetat 6 Leacutetat de lrsquoobjet nrsquoest pas indiqueacute mais sera eacuteventuellement testeacute avant reacutealisation de la (ou des) action (s) suivante (s)

44

Modification drsquoune occurrence

Modification drsquoune occurrence de lrsquoobjet 2 si elle est dans lrsquoeacutetat 3 elle passe agrave lrsquoeacutetat 4 ou agrave lrsquoeacutetat 5

Lrsquoaction de modification inclut implicitement la ou les consultations preacutealables

On ne doit pas seacuteparer les consultations qui preacutecegravedent les modifications des modifications elles-mecircmes

Remarque geacuteneacuterale Lrsquoordre des actions drsquoune opeacuteration sera si possible preacutesenteacute de haut en bas

4-COMPLEMENTS

41-Condition de deacuteclenchement

Lrsquoaction eacuteleacutementaire peut ecirctre accompagneacutee drsquoune condition de deacuteclenchement (agrave indiquer au niveau du trait ou agrave cocircteacute de lrsquoobjet) Cette condition peut porter sur lrsquoeacutetat de la structure des donneacutees agrave un moment preacutecis etou sur le type drsquoeacuteveacutenement constateacute agrave lrsquoentreacutee de lrsquoopeacuteration

42-Action collective

Elle permet drsquoindiquer que lrsquoaction intervient sur un ensemble drsquooccurrences de lrsquoobjet concerneacute (toutes srsquoil nrsquoy a pas de condition de deacuteclenchement associeacutee limitant le nombre drsquooccurrences manipuleacutees)

Exemple en fin de mois une compagnie dassurances reacutesilie les polices quelle a proposeacutees degraves que le deacutelai de signature de celles-ci est deacutepasseacute

45

C1 si le deacutelai de signature est deacutepasseacute

43-Coheacuterence de la base de donneacutees

Une BD a coheacuterent si elle ne comporte pas de contradictions (par rapport aux regravegles de gestion en particulier)

Une action peut ne pas laisser la structure de donneacutees dans un eacutetat coheacuterent

En revanche la coheacuterence doit toujours ecirctre assureacutee au niveau drsquoune opeacuteration

44-REGLES DE VALIDATION DrsquoUN MCTA

Une opeacuteration conceptuelle ne doit pas ecirctre interrompue par lrsquoattente drsquoun eacuteveacutenement externe

Une opeacuteration conceptuelle prend la structure de donneacutees manipuleacutees dans un eacutetat coheacuterent et la rend dans un eacutetat coheacuterent

46

45-Exemple de MCTA

C1 si le client eacutetait preacuteceacutedemment un client prospect (cest-agrave-dire client potentiel)

C2 sil sagit dun nouveau client ou si le client eacutetait preacuteceacutedemment un client prospect le client est mis en portefeuille (cest-agrave-dire qursquoil est reacuteellement client)

C3 si disponibiliteacute de tous les produits (quantiteacute en stock suffisante pour assurer la livraison)

Remarque on considegravere ici qursquoil nrsquoy a pas de livraison partielle

47

  • I-Systegraveme drsquoinformation de gestion
    • Sommaire
      • 1-Qursquoest ce qursquoun systegraveme
      • 2-Qursquoest ce qursquoun systegraveme drsquoinformation de gestion
      • 3-Les fonctions du systegraveme drsquoinformation
      • II-MeriseModeacutelisation
        • Sommaire
          • 1-Qursquoest qursquoun modegravele
          • 2-La meacutethode Merise
            • 21-Les composantes de Merise
            • 22-La deacutemarche Merise
            • 23-Les niveaux drsquoabstraction
            • 24-La courbe du soleil
              • Deacutefinition
              • I-MCDRecueil des donneacutees
              • Exemple
              • II-MCDConcepts et du formalisme
                • Sommaire
                  • 1-Les concepts de base
                    • 11-Entiteacute
                    • 12-Association
                    • 13-Cardinaliteacutes
                      • 2-La notion drsquooccurrence
                      • III-MCDRegravegles de construction
                        • Sommaire
                          • 1-Regravegles concernant les proprieacuteteacutes
                          • 2-Regravegles concernant les entiteacutes
                          • 3-Regravegles concernant les associations
                          • IV-MCDIntroduction aux cardinaliteacutes
                            • Sommaire
                              • 1-Formalisme
                              • 2-La cardinaliteacute minimale
                                • 21--Exemples
                                • 22-Application
                                  • 3-La cardinaliteacute maximale
                                    • 31-Exemple 1
                                    • 32-Exemple 2
                                      • 4-Conclusion
                                      • 5-Exemple
                                      • 6-Repreacutesentation des cardinaliteacutes
                                      • I-MCDCardinaliteacutes
                                        • Sommaire
                                          • 1-Deacutefinition et formalisme
                                          • 2-La cardinaliteacute minimale
                                            • 21-Exemple
                                            • 22-Application
                                              • 3-La cardinaliteacute maximale
                                                • 31-Exemple
                                                  • 4-Reacutecapitulatif
                                                    • 41-Exemples complets
                                                      • II-MCDAssociations
                                                        • Sommaire
                                                          • 1-Les associations binaires concernant 2 entiteacutes
                                                            • 11-Les associations hieacuterarchiques [1 n]
                                                            • 12-Les associations non hieacuterarchiques [n n]
                                                            • 13-Les associations de type [1 1]
                                                              • 2-Les autres types dassociation
                                                                • 21-Les associations reacuteflexives
                                                                  • 211-Exemple dassociation reacuteflexive hieacuterarchique
                                                                  • 212--Exemples dassociations reacuteflexives non hieacuterarchiques
                                                                    • 22-Les associations de dimension 3 ou plus (ternaires ou plus)
                                                                      • III-MCDRepreacutesentation des cardinaliteacutes
                                                                      • IV-MCDAssociation ternaire
                                                                      • V-MCDAssociations reacuteflexives
                                                                      • 1-Exemple dassociation reacuteflexive hieacuterarchique
                                                                      • 2-Exemples dassociations reacuteflexives non hieacuterarchiques
                                                                      • I-MRRappel sur le modegravele relationnel
                                                                      • II-MRPassage du MCD au MR
                                                                        • Sommaire
                                                                          • 1-Regravegle 1
                                                                          • 2-Regravegle 2
                                                                          • 3-Exception agrave la regravegle 1
                                                                          • 4-Cas particulier des associations reacuteflexives
                                                                            • 41-Reacuteflexive hieacuterarchique
                                                                            • 42-Reacuteflexive non hieacuterarchique
                                                                              • E-Normalisation du modegravele relationnel
                                                                              • I-Deacutependance fonctionnelle
                                                                                • Sommaire
                                                                                  • 1-Introduction
                                                                                  • 2-Rappels sur la notion de deacutependance fonctionnelle
                                                                                    • 21-Deacutefinition
                                                                                    • 22-Terminologie
                                                                                    • 23-DF agrave partir de proprieacuteteacutes concateacuteneacutees
                                                                                    • 24-Proprieacuteteacutes des deacutependances fonctionnelles
                                                                                      • 241-Union
                                                                                      • 242-Transitiviteacute
                                                                                          • II-MRInteacuterecirct de la normalisation
                                                                                          • Exemple
                                                                                          • III-MR 3 formes normales
                                                                                            • Sommaire
                                                                                              • 1-1er forme normale
                                                                                              • 2-2egraveme forme normale
                                                                                              • 3-3egraveme forme normale
                                                                                              • 4-Application des regravegles
                                                                                              • 5-Reacutesumeacute
                                                                                              • F-MeriseLes diagrammes de flux
                                                                                              • I-MeriseVocabulaire associeacute aux modegraveles de flux
                                                                                                • Sommaire
                                                                                                  • 1-Domaine deacutetude
                                                                                                  • 2-Acteur externe
                                                                                                  • 3-Domaine connexe
                                                                                                  • 4-Flux de donneacutees
                                                                                                  • II-MeriseModegravele de contexte
                                                                                                  • II-MeriseMFC ou DFD
                                                                                                    • Sommaire
                                                                                                      • 1-Modegravele de flux conceptuel (MFC) ou diagramme de flux de donneacutees (DFD)
                                                                                                        • 11-Deacutefinition
                                                                                                        • 12-Exemple
                                                                                                        • 13-Regravegles de deacutecomposition des activiteacutes
                                                                                                          • I-MeriseMCT
                                                                                                            • Sommaire
                                                                                                              • 1-Modeacutelisation des Traitements
                                                                                                              • 2-Le MCT
                                                                                                              • 3-Les concepts du MCT
                                                                                                                • 31-Lrsquoeacuteveacutenement
                                                                                                                • 32-Lrsquoopeacuteration
                                                                                                                • 34-Le reacutesultat
                                                                                                                • 35-La synchronisation
                                                                                                                • 36-Rocircle des regravegles de gestion
                                                                                                                • 37-Le processus
                                                                                                                  • 4-Meacutethode drsquoeacutetablissement drsquoun MCT
                                                                                                                    • 41-Regravegles de validation
                                                                                                                    • 42-Cas particuliers
                                                                                                                      • 421-Cycles
                                                                                                                      • 422-Les eacuteveacutenements consommables
                                                                                                                          • II-MeriseInteacutegration des donneacutees dans le MCT
                                                                                                                            • Sommaire
                                                                                                                              • 1-DEFINITION
                                                                                                                              • 2-FORMALISME DU MCTA
                                                                                                                              • 3-REPRESENTATION DES ACTIONS SUR LES DONNEES
                                                                                                                              • 4-COMPLEMENTS
                                                                                                                                • 41-Condition de deacuteclenchement
                                                                                                                                • 42-Action collective
                                                                                                                                • 43-Coheacuterence de la base de donneacutees
                                                                                                                                • 44-REGLES DE VALIDATION DrsquoUN MCTA
                                                                                                                                • 45-Exemple de MCTA
Page 10: 7472422 Cours de Merise

On repreacutesente souvent les occurrences drsquoune entiteacute sous forme drsquoun tableau Les lignes correspondent aux occurrences et les colonnes correspondent aux proprieacuteteacutes

bull Exemple

III-MCDRegravegles de construction

Sommaire

bull 1 Regravegles concernant les proprieacuteteacutes bull 2 Regravegles concernant les entiteacutes

bull 3 Regravegles concernant les associations

1-Regravegles concernant les proprieacuteteacutes

bull Pour qursquoil nrsquoy ait pas drsquoambiguiumlteacute possible une proprieacuteteacute ne peut pas apparaicirctre plusieurs fois dans un MCD

Autrement dit toutes les proprieacuteteacutes drsquoun MCD doivent ecirctre diffeacuterentes les unes des autres Exemples Une proprieacuteteacute Date ne peut pas apparaicirctre simultaneacutement dans une entiteacute COMMANDE et une entiteacute FACTURE Si crsquoeacutetait le cas il faudrait remplacer Date par Date_commande et Date_facture par exemple

bull Toute proprieacuteteacute ne doit avoir agrave un moment donneacute qursquoune seule valeur pour une occurrence Par conseacutequent un nom de proprieacuteteacute doit toujours ecirctre au singulier

Exemple Dans la proprieacuteteacute note drsquoune entiteacute ELEVE on ne peut avoir qursquoune seule note Si on veut la note de plusieurs matiegraveres il faut mettre autant de proprieacuteteacutes qursquoil y a de matiegraveres par exemple noteALSI noteAMSI noteDAIGL etc

2-Regravegles concernant les entiteacutes

bull Toute entiteacute doit comporter un identifiant qui permet de distinguer entre elles toutes les occurrences drsquoune mecircme entiteacute Lrsquoidentifiant est placeacute en tecircte des proprieacuteteacutes et il est souligneacute

bull Pour chaque occurrence drsquoune entiteacute il ne doit y avoir qursquoune seule valeur pour chacune des proprieacuteteacutes agrave un instant donneacute Cette valeur peut changer au cours du temps mais agrave un instant donneacute il nrsquoy en a qursquoune seule

3-Regravegles concernant les associations

bull Lrsquoidentifiant drsquoune association est implicitement formeacute par la concateacutenation des identifiants des entiteacutes lieacutees

10

On ne repreacutesente pas cet identifiant au niveau du MCD Deux occurrences drsquoassociation ne peuvent pas avoir le mecircme identifiant Pour une occurrence lrsquoidentifiant ne doit jamais changer de valeur (lrsquoidentifiant est une proprieacuteteacute constante)

bull Une association peut avoir des proprieacuteteacutes mais ce nrsquoest pas obligatoire

IV-MCDIntroduction aux cardinaliteacutes

Sommaire

bull 1 Formalisme bull 2 La cardinaliteacute minimale

o 21 Exemples o 22 Application

bull 3 La cardinaliteacute maximale o 31 Exemple 1 o 32 Exemple 2

bull 4 Conclusion bull 5 Exemple

bull 6 Repreacutesentation des cardinaliteacutes

Les cardinaliteacutes drsquoune entiteacute dans une association exprime le nombre de fois qursquoune occurrence de cette entiteacute est impliqueacutee dans lrsquoassociation au minimum et au maximum

1-Formalisme

2-La cardinaliteacute minimale

Elle est exprimeacutee presque toujours par lrsquoune des deux valeurs 0 ou 1Elle traduit combien de fois au minimum une occurrence de lrsquoentiteacute participe agrave lrsquoassociation

21--Exemples

Pour la cardinaliteacute mini entre client et commander il faut se poser la question Pour un client donneacute combien de fois au minimum il commande Si la reacuteponse est laquo tout client doit passer au moins une commande sinon ce nrsquoest pas un client raquo on met la cardinaliteacute mini agrave 1

11

Mais on peut tregraves bien imaginer que lrsquoentreprise veut aussi meacutemoriser les clients potentiels (prospects) qui nrsquoont encore rien commandeacute Dans ce cas un client peut tregraves bien ne pas avoir encore commandeacute et on met la cardinaliteacute mini agrave 0

22-Application

1 Trouver la question qui permet de trouver la cardinaliteacute minimale pour lrsquoentiteacute produit et lrsquoassociation commander

2 Faites deux hypothegraveses de regravegle de gestion concernant ce lien et trouver les cardinaliteacutes minimales correspondantes

3-La cardinaliteacute maximale

Elle traduit combien de fois au maximum lrsquoentiteacute peut ecirctre en relation avec lrsquoassociation Cela peut ecirctre plusieurs fois (si crsquoest un nombre indeacutetermineacute on indique la valeur n) ou une seule foisOn reacutepond agrave la question Combien au maximum lrsquoentiteacute peut participer agrave lrsquoassociation Si la reacuteponse est laquo au plus une fois raquo la cardinaliteacute maximale prend pour valeur 1Si la reacuteponse est laquo plusieurs raquo la cardinaliteacute maximale prend la valeur N

31-Exemple 1

bull REGLES DE GESTION

Un salarieacute est affecteacute au plus agrave un seul service Dans un service sont affecteacutes plusieurs salarieacutes

Il arrive (mais crsquoest rare) qursquoune cardinaliteacute maximale ait une valeur limiteacutee

32-Exemple 2

bull REGLE DE GESTION Un eacutelegraveve doit suivre au minimum une option et au maximum 3 options

12

4-Conclusion

En fait dans la grande majoriteacute des cas on nrsquoutilise que 4 combinaisons de valeurs pour les cardinaliteacutes

bull 01 au plus un(e) bull 11 un(e) et un(e) seul(e) bull 1 n un(e) ou plusieurs bull 0 n zeacutero ou plusieurs

5-Exemple

6-Repreacutesentation des cardinaliteacutes

Une voiture est posseacutedeacutee par une seule personne Une personne peut posseacuteder de 0 agrave plusieurs voitures

Une personne a une adresse ou est sans domicile A une adresse il y a une ou plusieurs personne qui y habitent

13

C-Les cardinaliteacutes et les diffeacuterents types dassociations

I-MCDCardinaliteacutes

Sommaire

bull 1 Deacutefinition et formalisme bull 2 La cardinaliteacute minimale

o 21 Exemple o 22 Application

bull 3 La cardinaliteacute maximale o 31 Exemple

bull 4 Reacutecapitulatif o 41 Exemples complets

1-Deacutefinition et formalisme

Les cardinaliteacutes sont des couples de valeur que lon trouve entre chaque entiteacute et ses associations lieacuteesDonc pour une association de 2 entiteacutes il y a 4 cardinaliteacutes agrave indiquer (2 de chaque cocircteacute)Il y a trois valeurs typiques 0 1 et N (plusieurs)

Pour les associations agrave 2 entiteacutes ce sont des valeurs qui permettent drsquoindiquer combien de fois au minimum et au maximum une occurrence dentiteacute peut ecirctre lieacutee agrave une autre occurrence dentiteacute

De maniegravere plus geacuteneacuterale les cardinaliteacutes drsquoune entiteacute dans une association expriment le nombre de fois qursquoune occurrence de cette entiteacute peut ecirctre impliqueacutee dans une occurrence de lassociation au minimum et au maximum

Les cardinaliteacutes traduisent des regravegles de gestion Ce sont des regravegles propres agrave lorganisation eacutetudieacutee qui sont deacutecideacutees par les gestionnaires et deacutecideurs Ces regravegles expriment des contraintes sur le modegravele

2-La cardinaliteacute minimale

14

Elle est exprimeacutee presque toujours par lrsquoune des deux valeurs 0 ou 1 Elle traduit combien de fois au minimum une occurrence de lrsquoentiteacute participe agrave lrsquoassociation autrement dit si une occurrence est obligatoirement associeacutee agrave une autre ou pas

21-Exemple

Pour la cardinaliteacute minimale entre client et commander il faut se poser la question Pour un client donneacute combien de fois au minimum il commande

ou encore mieux Est-il obligatoire quun client effectue une commande de produit

Cela deacutepend des REGLES DE GESTION de lentreprise Si la regravegle de gestion est laquo tout client doit passer au moins une commande sinon ce nrsquoest pas un client raquo on met la cardinaliteacute mini agrave 1

Mais on peut tregraves bien imaginer que lrsquoentreprise veut aussi meacutemoriser les clients potentiels (prospects) qui nrsquoont encore rien commandeacute Dans ce cas un client peut tregraves bien ne pas avoir encore commandeacute et on met la cardinaliteacute mini agrave 0

En fait les cardinaliteacutes deacutependent des regravegles de gestion propres agrave lrsquoorganisation eacutetudieacutee La regravegle peut tregraves bien ecirctre laquo On ne meacutemorise que les clients qui ont deacutejagrave commandeacute raquo ou bien laquo On veut meacutemoriser les prospects raquo

22-Application

bull Trouver la question qui permet de trouver la cardinaliteacute minimale pour lrsquoentiteacute produit et lrsquoassociation commander

Reacuteponse Est-il obligatoire quun produit ait eacuteteacute commandeacute pour quil soit meacutemoriseacute dans la base de donneacutee ou bien Peut-il exister dans la base de donneacutee des produits qui nont jamais eacuteteacute commandeacutes

bull Faites deux hypothegraveses de regravegle de gestion concernant ce lien et trouver les cardinaliteacutes minimales correspondantes

Reacuteponse H1 lentreprise peut proposer de nouveaux produits sur catalogue par exemple quelle meacutemorise dans sa base de donneacutees mais qui nont jamais encore eacuteteacute commandeacutes =gt cardinaliteacute minimale agrave 0 (cest plutocirct le cas pour les entreprises de vente)

15

H2 tout produit inscrit dans la base de donneacutee est forceacutement commandeacute (par exemple parce que lentreprise ne propose pas de catalogue mais fabrique seulement agrave la commande) =gt cardinaliteacute minimale agrave 1 (cest plutocirct le cas pour les entreprises de production)

3-La cardinaliteacute maximale

Elle traduit combien de fois au maximum une occurrence dentiteacute peut ecirctre en relation avec une occurrence de lassociation Cela peut ecirctre plusieurs fois (si crsquoest un nombre indeacutetermineacute on indique la valeur n) ou une seule fois

Cette cardinaliteacute reacutepond agrave la question

bull la participation dune occurrence doit-elle ecirctre unique ou bien peut-elle ecirctre multiple ou bien

bull combien de fois au maximum une occurrence est elle impliqueacutee dans lassociation

Si lassociation est binaire (relie seulement deux entiteacute) la question peut ecirctre aussi

bull Une occurrence de lentiteacute peut-elle ecirctre relieacutee agrave plusieurs occurrences de lautre entiteacute ou bien ne peut-elle ecirctre relieacutee quagrave une seule autre occurrence au plus

Si la reacuteponse est laquo au plus une fois raquo (participation unique) la cardinaliteacute maximale prend pour valeur 1 Si la reacuteponse est laquo plusieurs raquo (participation multiple) la cardinaliteacute maximale prend la valeur N

31-Exemple

bull RG (regravegles de gestion)

1 Un salarieacute est affecteacute au plus agrave un seul service 2 Dans un service sont affecteacutes plusieurs salarieacutes

Il arrive (mais crsquoest rare) qursquoune cardinaliteacute maximale ait une valeur limiteacutee

bull Exemple

RG Un eacutelegraveve peut suivre au maximum 3 options

4-Reacutecapitulatif

16

En fait dans la grande majoriteacute des cas on nrsquoutilise que 4 combinaisons de valeurs pour les cardinaliteacutes

bull 01 au plus un(e) bull 11 un(e) et un(e) seul(e) bull 1n un(e) ou plusieurs bull 0 n zeacutero ou plusieurs

41-Exemples complets

RG un client commande au moins 1 produit (sous entendu ou plusieurs) et un produit peut ne pas encore avoir eacuteteacute commandeacute comme il peut lavoir eacuteteacute plusieurs fois

RG Un salarieacute est obligatoirement affecteacute agrave 1 et 1 seul service Un service pour exister doit avoir au moins un salarieacute affecteacute (sous-entendu il peut bien sur en avoir plusieurs)

II-MCDAssociations

Sommaire

1 Les associations binaires concernant 2 entiteacutes

11 Les associations hieacuterarchiques [1n]

12 Les associations non hieacuterarchiques [n n]

13 Les associations de type [1 1]

2 Les autres types dassociation

21 Les associations reacuteflexives

211 Exemple dassociation reacuteflexive hieacuterarchique

212 Exemples dassociations reacuteflexives non hieacuterarchiques

22 Les associations de dimension 3 ou plus (ternaires ou plus)

1-Les associations binaires concernant 2 entiteacutes

17

On distingue trois cateacutegories dassociations en fonction des cardinaliteacutes maximales de ses branches

-Les associations hieacuterarchiques encore appeleacutees associations [1 n] ou associations fonctionnelles

-Les associations non hieacuterarchiques encore appeleacutees associations [n n] ou non fonctionnelles

-Les association [1 1] les 2 branches ont pour cardinaliteacute maximale 1 Ce cas est rare

11-Les associations hieacuterarchiques [1 n]

Ce sont les associations ougrave dun cocircteacute la |cardinaliteacute maximale est agrave 1 et de lautre cocircteacute la cardinaliteacute maximale est agrave n

Cela signifie quune occurrence de A est relieacutee au plus agrave une seule occurrence de B Cest-agrave-dire si on connaicirct une occurrence de A alors on saura forceacutement quelle est la seule occurrence de B qui correspond (si elle existe) On dit que A deacutetermine B Cest un lien de deacutependance fonctionnelle B deacutepend fonctionnellement de A

Lentiteacute qui correspond agrave la branche du cocircteacute du 1 est parfois appeleacutee entiteacute fils et lentiteacute correspondant agrave la branche du cocircteacute n est parfois appeleacutee entiteacute pegravere Cette appellation deacutecoule de lanalogie un fils na quun seul pegravere et un pegravere peut avoir plusieurs fils

12-Les associations non hieacuterarchiques [n n]

13-Les associations de type [1 1]

Cas exceptionnel

Ex un employeacute travaille sur un ordinateur (p 99 de Modeacuteliser les donneacutees) La facture correspondant agrave une commande

2-Les autres types dassociation

18

Le plus souvent une association relie 2 entiteacutes avec 2 branches Ce type dassociation est appeleacute association binaire Nous avons deacutejagrave eacutetudieacute en deacutetail les diffeacuterents types dassociations binaires

Mais une association peut aussi relier 3 ou tregraves rarement 4 entiteacutes (quasiment jamais plus) On parle dassociation ternaire quaternaire (n-aire) Enfin une association peut aussi relier une entiteacute agrave elle-mecircme cest-agrave-dire que des occurrences de la mecircme entiteacute sont relieacutees entre elles Lassociation correspondante est qualifieacutee de reacuteflexive Ce sont ces autres types dassociation que nous allons eacutetudier maintenant

21-Les associations reacuteflexives

Une association reacuteflexive est une association reliant des occurrences de la mecircme entiteacute Ces associations sont quasiment toujours binaire (2 branches) Pour lire une association reacuteflexive il est faut connaicirctre le rocircle attribueacute agrave chaque branche de lassociation Il existe comme pour les autres associations des associations reacuteflexives hieacuterarchique et des associations reacuteflexives non hieacuterarchique

211-Exemple dassociation reacuteflexive hieacuterarchique

Dans une entreprise bureaucratique chaque salarieacute a un seul chef (supeacuterieur hieacuterarchique direct) sauf le patron et chaque chef a au moins un salarieacute sous ses ordres Evidemment certains salarieacutes ne sont chefs de personnes

Exemples doccurrences diagramme doccurrences

Remarquez limportance du rocircle dans le diagramme doccurrence

212--Exemples dassociations reacuteflexives non hieacuterarchiques

19

Piegraveces composants composeacute = reacuteflexive asymeacutetrique

Personnes fregraveres = reacuteflexive symeacutetrique (rocircle pas indispensable car a pour fregravere = ecirctre fregravere de)

Preacutecision de vocabulaire dimension dune association

La dimension dune association correspond au nombre de branches de lassociation Dans plus de 80 des cas les associations sont binaires Dimension 2 binaire Dimension 3 ternaire (rare) Dimension supeacuterieure aire (exceptionnel)

Lorsquil ny a pas de reacuteflexiviteacute le nombre de branches est eacutegal au nombre dentiteacutes relieacutees La dimension est dans ce cas le nombre dentiteacutes concerneacutees par lassociation Mais la reacuteflexiviteacute existe et donc on peut avoir plusieurs branches de la mecircme association sur la mecircme entiteacute Dans ce cas alors la dimension est supeacuterieure au nombre dentiteacutes concerneacutees

Dimension = nombre dentiteacute lieacutees

Une association reacuteflexive (1 entiteacute) est quasiment toujours binaire (2 branches) On pourrait aussi avoir une association ternaire impliquant seulement deux entiteacutes

22-Les associations de dimension 3 ou plus (ternaires ou plus)

Une association peut relier plus de 2 entiteacutes ensemble le plus souvent trois On parle alors dassociation ternaire On utilise une association ternaire quand on a besoin de connaicirctre une occurrence de chaque entiteacute pour avoir une information

Exemple

Pour connaicirctre la quantiteacute de chacune des piegraveces fabriqueacutee par chaque ouvrier agrave une date donneacutee on utilise une association ternaire entre OUVRIER PIECE et DATE La quantiteacute est une donneacutee porteacutee par cette association

Une occurrence de lassociation fabrique implique une seule occurrence de chaque entiteacute

20

Exemple

Ouvrier Piegravece Date quantiteacute

Dupont 1 1702 50

Dubois 2 1702 100

Martin 1 1702 40

Dupont 3 1702 55

Dubois 3 1702 20

Dupont 1 1602 40

Martin 1 1602 40

Lassociation ternaire implique aussi que

Pour un ouvrier on peut avoir plusieurs piegraveces diffeacuterentes agrave la mecircme date (il peut fabriquer plusieurs types de piegraveces le mecircme jour)

Une piegravece peut ecirctre fabriqueacutee par plusieurs ouvriers diffeacuterents le mecircme jour

A des dates diffeacuterentes un mecircme ouvrier peut fabriquer les mecircmes piegraveces

Lidentifiant dune association ternaire est formeacutee de la concateacutenation (juxtaposition) des identifiants des 3 entiteacutes relieacutees

Dans notre exemple on ne peut donc pas avoir plusieurs occurrences de fabrique qui concernent Dupont la piegravece ndeg1 agrave la date du 1702

III-MCDRepreacutesentation des cardinaliteacutes

bull Une voiture est posseacutedeacutee par une seule personne Une personne peut posseacuteder de 0 agrave plusieurs voitures

21

bull Une personne a une adresse ou est sans domicile A une adresse il y a une ou plusieurs personnes qui y habitent

IV-MCDAssociation ternaire

bull Une association peut relier plus de 2 entiteacutes ensemble le plus souvent trois On parle alors dassociation ternaire (dimension 3) On utilise une association ternaire quand on a besoin de connaicirctre une occurrence de chaque entiteacute pour avoir une information

bull Ex

Pour connaicirctre la quantiteacute de chacune des piegraveces fabriqueacutee par chaque ouvrier agrave une date donneacutee on utilise une association ternaire entre OUVRIER PIECE et DATE La quantiteacute est une donneacutee porteacutee par cette association

22

Une occurrence de lassociation fabrique implique une seule occurrence de chaque entiteacute Exemple

Ouvrier Piegravece Date quantiteacuteDupont 1 1702 50Dubois 2 1702 100Martin 1 1702 40Dupont 3 1702 55Dubois 3 1702 20Dupont 1 1602 40Martin 1 1602 40

Lassociation ternaire implique aussi que

1 Pour un ouvrier on peut avoir plusieurs piegraveces diffeacuterentes agrave la mecircme date (il peut fabriquer plusieurs types de piegraveces le mecircme jour)

2 Une piegravece peut ecirctre fabriqueacutee par plusieurs ouvriers diffeacuterents le mecircme jour 3 A des dates diffeacuterentes un mecircme ouvrier peut fabriquer les mecircmes piegraveces

Lidentifiant dune association ternaire est formeacutee de la concateacutenation (juxtaposition) des identifiants des 3 entiteacutes relieacutees

Dans notre exemple on ne peut donc pas avoir plusieurs occurrences de fabrique qui concernent Dupont la piegravece ndeg1 agrave la date du 1702

V-MCDAssociations reacuteflexives

Une association reacuteflexive est une association reliant des occurrences de la mecircme entiteacute Ces associations sont quasiment toujours binaire (2 branches)

Pour lire une association reacuteflexive il est faut connaicirctre le rocircle attribueacute agrave chaque branche de lassociation cest agrave dire le rocircle de chaque occurrence dans le lien

23

Il existe comme pour les autres associations des associations reacuteflexives hieacuterarchique (une des cardinaliteacutes maximales agrave 1) et des association reacuteflexives non hieacuterarchique (les deux cardinaliteacutes maximales agrave n)

1-Exemple dassociation reacuteflexive hieacuterarchique

Dans une entreprise bureaucratique chaque salarieacute a un seul chef (supeacuterieur hieacuterarchique direct) sauf le patron et chaque chef a au moins un salarieacute sous ses ordres Evidemment certains salarieacutes ne sont chefs de personnes

Un mecircme salarieacute peut agrave la fois ecirctre chef et avoir un chef Tutu peut ecirctre chef de titi et de toto et dautres salarieacutes mais il na quun seul chef au maximum toto peut ecirctre le chef de coco et avoir pour chef tutu

2-Exemples dassociations reacuteflexives non hieacuterarchiques

Piegraveces composants composeacute = reacuteflexive asymeacutetrique

Une piegravece peut entrer dans la composition de plusieurs autres piegraveces (ex un boulon) Une piegravece peut aussi ecirctre composeacutee de plusieurs autres piegraveces (ex un moteur) Une mecircme piegravece peut ecirctre composeacutee dautres piegraveces et entrer dans la composition dune ou plusieurs autres piegraveces (ex une carte reacuteseau)

Preacutecision de vocabulaire dimension dune association

La dimension dune association correspond au nombre de branches de lassociation Dans plus de 80 des cas les associations sont binaires

Dimension 2 binaire Dimension 3 ternaire (rare) Dimension supeacuterieure n-aire (exceptionnel)

Lorsquil ny a pas de reacuteflexiviteacute le nombre de branches est eacutegal au nombre dentiteacutes relieacutees La dimension est dans ce cas le nombre dentiteacutes concerneacutees par lassociation Mais la reacuteflexiviteacute existe et donc on peut avoir plusieurs branches de la mecircme association sur la mecircme entiteacute Dans ce cas alors la dimension est supeacuterieure au nombre dentiteacutes concerneacutees

24

Dimension = nombre dentiteacute lieacutees

Une association reacuteflexive (1 entiteacute) est quasiment toujours binaire (2 branches) On pourrait aussi avoir une association ternaire impliquant seulement deux entiteacutes

D-Passage MCD lt=gt modegravele relationnel

I-MRRappel sur le modegravele relationnel

Cest un modegravele LOGIQUE de donneacutee celui qui correspond agrave lorganisation des donneacutees dans les bases de donneacutees relationnelles (il existe dautres organisations de bases de donneacutees hieacuterarchique reacuteseau objethellip)

Les SGBD actuels les plus courants sont relationnels (Oracle SQL Server Access MySQL hellip )

Un modegravele relationnel est composeacute de relations encore appeleacutee tables Ces tables sont deacutecrites par des attributs ou champs (noms de colonnes) Pour deacutecrire une relation on indique tout simplement son nom en majuscule suivi du nom de ses attributs entre parenthegraveses

Lidentifiant dune relation est composeacute dun ou plusieurs attributs qui forment la cleacute primaire Une relation peut faire reacutefeacuterence agrave une autre en utilisant une cleacute eacutetrangegravere qui correspond agrave la cleacute primaire de la relation reacutefeacuterenceacutee

Il ny a pas de notation officielle pour repeacuterer les cleacutes primaires et eacutetrangegraveres Cest agrave vous den adopter une et de lexpliquer en leacutegende Toutefois une notation sest peu agrave peu reacutepandue

bull on souligne la cleacute primaire dun seul trait bull on fait preacuteceacuteder (ou suivre) les cleacutes eacutetrangegraveres du symbole

Chaque ligne (tuple ou enregistrement) dune table repreacutesente une occurrence de lentiteacute ou de lassociation correspondante

II-MRPassage du MCD au MR

Sommaire

bull 1 Regravegle 1 bull 2 Regravegle 2 bull 3 Exception agrave la regravegle 1 bull 4 Cas particulier des associations reacuteflexives

o 41 Reacuteflexive hieacuterarchique o 42 Reacuteflexive non hieacuterarchique

25

1-Regravegle 1

Toute entiteacute devient une relation ayant pour cleacute primaire son identifiant

Chaque proprieacuteteacute se transforme en attribut CLIENT (code_client nom preacutenom adresse code_postal ville teacuteleacutephone)

Remarque contrairement aux proprieacuteteacutes les attributs ne doivent pas comporter despaces

2-Regravegle 2

Toute association non hieacuterarchique (de type [n n] ou de dimension gt 2) devient une relation La cleacute primaire est formeacutee par la concateacutenation (juxtaposition) lensemble des identifiants des entiteacutes relieacutees Toutes les proprieacuteteacutes eacuteventuelles deviennent des attributs qui ne peuvent pas faire partie de la cleacute

CONCERNER (numeacutero_commande reacutefeacuterence_article quantiteacute)

Cette regravegle est valable pour toutes les associations ternaires (ou quaternaires) qui sont forceacutement non hieacuterarchiques (|cardinaliteacutes maximales toutes eacutegales agrave n)

3- Exception agrave la regravegle 1

Les entiteacutes nayant que leur identifiant comme attribut ne deviennent pas des relations mais des attributs dans les autres relations lieacutees

Avec ce modegravele on meacutemorise chaque jour pour chaque ouvrier les piegraveces quil a fabriqueacute et en quelle quantiteacute Quand on passe au modegravele relationnel lentiteacute DATE FABRICATION ne

26

devient pas une relation mais un attribut cleacute dans la relation FABRIQUE issue de lassociation

FABRIQUE (code_ouvrier reacutefeacuterence_piegravece date quantiteacute) Date ici fait partie de la cleacute primaire mais nest pas cleacute eacutetrangegravere

4-Cas particulier des associations reacuteflexives

Les associations reacuteflexives suivent les regravegles 2 ou 3 selon les |cardinaliteacutes mais posent un problegraveme particulier une mecircme proprieacuteteacute va se retrouver deux fois en attribut dans la mecircme relation Il faut alors donner un nom diffeacuterent et significatif aux deux attributs correspondants

Dans les reacuteflexives il est conseilleacute de nommer les branches par des rocircles pour pouvoir lire dans le bon sens lassociation Les rocircles aident agrave nommer les attributs correspondant agrave lassociation

41-Reacuteflexive hieacuterarchique

(Une branche agrave la cardinaliteacute maxi agrave 1 et lautre agrave n)

Regravegle ndeg 2

Lecture de lassociation Regravegle ndeg1 lidentifiant de SALARIE va devenir cleacute primaire et les autres proprieacuteteacutes des attributsRegravegle ndeg2 pour traduire lassociation [1 n] encadrer lidentifiant de lentiteacute SALARIE devient cleacute eacutetrangegraverelidentifiant de SALARIE matricule se retrouve deux fois dans la relation comme cleacute primaire et comme cleacute eacutetrangegravereOn va donc donner un nom diffeacuterent et significatif agrave ces deux matricules par exemple Un salarieacute a pour chef 0 ou un seul autre salarieacute Un salarieacute est chef de 0 agrave n autre(s) salarieacute

Traduction en modegravele relationnel

SALARIE (matricule nom preacutenom fonctionhellip matricule_chef)

42-Reacuteflexive non hieacuterarchique

Regravegle ndeg3

27

bull Lecture de lassociation

Une piegravece entre dans la composition de 0 agrave plusieurs autres piegraveces Une piegravece peut ecirctre composeacutee de plusieurs autres piegraveces Une piegravece entre dans la composition dune autre un certain nombre de fois

Ex La piegravece voiture est composeacutee de 4 piegraveces roue La piegravece roue est elle-mecircme composeacutee dune piegravece pneu et dune piegravece jante

Une piegravece entrant dans la composition dune autre est appeleacutee composant Une piegravece composeacutee dautres piegraveces est appeleacutee composeacute Une roue est agrave la fois un composant (de voiture) et un composeacute (de pneu et jante)

bull Traduction en modegravele relationnel

PIECE (reacutefeacuterence libelleacute)COMPOSITION(reacutefeacuterence_composeacute reacutefeacuterence_composant nombre)

E-Normalisation du modegravele relationnel

I- Deacutependance fonctionnelle

Sommaire

1 Introduction

2 Rappels sur la notion de deacutependance fonctionnelle

21 Deacutefinition

22 Terminologie

23 DF agrave partir de proprieacuteteacutes concateacuteneacutees

24 Proprieacuteteacutes des deacutependances fonctionnelles

241 Union

242 Transitiviteacute

1-Introduction

Lobjectif de la normalisation est de construire un scheacutema de base de donneacutees coheacuterentUn mauvais scheacutema logique peut conduire agrave un certain nombre danomalies pendant la phase dexploitation de la base de donneacutee Nous allons voir ces anomalies dans une premiegravere partiePour qursquoun modegravele relationnel soit normaliseacute il faut qursquoil respecte certaines contraintes appeleacutees les formes normales Les formes normales srsquoappuient sur les deacutependances fonctionnelles entre attributs

2-Rappels sur la notion de deacutependance fonctionnelle

La construction du MCD mais eacutegalement du modegravele relationnel correspondant repose presque entiegraverement sur le concept de deacutependance fonctionnelle Crsquoest ce concept qui permet

28

de passer drsquoun ensemble de proprieacuteteacutes non structureacute agrave un modegravele conceptuel des donneacutees formeacute drsquoentiteacutes et drsquoassociations et au modegravele relationnel correspondant

21-Deacutefinition

On dit que b est en deacutependance fonctionnelle (DF) de a si agrave une valeur quelconque de la proprieacuteteacute a on ne peut faire correspondre qursquoune seule valeur au plus de la proprieacuteteacute b

On note a b(Source)-gt (but)

Autrement dit si on connaicirct la valeur de a on peut en deacuteduire une seule valeur de bMais la reacuteciproque nrsquoest pas vrai (si on connaicirct b on ne peut pas en deacuteduire a)

bull Exemple

Num client Nom client

Il existe une DF entre num client et Nom client car si on connaicirct une valeur de la proprieacuteteacute num client (ex 4553) il ne peut lui correspondre qursquoune seule valeur de la proprieacuteteacute nom (ex Duval)

La reacuteciproque est fausse

Nom client Num client nrsquoest pas une DF

Si lrsquoon connaicirct la valeur de la proprieacuteteacute Nom client on ne peut pas en deacuteduire la proprieacuteteacute Num client car il peut y avoir des homonymes

22-Terminologie

Si on a une deacutependance fonctionnelle a b on peut employer les expressions suivantes de faccedilon eacutequivalente -Il y a une deacutependance fonctionnelle de a vers b- b est en deacutependance fonctionnelle de a- b deacutepend fonctionnellement de a- a est la source et b est le but (ou la cible) de la deacutependance fonctionnelle

23-DF agrave partir de proprieacuteteacutes concateacuteneacutees

(Partie gauche composeacutee de plusieurs attributs)

Il peut exister des deacutependances fonctionnelles agrave partir de proprieacuteteacutes concateacuteneacutees cest-agrave-dire qui forment un tout indissociable comme si elles eacutetaient soudeacutees

On note par un + cette concateacutenation

Exemple Consideacuterons une commande qui comporte plusieurs produits Num_Commande + Ref_Produit quantiteacute commandeacutee

Si on nrsquoa seulement le numeacutero de la commande on ne peut pas en deacuteduire la quantiteacute commandeacutee car il faut aussi savoir de quel produit De mecircme on ne peut pas savoir la quantiteacute commandeacutee drsquoun produit si on ne sait pas de quelle commande Il faut bien connaicirctre agrave la fois la commande et le produit (leurs identifiants respectifs) pour en deacuteduire la quantiteacute commandeacutee

29

Les deacutependances fonctionnelles dont la source est formeacutee de plusieurs proprieacuteteacutes doivent ecirctre eacuteleacutementaires cest-agrave-dire ne pas ecirctre creacuteeacutees artificiellement

Ex Num Commande + Num Client date commande nrsquoest pas une DF eacuteleacutementaire car on nrsquoa pas besoin du numeacutero de client pour connaicirctre la date de commande il suffit de connaicirctre le numeacutero de la commande La proprieacuteteacute Num Client ne

24-Proprieacuteteacutes des deacutependances fonctionnelles

Les deacutependances fonctionnelles ont les proprieacuteteacutes suivantes

241-Union

Si on a deux DF ayant la mecircme source on peut les rassembler en une seule en seacuteparant les

cibles par une virgule Si a b et a c

Ex Reacutefeacuterence Deacutesignation et Reacutefeacuterence Prix de vente unitaire

Alors par union on a Reacutefeacuterence Deacutesignation Prix de vente unitaire

Lors du traceacute du graphe des deacutependances fonctionnelles lrsquounion permet de regrouper sur une seule ligne toutes les deacutependances fonctionnelles ayant la mecircme source

242-Transitiviteacute

Si a b et b c alors on a a c

Ex Num Meacutedecin Code Service et Code Service Num Hopital

Alors on a Num Meacutedecin Num Hopital

Les DF qui peuvent ecirctre deacuteduites par transitiviteacute de deux autres DF (qui ne sont pas directes) doivent ecirctre eacutelimineacutees car elles sont alors redondantesIl ne reste alors que les DF directes cest-agrave-dire celles qui ne peuvent pas ecirctre retrouveacutees par transitiviteacute

Attention toutefois agrave la signification des deacutependances Une deacutependance fonctionnelle quon peut retrouver par transitiviteacute ne doit pas ecirctre supprimeacutee si elle na pas le mecircme sens que la transitiviteacute des deux autres car il y aurait perte dinformation

II-MRInteacuterecirct de la normalisation

Exemple

Pour vous montrer lrsquointeacuterecirct de la normalisation drsquoune base de donneacutee relationnelle voyons les problegravemes que peuvent poser lrsquoutilisation drsquoune base de donneacutee baseacutee sur un modegravele relationnel non normaliseacute

Soit le scheacutema de relation

30

FOURNISSEUR (NomFournisseur AdresseFournisseur Produits Prix)

Modegravele en extension

NomFournisseur AdresseFournisseur Produit Prix

Lebras 10 Rue des Gras - ClermontChaise table

2035

Dupont 86 Rue de la Reacutepublique - Moulins Bureau 60

Lajoie 26 Rue des Docircmes - Vichy Lit 50

Dupont 39 Rue des Buttes - MoulinsLampeTable de chevet

1825

bull 1degproblegraveme

Il nrsquoy a pas de cleacute primaire on ne sait pas si les deux Dupont sont diffeacuterents ou pas (si crsquoest le mecircme Dupont il y a une des deux adresses qui est fausse

bull 2degproblegraveme

Lrsquoadresse nrsquoest pas deacutecomposeacutee Si on veut par exemple rechercher tous les fournisseurs qui habitent la mecircme ville ccedila ne va pas ecirctre possible

bull 3degproblegraveme

Une relation (table) correspondant agrave ce scheacutema pourra eacuteventuellement contenir plusieurs produits pour un mecircme fournisseur

Dans ce cas il faudra faire face agrave un certain nombre de problegravemes

bull ladresse du fournisseur sera dupliqueacutee dans chaque n-uplet (redondance) bull si on souhaite modifier ladresse dun fournisseur il faudra rechercher et mettre agrave jour

tous les n-uplets correspondant agrave ce fournisseur bull si on insegravere un nouveau produit pour un fournisseur deacutejagrave reacutefeacuterenceacute il faudra veacuterifier

que ladresse est identique bull si on veut supprimer un fournisseur il faudra retrouver et supprimer tous les n-uplets

correspondant agrave ce fournisseur (pour diffeacuterents produits) dans la table bull La normalisation eacutelimine les redondances ce qui permet

- une diminution de la taille de la base de donneacutee sur le disque- une diminution des risques drsquoincoheacuterence- drsquoeacuteviter une mise agrave jour multiple des mecircmes donneacutees

31

III-MR 3 formes normales

Les 3 formes normales du modegravele relationnel

Sommaire

1 1er forme normale

2 2egraveme forme normale

3 3egraveme forme normale

4 Application des regravegles

5 Reacutesumeacute

1-1er forme normale

Une relation est normaliseacutee en premiegravere forme normale si

-Elle possegravede une cleacute identifiant de maniegravere unique et stable chaque ligne

-Chaque attribut est monovalueacute (ne peut avoir qursquoune seule valeur par ligne)

-Aucun attribut nrsquoest deacutecomposable en plusieurs attributs significatifs

Contre-exemple

EMPLOYE ( Nom Preacutenom Enfants Diplocircmes)

Cette relation nrsquoest pas en premiegravere forme normale

Un employeacute peut avoir plusieurs enfants et plusieurs diplocircmes En outre ces attributs sont deacutecomposables diplocircme est deacutecomposable en Nature et Anneacutee et Enfants est deacutecomposable en Preacutenom et Anneacutee de Naissance

2-2egraveme forme normale

Une relation R est en deuxiegraveme forme normale si et seulement si

-Elle est en 1FN

-Et tout attribut non cleacute est totalement deacutependant de toute la cleacute

Autrement dit aucun des attributs ne deacutepend que drsquoune partie de la cleacute La 2FN nest agrave veacuterifier que pour les relations ayant une cleacute composeacutee Une relation en 1FN nayant quun seul attribut cleacute est toujours en 2FN

Contre-exemple 32

Cette relation est en premiegravere forme normale (existence drsquoune cleacute valide et aucun attribut nrsquoest deacutecomposable)MAIS elle nrsquoest pas en 2deg forme normale car on a DeacutesignationProd ne deacutepend pas de toute la cleacute mais seulement de reacutefeacuterenceProd

ReacutefeacuterenceProd DeacutesignationProd

Pour connaicirctre lrsquoattribut deacutesignationProd on nrsquoa pas besoin de connaicirctre le numeacutero de commande

3-3egraveme forme normale

Une relation est en 3deg forme normale si et seulement si

Elle est en 2deg forme normale et tout attribut doit deacutependre directement de la cleacute cest-dire qursquoaucun attribut ne doit deacutependre de la cleacute par transitiviteacute

Autrement dit aucun attribut ne doit deacutependre drsquoun autre attribut non cleacute

Contre-exemple

CLIENT (Num_client Nom_client code_categ nom_categ) Cette relation nrsquoest pas en 3FN car num_client nom_categ nrsquoest pas une deacutependance directe

En effet on a aussi num_client num_categ nom_categ

4-Application des regravegles

Si lrsquoune des 3 regravegles nrsquoest pas veacuterifieacutee cela indique une erreur dans le modegravele relationnel et il faut alors modifier pour que les 3 regravegles soient veacuterifieacutees pour toutes les relationsOn veacuterifie les regravegles dans lrsquoordre Si la premiegravere forme normale nrsquoest pas respecteacutee pas la peine de veacuterifier la 2FN Et si la 2FN nrsquoest pas veacuterifieacutee inutile de veacuterifier la 3FN

5-Reacutesumeacute

Modegravele normaliseacute = relations avec

-Une cleacute qui permet de distinguer chaque occurrence

-Des attributs eacuteleacutementaires (1FN)

-En deacutependance de TOUTE la cleacute (2FN)

-Et RIEN QUE de la cleacute (3FN)

On parle aussi de normalisation pour un MCD Un MCD qui donne un MR normaliseacute est qualifieacute aussi de normaliseacute

F-MeriseLes diagrammes de flux

Les diagrammes de flux reacutepondent agrave la question Que fait le systegraveme

33

En ce sens ce sont des modegraveles FONCTIONNELS (qui deacutecrivent les fonctions)

Il existe2 types principaux de diagrammes de flux

1 Le modegravele de contexte (MC) ougrave le domaine drsquoeacutetude est vu comme une boite noire On ne repreacutesente que les flux exteacuterieurs au domaine

2 Le modegravele de flux de donneacutees (DFD) ou encore modegravele de flux conceptuels (MFC) ougrave lrsquoon deacutetaille les activiteacutes du domaine drsquoeacutetude On repreacutesente aussi les flux internes au domaine

I-MeriseVocabulaire associeacute aux modegraveles de flux

Sommaire

bull 1 Domaine deacutetude bull 2 Acteur externe bull 3 Domaine connexe

bull 4 Flux de donneacutees

1-Domaine deacutetude

Le domaine deacutetude est un sous-ensemble coheacuterent de lentreprise ou de lorganisme bien deacutelimiteacute et formant le contenu du sujet agrave eacutetudier

Dans les modegraveles de flux le domaine deacutetude est repreacutesenteacute par un rectangle agrave trait plein Le nom du domaine est placeacute agrave lrsquointeacuterieur du rectangle

2-Acteur externe

Un acteur externe est un eacuteleacutement eacutemetteur ou reacutecepteur de donneacutees situeacute hors du systegraveme dinformation eacutetudieacute

Dans les modegraveles de flux un acteur externe est repreacutesenteacute par un cercle plein Le nom de lrsquoacteur est placeacute agrave lrsquointeacuterieur du cercle

3-Domaine connexe

Un domaine connexe est un composant du systegraveme drsquoinformation interagissant avec le domaine drsquoeacutetude Crsquoest un acteur interne agrave lrsquoentreprise mais externe au domaine drsquoeacutetude

34

Dans les modegraveles de flux une activiteacute est repreacutesenteacutee graphiquement par un rectangle Le nom de lactiviteacute est placeacute agrave lrsquointeacuterieur du rectangle

4-Flux de donneacutees

Un flux est un transfert drsquoinformations entre composants du systegraveme Le composant peut ecirctre un domaine une activiteacute ou un acteur externe

Dans les modegraveles de flux un flux de donneacutees est repreacutesenteacute graphiquement par une flegraveche orienteacutee du composant eacutemetteur du flux vers le composant reacutecepteur Le libelleacute du flux est inscrit en regard de la flegraveche traceacutee

Formalisme graphique illustrant par exemple un eacutechange entre un acteur externe et le domaine deacutetude

II-MeriseModegravele de contexte

Le modegravele de contexte sert agrave repreacutesenter les interactions entre le domaine deacutetude et lrsquoenvironnement et entre le domaine deacutetude et les eacuteventuels domaines connexes

Le domaine deacutetude y est repreacutesenteacute comme une boicircte noire

Le modegravele de contexte utilise les concepts suivants

bull le domaine deacutetude bull les acteurs externes bull les flux de donneacutees bull les domaines connexes

Exemple de modegravele de contexte au sein drsquoune socieacuteteacute commerciale on eacutetudie le domaine laquo gestion des ventes raquo

35

Remarque

bull on ne fait pas apparaicirctre les flux entre acteurs externes et domaines connexes ou entre les domaines connexes

Exemple le flux correspondant agrave la livraison de marchandises nrsquoapparaicirct pas

II-MeriseMFC ou DFD

Sommaire

bull 1 Modegravele de flux conceptuel(MFC) ou diagramme de flux de donneacutees(DFD) o 11 Deacutefinition o 12 Exemple o 13 Regravegles de deacutecomposition des activiteacutes

1-Modegravele de flux conceptuel (MFC) ou diagramme de flux de donneacutees (DFD)

11-Deacutefinition

Ce modegravele permet de deacutecider quelles activiteacutes inter-relieacutees de quelle maniegravere permettront de reacutesoudre au mieux le problegraveme poseacute et cette reacuteflexion est meneacutee sans sencombrer dans un premier temps du comportement du systegraveme (ordonnancement regravegles deacutemission synchronisationshellip)

Les modegraveles de flux conceptuels permettent de deacutecomposer le domaine drsquoeacutetude en activiteacutes Il nrsquoy a pas ici de notion drsquoorganisation mais drsquoobjectifs agrave reacutealiser On repreacutesente les flu x entre activiteacutes et avec lrsquoenvironnement

Pour analyser les communications et les activiteacutes on procegravede par laquo zooms raquo successifs sur le domaine eacutetudieacute pour eacutelaborer des modegraveles de plus en plus deacutetailleacutes qui permettront davoir une cartographie deacutetailleacutee du systegraveme et de preacuteparer le passage au modegravele conceptuel de repreacutesentation des traitements

36

Le modegravele de contexte est eacutegalement appeleacute le diagramme de flux de donneacutees de niveau 0

Nous obtenons ensuite des diagrammes de premier deuxiegraveme troisiegraveme hellip niveau par eacuteclatements successifs des activiteacutes agrave chacun de ces niveaux

La deacutecomposition drsquoun domaine ou drsquoune activiteacute en plusieurs activiteacutes peut faire apparaicirctre de nouveaux flux dus

1 agrave lrsquoeacutechange drsquoinformations entre activiteacutes 2 agrave la deacutecomposition drsquoun flux preacutesent au niveau n en plusieurs flux au niveau n+1

12-Exemple

Si on reprend le modegravele de contexte preacuteceacutedent on srsquoaperccediloit que le domaine des ventes peut-ecirctre eacuteclateacute en trois activiteacutes Nous obtenons ainsi le diagramme de flux de donneacutees de niveau 1

Remarque

bull On peut deacutecomposer le modegravele de flux de niveau 1 en un modegravele de flux de niveau 2 et etc hellip jusqursquoagrave arriver agrave un modegravele ougrave lrsquoactiviteacute correspond agrave une opeacuteration au sens Merise (regravegle drsquoininterruption)

Exemple lrsquoactiviteacute laquo gestion des factures raquo peut ecirctre encore deacutecomposeacutee en activiteacutes laquo facturation raquo et laquo Suivi des regraveglements raquo

13-Regravegles de deacutecomposition des activiteacutes

bull Pourquoi deacutecomposer

1 Pour deacutesagreacuteger les groupes de flux pour arriver agrave la deacutefinition des flux-types du domaine eacutetudieacute

2 Pour preacuteparer leacutetude dynamique du systegraveme dinformation pour arriver agrave lrsquoidentification des processus et des opeacuterations conceptuelles

bull Comment deacutecomposer

37

1 Identifier les groupes de donneacutees entrant et sortant du domaine drsquoeacutetude pour construire le modegravele de contexte

2 Identifier les activiteacutes geacuteneacuterant ou traitant les flux de donneacutees pour construire le DFD de niveau 1(approche par les donneacutees) ou identifier une activiteacute de niveau 1 comme un ensemble drsquoactiviteacutes participant agrave une mecircme finaliteacute (approche par les objectifs)

bull Jusquougrave deacutecomposer

Lorsquune activiteacute a atteint le niveau dinterruptabiliteacute (degraves lors que le traitement est deacuteclencheacute il se deacuteroule sans attente de ressources compleacutementaires exteacuterieures) Lactiviteacute est alors une opeacuteration conceptuelle qui sera deacutecrite lors de leacutetude dynamique du SI dans le MCTA

G-Les Modegraveles de traitements (MCT et MCTA)

I-MeriseMCT

Sommaire

bull 1 Modeacutelisation des Traitements bull 2 Le MCT bull 3 Les concepts du MCT

o 31 Lrsquoeacuteveacutenement o 32 Lrsquoopeacuteration o 33 Le reacutesultat o 34 La synchronisation o 35 Regravegle deacutemission o 36 Rocircle des regravegles de gestion o 37 Le processus

bull 4 Meacutethode drsquoeacutetablissement drsquoun MCT o 41 Regravegles de validation o 42 Cas particuliers

421 Cycles

422 Les eacuteveacutenements consommables

1-Modeacutelisation des Traitements

La modeacutelisation des traitements pour but de faire la repreacutesentation dynamique du systegraveme drsquoinformation crsquoest-agrave dire de repreacutesenter lrsquoenchaicircnement des traitements reacutealiseacutes

Cette modeacutelisation srsquoeffectue agrave deux niveaux

1 le niveau conceptuel ougrave lrsquoon srsquointeacuteresse aux opeacuterations en dehors de toute mise en oeuvre organisationnelle

2 le niveau organisationnel ougrave se pose les questions du qui ougrave quand

2-Le MCT

Lrsquoobjectif du MCT est de reacutepondre agrave la question QUOI faire par rapport agrave un eacuteveacutenement Crsquoest la chronologie qui importe Autrement dit le MCT est une repreacutesentation de la

38

succession des regravegles de gestion dont lrsquoentreprise veut se doter pour reacutepondre aux eacuteveacutenements auxquels elle doit faire face du fait de son activiteacute et de son environnement

3-Les concepts du MCT

31-Lrsquoeacuteveacutenement

Crsquoest une sollicitation du systegraveme drsquoinformation qui geacutenegravere une reacuteaction de la part de celui-ci

Un eacuteveacutenement peut ecirctre externe au domaine eacutetudieacute (ex commande client) ou interne au SI souvent le reacutesultat drsquoun processus anteacuterieur (ex ordre de preacuteparation) Un eacuteveacutenement peut-ecirctre aussi temporel cest-agrave-dire lieacute agrave des dates qui rythment lrsquoexeacutecution de certains traitements (deacutelai de maintenance relances)

32-Lrsquoopeacuteration

Crsquoest un ensemble drsquoactions accomplies par le systegraveme drsquoinformation en reacuteaction agrave un eacuteveacutenement ou agrave une conjonction drsquoeacuteveacutenements et non interruptibles par un eacuteveacutenement externe

Remarque Une opeacuteration deacuteclenche au moins un reacutesultat Une opeacuteration est repreacutesenteacutee par un verbe ou mieux un substantif (ex Preacuteparer la commande ou preacuteparation de la commande)

34-Le reacutesultat

Un reacutesultat peut-ecirctre un document un message externe un nouvel eacutetat du SI (nouvelle situation nouvelles donneacutees) creacuteeacute par une opeacuteration qui peut lui-mecircme jouer le rocircle drsquoeacuteveacutenement

Un reacutesultat externe repreacutesente une information envoyeacutee agrave lrsquoexteacuterieur du SI (ex facture)

Un reacutesultat interne est un nouvel eacutetat du systegraveme drsquoinformation (ex ordre de preacuteparation)

35-La synchronisation

Crsquoest une condition booleacuteenne (ET OU) traduisant les regravegles de gestion que doivent respecter les eacuteveacutenements pour deacuteclencher une opeacuteration Dans le cas ET elle marque quun eacuteveacutenement deacutejagrave lagrave doit en attendre un ou plusieurs autres

Remarque Pour quil soit question de synchronisation il faut la preacutesence de plusieurs eacuteveacutenements deacuteclencheurs aussi le symbole de synchronisation est laisseacute agrave blanc dans le cas dun eacuteveacutenement unique

Si tous les eacuteveacutenements entrants sont lieacutes par le mecircme opeacuterateur on peut seulement faire figurer lopeacuterateur dans le symbole de synchronisation sinon il faut numeacuteroter les eacuteveacutenements (a b c hellip) et constituer lexpression agrave laide des eacuteveacutenements et des opeacuterateurs (ex (a ET b) OU c) Regravegle deacutemission

Condition traduisant les regravegles de gestion qui permet dexprimer des conditions de sortie des reacutesultats

39

Remarques Lexpression dune regravegle deacutemission peut ecirctre composeacutee de plusieurs conditions eacuteleacutementaires relieacutees par les opeacuterateurs ET OU On peut eacutegalement utiliser lopeacuterateur NON pour exprimer la neacutegation dune condition

36-Rocircle des regravegles de gestion

Recenseacutees lors de leacutetude de lexistant ou deacutefinies pour le futur SI elles deacutecrivent les enchaicircnements dopeacuterations Elles rendent possible le regroupement des actions au sein dune seule opeacuteration non interruptible au niveau conceptuel

37-Le processus

Crsquoest un enchaicircnement synchroniseacute dopeacuterations au sein dun mecircme domaine geacuteneacuteralement deacuteclencheacute par un eacuteveacutenement externe (externe au domaine ou au SI tout entier)

Un MCT est la repreacutesentation de lrsquoenchaicircnement des opeacuterations drsquoun processus

4-Meacutethode drsquoeacutetablissement drsquoun MCT

1 Reacutealiser le graphe des flux (repreacutesentation des acteurs eacuteveacutenements et reacutesultats externes

2 Pour chaque eacuteveacutenement recenser les opeacuterations deacuteclencheacutees etou les eacuteveacutenements internes produits

3 Regrouper dans une mecircme opeacuteration tous les traitements qui ont les mecircmes deacuteclencheurs dans une uniteacute de temps avec la mecircme synchronisation

41-Regravegles de validation

Une opeacuteration ne peut pas ecirctre interrompue par lrsquoattente drsquoun eacuteveacutenement externe

Si tel est le cas il faut deacutecrire une seconde opeacuteration deacuteclencheacutee par cet eacuteveacutenement en attente

42-Cas particuliers

421-Cycles

Pour une mecircme opeacuteration leacuteveacutenement deacuteclencheur et leacuteveacutenement reacutesultat sont identiques

Une commande de client est servie si les marchandises sont disponibles sinon cette commande est mise en attente Les commandes en attente sont reacuteexamineacutees lors de chaque reacuteapprovisionnement afin de les livrer

40

Il faut sassurer que le cycle a bien un deacutebut et une fin ici cest lrsquoeacuteveacutenement Reacuteapprovisionnement effectueacute qui permet deacuteviter que le cycle ne se deacuteroule sans fin sur les commandes en attente

Noter limportance du concept doccurrences deacuteveacutenement

-une occurrence de Reacuteappro est-elle autoriseacutee agrave consommer toutes les occurrences de Commande en attente

-si le reacuteapprovisionnement est insuffisant de nouvelles occurrences de Commande en attente doivent-elles ecirctre creacuteeacutees

422-Les eacuteveacutenements consommables

Un client non satisfait peut retourner un article On lui fait un avoir Il peut alors le preacutesenter en caisse pour ecirctre rembourseacute de son achat Il peut encore remplacer larticle deacutefectueux par un autre auquel cas on annule lavoir

41

Ce qui pose question

UNE occurrence de leacuteveacutenement avoir eacutetabli ne peut ecirctre consommeacutee par 2 opeacuterations (rembourser et imputer)

Dit autrement avoir eacutetabli ne sait pas vers quelle opeacuteration se diriger On pourrait se dire quil est implicite que cest le premier eacuteveacutenement qui survient qui gagne si Echange survient en premier alors lavoir est annuleacute

Cependant que se passe-t-il si les 2 eacuteveacutenements externes se produisent simultaneacutement Si on impleacutemente tel quel ce scheacutema dans un automate il est vraisemblable que le client pourra avoir le beurre et largent du beurre

se preacutesenter en caisse et faire leacutechange pour un seul retour Il est donc preacutefeacuterable dexpliciter (cf ci-apregraves)

Une autre solution consiste agrave indiquer explicitement que cet eacuteveacutenement est consommable cest-agrave-dire que la premiegravere opeacuteration qui se deacuteclenche annule lrsquoeacuteveacutenement pour lrsquoautre opeacuteration

42

II-MeriseInteacutegration des donneacutees dans le MCT

Sommaire

bull 1 DEFINITION bull 2 FORMALISME DU MCTA bull 3 REPRESENTATION DES ACTIONS SUR LES DONNEES bull 4 COMPLEMENTS

o 41 Condition de deacuteclenchement o 42 Action collective o 43 Coheacuterence de la base de donneacutees o 44 REGLES DE VALIDATION DrsquoUN MCTA

o 45 Exemple de MCTA

1-DEFINITION

Le MCTA est une repreacutesentation syntheacutetique des traitements qui met en eacutevidence les reacuteactions du systegraveme aux eacuteveacutenements et linteraction avec les donneacutees

Il vise agrave

Deacutecrire le fonctionnement du systegraveme indeacutependamment de lorganisation

Donner une vision des traitements et de la coordination des eacuteveacutenements deacuteclencheurs

Rapprocher les donneacutees et les traitements

2-FORMALISME DU MCTA

Pour mettre en eacutevidence lrsquoarticulation entre les donneacutees et les traitements dans le MCT on ajoute agrave droite de chaque opeacuteration les entiteacutes ou associations qui sont consulteacutees ou qui subissent un changement drsquoeacutetat (creacuteation mise agrave jour suppression hellip)

43

3-REPRESENTATION DES ACTIONS SUR LES DONNEES

Un objet correspond agrave une entiteacute ou une association du MCD correspondant au champ drsquoeacutetude du SI Une action est une manipulation (creacuteation consultation modification ou suppression) drsquoun objet du systegraveme drsquoinformation Elle est symboliseacutee par un trait entre lrsquoopeacuteration et lrsquoobjet manipuleacute Ce trait est non orienteacute sil sagit dune suppression et il est orienteacute pour les autres types de manipulation le sens de la flegraveche deacutepend du type de manipulation

Un eacutetat drsquoobjet est un stade transitoire par lequel passe un objet (entiteacute ou association) au cours de sa laquo vie raquo

Dans un MCTA une opeacuteration est composeacutee dun ensemble dactions sur les donneacutees

Les actions sur les donneacutees sont de 4 types

Creacuteation drsquoune occurrence

Creacuteation drsquoune occurrence de lrsquoobjet 1 dans lrsquoeacutetat 1

Suppression drsquoune occurrence

Suppression drsquoune occurrence de lrsquoobjet 3 se trouvant dans lrsquoeacutetat 2

Consultation drsquoune occurrence

Consultation drsquoune occurrence de lrsquoobjet 4 dans lrsquoeacutetat 6 Leacutetat de lrsquoobjet nrsquoest pas indiqueacute mais sera eacuteventuellement testeacute avant reacutealisation de la (ou des) action (s) suivante (s)

44

Modification drsquoune occurrence

Modification drsquoune occurrence de lrsquoobjet 2 si elle est dans lrsquoeacutetat 3 elle passe agrave lrsquoeacutetat 4 ou agrave lrsquoeacutetat 5

Lrsquoaction de modification inclut implicitement la ou les consultations preacutealables

On ne doit pas seacuteparer les consultations qui preacutecegravedent les modifications des modifications elles-mecircmes

Remarque geacuteneacuterale Lrsquoordre des actions drsquoune opeacuteration sera si possible preacutesenteacute de haut en bas

4-COMPLEMENTS

41-Condition de deacuteclenchement

Lrsquoaction eacuteleacutementaire peut ecirctre accompagneacutee drsquoune condition de deacuteclenchement (agrave indiquer au niveau du trait ou agrave cocircteacute de lrsquoobjet) Cette condition peut porter sur lrsquoeacutetat de la structure des donneacutees agrave un moment preacutecis etou sur le type drsquoeacuteveacutenement constateacute agrave lrsquoentreacutee de lrsquoopeacuteration

42-Action collective

Elle permet drsquoindiquer que lrsquoaction intervient sur un ensemble drsquooccurrences de lrsquoobjet concerneacute (toutes srsquoil nrsquoy a pas de condition de deacuteclenchement associeacutee limitant le nombre drsquooccurrences manipuleacutees)

Exemple en fin de mois une compagnie dassurances reacutesilie les polices quelle a proposeacutees degraves que le deacutelai de signature de celles-ci est deacutepasseacute

45

C1 si le deacutelai de signature est deacutepasseacute

43-Coheacuterence de la base de donneacutees

Une BD a coheacuterent si elle ne comporte pas de contradictions (par rapport aux regravegles de gestion en particulier)

Une action peut ne pas laisser la structure de donneacutees dans un eacutetat coheacuterent

En revanche la coheacuterence doit toujours ecirctre assureacutee au niveau drsquoune opeacuteration

44-REGLES DE VALIDATION DrsquoUN MCTA

Une opeacuteration conceptuelle ne doit pas ecirctre interrompue par lrsquoattente drsquoun eacuteveacutenement externe

Une opeacuteration conceptuelle prend la structure de donneacutees manipuleacutees dans un eacutetat coheacuterent et la rend dans un eacutetat coheacuterent

46

45-Exemple de MCTA

C1 si le client eacutetait preacuteceacutedemment un client prospect (cest-agrave-dire client potentiel)

C2 sil sagit dun nouveau client ou si le client eacutetait preacuteceacutedemment un client prospect le client est mis en portefeuille (cest-agrave-dire qursquoil est reacuteellement client)

C3 si disponibiliteacute de tous les produits (quantiteacute en stock suffisante pour assurer la livraison)

Remarque on considegravere ici qursquoil nrsquoy a pas de livraison partielle

47

  • I-Systegraveme drsquoinformation de gestion
    • Sommaire
      • 1-Qursquoest ce qursquoun systegraveme
      • 2-Qursquoest ce qursquoun systegraveme drsquoinformation de gestion
      • 3-Les fonctions du systegraveme drsquoinformation
      • II-MeriseModeacutelisation
        • Sommaire
          • 1-Qursquoest qursquoun modegravele
          • 2-La meacutethode Merise
            • 21-Les composantes de Merise
            • 22-La deacutemarche Merise
            • 23-Les niveaux drsquoabstraction
            • 24-La courbe du soleil
              • Deacutefinition
              • I-MCDRecueil des donneacutees
              • Exemple
              • II-MCDConcepts et du formalisme
                • Sommaire
                  • 1-Les concepts de base
                    • 11-Entiteacute
                    • 12-Association
                    • 13-Cardinaliteacutes
                      • 2-La notion drsquooccurrence
                      • III-MCDRegravegles de construction
                        • Sommaire
                          • 1-Regravegles concernant les proprieacuteteacutes
                          • 2-Regravegles concernant les entiteacutes
                          • 3-Regravegles concernant les associations
                          • IV-MCDIntroduction aux cardinaliteacutes
                            • Sommaire
                              • 1-Formalisme
                              • 2-La cardinaliteacute minimale
                                • 21--Exemples
                                • 22-Application
                                  • 3-La cardinaliteacute maximale
                                    • 31-Exemple 1
                                    • 32-Exemple 2
                                      • 4-Conclusion
                                      • 5-Exemple
                                      • 6-Repreacutesentation des cardinaliteacutes
                                      • I-MCDCardinaliteacutes
                                        • Sommaire
                                          • 1-Deacutefinition et formalisme
                                          • 2-La cardinaliteacute minimale
                                            • 21-Exemple
                                            • 22-Application
                                              • 3-La cardinaliteacute maximale
                                                • 31-Exemple
                                                  • 4-Reacutecapitulatif
                                                    • 41-Exemples complets
                                                      • II-MCDAssociations
                                                        • Sommaire
                                                          • 1-Les associations binaires concernant 2 entiteacutes
                                                            • 11-Les associations hieacuterarchiques [1 n]
                                                            • 12-Les associations non hieacuterarchiques [n n]
                                                            • 13-Les associations de type [1 1]
                                                              • 2-Les autres types dassociation
                                                                • 21-Les associations reacuteflexives
                                                                  • 211-Exemple dassociation reacuteflexive hieacuterarchique
                                                                  • 212--Exemples dassociations reacuteflexives non hieacuterarchiques
                                                                    • 22-Les associations de dimension 3 ou plus (ternaires ou plus)
                                                                      • III-MCDRepreacutesentation des cardinaliteacutes
                                                                      • IV-MCDAssociation ternaire
                                                                      • V-MCDAssociations reacuteflexives
                                                                      • 1-Exemple dassociation reacuteflexive hieacuterarchique
                                                                      • 2-Exemples dassociations reacuteflexives non hieacuterarchiques
                                                                      • I-MRRappel sur le modegravele relationnel
                                                                      • II-MRPassage du MCD au MR
                                                                        • Sommaire
                                                                          • 1-Regravegle 1
                                                                          • 2-Regravegle 2
                                                                          • 3-Exception agrave la regravegle 1
                                                                          • 4-Cas particulier des associations reacuteflexives
                                                                            • 41-Reacuteflexive hieacuterarchique
                                                                            • 42-Reacuteflexive non hieacuterarchique
                                                                              • E-Normalisation du modegravele relationnel
                                                                              • I-Deacutependance fonctionnelle
                                                                                • Sommaire
                                                                                  • 1-Introduction
                                                                                  • 2-Rappels sur la notion de deacutependance fonctionnelle
                                                                                    • 21-Deacutefinition
                                                                                    • 22-Terminologie
                                                                                    • 23-DF agrave partir de proprieacuteteacutes concateacuteneacutees
                                                                                    • 24-Proprieacuteteacutes des deacutependances fonctionnelles
                                                                                      • 241-Union
                                                                                      • 242-Transitiviteacute
                                                                                          • II-MRInteacuterecirct de la normalisation
                                                                                          • Exemple
                                                                                          • III-MR 3 formes normales
                                                                                            • Sommaire
                                                                                              • 1-1er forme normale
                                                                                              • 2-2egraveme forme normale
                                                                                              • 3-3egraveme forme normale
                                                                                              • 4-Application des regravegles
                                                                                              • 5-Reacutesumeacute
                                                                                              • F-MeriseLes diagrammes de flux
                                                                                              • I-MeriseVocabulaire associeacute aux modegraveles de flux
                                                                                                • Sommaire
                                                                                                  • 1-Domaine deacutetude
                                                                                                  • 2-Acteur externe
                                                                                                  • 3-Domaine connexe
                                                                                                  • 4-Flux de donneacutees
                                                                                                  • II-MeriseModegravele de contexte
                                                                                                  • II-MeriseMFC ou DFD
                                                                                                    • Sommaire
                                                                                                      • 1-Modegravele de flux conceptuel (MFC) ou diagramme de flux de donneacutees (DFD)
                                                                                                        • 11-Deacutefinition
                                                                                                        • 12-Exemple
                                                                                                        • 13-Regravegles de deacutecomposition des activiteacutes
                                                                                                          • I-MeriseMCT
                                                                                                            • Sommaire
                                                                                                              • 1-Modeacutelisation des Traitements
                                                                                                              • 2-Le MCT
                                                                                                              • 3-Les concepts du MCT
                                                                                                                • 31-Lrsquoeacuteveacutenement
                                                                                                                • 32-Lrsquoopeacuteration
                                                                                                                • 34-Le reacutesultat
                                                                                                                • 35-La synchronisation
                                                                                                                • 36-Rocircle des regravegles de gestion
                                                                                                                • 37-Le processus
                                                                                                                  • 4-Meacutethode drsquoeacutetablissement drsquoun MCT
                                                                                                                    • 41-Regravegles de validation
                                                                                                                    • 42-Cas particuliers
                                                                                                                      • 421-Cycles
                                                                                                                      • 422-Les eacuteveacutenements consommables
                                                                                                                          • II-MeriseInteacutegration des donneacutees dans le MCT
                                                                                                                            • Sommaire
                                                                                                                              • 1-DEFINITION
                                                                                                                              • 2-FORMALISME DU MCTA
                                                                                                                              • 3-REPRESENTATION DES ACTIONS SUR LES DONNEES
                                                                                                                              • 4-COMPLEMENTS
                                                                                                                                • 41-Condition de deacuteclenchement
                                                                                                                                • 42-Action collective
                                                                                                                                • 43-Coheacuterence de la base de donneacutees
                                                                                                                                • 44-REGLES DE VALIDATION DrsquoUN MCTA
                                                                                                                                • 45-Exemple de MCTA
Page 11: 7472422 Cours de Merise

On ne repreacutesente pas cet identifiant au niveau du MCD Deux occurrences drsquoassociation ne peuvent pas avoir le mecircme identifiant Pour une occurrence lrsquoidentifiant ne doit jamais changer de valeur (lrsquoidentifiant est une proprieacuteteacute constante)

bull Une association peut avoir des proprieacuteteacutes mais ce nrsquoest pas obligatoire

IV-MCDIntroduction aux cardinaliteacutes

Sommaire

bull 1 Formalisme bull 2 La cardinaliteacute minimale

o 21 Exemples o 22 Application

bull 3 La cardinaliteacute maximale o 31 Exemple 1 o 32 Exemple 2

bull 4 Conclusion bull 5 Exemple

bull 6 Repreacutesentation des cardinaliteacutes

Les cardinaliteacutes drsquoune entiteacute dans une association exprime le nombre de fois qursquoune occurrence de cette entiteacute est impliqueacutee dans lrsquoassociation au minimum et au maximum

1-Formalisme

2-La cardinaliteacute minimale

Elle est exprimeacutee presque toujours par lrsquoune des deux valeurs 0 ou 1Elle traduit combien de fois au minimum une occurrence de lrsquoentiteacute participe agrave lrsquoassociation

21--Exemples

Pour la cardinaliteacute mini entre client et commander il faut se poser la question Pour un client donneacute combien de fois au minimum il commande Si la reacuteponse est laquo tout client doit passer au moins une commande sinon ce nrsquoest pas un client raquo on met la cardinaliteacute mini agrave 1

11

Mais on peut tregraves bien imaginer que lrsquoentreprise veut aussi meacutemoriser les clients potentiels (prospects) qui nrsquoont encore rien commandeacute Dans ce cas un client peut tregraves bien ne pas avoir encore commandeacute et on met la cardinaliteacute mini agrave 0

22-Application

1 Trouver la question qui permet de trouver la cardinaliteacute minimale pour lrsquoentiteacute produit et lrsquoassociation commander

2 Faites deux hypothegraveses de regravegle de gestion concernant ce lien et trouver les cardinaliteacutes minimales correspondantes

3-La cardinaliteacute maximale

Elle traduit combien de fois au maximum lrsquoentiteacute peut ecirctre en relation avec lrsquoassociation Cela peut ecirctre plusieurs fois (si crsquoest un nombre indeacutetermineacute on indique la valeur n) ou une seule foisOn reacutepond agrave la question Combien au maximum lrsquoentiteacute peut participer agrave lrsquoassociation Si la reacuteponse est laquo au plus une fois raquo la cardinaliteacute maximale prend pour valeur 1Si la reacuteponse est laquo plusieurs raquo la cardinaliteacute maximale prend la valeur N

31-Exemple 1

bull REGLES DE GESTION

Un salarieacute est affecteacute au plus agrave un seul service Dans un service sont affecteacutes plusieurs salarieacutes

Il arrive (mais crsquoest rare) qursquoune cardinaliteacute maximale ait une valeur limiteacutee

32-Exemple 2

bull REGLE DE GESTION Un eacutelegraveve doit suivre au minimum une option et au maximum 3 options

12

4-Conclusion

En fait dans la grande majoriteacute des cas on nrsquoutilise que 4 combinaisons de valeurs pour les cardinaliteacutes

bull 01 au plus un(e) bull 11 un(e) et un(e) seul(e) bull 1 n un(e) ou plusieurs bull 0 n zeacutero ou plusieurs

5-Exemple

6-Repreacutesentation des cardinaliteacutes

Une voiture est posseacutedeacutee par une seule personne Une personne peut posseacuteder de 0 agrave plusieurs voitures

Une personne a une adresse ou est sans domicile A une adresse il y a une ou plusieurs personne qui y habitent

13

C-Les cardinaliteacutes et les diffeacuterents types dassociations

I-MCDCardinaliteacutes

Sommaire

bull 1 Deacutefinition et formalisme bull 2 La cardinaliteacute minimale

o 21 Exemple o 22 Application

bull 3 La cardinaliteacute maximale o 31 Exemple

bull 4 Reacutecapitulatif o 41 Exemples complets

1-Deacutefinition et formalisme

Les cardinaliteacutes sont des couples de valeur que lon trouve entre chaque entiteacute et ses associations lieacuteesDonc pour une association de 2 entiteacutes il y a 4 cardinaliteacutes agrave indiquer (2 de chaque cocircteacute)Il y a trois valeurs typiques 0 1 et N (plusieurs)

Pour les associations agrave 2 entiteacutes ce sont des valeurs qui permettent drsquoindiquer combien de fois au minimum et au maximum une occurrence dentiteacute peut ecirctre lieacutee agrave une autre occurrence dentiteacute

De maniegravere plus geacuteneacuterale les cardinaliteacutes drsquoune entiteacute dans une association expriment le nombre de fois qursquoune occurrence de cette entiteacute peut ecirctre impliqueacutee dans une occurrence de lassociation au minimum et au maximum

Les cardinaliteacutes traduisent des regravegles de gestion Ce sont des regravegles propres agrave lorganisation eacutetudieacutee qui sont deacutecideacutees par les gestionnaires et deacutecideurs Ces regravegles expriment des contraintes sur le modegravele

2-La cardinaliteacute minimale

14

Elle est exprimeacutee presque toujours par lrsquoune des deux valeurs 0 ou 1 Elle traduit combien de fois au minimum une occurrence de lrsquoentiteacute participe agrave lrsquoassociation autrement dit si une occurrence est obligatoirement associeacutee agrave une autre ou pas

21-Exemple

Pour la cardinaliteacute minimale entre client et commander il faut se poser la question Pour un client donneacute combien de fois au minimum il commande

ou encore mieux Est-il obligatoire quun client effectue une commande de produit

Cela deacutepend des REGLES DE GESTION de lentreprise Si la regravegle de gestion est laquo tout client doit passer au moins une commande sinon ce nrsquoest pas un client raquo on met la cardinaliteacute mini agrave 1

Mais on peut tregraves bien imaginer que lrsquoentreprise veut aussi meacutemoriser les clients potentiels (prospects) qui nrsquoont encore rien commandeacute Dans ce cas un client peut tregraves bien ne pas avoir encore commandeacute et on met la cardinaliteacute mini agrave 0

En fait les cardinaliteacutes deacutependent des regravegles de gestion propres agrave lrsquoorganisation eacutetudieacutee La regravegle peut tregraves bien ecirctre laquo On ne meacutemorise que les clients qui ont deacutejagrave commandeacute raquo ou bien laquo On veut meacutemoriser les prospects raquo

22-Application

bull Trouver la question qui permet de trouver la cardinaliteacute minimale pour lrsquoentiteacute produit et lrsquoassociation commander

Reacuteponse Est-il obligatoire quun produit ait eacuteteacute commandeacute pour quil soit meacutemoriseacute dans la base de donneacutee ou bien Peut-il exister dans la base de donneacutee des produits qui nont jamais eacuteteacute commandeacutes

bull Faites deux hypothegraveses de regravegle de gestion concernant ce lien et trouver les cardinaliteacutes minimales correspondantes

Reacuteponse H1 lentreprise peut proposer de nouveaux produits sur catalogue par exemple quelle meacutemorise dans sa base de donneacutees mais qui nont jamais encore eacuteteacute commandeacutes =gt cardinaliteacute minimale agrave 0 (cest plutocirct le cas pour les entreprises de vente)

15

H2 tout produit inscrit dans la base de donneacutee est forceacutement commandeacute (par exemple parce que lentreprise ne propose pas de catalogue mais fabrique seulement agrave la commande) =gt cardinaliteacute minimale agrave 1 (cest plutocirct le cas pour les entreprises de production)

3-La cardinaliteacute maximale

Elle traduit combien de fois au maximum une occurrence dentiteacute peut ecirctre en relation avec une occurrence de lassociation Cela peut ecirctre plusieurs fois (si crsquoest un nombre indeacutetermineacute on indique la valeur n) ou une seule fois

Cette cardinaliteacute reacutepond agrave la question

bull la participation dune occurrence doit-elle ecirctre unique ou bien peut-elle ecirctre multiple ou bien

bull combien de fois au maximum une occurrence est elle impliqueacutee dans lassociation

Si lassociation est binaire (relie seulement deux entiteacute) la question peut ecirctre aussi

bull Une occurrence de lentiteacute peut-elle ecirctre relieacutee agrave plusieurs occurrences de lautre entiteacute ou bien ne peut-elle ecirctre relieacutee quagrave une seule autre occurrence au plus

Si la reacuteponse est laquo au plus une fois raquo (participation unique) la cardinaliteacute maximale prend pour valeur 1 Si la reacuteponse est laquo plusieurs raquo (participation multiple) la cardinaliteacute maximale prend la valeur N

31-Exemple

bull RG (regravegles de gestion)

1 Un salarieacute est affecteacute au plus agrave un seul service 2 Dans un service sont affecteacutes plusieurs salarieacutes

Il arrive (mais crsquoest rare) qursquoune cardinaliteacute maximale ait une valeur limiteacutee

bull Exemple

RG Un eacutelegraveve peut suivre au maximum 3 options

4-Reacutecapitulatif

16

En fait dans la grande majoriteacute des cas on nrsquoutilise que 4 combinaisons de valeurs pour les cardinaliteacutes

bull 01 au plus un(e) bull 11 un(e) et un(e) seul(e) bull 1n un(e) ou plusieurs bull 0 n zeacutero ou plusieurs

41-Exemples complets

RG un client commande au moins 1 produit (sous entendu ou plusieurs) et un produit peut ne pas encore avoir eacuteteacute commandeacute comme il peut lavoir eacuteteacute plusieurs fois

RG Un salarieacute est obligatoirement affecteacute agrave 1 et 1 seul service Un service pour exister doit avoir au moins un salarieacute affecteacute (sous-entendu il peut bien sur en avoir plusieurs)

II-MCDAssociations

Sommaire

1 Les associations binaires concernant 2 entiteacutes

11 Les associations hieacuterarchiques [1n]

12 Les associations non hieacuterarchiques [n n]

13 Les associations de type [1 1]

2 Les autres types dassociation

21 Les associations reacuteflexives

211 Exemple dassociation reacuteflexive hieacuterarchique

212 Exemples dassociations reacuteflexives non hieacuterarchiques

22 Les associations de dimension 3 ou plus (ternaires ou plus)

1-Les associations binaires concernant 2 entiteacutes

17

On distingue trois cateacutegories dassociations en fonction des cardinaliteacutes maximales de ses branches

-Les associations hieacuterarchiques encore appeleacutees associations [1 n] ou associations fonctionnelles

-Les associations non hieacuterarchiques encore appeleacutees associations [n n] ou non fonctionnelles

-Les association [1 1] les 2 branches ont pour cardinaliteacute maximale 1 Ce cas est rare

11-Les associations hieacuterarchiques [1 n]

Ce sont les associations ougrave dun cocircteacute la |cardinaliteacute maximale est agrave 1 et de lautre cocircteacute la cardinaliteacute maximale est agrave n

Cela signifie quune occurrence de A est relieacutee au plus agrave une seule occurrence de B Cest-agrave-dire si on connaicirct une occurrence de A alors on saura forceacutement quelle est la seule occurrence de B qui correspond (si elle existe) On dit que A deacutetermine B Cest un lien de deacutependance fonctionnelle B deacutepend fonctionnellement de A

Lentiteacute qui correspond agrave la branche du cocircteacute du 1 est parfois appeleacutee entiteacute fils et lentiteacute correspondant agrave la branche du cocircteacute n est parfois appeleacutee entiteacute pegravere Cette appellation deacutecoule de lanalogie un fils na quun seul pegravere et un pegravere peut avoir plusieurs fils

12-Les associations non hieacuterarchiques [n n]

13-Les associations de type [1 1]

Cas exceptionnel

Ex un employeacute travaille sur un ordinateur (p 99 de Modeacuteliser les donneacutees) La facture correspondant agrave une commande

2-Les autres types dassociation

18

Le plus souvent une association relie 2 entiteacutes avec 2 branches Ce type dassociation est appeleacute association binaire Nous avons deacutejagrave eacutetudieacute en deacutetail les diffeacuterents types dassociations binaires

Mais une association peut aussi relier 3 ou tregraves rarement 4 entiteacutes (quasiment jamais plus) On parle dassociation ternaire quaternaire (n-aire) Enfin une association peut aussi relier une entiteacute agrave elle-mecircme cest-agrave-dire que des occurrences de la mecircme entiteacute sont relieacutees entre elles Lassociation correspondante est qualifieacutee de reacuteflexive Ce sont ces autres types dassociation que nous allons eacutetudier maintenant

21-Les associations reacuteflexives

Une association reacuteflexive est une association reliant des occurrences de la mecircme entiteacute Ces associations sont quasiment toujours binaire (2 branches) Pour lire une association reacuteflexive il est faut connaicirctre le rocircle attribueacute agrave chaque branche de lassociation Il existe comme pour les autres associations des associations reacuteflexives hieacuterarchique et des associations reacuteflexives non hieacuterarchique

211-Exemple dassociation reacuteflexive hieacuterarchique

Dans une entreprise bureaucratique chaque salarieacute a un seul chef (supeacuterieur hieacuterarchique direct) sauf le patron et chaque chef a au moins un salarieacute sous ses ordres Evidemment certains salarieacutes ne sont chefs de personnes

Exemples doccurrences diagramme doccurrences

Remarquez limportance du rocircle dans le diagramme doccurrence

212--Exemples dassociations reacuteflexives non hieacuterarchiques

19

Piegraveces composants composeacute = reacuteflexive asymeacutetrique

Personnes fregraveres = reacuteflexive symeacutetrique (rocircle pas indispensable car a pour fregravere = ecirctre fregravere de)

Preacutecision de vocabulaire dimension dune association

La dimension dune association correspond au nombre de branches de lassociation Dans plus de 80 des cas les associations sont binaires Dimension 2 binaire Dimension 3 ternaire (rare) Dimension supeacuterieure aire (exceptionnel)

Lorsquil ny a pas de reacuteflexiviteacute le nombre de branches est eacutegal au nombre dentiteacutes relieacutees La dimension est dans ce cas le nombre dentiteacutes concerneacutees par lassociation Mais la reacuteflexiviteacute existe et donc on peut avoir plusieurs branches de la mecircme association sur la mecircme entiteacute Dans ce cas alors la dimension est supeacuterieure au nombre dentiteacutes concerneacutees

Dimension = nombre dentiteacute lieacutees

Une association reacuteflexive (1 entiteacute) est quasiment toujours binaire (2 branches) On pourrait aussi avoir une association ternaire impliquant seulement deux entiteacutes

22-Les associations de dimension 3 ou plus (ternaires ou plus)

Une association peut relier plus de 2 entiteacutes ensemble le plus souvent trois On parle alors dassociation ternaire On utilise une association ternaire quand on a besoin de connaicirctre une occurrence de chaque entiteacute pour avoir une information

Exemple

Pour connaicirctre la quantiteacute de chacune des piegraveces fabriqueacutee par chaque ouvrier agrave une date donneacutee on utilise une association ternaire entre OUVRIER PIECE et DATE La quantiteacute est une donneacutee porteacutee par cette association

Une occurrence de lassociation fabrique implique une seule occurrence de chaque entiteacute

20

Exemple

Ouvrier Piegravece Date quantiteacute

Dupont 1 1702 50

Dubois 2 1702 100

Martin 1 1702 40

Dupont 3 1702 55

Dubois 3 1702 20

Dupont 1 1602 40

Martin 1 1602 40

Lassociation ternaire implique aussi que

Pour un ouvrier on peut avoir plusieurs piegraveces diffeacuterentes agrave la mecircme date (il peut fabriquer plusieurs types de piegraveces le mecircme jour)

Une piegravece peut ecirctre fabriqueacutee par plusieurs ouvriers diffeacuterents le mecircme jour

A des dates diffeacuterentes un mecircme ouvrier peut fabriquer les mecircmes piegraveces

Lidentifiant dune association ternaire est formeacutee de la concateacutenation (juxtaposition) des identifiants des 3 entiteacutes relieacutees

Dans notre exemple on ne peut donc pas avoir plusieurs occurrences de fabrique qui concernent Dupont la piegravece ndeg1 agrave la date du 1702

III-MCDRepreacutesentation des cardinaliteacutes

bull Une voiture est posseacutedeacutee par une seule personne Une personne peut posseacuteder de 0 agrave plusieurs voitures

21

bull Une personne a une adresse ou est sans domicile A une adresse il y a une ou plusieurs personnes qui y habitent

IV-MCDAssociation ternaire

bull Une association peut relier plus de 2 entiteacutes ensemble le plus souvent trois On parle alors dassociation ternaire (dimension 3) On utilise une association ternaire quand on a besoin de connaicirctre une occurrence de chaque entiteacute pour avoir une information

bull Ex

Pour connaicirctre la quantiteacute de chacune des piegraveces fabriqueacutee par chaque ouvrier agrave une date donneacutee on utilise une association ternaire entre OUVRIER PIECE et DATE La quantiteacute est une donneacutee porteacutee par cette association

22

Une occurrence de lassociation fabrique implique une seule occurrence de chaque entiteacute Exemple

Ouvrier Piegravece Date quantiteacuteDupont 1 1702 50Dubois 2 1702 100Martin 1 1702 40Dupont 3 1702 55Dubois 3 1702 20Dupont 1 1602 40Martin 1 1602 40

Lassociation ternaire implique aussi que

1 Pour un ouvrier on peut avoir plusieurs piegraveces diffeacuterentes agrave la mecircme date (il peut fabriquer plusieurs types de piegraveces le mecircme jour)

2 Une piegravece peut ecirctre fabriqueacutee par plusieurs ouvriers diffeacuterents le mecircme jour 3 A des dates diffeacuterentes un mecircme ouvrier peut fabriquer les mecircmes piegraveces

Lidentifiant dune association ternaire est formeacutee de la concateacutenation (juxtaposition) des identifiants des 3 entiteacutes relieacutees

Dans notre exemple on ne peut donc pas avoir plusieurs occurrences de fabrique qui concernent Dupont la piegravece ndeg1 agrave la date du 1702

V-MCDAssociations reacuteflexives

Une association reacuteflexive est une association reliant des occurrences de la mecircme entiteacute Ces associations sont quasiment toujours binaire (2 branches)

Pour lire une association reacuteflexive il est faut connaicirctre le rocircle attribueacute agrave chaque branche de lassociation cest agrave dire le rocircle de chaque occurrence dans le lien

23

Il existe comme pour les autres associations des associations reacuteflexives hieacuterarchique (une des cardinaliteacutes maximales agrave 1) et des association reacuteflexives non hieacuterarchique (les deux cardinaliteacutes maximales agrave n)

1-Exemple dassociation reacuteflexive hieacuterarchique

Dans une entreprise bureaucratique chaque salarieacute a un seul chef (supeacuterieur hieacuterarchique direct) sauf le patron et chaque chef a au moins un salarieacute sous ses ordres Evidemment certains salarieacutes ne sont chefs de personnes

Un mecircme salarieacute peut agrave la fois ecirctre chef et avoir un chef Tutu peut ecirctre chef de titi et de toto et dautres salarieacutes mais il na quun seul chef au maximum toto peut ecirctre le chef de coco et avoir pour chef tutu

2-Exemples dassociations reacuteflexives non hieacuterarchiques

Piegraveces composants composeacute = reacuteflexive asymeacutetrique

Une piegravece peut entrer dans la composition de plusieurs autres piegraveces (ex un boulon) Une piegravece peut aussi ecirctre composeacutee de plusieurs autres piegraveces (ex un moteur) Une mecircme piegravece peut ecirctre composeacutee dautres piegraveces et entrer dans la composition dune ou plusieurs autres piegraveces (ex une carte reacuteseau)

Preacutecision de vocabulaire dimension dune association

La dimension dune association correspond au nombre de branches de lassociation Dans plus de 80 des cas les associations sont binaires

Dimension 2 binaire Dimension 3 ternaire (rare) Dimension supeacuterieure n-aire (exceptionnel)

Lorsquil ny a pas de reacuteflexiviteacute le nombre de branches est eacutegal au nombre dentiteacutes relieacutees La dimension est dans ce cas le nombre dentiteacutes concerneacutees par lassociation Mais la reacuteflexiviteacute existe et donc on peut avoir plusieurs branches de la mecircme association sur la mecircme entiteacute Dans ce cas alors la dimension est supeacuterieure au nombre dentiteacutes concerneacutees

24

Dimension = nombre dentiteacute lieacutees

Une association reacuteflexive (1 entiteacute) est quasiment toujours binaire (2 branches) On pourrait aussi avoir une association ternaire impliquant seulement deux entiteacutes

D-Passage MCD lt=gt modegravele relationnel

I-MRRappel sur le modegravele relationnel

Cest un modegravele LOGIQUE de donneacutee celui qui correspond agrave lorganisation des donneacutees dans les bases de donneacutees relationnelles (il existe dautres organisations de bases de donneacutees hieacuterarchique reacuteseau objethellip)

Les SGBD actuels les plus courants sont relationnels (Oracle SQL Server Access MySQL hellip )

Un modegravele relationnel est composeacute de relations encore appeleacutee tables Ces tables sont deacutecrites par des attributs ou champs (noms de colonnes) Pour deacutecrire une relation on indique tout simplement son nom en majuscule suivi du nom de ses attributs entre parenthegraveses

Lidentifiant dune relation est composeacute dun ou plusieurs attributs qui forment la cleacute primaire Une relation peut faire reacutefeacuterence agrave une autre en utilisant une cleacute eacutetrangegravere qui correspond agrave la cleacute primaire de la relation reacutefeacuterenceacutee

Il ny a pas de notation officielle pour repeacuterer les cleacutes primaires et eacutetrangegraveres Cest agrave vous den adopter une et de lexpliquer en leacutegende Toutefois une notation sest peu agrave peu reacutepandue

bull on souligne la cleacute primaire dun seul trait bull on fait preacuteceacuteder (ou suivre) les cleacutes eacutetrangegraveres du symbole

Chaque ligne (tuple ou enregistrement) dune table repreacutesente une occurrence de lentiteacute ou de lassociation correspondante

II-MRPassage du MCD au MR

Sommaire

bull 1 Regravegle 1 bull 2 Regravegle 2 bull 3 Exception agrave la regravegle 1 bull 4 Cas particulier des associations reacuteflexives

o 41 Reacuteflexive hieacuterarchique o 42 Reacuteflexive non hieacuterarchique

25

1-Regravegle 1

Toute entiteacute devient une relation ayant pour cleacute primaire son identifiant

Chaque proprieacuteteacute se transforme en attribut CLIENT (code_client nom preacutenom adresse code_postal ville teacuteleacutephone)

Remarque contrairement aux proprieacuteteacutes les attributs ne doivent pas comporter despaces

2-Regravegle 2

Toute association non hieacuterarchique (de type [n n] ou de dimension gt 2) devient une relation La cleacute primaire est formeacutee par la concateacutenation (juxtaposition) lensemble des identifiants des entiteacutes relieacutees Toutes les proprieacuteteacutes eacuteventuelles deviennent des attributs qui ne peuvent pas faire partie de la cleacute

CONCERNER (numeacutero_commande reacutefeacuterence_article quantiteacute)

Cette regravegle est valable pour toutes les associations ternaires (ou quaternaires) qui sont forceacutement non hieacuterarchiques (|cardinaliteacutes maximales toutes eacutegales agrave n)

3- Exception agrave la regravegle 1

Les entiteacutes nayant que leur identifiant comme attribut ne deviennent pas des relations mais des attributs dans les autres relations lieacutees

Avec ce modegravele on meacutemorise chaque jour pour chaque ouvrier les piegraveces quil a fabriqueacute et en quelle quantiteacute Quand on passe au modegravele relationnel lentiteacute DATE FABRICATION ne

26

devient pas une relation mais un attribut cleacute dans la relation FABRIQUE issue de lassociation

FABRIQUE (code_ouvrier reacutefeacuterence_piegravece date quantiteacute) Date ici fait partie de la cleacute primaire mais nest pas cleacute eacutetrangegravere

4-Cas particulier des associations reacuteflexives

Les associations reacuteflexives suivent les regravegles 2 ou 3 selon les |cardinaliteacutes mais posent un problegraveme particulier une mecircme proprieacuteteacute va se retrouver deux fois en attribut dans la mecircme relation Il faut alors donner un nom diffeacuterent et significatif aux deux attributs correspondants

Dans les reacuteflexives il est conseilleacute de nommer les branches par des rocircles pour pouvoir lire dans le bon sens lassociation Les rocircles aident agrave nommer les attributs correspondant agrave lassociation

41-Reacuteflexive hieacuterarchique

(Une branche agrave la cardinaliteacute maxi agrave 1 et lautre agrave n)

Regravegle ndeg 2

Lecture de lassociation Regravegle ndeg1 lidentifiant de SALARIE va devenir cleacute primaire et les autres proprieacuteteacutes des attributsRegravegle ndeg2 pour traduire lassociation [1 n] encadrer lidentifiant de lentiteacute SALARIE devient cleacute eacutetrangegraverelidentifiant de SALARIE matricule se retrouve deux fois dans la relation comme cleacute primaire et comme cleacute eacutetrangegravereOn va donc donner un nom diffeacuterent et significatif agrave ces deux matricules par exemple Un salarieacute a pour chef 0 ou un seul autre salarieacute Un salarieacute est chef de 0 agrave n autre(s) salarieacute

Traduction en modegravele relationnel

SALARIE (matricule nom preacutenom fonctionhellip matricule_chef)

42-Reacuteflexive non hieacuterarchique

Regravegle ndeg3

27

bull Lecture de lassociation

Une piegravece entre dans la composition de 0 agrave plusieurs autres piegraveces Une piegravece peut ecirctre composeacutee de plusieurs autres piegraveces Une piegravece entre dans la composition dune autre un certain nombre de fois

Ex La piegravece voiture est composeacutee de 4 piegraveces roue La piegravece roue est elle-mecircme composeacutee dune piegravece pneu et dune piegravece jante

Une piegravece entrant dans la composition dune autre est appeleacutee composant Une piegravece composeacutee dautres piegraveces est appeleacutee composeacute Une roue est agrave la fois un composant (de voiture) et un composeacute (de pneu et jante)

bull Traduction en modegravele relationnel

PIECE (reacutefeacuterence libelleacute)COMPOSITION(reacutefeacuterence_composeacute reacutefeacuterence_composant nombre)

E-Normalisation du modegravele relationnel

I- Deacutependance fonctionnelle

Sommaire

1 Introduction

2 Rappels sur la notion de deacutependance fonctionnelle

21 Deacutefinition

22 Terminologie

23 DF agrave partir de proprieacuteteacutes concateacuteneacutees

24 Proprieacuteteacutes des deacutependances fonctionnelles

241 Union

242 Transitiviteacute

1-Introduction

Lobjectif de la normalisation est de construire un scheacutema de base de donneacutees coheacuterentUn mauvais scheacutema logique peut conduire agrave un certain nombre danomalies pendant la phase dexploitation de la base de donneacutee Nous allons voir ces anomalies dans une premiegravere partiePour qursquoun modegravele relationnel soit normaliseacute il faut qursquoil respecte certaines contraintes appeleacutees les formes normales Les formes normales srsquoappuient sur les deacutependances fonctionnelles entre attributs

2-Rappels sur la notion de deacutependance fonctionnelle

La construction du MCD mais eacutegalement du modegravele relationnel correspondant repose presque entiegraverement sur le concept de deacutependance fonctionnelle Crsquoest ce concept qui permet

28

de passer drsquoun ensemble de proprieacuteteacutes non structureacute agrave un modegravele conceptuel des donneacutees formeacute drsquoentiteacutes et drsquoassociations et au modegravele relationnel correspondant

21-Deacutefinition

On dit que b est en deacutependance fonctionnelle (DF) de a si agrave une valeur quelconque de la proprieacuteteacute a on ne peut faire correspondre qursquoune seule valeur au plus de la proprieacuteteacute b

On note a b(Source)-gt (but)

Autrement dit si on connaicirct la valeur de a on peut en deacuteduire une seule valeur de bMais la reacuteciproque nrsquoest pas vrai (si on connaicirct b on ne peut pas en deacuteduire a)

bull Exemple

Num client Nom client

Il existe une DF entre num client et Nom client car si on connaicirct une valeur de la proprieacuteteacute num client (ex 4553) il ne peut lui correspondre qursquoune seule valeur de la proprieacuteteacute nom (ex Duval)

La reacuteciproque est fausse

Nom client Num client nrsquoest pas une DF

Si lrsquoon connaicirct la valeur de la proprieacuteteacute Nom client on ne peut pas en deacuteduire la proprieacuteteacute Num client car il peut y avoir des homonymes

22-Terminologie

Si on a une deacutependance fonctionnelle a b on peut employer les expressions suivantes de faccedilon eacutequivalente -Il y a une deacutependance fonctionnelle de a vers b- b est en deacutependance fonctionnelle de a- b deacutepend fonctionnellement de a- a est la source et b est le but (ou la cible) de la deacutependance fonctionnelle

23-DF agrave partir de proprieacuteteacutes concateacuteneacutees

(Partie gauche composeacutee de plusieurs attributs)

Il peut exister des deacutependances fonctionnelles agrave partir de proprieacuteteacutes concateacuteneacutees cest-agrave-dire qui forment un tout indissociable comme si elles eacutetaient soudeacutees

On note par un + cette concateacutenation

Exemple Consideacuterons une commande qui comporte plusieurs produits Num_Commande + Ref_Produit quantiteacute commandeacutee

Si on nrsquoa seulement le numeacutero de la commande on ne peut pas en deacuteduire la quantiteacute commandeacutee car il faut aussi savoir de quel produit De mecircme on ne peut pas savoir la quantiteacute commandeacutee drsquoun produit si on ne sait pas de quelle commande Il faut bien connaicirctre agrave la fois la commande et le produit (leurs identifiants respectifs) pour en deacuteduire la quantiteacute commandeacutee

29

Les deacutependances fonctionnelles dont la source est formeacutee de plusieurs proprieacuteteacutes doivent ecirctre eacuteleacutementaires cest-agrave-dire ne pas ecirctre creacuteeacutees artificiellement

Ex Num Commande + Num Client date commande nrsquoest pas une DF eacuteleacutementaire car on nrsquoa pas besoin du numeacutero de client pour connaicirctre la date de commande il suffit de connaicirctre le numeacutero de la commande La proprieacuteteacute Num Client ne

24-Proprieacuteteacutes des deacutependances fonctionnelles

Les deacutependances fonctionnelles ont les proprieacuteteacutes suivantes

241-Union

Si on a deux DF ayant la mecircme source on peut les rassembler en une seule en seacuteparant les

cibles par une virgule Si a b et a c

Ex Reacutefeacuterence Deacutesignation et Reacutefeacuterence Prix de vente unitaire

Alors par union on a Reacutefeacuterence Deacutesignation Prix de vente unitaire

Lors du traceacute du graphe des deacutependances fonctionnelles lrsquounion permet de regrouper sur une seule ligne toutes les deacutependances fonctionnelles ayant la mecircme source

242-Transitiviteacute

Si a b et b c alors on a a c

Ex Num Meacutedecin Code Service et Code Service Num Hopital

Alors on a Num Meacutedecin Num Hopital

Les DF qui peuvent ecirctre deacuteduites par transitiviteacute de deux autres DF (qui ne sont pas directes) doivent ecirctre eacutelimineacutees car elles sont alors redondantesIl ne reste alors que les DF directes cest-agrave-dire celles qui ne peuvent pas ecirctre retrouveacutees par transitiviteacute

Attention toutefois agrave la signification des deacutependances Une deacutependance fonctionnelle quon peut retrouver par transitiviteacute ne doit pas ecirctre supprimeacutee si elle na pas le mecircme sens que la transitiviteacute des deux autres car il y aurait perte dinformation

II-MRInteacuterecirct de la normalisation

Exemple

Pour vous montrer lrsquointeacuterecirct de la normalisation drsquoune base de donneacutee relationnelle voyons les problegravemes que peuvent poser lrsquoutilisation drsquoune base de donneacutee baseacutee sur un modegravele relationnel non normaliseacute

Soit le scheacutema de relation

30

FOURNISSEUR (NomFournisseur AdresseFournisseur Produits Prix)

Modegravele en extension

NomFournisseur AdresseFournisseur Produit Prix

Lebras 10 Rue des Gras - ClermontChaise table

2035

Dupont 86 Rue de la Reacutepublique - Moulins Bureau 60

Lajoie 26 Rue des Docircmes - Vichy Lit 50

Dupont 39 Rue des Buttes - MoulinsLampeTable de chevet

1825

bull 1degproblegraveme

Il nrsquoy a pas de cleacute primaire on ne sait pas si les deux Dupont sont diffeacuterents ou pas (si crsquoest le mecircme Dupont il y a une des deux adresses qui est fausse

bull 2degproblegraveme

Lrsquoadresse nrsquoest pas deacutecomposeacutee Si on veut par exemple rechercher tous les fournisseurs qui habitent la mecircme ville ccedila ne va pas ecirctre possible

bull 3degproblegraveme

Une relation (table) correspondant agrave ce scheacutema pourra eacuteventuellement contenir plusieurs produits pour un mecircme fournisseur

Dans ce cas il faudra faire face agrave un certain nombre de problegravemes

bull ladresse du fournisseur sera dupliqueacutee dans chaque n-uplet (redondance) bull si on souhaite modifier ladresse dun fournisseur il faudra rechercher et mettre agrave jour

tous les n-uplets correspondant agrave ce fournisseur bull si on insegravere un nouveau produit pour un fournisseur deacutejagrave reacutefeacuterenceacute il faudra veacuterifier

que ladresse est identique bull si on veut supprimer un fournisseur il faudra retrouver et supprimer tous les n-uplets

correspondant agrave ce fournisseur (pour diffeacuterents produits) dans la table bull La normalisation eacutelimine les redondances ce qui permet

- une diminution de la taille de la base de donneacutee sur le disque- une diminution des risques drsquoincoheacuterence- drsquoeacuteviter une mise agrave jour multiple des mecircmes donneacutees

31

III-MR 3 formes normales

Les 3 formes normales du modegravele relationnel

Sommaire

1 1er forme normale

2 2egraveme forme normale

3 3egraveme forme normale

4 Application des regravegles

5 Reacutesumeacute

1-1er forme normale

Une relation est normaliseacutee en premiegravere forme normale si

-Elle possegravede une cleacute identifiant de maniegravere unique et stable chaque ligne

-Chaque attribut est monovalueacute (ne peut avoir qursquoune seule valeur par ligne)

-Aucun attribut nrsquoest deacutecomposable en plusieurs attributs significatifs

Contre-exemple

EMPLOYE ( Nom Preacutenom Enfants Diplocircmes)

Cette relation nrsquoest pas en premiegravere forme normale

Un employeacute peut avoir plusieurs enfants et plusieurs diplocircmes En outre ces attributs sont deacutecomposables diplocircme est deacutecomposable en Nature et Anneacutee et Enfants est deacutecomposable en Preacutenom et Anneacutee de Naissance

2-2egraveme forme normale

Une relation R est en deuxiegraveme forme normale si et seulement si

-Elle est en 1FN

-Et tout attribut non cleacute est totalement deacutependant de toute la cleacute

Autrement dit aucun des attributs ne deacutepend que drsquoune partie de la cleacute La 2FN nest agrave veacuterifier que pour les relations ayant une cleacute composeacutee Une relation en 1FN nayant quun seul attribut cleacute est toujours en 2FN

Contre-exemple 32

Cette relation est en premiegravere forme normale (existence drsquoune cleacute valide et aucun attribut nrsquoest deacutecomposable)MAIS elle nrsquoest pas en 2deg forme normale car on a DeacutesignationProd ne deacutepend pas de toute la cleacute mais seulement de reacutefeacuterenceProd

ReacutefeacuterenceProd DeacutesignationProd

Pour connaicirctre lrsquoattribut deacutesignationProd on nrsquoa pas besoin de connaicirctre le numeacutero de commande

3-3egraveme forme normale

Une relation est en 3deg forme normale si et seulement si

Elle est en 2deg forme normale et tout attribut doit deacutependre directement de la cleacute cest-dire qursquoaucun attribut ne doit deacutependre de la cleacute par transitiviteacute

Autrement dit aucun attribut ne doit deacutependre drsquoun autre attribut non cleacute

Contre-exemple

CLIENT (Num_client Nom_client code_categ nom_categ) Cette relation nrsquoest pas en 3FN car num_client nom_categ nrsquoest pas une deacutependance directe

En effet on a aussi num_client num_categ nom_categ

4-Application des regravegles

Si lrsquoune des 3 regravegles nrsquoest pas veacuterifieacutee cela indique une erreur dans le modegravele relationnel et il faut alors modifier pour que les 3 regravegles soient veacuterifieacutees pour toutes les relationsOn veacuterifie les regravegles dans lrsquoordre Si la premiegravere forme normale nrsquoest pas respecteacutee pas la peine de veacuterifier la 2FN Et si la 2FN nrsquoest pas veacuterifieacutee inutile de veacuterifier la 3FN

5-Reacutesumeacute

Modegravele normaliseacute = relations avec

-Une cleacute qui permet de distinguer chaque occurrence

-Des attributs eacuteleacutementaires (1FN)

-En deacutependance de TOUTE la cleacute (2FN)

-Et RIEN QUE de la cleacute (3FN)

On parle aussi de normalisation pour un MCD Un MCD qui donne un MR normaliseacute est qualifieacute aussi de normaliseacute

F-MeriseLes diagrammes de flux

Les diagrammes de flux reacutepondent agrave la question Que fait le systegraveme

33

En ce sens ce sont des modegraveles FONCTIONNELS (qui deacutecrivent les fonctions)

Il existe2 types principaux de diagrammes de flux

1 Le modegravele de contexte (MC) ougrave le domaine drsquoeacutetude est vu comme une boite noire On ne repreacutesente que les flux exteacuterieurs au domaine

2 Le modegravele de flux de donneacutees (DFD) ou encore modegravele de flux conceptuels (MFC) ougrave lrsquoon deacutetaille les activiteacutes du domaine drsquoeacutetude On repreacutesente aussi les flux internes au domaine

I-MeriseVocabulaire associeacute aux modegraveles de flux

Sommaire

bull 1 Domaine deacutetude bull 2 Acteur externe bull 3 Domaine connexe

bull 4 Flux de donneacutees

1-Domaine deacutetude

Le domaine deacutetude est un sous-ensemble coheacuterent de lentreprise ou de lorganisme bien deacutelimiteacute et formant le contenu du sujet agrave eacutetudier

Dans les modegraveles de flux le domaine deacutetude est repreacutesenteacute par un rectangle agrave trait plein Le nom du domaine est placeacute agrave lrsquointeacuterieur du rectangle

2-Acteur externe

Un acteur externe est un eacuteleacutement eacutemetteur ou reacutecepteur de donneacutees situeacute hors du systegraveme dinformation eacutetudieacute

Dans les modegraveles de flux un acteur externe est repreacutesenteacute par un cercle plein Le nom de lrsquoacteur est placeacute agrave lrsquointeacuterieur du cercle

3-Domaine connexe

Un domaine connexe est un composant du systegraveme drsquoinformation interagissant avec le domaine drsquoeacutetude Crsquoest un acteur interne agrave lrsquoentreprise mais externe au domaine drsquoeacutetude

34

Dans les modegraveles de flux une activiteacute est repreacutesenteacutee graphiquement par un rectangle Le nom de lactiviteacute est placeacute agrave lrsquointeacuterieur du rectangle

4-Flux de donneacutees

Un flux est un transfert drsquoinformations entre composants du systegraveme Le composant peut ecirctre un domaine une activiteacute ou un acteur externe

Dans les modegraveles de flux un flux de donneacutees est repreacutesenteacute graphiquement par une flegraveche orienteacutee du composant eacutemetteur du flux vers le composant reacutecepteur Le libelleacute du flux est inscrit en regard de la flegraveche traceacutee

Formalisme graphique illustrant par exemple un eacutechange entre un acteur externe et le domaine deacutetude

II-MeriseModegravele de contexte

Le modegravele de contexte sert agrave repreacutesenter les interactions entre le domaine deacutetude et lrsquoenvironnement et entre le domaine deacutetude et les eacuteventuels domaines connexes

Le domaine deacutetude y est repreacutesenteacute comme une boicircte noire

Le modegravele de contexte utilise les concepts suivants

bull le domaine deacutetude bull les acteurs externes bull les flux de donneacutees bull les domaines connexes

Exemple de modegravele de contexte au sein drsquoune socieacuteteacute commerciale on eacutetudie le domaine laquo gestion des ventes raquo

35

Remarque

bull on ne fait pas apparaicirctre les flux entre acteurs externes et domaines connexes ou entre les domaines connexes

Exemple le flux correspondant agrave la livraison de marchandises nrsquoapparaicirct pas

II-MeriseMFC ou DFD

Sommaire

bull 1 Modegravele de flux conceptuel(MFC) ou diagramme de flux de donneacutees(DFD) o 11 Deacutefinition o 12 Exemple o 13 Regravegles de deacutecomposition des activiteacutes

1-Modegravele de flux conceptuel (MFC) ou diagramme de flux de donneacutees (DFD)

11-Deacutefinition

Ce modegravele permet de deacutecider quelles activiteacutes inter-relieacutees de quelle maniegravere permettront de reacutesoudre au mieux le problegraveme poseacute et cette reacuteflexion est meneacutee sans sencombrer dans un premier temps du comportement du systegraveme (ordonnancement regravegles deacutemission synchronisationshellip)

Les modegraveles de flux conceptuels permettent de deacutecomposer le domaine drsquoeacutetude en activiteacutes Il nrsquoy a pas ici de notion drsquoorganisation mais drsquoobjectifs agrave reacutealiser On repreacutesente les flu x entre activiteacutes et avec lrsquoenvironnement

Pour analyser les communications et les activiteacutes on procegravede par laquo zooms raquo successifs sur le domaine eacutetudieacute pour eacutelaborer des modegraveles de plus en plus deacutetailleacutes qui permettront davoir une cartographie deacutetailleacutee du systegraveme et de preacuteparer le passage au modegravele conceptuel de repreacutesentation des traitements

36

Le modegravele de contexte est eacutegalement appeleacute le diagramme de flux de donneacutees de niveau 0

Nous obtenons ensuite des diagrammes de premier deuxiegraveme troisiegraveme hellip niveau par eacuteclatements successifs des activiteacutes agrave chacun de ces niveaux

La deacutecomposition drsquoun domaine ou drsquoune activiteacute en plusieurs activiteacutes peut faire apparaicirctre de nouveaux flux dus

1 agrave lrsquoeacutechange drsquoinformations entre activiteacutes 2 agrave la deacutecomposition drsquoun flux preacutesent au niveau n en plusieurs flux au niveau n+1

12-Exemple

Si on reprend le modegravele de contexte preacuteceacutedent on srsquoaperccediloit que le domaine des ventes peut-ecirctre eacuteclateacute en trois activiteacutes Nous obtenons ainsi le diagramme de flux de donneacutees de niveau 1

Remarque

bull On peut deacutecomposer le modegravele de flux de niveau 1 en un modegravele de flux de niveau 2 et etc hellip jusqursquoagrave arriver agrave un modegravele ougrave lrsquoactiviteacute correspond agrave une opeacuteration au sens Merise (regravegle drsquoininterruption)

Exemple lrsquoactiviteacute laquo gestion des factures raquo peut ecirctre encore deacutecomposeacutee en activiteacutes laquo facturation raquo et laquo Suivi des regraveglements raquo

13-Regravegles de deacutecomposition des activiteacutes

bull Pourquoi deacutecomposer

1 Pour deacutesagreacuteger les groupes de flux pour arriver agrave la deacutefinition des flux-types du domaine eacutetudieacute

2 Pour preacuteparer leacutetude dynamique du systegraveme dinformation pour arriver agrave lrsquoidentification des processus et des opeacuterations conceptuelles

bull Comment deacutecomposer

37

1 Identifier les groupes de donneacutees entrant et sortant du domaine drsquoeacutetude pour construire le modegravele de contexte

2 Identifier les activiteacutes geacuteneacuterant ou traitant les flux de donneacutees pour construire le DFD de niveau 1(approche par les donneacutees) ou identifier une activiteacute de niveau 1 comme un ensemble drsquoactiviteacutes participant agrave une mecircme finaliteacute (approche par les objectifs)

bull Jusquougrave deacutecomposer

Lorsquune activiteacute a atteint le niveau dinterruptabiliteacute (degraves lors que le traitement est deacuteclencheacute il se deacuteroule sans attente de ressources compleacutementaires exteacuterieures) Lactiviteacute est alors une opeacuteration conceptuelle qui sera deacutecrite lors de leacutetude dynamique du SI dans le MCTA

G-Les Modegraveles de traitements (MCT et MCTA)

I-MeriseMCT

Sommaire

bull 1 Modeacutelisation des Traitements bull 2 Le MCT bull 3 Les concepts du MCT

o 31 Lrsquoeacuteveacutenement o 32 Lrsquoopeacuteration o 33 Le reacutesultat o 34 La synchronisation o 35 Regravegle deacutemission o 36 Rocircle des regravegles de gestion o 37 Le processus

bull 4 Meacutethode drsquoeacutetablissement drsquoun MCT o 41 Regravegles de validation o 42 Cas particuliers

421 Cycles

422 Les eacuteveacutenements consommables

1-Modeacutelisation des Traitements

La modeacutelisation des traitements pour but de faire la repreacutesentation dynamique du systegraveme drsquoinformation crsquoest-agrave dire de repreacutesenter lrsquoenchaicircnement des traitements reacutealiseacutes

Cette modeacutelisation srsquoeffectue agrave deux niveaux

1 le niveau conceptuel ougrave lrsquoon srsquointeacuteresse aux opeacuterations en dehors de toute mise en oeuvre organisationnelle

2 le niveau organisationnel ougrave se pose les questions du qui ougrave quand

2-Le MCT

Lrsquoobjectif du MCT est de reacutepondre agrave la question QUOI faire par rapport agrave un eacuteveacutenement Crsquoest la chronologie qui importe Autrement dit le MCT est une repreacutesentation de la

38

succession des regravegles de gestion dont lrsquoentreprise veut se doter pour reacutepondre aux eacuteveacutenements auxquels elle doit faire face du fait de son activiteacute et de son environnement

3-Les concepts du MCT

31-Lrsquoeacuteveacutenement

Crsquoest une sollicitation du systegraveme drsquoinformation qui geacutenegravere une reacuteaction de la part de celui-ci

Un eacuteveacutenement peut ecirctre externe au domaine eacutetudieacute (ex commande client) ou interne au SI souvent le reacutesultat drsquoun processus anteacuterieur (ex ordre de preacuteparation) Un eacuteveacutenement peut-ecirctre aussi temporel cest-agrave-dire lieacute agrave des dates qui rythment lrsquoexeacutecution de certains traitements (deacutelai de maintenance relances)

32-Lrsquoopeacuteration

Crsquoest un ensemble drsquoactions accomplies par le systegraveme drsquoinformation en reacuteaction agrave un eacuteveacutenement ou agrave une conjonction drsquoeacuteveacutenements et non interruptibles par un eacuteveacutenement externe

Remarque Une opeacuteration deacuteclenche au moins un reacutesultat Une opeacuteration est repreacutesenteacutee par un verbe ou mieux un substantif (ex Preacuteparer la commande ou preacuteparation de la commande)

34-Le reacutesultat

Un reacutesultat peut-ecirctre un document un message externe un nouvel eacutetat du SI (nouvelle situation nouvelles donneacutees) creacuteeacute par une opeacuteration qui peut lui-mecircme jouer le rocircle drsquoeacuteveacutenement

Un reacutesultat externe repreacutesente une information envoyeacutee agrave lrsquoexteacuterieur du SI (ex facture)

Un reacutesultat interne est un nouvel eacutetat du systegraveme drsquoinformation (ex ordre de preacuteparation)

35-La synchronisation

Crsquoest une condition booleacuteenne (ET OU) traduisant les regravegles de gestion que doivent respecter les eacuteveacutenements pour deacuteclencher une opeacuteration Dans le cas ET elle marque quun eacuteveacutenement deacutejagrave lagrave doit en attendre un ou plusieurs autres

Remarque Pour quil soit question de synchronisation il faut la preacutesence de plusieurs eacuteveacutenements deacuteclencheurs aussi le symbole de synchronisation est laisseacute agrave blanc dans le cas dun eacuteveacutenement unique

Si tous les eacuteveacutenements entrants sont lieacutes par le mecircme opeacuterateur on peut seulement faire figurer lopeacuterateur dans le symbole de synchronisation sinon il faut numeacuteroter les eacuteveacutenements (a b c hellip) et constituer lexpression agrave laide des eacuteveacutenements et des opeacuterateurs (ex (a ET b) OU c) Regravegle deacutemission

Condition traduisant les regravegles de gestion qui permet dexprimer des conditions de sortie des reacutesultats

39

Remarques Lexpression dune regravegle deacutemission peut ecirctre composeacutee de plusieurs conditions eacuteleacutementaires relieacutees par les opeacuterateurs ET OU On peut eacutegalement utiliser lopeacuterateur NON pour exprimer la neacutegation dune condition

36-Rocircle des regravegles de gestion

Recenseacutees lors de leacutetude de lexistant ou deacutefinies pour le futur SI elles deacutecrivent les enchaicircnements dopeacuterations Elles rendent possible le regroupement des actions au sein dune seule opeacuteration non interruptible au niveau conceptuel

37-Le processus

Crsquoest un enchaicircnement synchroniseacute dopeacuterations au sein dun mecircme domaine geacuteneacuteralement deacuteclencheacute par un eacuteveacutenement externe (externe au domaine ou au SI tout entier)

Un MCT est la repreacutesentation de lrsquoenchaicircnement des opeacuterations drsquoun processus

4-Meacutethode drsquoeacutetablissement drsquoun MCT

1 Reacutealiser le graphe des flux (repreacutesentation des acteurs eacuteveacutenements et reacutesultats externes

2 Pour chaque eacuteveacutenement recenser les opeacuterations deacuteclencheacutees etou les eacuteveacutenements internes produits

3 Regrouper dans une mecircme opeacuteration tous les traitements qui ont les mecircmes deacuteclencheurs dans une uniteacute de temps avec la mecircme synchronisation

41-Regravegles de validation

Une opeacuteration ne peut pas ecirctre interrompue par lrsquoattente drsquoun eacuteveacutenement externe

Si tel est le cas il faut deacutecrire une seconde opeacuteration deacuteclencheacutee par cet eacuteveacutenement en attente

42-Cas particuliers

421-Cycles

Pour une mecircme opeacuteration leacuteveacutenement deacuteclencheur et leacuteveacutenement reacutesultat sont identiques

Une commande de client est servie si les marchandises sont disponibles sinon cette commande est mise en attente Les commandes en attente sont reacuteexamineacutees lors de chaque reacuteapprovisionnement afin de les livrer

40

Il faut sassurer que le cycle a bien un deacutebut et une fin ici cest lrsquoeacuteveacutenement Reacuteapprovisionnement effectueacute qui permet deacuteviter que le cycle ne se deacuteroule sans fin sur les commandes en attente

Noter limportance du concept doccurrences deacuteveacutenement

-une occurrence de Reacuteappro est-elle autoriseacutee agrave consommer toutes les occurrences de Commande en attente

-si le reacuteapprovisionnement est insuffisant de nouvelles occurrences de Commande en attente doivent-elles ecirctre creacuteeacutees

422-Les eacuteveacutenements consommables

Un client non satisfait peut retourner un article On lui fait un avoir Il peut alors le preacutesenter en caisse pour ecirctre rembourseacute de son achat Il peut encore remplacer larticle deacutefectueux par un autre auquel cas on annule lavoir

41

Ce qui pose question

UNE occurrence de leacuteveacutenement avoir eacutetabli ne peut ecirctre consommeacutee par 2 opeacuterations (rembourser et imputer)

Dit autrement avoir eacutetabli ne sait pas vers quelle opeacuteration se diriger On pourrait se dire quil est implicite que cest le premier eacuteveacutenement qui survient qui gagne si Echange survient en premier alors lavoir est annuleacute

Cependant que se passe-t-il si les 2 eacuteveacutenements externes se produisent simultaneacutement Si on impleacutemente tel quel ce scheacutema dans un automate il est vraisemblable que le client pourra avoir le beurre et largent du beurre

se preacutesenter en caisse et faire leacutechange pour un seul retour Il est donc preacutefeacuterable dexpliciter (cf ci-apregraves)

Une autre solution consiste agrave indiquer explicitement que cet eacuteveacutenement est consommable cest-agrave-dire que la premiegravere opeacuteration qui se deacuteclenche annule lrsquoeacuteveacutenement pour lrsquoautre opeacuteration

42

II-MeriseInteacutegration des donneacutees dans le MCT

Sommaire

bull 1 DEFINITION bull 2 FORMALISME DU MCTA bull 3 REPRESENTATION DES ACTIONS SUR LES DONNEES bull 4 COMPLEMENTS

o 41 Condition de deacuteclenchement o 42 Action collective o 43 Coheacuterence de la base de donneacutees o 44 REGLES DE VALIDATION DrsquoUN MCTA

o 45 Exemple de MCTA

1-DEFINITION

Le MCTA est une repreacutesentation syntheacutetique des traitements qui met en eacutevidence les reacuteactions du systegraveme aux eacuteveacutenements et linteraction avec les donneacutees

Il vise agrave

Deacutecrire le fonctionnement du systegraveme indeacutependamment de lorganisation

Donner une vision des traitements et de la coordination des eacuteveacutenements deacuteclencheurs

Rapprocher les donneacutees et les traitements

2-FORMALISME DU MCTA

Pour mettre en eacutevidence lrsquoarticulation entre les donneacutees et les traitements dans le MCT on ajoute agrave droite de chaque opeacuteration les entiteacutes ou associations qui sont consulteacutees ou qui subissent un changement drsquoeacutetat (creacuteation mise agrave jour suppression hellip)

43

3-REPRESENTATION DES ACTIONS SUR LES DONNEES

Un objet correspond agrave une entiteacute ou une association du MCD correspondant au champ drsquoeacutetude du SI Une action est une manipulation (creacuteation consultation modification ou suppression) drsquoun objet du systegraveme drsquoinformation Elle est symboliseacutee par un trait entre lrsquoopeacuteration et lrsquoobjet manipuleacute Ce trait est non orienteacute sil sagit dune suppression et il est orienteacute pour les autres types de manipulation le sens de la flegraveche deacutepend du type de manipulation

Un eacutetat drsquoobjet est un stade transitoire par lequel passe un objet (entiteacute ou association) au cours de sa laquo vie raquo

Dans un MCTA une opeacuteration est composeacutee dun ensemble dactions sur les donneacutees

Les actions sur les donneacutees sont de 4 types

Creacuteation drsquoune occurrence

Creacuteation drsquoune occurrence de lrsquoobjet 1 dans lrsquoeacutetat 1

Suppression drsquoune occurrence

Suppression drsquoune occurrence de lrsquoobjet 3 se trouvant dans lrsquoeacutetat 2

Consultation drsquoune occurrence

Consultation drsquoune occurrence de lrsquoobjet 4 dans lrsquoeacutetat 6 Leacutetat de lrsquoobjet nrsquoest pas indiqueacute mais sera eacuteventuellement testeacute avant reacutealisation de la (ou des) action (s) suivante (s)

44

Modification drsquoune occurrence

Modification drsquoune occurrence de lrsquoobjet 2 si elle est dans lrsquoeacutetat 3 elle passe agrave lrsquoeacutetat 4 ou agrave lrsquoeacutetat 5

Lrsquoaction de modification inclut implicitement la ou les consultations preacutealables

On ne doit pas seacuteparer les consultations qui preacutecegravedent les modifications des modifications elles-mecircmes

Remarque geacuteneacuterale Lrsquoordre des actions drsquoune opeacuteration sera si possible preacutesenteacute de haut en bas

4-COMPLEMENTS

41-Condition de deacuteclenchement

Lrsquoaction eacuteleacutementaire peut ecirctre accompagneacutee drsquoune condition de deacuteclenchement (agrave indiquer au niveau du trait ou agrave cocircteacute de lrsquoobjet) Cette condition peut porter sur lrsquoeacutetat de la structure des donneacutees agrave un moment preacutecis etou sur le type drsquoeacuteveacutenement constateacute agrave lrsquoentreacutee de lrsquoopeacuteration

42-Action collective

Elle permet drsquoindiquer que lrsquoaction intervient sur un ensemble drsquooccurrences de lrsquoobjet concerneacute (toutes srsquoil nrsquoy a pas de condition de deacuteclenchement associeacutee limitant le nombre drsquooccurrences manipuleacutees)

Exemple en fin de mois une compagnie dassurances reacutesilie les polices quelle a proposeacutees degraves que le deacutelai de signature de celles-ci est deacutepasseacute

45

C1 si le deacutelai de signature est deacutepasseacute

43-Coheacuterence de la base de donneacutees

Une BD a coheacuterent si elle ne comporte pas de contradictions (par rapport aux regravegles de gestion en particulier)

Une action peut ne pas laisser la structure de donneacutees dans un eacutetat coheacuterent

En revanche la coheacuterence doit toujours ecirctre assureacutee au niveau drsquoune opeacuteration

44-REGLES DE VALIDATION DrsquoUN MCTA

Une opeacuteration conceptuelle ne doit pas ecirctre interrompue par lrsquoattente drsquoun eacuteveacutenement externe

Une opeacuteration conceptuelle prend la structure de donneacutees manipuleacutees dans un eacutetat coheacuterent et la rend dans un eacutetat coheacuterent

46

45-Exemple de MCTA

C1 si le client eacutetait preacuteceacutedemment un client prospect (cest-agrave-dire client potentiel)

C2 sil sagit dun nouveau client ou si le client eacutetait preacuteceacutedemment un client prospect le client est mis en portefeuille (cest-agrave-dire qursquoil est reacuteellement client)

C3 si disponibiliteacute de tous les produits (quantiteacute en stock suffisante pour assurer la livraison)

Remarque on considegravere ici qursquoil nrsquoy a pas de livraison partielle

47

  • I-Systegraveme drsquoinformation de gestion
    • Sommaire
      • 1-Qursquoest ce qursquoun systegraveme
      • 2-Qursquoest ce qursquoun systegraveme drsquoinformation de gestion
      • 3-Les fonctions du systegraveme drsquoinformation
      • II-MeriseModeacutelisation
        • Sommaire
          • 1-Qursquoest qursquoun modegravele
          • 2-La meacutethode Merise
            • 21-Les composantes de Merise
            • 22-La deacutemarche Merise
            • 23-Les niveaux drsquoabstraction
            • 24-La courbe du soleil
              • Deacutefinition
              • I-MCDRecueil des donneacutees
              • Exemple
              • II-MCDConcepts et du formalisme
                • Sommaire
                  • 1-Les concepts de base
                    • 11-Entiteacute
                    • 12-Association
                    • 13-Cardinaliteacutes
                      • 2-La notion drsquooccurrence
                      • III-MCDRegravegles de construction
                        • Sommaire
                          • 1-Regravegles concernant les proprieacuteteacutes
                          • 2-Regravegles concernant les entiteacutes
                          • 3-Regravegles concernant les associations
                          • IV-MCDIntroduction aux cardinaliteacutes
                            • Sommaire
                              • 1-Formalisme
                              • 2-La cardinaliteacute minimale
                                • 21--Exemples
                                • 22-Application
                                  • 3-La cardinaliteacute maximale
                                    • 31-Exemple 1
                                    • 32-Exemple 2
                                      • 4-Conclusion
                                      • 5-Exemple
                                      • 6-Repreacutesentation des cardinaliteacutes
                                      • I-MCDCardinaliteacutes
                                        • Sommaire
                                          • 1-Deacutefinition et formalisme
                                          • 2-La cardinaliteacute minimale
                                            • 21-Exemple
                                            • 22-Application
                                              • 3-La cardinaliteacute maximale
                                                • 31-Exemple
                                                  • 4-Reacutecapitulatif
                                                    • 41-Exemples complets
                                                      • II-MCDAssociations
                                                        • Sommaire
                                                          • 1-Les associations binaires concernant 2 entiteacutes
                                                            • 11-Les associations hieacuterarchiques [1 n]
                                                            • 12-Les associations non hieacuterarchiques [n n]
                                                            • 13-Les associations de type [1 1]
                                                              • 2-Les autres types dassociation
                                                                • 21-Les associations reacuteflexives
                                                                  • 211-Exemple dassociation reacuteflexive hieacuterarchique
                                                                  • 212--Exemples dassociations reacuteflexives non hieacuterarchiques
                                                                    • 22-Les associations de dimension 3 ou plus (ternaires ou plus)
                                                                      • III-MCDRepreacutesentation des cardinaliteacutes
                                                                      • IV-MCDAssociation ternaire
                                                                      • V-MCDAssociations reacuteflexives
                                                                      • 1-Exemple dassociation reacuteflexive hieacuterarchique
                                                                      • 2-Exemples dassociations reacuteflexives non hieacuterarchiques
                                                                      • I-MRRappel sur le modegravele relationnel
                                                                      • II-MRPassage du MCD au MR
                                                                        • Sommaire
                                                                          • 1-Regravegle 1
                                                                          • 2-Regravegle 2
                                                                          • 3-Exception agrave la regravegle 1
                                                                          • 4-Cas particulier des associations reacuteflexives
                                                                            • 41-Reacuteflexive hieacuterarchique
                                                                            • 42-Reacuteflexive non hieacuterarchique
                                                                              • E-Normalisation du modegravele relationnel
                                                                              • I-Deacutependance fonctionnelle
                                                                                • Sommaire
                                                                                  • 1-Introduction
                                                                                  • 2-Rappels sur la notion de deacutependance fonctionnelle
                                                                                    • 21-Deacutefinition
                                                                                    • 22-Terminologie
                                                                                    • 23-DF agrave partir de proprieacuteteacutes concateacuteneacutees
                                                                                    • 24-Proprieacuteteacutes des deacutependances fonctionnelles
                                                                                      • 241-Union
                                                                                      • 242-Transitiviteacute
                                                                                          • II-MRInteacuterecirct de la normalisation
                                                                                          • Exemple
                                                                                          • III-MR 3 formes normales
                                                                                            • Sommaire
                                                                                              • 1-1er forme normale
                                                                                              • 2-2egraveme forme normale
                                                                                              • 3-3egraveme forme normale
                                                                                              • 4-Application des regravegles
                                                                                              • 5-Reacutesumeacute
                                                                                              • F-MeriseLes diagrammes de flux
                                                                                              • I-MeriseVocabulaire associeacute aux modegraveles de flux
                                                                                                • Sommaire
                                                                                                  • 1-Domaine deacutetude
                                                                                                  • 2-Acteur externe
                                                                                                  • 3-Domaine connexe
                                                                                                  • 4-Flux de donneacutees
                                                                                                  • II-MeriseModegravele de contexte
                                                                                                  • II-MeriseMFC ou DFD
                                                                                                    • Sommaire
                                                                                                      • 1-Modegravele de flux conceptuel (MFC) ou diagramme de flux de donneacutees (DFD)
                                                                                                        • 11-Deacutefinition
                                                                                                        • 12-Exemple
                                                                                                        • 13-Regravegles de deacutecomposition des activiteacutes
                                                                                                          • I-MeriseMCT
                                                                                                            • Sommaire
                                                                                                              • 1-Modeacutelisation des Traitements
                                                                                                              • 2-Le MCT
                                                                                                              • 3-Les concepts du MCT
                                                                                                                • 31-Lrsquoeacuteveacutenement
                                                                                                                • 32-Lrsquoopeacuteration
                                                                                                                • 34-Le reacutesultat
                                                                                                                • 35-La synchronisation
                                                                                                                • 36-Rocircle des regravegles de gestion
                                                                                                                • 37-Le processus
                                                                                                                  • 4-Meacutethode drsquoeacutetablissement drsquoun MCT
                                                                                                                    • 41-Regravegles de validation
                                                                                                                    • 42-Cas particuliers
                                                                                                                      • 421-Cycles
                                                                                                                      • 422-Les eacuteveacutenements consommables
                                                                                                                          • II-MeriseInteacutegration des donneacutees dans le MCT
                                                                                                                            • Sommaire
                                                                                                                              • 1-DEFINITION
                                                                                                                              • 2-FORMALISME DU MCTA
                                                                                                                              • 3-REPRESENTATION DES ACTIONS SUR LES DONNEES
                                                                                                                              • 4-COMPLEMENTS
                                                                                                                                • 41-Condition de deacuteclenchement
                                                                                                                                • 42-Action collective
                                                                                                                                • 43-Coheacuterence de la base de donneacutees
                                                                                                                                • 44-REGLES DE VALIDATION DrsquoUN MCTA
                                                                                                                                • 45-Exemple de MCTA
Page 12: 7472422 Cours de Merise

Mais on peut tregraves bien imaginer que lrsquoentreprise veut aussi meacutemoriser les clients potentiels (prospects) qui nrsquoont encore rien commandeacute Dans ce cas un client peut tregraves bien ne pas avoir encore commandeacute et on met la cardinaliteacute mini agrave 0

22-Application

1 Trouver la question qui permet de trouver la cardinaliteacute minimale pour lrsquoentiteacute produit et lrsquoassociation commander

2 Faites deux hypothegraveses de regravegle de gestion concernant ce lien et trouver les cardinaliteacutes minimales correspondantes

3-La cardinaliteacute maximale

Elle traduit combien de fois au maximum lrsquoentiteacute peut ecirctre en relation avec lrsquoassociation Cela peut ecirctre plusieurs fois (si crsquoest un nombre indeacutetermineacute on indique la valeur n) ou une seule foisOn reacutepond agrave la question Combien au maximum lrsquoentiteacute peut participer agrave lrsquoassociation Si la reacuteponse est laquo au plus une fois raquo la cardinaliteacute maximale prend pour valeur 1Si la reacuteponse est laquo plusieurs raquo la cardinaliteacute maximale prend la valeur N

31-Exemple 1

bull REGLES DE GESTION

Un salarieacute est affecteacute au plus agrave un seul service Dans un service sont affecteacutes plusieurs salarieacutes

Il arrive (mais crsquoest rare) qursquoune cardinaliteacute maximale ait une valeur limiteacutee

32-Exemple 2

bull REGLE DE GESTION Un eacutelegraveve doit suivre au minimum une option et au maximum 3 options

12

4-Conclusion

En fait dans la grande majoriteacute des cas on nrsquoutilise que 4 combinaisons de valeurs pour les cardinaliteacutes

bull 01 au plus un(e) bull 11 un(e) et un(e) seul(e) bull 1 n un(e) ou plusieurs bull 0 n zeacutero ou plusieurs

5-Exemple

6-Repreacutesentation des cardinaliteacutes

Une voiture est posseacutedeacutee par une seule personne Une personne peut posseacuteder de 0 agrave plusieurs voitures

Une personne a une adresse ou est sans domicile A une adresse il y a une ou plusieurs personne qui y habitent

13

C-Les cardinaliteacutes et les diffeacuterents types dassociations

I-MCDCardinaliteacutes

Sommaire

bull 1 Deacutefinition et formalisme bull 2 La cardinaliteacute minimale

o 21 Exemple o 22 Application

bull 3 La cardinaliteacute maximale o 31 Exemple

bull 4 Reacutecapitulatif o 41 Exemples complets

1-Deacutefinition et formalisme

Les cardinaliteacutes sont des couples de valeur que lon trouve entre chaque entiteacute et ses associations lieacuteesDonc pour une association de 2 entiteacutes il y a 4 cardinaliteacutes agrave indiquer (2 de chaque cocircteacute)Il y a trois valeurs typiques 0 1 et N (plusieurs)

Pour les associations agrave 2 entiteacutes ce sont des valeurs qui permettent drsquoindiquer combien de fois au minimum et au maximum une occurrence dentiteacute peut ecirctre lieacutee agrave une autre occurrence dentiteacute

De maniegravere plus geacuteneacuterale les cardinaliteacutes drsquoune entiteacute dans une association expriment le nombre de fois qursquoune occurrence de cette entiteacute peut ecirctre impliqueacutee dans une occurrence de lassociation au minimum et au maximum

Les cardinaliteacutes traduisent des regravegles de gestion Ce sont des regravegles propres agrave lorganisation eacutetudieacutee qui sont deacutecideacutees par les gestionnaires et deacutecideurs Ces regravegles expriment des contraintes sur le modegravele

2-La cardinaliteacute minimale

14

Elle est exprimeacutee presque toujours par lrsquoune des deux valeurs 0 ou 1 Elle traduit combien de fois au minimum une occurrence de lrsquoentiteacute participe agrave lrsquoassociation autrement dit si une occurrence est obligatoirement associeacutee agrave une autre ou pas

21-Exemple

Pour la cardinaliteacute minimale entre client et commander il faut se poser la question Pour un client donneacute combien de fois au minimum il commande

ou encore mieux Est-il obligatoire quun client effectue une commande de produit

Cela deacutepend des REGLES DE GESTION de lentreprise Si la regravegle de gestion est laquo tout client doit passer au moins une commande sinon ce nrsquoest pas un client raquo on met la cardinaliteacute mini agrave 1

Mais on peut tregraves bien imaginer que lrsquoentreprise veut aussi meacutemoriser les clients potentiels (prospects) qui nrsquoont encore rien commandeacute Dans ce cas un client peut tregraves bien ne pas avoir encore commandeacute et on met la cardinaliteacute mini agrave 0

En fait les cardinaliteacutes deacutependent des regravegles de gestion propres agrave lrsquoorganisation eacutetudieacutee La regravegle peut tregraves bien ecirctre laquo On ne meacutemorise que les clients qui ont deacutejagrave commandeacute raquo ou bien laquo On veut meacutemoriser les prospects raquo

22-Application

bull Trouver la question qui permet de trouver la cardinaliteacute minimale pour lrsquoentiteacute produit et lrsquoassociation commander

Reacuteponse Est-il obligatoire quun produit ait eacuteteacute commandeacute pour quil soit meacutemoriseacute dans la base de donneacutee ou bien Peut-il exister dans la base de donneacutee des produits qui nont jamais eacuteteacute commandeacutes

bull Faites deux hypothegraveses de regravegle de gestion concernant ce lien et trouver les cardinaliteacutes minimales correspondantes

Reacuteponse H1 lentreprise peut proposer de nouveaux produits sur catalogue par exemple quelle meacutemorise dans sa base de donneacutees mais qui nont jamais encore eacuteteacute commandeacutes =gt cardinaliteacute minimale agrave 0 (cest plutocirct le cas pour les entreprises de vente)

15

H2 tout produit inscrit dans la base de donneacutee est forceacutement commandeacute (par exemple parce que lentreprise ne propose pas de catalogue mais fabrique seulement agrave la commande) =gt cardinaliteacute minimale agrave 1 (cest plutocirct le cas pour les entreprises de production)

3-La cardinaliteacute maximale

Elle traduit combien de fois au maximum une occurrence dentiteacute peut ecirctre en relation avec une occurrence de lassociation Cela peut ecirctre plusieurs fois (si crsquoest un nombre indeacutetermineacute on indique la valeur n) ou une seule fois

Cette cardinaliteacute reacutepond agrave la question

bull la participation dune occurrence doit-elle ecirctre unique ou bien peut-elle ecirctre multiple ou bien

bull combien de fois au maximum une occurrence est elle impliqueacutee dans lassociation

Si lassociation est binaire (relie seulement deux entiteacute) la question peut ecirctre aussi

bull Une occurrence de lentiteacute peut-elle ecirctre relieacutee agrave plusieurs occurrences de lautre entiteacute ou bien ne peut-elle ecirctre relieacutee quagrave une seule autre occurrence au plus

Si la reacuteponse est laquo au plus une fois raquo (participation unique) la cardinaliteacute maximale prend pour valeur 1 Si la reacuteponse est laquo plusieurs raquo (participation multiple) la cardinaliteacute maximale prend la valeur N

31-Exemple

bull RG (regravegles de gestion)

1 Un salarieacute est affecteacute au plus agrave un seul service 2 Dans un service sont affecteacutes plusieurs salarieacutes

Il arrive (mais crsquoest rare) qursquoune cardinaliteacute maximale ait une valeur limiteacutee

bull Exemple

RG Un eacutelegraveve peut suivre au maximum 3 options

4-Reacutecapitulatif

16

En fait dans la grande majoriteacute des cas on nrsquoutilise que 4 combinaisons de valeurs pour les cardinaliteacutes

bull 01 au plus un(e) bull 11 un(e) et un(e) seul(e) bull 1n un(e) ou plusieurs bull 0 n zeacutero ou plusieurs

41-Exemples complets

RG un client commande au moins 1 produit (sous entendu ou plusieurs) et un produit peut ne pas encore avoir eacuteteacute commandeacute comme il peut lavoir eacuteteacute plusieurs fois

RG Un salarieacute est obligatoirement affecteacute agrave 1 et 1 seul service Un service pour exister doit avoir au moins un salarieacute affecteacute (sous-entendu il peut bien sur en avoir plusieurs)

II-MCDAssociations

Sommaire

1 Les associations binaires concernant 2 entiteacutes

11 Les associations hieacuterarchiques [1n]

12 Les associations non hieacuterarchiques [n n]

13 Les associations de type [1 1]

2 Les autres types dassociation

21 Les associations reacuteflexives

211 Exemple dassociation reacuteflexive hieacuterarchique

212 Exemples dassociations reacuteflexives non hieacuterarchiques

22 Les associations de dimension 3 ou plus (ternaires ou plus)

1-Les associations binaires concernant 2 entiteacutes

17

On distingue trois cateacutegories dassociations en fonction des cardinaliteacutes maximales de ses branches

-Les associations hieacuterarchiques encore appeleacutees associations [1 n] ou associations fonctionnelles

-Les associations non hieacuterarchiques encore appeleacutees associations [n n] ou non fonctionnelles

-Les association [1 1] les 2 branches ont pour cardinaliteacute maximale 1 Ce cas est rare

11-Les associations hieacuterarchiques [1 n]

Ce sont les associations ougrave dun cocircteacute la |cardinaliteacute maximale est agrave 1 et de lautre cocircteacute la cardinaliteacute maximale est agrave n

Cela signifie quune occurrence de A est relieacutee au plus agrave une seule occurrence de B Cest-agrave-dire si on connaicirct une occurrence de A alors on saura forceacutement quelle est la seule occurrence de B qui correspond (si elle existe) On dit que A deacutetermine B Cest un lien de deacutependance fonctionnelle B deacutepend fonctionnellement de A

Lentiteacute qui correspond agrave la branche du cocircteacute du 1 est parfois appeleacutee entiteacute fils et lentiteacute correspondant agrave la branche du cocircteacute n est parfois appeleacutee entiteacute pegravere Cette appellation deacutecoule de lanalogie un fils na quun seul pegravere et un pegravere peut avoir plusieurs fils

12-Les associations non hieacuterarchiques [n n]

13-Les associations de type [1 1]

Cas exceptionnel

Ex un employeacute travaille sur un ordinateur (p 99 de Modeacuteliser les donneacutees) La facture correspondant agrave une commande

2-Les autres types dassociation

18

Le plus souvent une association relie 2 entiteacutes avec 2 branches Ce type dassociation est appeleacute association binaire Nous avons deacutejagrave eacutetudieacute en deacutetail les diffeacuterents types dassociations binaires

Mais une association peut aussi relier 3 ou tregraves rarement 4 entiteacutes (quasiment jamais plus) On parle dassociation ternaire quaternaire (n-aire) Enfin une association peut aussi relier une entiteacute agrave elle-mecircme cest-agrave-dire que des occurrences de la mecircme entiteacute sont relieacutees entre elles Lassociation correspondante est qualifieacutee de reacuteflexive Ce sont ces autres types dassociation que nous allons eacutetudier maintenant

21-Les associations reacuteflexives

Une association reacuteflexive est une association reliant des occurrences de la mecircme entiteacute Ces associations sont quasiment toujours binaire (2 branches) Pour lire une association reacuteflexive il est faut connaicirctre le rocircle attribueacute agrave chaque branche de lassociation Il existe comme pour les autres associations des associations reacuteflexives hieacuterarchique et des associations reacuteflexives non hieacuterarchique

211-Exemple dassociation reacuteflexive hieacuterarchique

Dans une entreprise bureaucratique chaque salarieacute a un seul chef (supeacuterieur hieacuterarchique direct) sauf le patron et chaque chef a au moins un salarieacute sous ses ordres Evidemment certains salarieacutes ne sont chefs de personnes

Exemples doccurrences diagramme doccurrences

Remarquez limportance du rocircle dans le diagramme doccurrence

212--Exemples dassociations reacuteflexives non hieacuterarchiques

19

Piegraveces composants composeacute = reacuteflexive asymeacutetrique

Personnes fregraveres = reacuteflexive symeacutetrique (rocircle pas indispensable car a pour fregravere = ecirctre fregravere de)

Preacutecision de vocabulaire dimension dune association

La dimension dune association correspond au nombre de branches de lassociation Dans plus de 80 des cas les associations sont binaires Dimension 2 binaire Dimension 3 ternaire (rare) Dimension supeacuterieure aire (exceptionnel)

Lorsquil ny a pas de reacuteflexiviteacute le nombre de branches est eacutegal au nombre dentiteacutes relieacutees La dimension est dans ce cas le nombre dentiteacutes concerneacutees par lassociation Mais la reacuteflexiviteacute existe et donc on peut avoir plusieurs branches de la mecircme association sur la mecircme entiteacute Dans ce cas alors la dimension est supeacuterieure au nombre dentiteacutes concerneacutees

Dimension = nombre dentiteacute lieacutees

Une association reacuteflexive (1 entiteacute) est quasiment toujours binaire (2 branches) On pourrait aussi avoir une association ternaire impliquant seulement deux entiteacutes

22-Les associations de dimension 3 ou plus (ternaires ou plus)

Une association peut relier plus de 2 entiteacutes ensemble le plus souvent trois On parle alors dassociation ternaire On utilise une association ternaire quand on a besoin de connaicirctre une occurrence de chaque entiteacute pour avoir une information

Exemple

Pour connaicirctre la quantiteacute de chacune des piegraveces fabriqueacutee par chaque ouvrier agrave une date donneacutee on utilise une association ternaire entre OUVRIER PIECE et DATE La quantiteacute est une donneacutee porteacutee par cette association

Une occurrence de lassociation fabrique implique une seule occurrence de chaque entiteacute

20

Exemple

Ouvrier Piegravece Date quantiteacute

Dupont 1 1702 50

Dubois 2 1702 100

Martin 1 1702 40

Dupont 3 1702 55

Dubois 3 1702 20

Dupont 1 1602 40

Martin 1 1602 40

Lassociation ternaire implique aussi que

Pour un ouvrier on peut avoir plusieurs piegraveces diffeacuterentes agrave la mecircme date (il peut fabriquer plusieurs types de piegraveces le mecircme jour)

Une piegravece peut ecirctre fabriqueacutee par plusieurs ouvriers diffeacuterents le mecircme jour

A des dates diffeacuterentes un mecircme ouvrier peut fabriquer les mecircmes piegraveces

Lidentifiant dune association ternaire est formeacutee de la concateacutenation (juxtaposition) des identifiants des 3 entiteacutes relieacutees

Dans notre exemple on ne peut donc pas avoir plusieurs occurrences de fabrique qui concernent Dupont la piegravece ndeg1 agrave la date du 1702

III-MCDRepreacutesentation des cardinaliteacutes

bull Une voiture est posseacutedeacutee par une seule personne Une personne peut posseacuteder de 0 agrave plusieurs voitures

21

bull Une personne a une adresse ou est sans domicile A une adresse il y a une ou plusieurs personnes qui y habitent

IV-MCDAssociation ternaire

bull Une association peut relier plus de 2 entiteacutes ensemble le plus souvent trois On parle alors dassociation ternaire (dimension 3) On utilise une association ternaire quand on a besoin de connaicirctre une occurrence de chaque entiteacute pour avoir une information

bull Ex

Pour connaicirctre la quantiteacute de chacune des piegraveces fabriqueacutee par chaque ouvrier agrave une date donneacutee on utilise une association ternaire entre OUVRIER PIECE et DATE La quantiteacute est une donneacutee porteacutee par cette association

22

Une occurrence de lassociation fabrique implique une seule occurrence de chaque entiteacute Exemple

Ouvrier Piegravece Date quantiteacuteDupont 1 1702 50Dubois 2 1702 100Martin 1 1702 40Dupont 3 1702 55Dubois 3 1702 20Dupont 1 1602 40Martin 1 1602 40

Lassociation ternaire implique aussi que

1 Pour un ouvrier on peut avoir plusieurs piegraveces diffeacuterentes agrave la mecircme date (il peut fabriquer plusieurs types de piegraveces le mecircme jour)

2 Une piegravece peut ecirctre fabriqueacutee par plusieurs ouvriers diffeacuterents le mecircme jour 3 A des dates diffeacuterentes un mecircme ouvrier peut fabriquer les mecircmes piegraveces

Lidentifiant dune association ternaire est formeacutee de la concateacutenation (juxtaposition) des identifiants des 3 entiteacutes relieacutees

Dans notre exemple on ne peut donc pas avoir plusieurs occurrences de fabrique qui concernent Dupont la piegravece ndeg1 agrave la date du 1702

V-MCDAssociations reacuteflexives

Une association reacuteflexive est une association reliant des occurrences de la mecircme entiteacute Ces associations sont quasiment toujours binaire (2 branches)

Pour lire une association reacuteflexive il est faut connaicirctre le rocircle attribueacute agrave chaque branche de lassociation cest agrave dire le rocircle de chaque occurrence dans le lien

23

Il existe comme pour les autres associations des associations reacuteflexives hieacuterarchique (une des cardinaliteacutes maximales agrave 1) et des association reacuteflexives non hieacuterarchique (les deux cardinaliteacutes maximales agrave n)

1-Exemple dassociation reacuteflexive hieacuterarchique

Dans une entreprise bureaucratique chaque salarieacute a un seul chef (supeacuterieur hieacuterarchique direct) sauf le patron et chaque chef a au moins un salarieacute sous ses ordres Evidemment certains salarieacutes ne sont chefs de personnes

Un mecircme salarieacute peut agrave la fois ecirctre chef et avoir un chef Tutu peut ecirctre chef de titi et de toto et dautres salarieacutes mais il na quun seul chef au maximum toto peut ecirctre le chef de coco et avoir pour chef tutu

2-Exemples dassociations reacuteflexives non hieacuterarchiques

Piegraveces composants composeacute = reacuteflexive asymeacutetrique

Une piegravece peut entrer dans la composition de plusieurs autres piegraveces (ex un boulon) Une piegravece peut aussi ecirctre composeacutee de plusieurs autres piegraveces (ex un moteur) Une mecircme piegravece peut ecirctre composeacutee dautres piegraveces et entrer dans la composition dune ou plusieurs autres piegraveces (ex une carte reacuteseau)

Preacutecision de vocabulaire dimension dune association

La dimension dune association correspond au nombre de branches de lassociation Dans plus de 80 des cas les associations sont binaires

Dimension 2 binaire Dimension 3 ternaire (rare) Dimension supeacuterieure n-aire (exceptionnel)

Lorsquil ny a pas de reacuteflexiviteacute le nombre de branches est eacutegal au nombre dentiteacutes relieacutees La dimension est dans ce cas le nombre dentiteacutes concerneacutees par lassociation Mais la reacuteflexiviteacute existe et donc on peut avoir plusieurs branches de la mecircme association sur la mecircme entiteacute Dans ce cas alors la dimension est supeacuterieure au nombre dentiteacutes concerneacutees

24

Dimension = nombre dentiteacute lieacutees

Une association reacuteflexive (1 entiteacute) est quasiment toujours binaire (2 branches) On pourrait aussi avoir une association ternaire impliquant seulement deux entiteacutes

D-Passage MCD lt=gt modegravele relationnel

I-MRRappel sur le modegravele relationnel

Cest un modegravele LOGIQUE de donneacutee celui qui correspond agrave lorganisation des donneacutees dans les bases de donneacutees relationnelles (il existe dautres organisations de bases de donneacutees hieacuterarchique reacuteseau objethellip)

Les SGBD actuels les plus courants sont relationnels (Oracle SQL Server Access MySQL hellip )

Un modegravele relationnel est composeacute de relations encore appeleacutee tables Ces tables sont deacutecrites par des attributs ou champs (noms de colonnes) Pour deacutecrire une relation on indique tout simplement son nom en majuscule suivi du nom de ses attributs entre parenthegraveses

Lidentifiant dune relation est composeacute dun ou plusieurs attributs qui forment la cleacute primaire Une relation peut faire reacutefeacuterence agrave une autre en utilisant une cleacute eacutetrangegravere qui correspond agrave la cleacute primaire de la relation reacutefeacuterenceacutee

Il ny a pas de notation officielle pour repeacuterer les cleacutes primaires et eacutetrangegraveres Cest agrave vous den adopter une et de lexpliquer en leacutegende Toutefois une notation sest peu agrave peu reacutepandue

bull on souligne la cleacute primaire dun seul trait bull on fait preacuteceacuteder (ou suivre) les cleacutes eacutetrangegraveres du symbole

Chaque ligne (tuple ou enregistrement) dune table repreacutesente une occurrence de lentiteacute ou de lassociation correspondante

II-MRPassage du MCD au MR

Sommaire

bull 1 Regravegle 1 bull 2 Regravegle 2 bull 3 Exception agrave la regravegle 1 bull 4 Cas particulier des associations reacuteflexives

o 41 Reacuteflexive hieacuterarchique o 42 Reacuteflexive non hieacuterarchique

25

1-Regravegle 1

Toute entiteacute devient une relation ayant pour cleacute primaire son identifiant

Chaque proprieacuteteacute se transforme en attribut CLIENT (code_client nom preacutenom adresse code_postal ville teacuteleacutephone)

Remarque contrairement aux proprieacuteteacutes les attributs ne doivent pas comporter despaces

2-Regravegle 2

Toute association non hieacuterarchique (de type [n n] ou de dimension gt 2) devient une relation La cleacute primaire est formeacutee par la concateacutenation (juxtaposition) lensemble des identifiants des entiteacutes relieacutees Toutes les proprieacuteteacutes eacuteventuelles deviennent des attributs qui ne peuvent pas faire partie de la cleacute

CONCERNER (numeacutero_commande reacutefeacuterence_article quantiteacute)

Cette regravegle est valable pour toutes les associations ternaires (ou quaternaires) qui sont forceacutement non hieacuterarchiques (|cardinaliteacutes maximales toutes eacutegales agrave n)

3- Exception agrave la regravegle 1

Les entiteacutes nayant que leur identifiant comme attribut ne deviennent pas des relations mais des attributs dans les autres relations lieacutees

Avec ce modegravele on meacutemorise chaque jour pour chaque ouvrier les piegraveces quil a fabriqueacute et en quelle quantiteacute Quand on passe au modegravele relationnel lentiteacute DATE FABRICATION ne

26

devient pas une relation mais un attribut cleacute dans la relation FABRIQUE issue de lassociation

FABRIQUE (code_ouvrier reacutefeacuterence_piegravece date quantiteacute) Date ici fait partie de la cleacute primaire mais nest pas cleacute eacutetrangegravere

4-Cas particulier des associations reacuteflexives

Les associations reacuteflexives suivent les regravegles 2 ou 3 selon les |cardinaliteacutes mais posent un problegraveme particulier une mecircme proprieacuteteacute va se retrouver deux fois en attribut dans la mecircme relation Il faut alors donner un nom diffeacuterent et significatif aux deux attributs correspondants

Dans les reacuteflexives il est conseilleacute de nommer les branches par des rocircles pour pouvoir lire dans le bon sens lassociation Les rocircles aident agrave nommer les attributs correspondant agrave lassociation

41-Reacuteflexive hieacuterarchique

(Une branche agrave la cardinaliteacute maxi agrave 1 et lautre agrave n)

Regravegle ndeg 2

Lecture de lassociation Regravegle ndeg1 lidentifiant de SALARIE va devenir cleacute primaire et les autres proprieacuteteacutes des attributsRegravegle ndeg2 pour traduire lassociation [1 n] encadrer lidentifiant de lentiteacute SALARIE devient cleacute eacutetrangegraverelidentifiant de SALARIE matricule se retrouve deux fois dans la relation comme cleacute primaire et comme cleacute eacutetrangegravereOn va donc donner un nom diffeacuterent et significatif agrave ces deux matricules par exemple Un salarieacute a pour chef 0 ou un seul autre salarieacute Un salarieacute est chef de 0 agrave n autre(s) salarieacute

Traduction en modegravele relationnel

SALARIE (matricule nom preacutenom fonctionhellip matricule_chef)

42-Reacuteflexive non hieacuterarchique

Regravegle ndeg3

27

bull Lecture de lassociation

Une piegravece entre dans la composition de 0 agrave plusieurs autres piegraveces Une piegravece peut ecirctre composeacutee de plusieurs autres piegraveces Une piegravece entre dans la composition dune autre un certain nombre de fois

Ex La piegravece voiture est composeacutee de 4 piegraveces roue La piegravece roue est elle-mecircme composeacutee dune piegravece pneu et dune piegravece jante

Une piegravece entrant dans la composition dune autre est appeleacutee composant Une piegravece composeacutee dautres piegraveces est appeleacutee composeacute Une roue est agrave la fois un composant (de voiture) et un composeacute (de pneu et jante)

bull Traduction en modegravele relationnel

PIECE (reacutefeacuterence libelleacute)COMPOSITION(reacutefeacuterence_composeacute reacutefeacuterence_composant nombre)

E-Normalisation du modegravele relationnel

I- Deacutependance fonctionnelle

Sommaire

1 Introduction

2 Rappels sur la notion de deacutependance fonctionnelle

21 Deacutefinition

22 Terminologie

23 DF agrave partir de proprieacuteteacutes concateacuteneacutees

24 Proprieacuteteacutes des deacutependances fonctionnelles

241 Union

242 Transitiviteacute

1-Introduction

Lobjectif de la normalisation est de construire un scheacutema de base de donneacutees coheacuterentUn mauvais scheacutema logique peut conduire agrave un certain nombre danomalies pendant la phase dexploitation de la base de donneacutee Nous allons voir ces anomalies dans une premiegravere partiePour qursquoun modegravele relationnel soit normaliseacute il faut qursquoil respecte certaines contraintes appeleacutees les formes normales Les formes normales srsquoappuient sur les deacutependances fonctionnelles entre attributs

2-Rappels sur la notion de deacutependance fonctionnelle

La construction du MCD mais eacutegalement du modegravele relationnel correspondant repose presque entiegraverement sur le concept de deacutependance fonctionnelle Crsquoest ce concept qui permet

28

de passer drsquoun ensemble de proprieacuteteacutes non structureacute agrave un modegravele conceptuel des donneacutees formeacute drsquoentiteacutes et drsquoassociations et au modegravele relationnel correspondant

21-Deacutefinition

On dit que b est en deacutependance fonctionnelle (DF) de a si agrave une valeur quelconque de la proprieacuteteacute a on ne peut faire correspondre qursquoune seule valeur au plus de la proprieacuteteacute b

On note a b(Source)-gt (but)

Autrement dit si on connaicirct la valeur de a on peut en deacuteduire une seule valeur de bMais la reacuteciproque nrsquoest pas vrai (si on connaicirct b on ne peut pas en deacuteduire a)

bull Exemple

Num client Nom client

Il existe une DF entre num client et Nom client car si on connaicirct une valeur de la proprieacuteteacute num client (ex 4553) il ne peut lui correspondre qursquoune seule valeur de la proprieacuteteacute nom (ex Duval)

La reacuteciproque est fausse

Nom client Num client nrsquoest pas une DF

Si lrsquoon connaicirct la valeur de la proprieacuteteacute Nom client on ne peut pas en deacuteduire la proprieacuteteacute Num client car il peut y avoir des homonymes

22-Terminologie

Si on a une deacutependance fonctionnelle a b on peut employer les expressions suivantes de faccedilon eacutequivalente -Il y a une deacutependance fonctionnelle de a vers b- b est en deacutependance fonctionnelle de a- b deacutepend fonctionnellement de a- a est la source et b est le but (ou la cible) de la deacutependance fonctionnelle

23-DF agrave partir de proprieacuteteacutes concateacuteneacutees

(Partie gauche composeacutee de plusieurs attributs)

Il peut exister des deacutependances fonctionnelles agrave partir de proprieacuteteacutes concateacuteneacutees cest-agrave-dire qui forment un tout indissociable comme si elles eacutetaient soudeacutees

On note par un + cette concateacutenation

Exemple Consideacuterons une commande qui comporte plusieurs produits Num_Commande + Ref_Produit quantiteacute commandeacutee

Si on nrsquoa seulement le numeacutero de la commande on ne peut pas en deacuteduire la quantiteacute commandeacutee car il faut aussi savoir de quel produit De mecircme on ne peut pas savoir la quantiteacute commandeacutee drsquoun produit si on ne sait pas de quelle commande Il faut bien connaicirctre agrave la fois la commande et le produit (leurs identifiants respectifs) pour en deacuteduire la quantiteacute commandeacutee

29

Les deacutependances fonctionnelles dont la source est formeacutee de plusieurs proprieacuteteacutes doivent ecirctre eacuteleacutementaires cest-agrave-dire ne pas ecirctre creacuteeacutees artificiellement

Ex Num Commande + Num Client date commande nrsquoest pas une DF eacuteleacutementaire car on nrsquoa pas besoin du numeacutero de client pour connaicirctre la date de commande il suffit de connaicirctre le numeacutero de la commande La proprieacuteteacute Num Client ne

24-Proprieacuteteacutes des deacutependances fonctionnelles

Les deacutependances fonctionnelles ont les proprieacuteteacutes suivantes

241-Union

Si on a deux DF ayant la mecircme source on peut les rassembler en une seule en seacuteparant les

cibles par une virgule Si a b et a c

Ex Reacutefeacuterence Deacutesignation et Reacutefeacuterence Prix de vente unitaire

Alors par union on a Reacutefeacuterence Deacutesignation Prix de vente unitaire

Lors du traceacute du graphe des deacutependances fonctionnelles lrsquounion permet de regrouper sur une seule ligne toutes les deacutependances fonctionnelles ayant la mecircme source

242-Transitiviteacute

Si a b et b c alors on a a c

Ex Num Meacutedecin Code Service et Code Service Num Hopital

Alors on a Num Meacutedecin Num Hopital

Les DF qui peuvent ecirctre deacuteduites par transitiviteacute de deux autres DF (qui ne sont pas directes) doivent ecirctre eacutelimineacutees car elles sont alors redondantesIl ne reste alors que les DF directes cest-agrave-dire celles qui ne peuvent pas ecirctre retrouveacutees par transitiviteacute

Attention toutefois agrave la signification des deacutependances Une deacutependance fonctionnelle quon peut retrouver par transitiviteacute ne doit pas ecirctre supprimeacutee si elle na pas le mecircme sens que la transitiviteacute des deux autres car il y aurait perte dinformation

II-MRInteacuterecirct de la normalisation

Exemple

Pour vous montrer lrsquointeacuterecirct de la normalisation drsquoune base de donneacutee relationnelle voyons les problegravemes que peuvent poser lrsquoutilisation drsquoune base de donneacutee baseacutee sur un modegravele relationnel non normaliseacute

Soit le scheacutema de relation

30

FOURNISSEUR (NomFournisseur AdresseFournisseur Produits Prix)

Modegravele en extension

NomFournisseur AdresseFournisseur Produit Prix

Lebras 10 Rue des Gras - ClermontChaise table

2035

Dupont 86 Rue de la Reacutepublique - Moulins Bureau 60

Lajoie 26 Rue des Docircmes - Vichy Lit 50

Dupont 39 Rue des Buttes - MoulinsLampeTable de chevet

1825

bull 1degproblegraveme

Il nrsquoy a pas de cleacute primaire on ne sait pas si les deux Dupont sont diffeacuterents ou pas (si crsquoest le mecircme Dupont il y a une des deux adresses qui est fausse

bull 2degproblegraveme

Lrsquoadresse nrsquoest pas deacutecomposeacutee Si on veut par exemple rechercher tous les fournisseurs qui habitent la mecircme ville ccedila ne va pas ecirctre possible

bull 3degproblegraveme

Une relation (table) correspondant agrave ce scheacutema pourra eacuteventuellement contenir plusieurs produits pour un mecircme fournisseur

Dans ce cas il faudra faire face agrave un certain nombre de problegravemes

bull ladresse du fournisseur sera dupliqueacutee dans chaque n-uplet (redondance) bull si on souhaite modifier ladresse dun fournisseur il faudra rechercher et mettre agrave jour

tous les n-uplets correspondant agrave ce fournisseur bull si on insegravere un nouveau produit pour un fournisseur deacutejagrave reacutefeacuterenceacute il faudra veacuterifier

que ladresse est identique bull si on veut supprimer un fournisseur il faudra retrouver et supprimer tous les n-uplets

correspondant agrave ce fournisseur (pour diffeacuterents produits) dans la table bull La normalisation eacutelimine les redondances ce qui permet

- une diminution de la taille de la base de donneacutee sur le disque- une diminution des risques drsquoincoheacuterence- drsquoeacuteviter une mise agrave jour multiple des mecircmes donneacutees

31

III-MR 3 formes normales

Les 3 formes normales du modegravele relationnel

Sommaire

1 1er forme normale

2 2egraveme forme normale

3 3egraveme forme normale

4 Application des regravegles

5 Reacutesumeacute

1-1er forme normale

Une relation est normaliseacutee en premiegravere forme normale si

-Elle possegravede une cleacute identifiant de maniegravere unique et stable chaque ligne

-Chaque attribut est monovalueacute (ne peut avoir qursquoune seule valeur par ligne)

-Aucun attribut nrsquoest deacutecomposable en plusieurs attributs significatifs

Contre-exemple

EMPLOYE ( Nom Preacutenom Enfants Diplocircmes)

Cette relation nrsquoest pas en premiegravere forme normale

Un employeacute peut avoir plusieurs enfants et plusieurs diplocircmes En outre ces attributs sont deacutecomposables diplocircme est deacutecomposable en Nature et Anneacutee et Enfants est deacutecomposable en Preacutenom et Anneacutee de Naissance

2-2egraveme forme normale

Une relation R est en deuxiegraveme forme normale si et seulement si

-Elle est en 1FN

-Et tout attribut non cleacute est totalement deacutependant de toute la cleacute

Autrement dit aucun des attributs ne deacutepend que drsquoune partie de la cleacute La 2FN nest agrave veacuterifier que pour les relations ayant une cleacute composeacutee Une relation en 1FN nayant quun seul attribut cleacute est toujours en 2FN

Contre-exemple 32

Cette relation est en premiegravere forme normale (existence drsquoune cleacute valide et aucun attribut nrsquoest deacutecomposable)MAIS elle nrsquoest pas en 2deg forme normale car on a DeacutesignationProd ne deacutepend pas de toute la cleacute mais seulement de reacutefeacuterenceProd

ReacutefeacuterenceProd DeacutesignationProd

Pour connaicirctre lrsquoattribut deacutesignationProd on nrsquoa pas besoin de connaicirctre le numeacutero de commande

3-3egraveme forme normale

Une relation est en 3deg forme normale si et seulement si

Elle est en 2deg forme normale et tout attribut doit deacutependre directement de la cleacute cest-dire qursquoaucun attribut ne doit deacutependre de la cleacute par transitiviteacute

Autrement dit aucun attribut ne doit deacutependre drsquoun autre attribut non cleacute

Contre-exemple

CLIENT (Num_client Nom_client code_categ nom_categ) Cette relation nrsquoest pas en 3FN car num_client nom_categ nrsquoest pas une deacutependance directe

En effet on a aussi num_client num_categ nom_categ

4-Application des regravegles

Si lrsquoune des 3 regravegles nrsquoest pas veacuterifieacutee cela indique une erreur dans le modegravele relationnel et il faut alors modifier pour que les 3 regravegles soient veacuterifieacutees pour toutes les relationsOn veacuterifie les regravegles dans lrsquoordre Si la premiegravere forme normale nrsquoest pas respecteacutee pas la peine de veacuterifier la 2FN Et si la 2FN nrsquoest pas veacuterifieacutee inutile de veacuterifier la 3FN

5-Reacutesumeacute

Modegravele normaliseacute = relations avec

-Une cleacute qui permet de distinguer chaque occurrence

-Des attributs eacuteleacutementaires (1FN)

-En deacutependance de TOUTE la cleacute (2FN)

-Et RIEN QUE de la cleacute (3FN)

On parle aussi de normalisation pour un MCD Un MCD qui donne un MR normaliseacute est qualifieacute aussi de normaliseacute

F-MeriseLes diagrammes de flux

Les diagrammes de flux reacutepondent agrave la question Que fait le systegraveme

33

En ce sens ce sont des modegraveles FONCTIONNELS (qui deacutecrivent les fonctions)

Il existe2 types principaux de diagrammes de flux

1 Le modegravele de contexte (MC) ougrave le domaine drsquoeacutetude est vu comme une boite noire On ne repreacutesente que les flux exteacuterieurs au domaine

2 Le modegravele de flux de donneacutees (DFD) ou encore modegravele de flux conceptuels (MFC) ougrave lrsquoon deacutetaille les activiteacutes du domaine drsquoeacutetude On repreacutesente aussi les flux internes au domaine

I-MeriseVocabulaire associeacute aux modegraveles de flux

Sommaire

bull 1 Domaine deacutetude bull 2 Acteur externe bull 3 Domaine connexe

bull 4 Flux de donneacutees

1-Domaine deacutetude

Le domaine deacutetude est un sous-ensemble coheacuterent de lentreprise ou de lorganisme bien deacutelimiteacute et formant le contenu du sujet agrave eacutetudier

Dans les modegraveles de flux le domaine deacutetude est repreacutesenteacute par un rectangle agrave trait plein Le nom du domaine est placeacute agrave lrsquointeacuterieur du rectangle

2-Acteur externe

Un acteur externe est un eacuteleacutement eacutemetteur ou reacutecepteur de donneacutees situeacute hors du systegraveme dinformation eacutetudieacute

Dans les modegraveles de flux un acteur externe est repreacutesenteacute par un cercle plein Le nom de lrsquoacteur est placeacute agrave lrsquointeacuterieur du cercle

3-Domaine connexe

Un domaine connexe est un composant du systegraveme drsquoinformation interagissant avec le domaine drsquoeacutetude Crsquoest un acteur interne agrave lrsquoentreprise mais externe au domaine drsquoeacutetude

34

Dans les modegraveles de flux une activiteacute est repreacutesenteacutee graphiquement par un rectangle Le nom de lactiviteacute est placeacute agrave lrsquointeacuterieur du rectangle

4-Flux de donneacutees

Un flux est un transfert drsquoinformations entre composants du systegraveme Le composant peut ecirctre un domaine une activiteacute ou un acteur externe

Dans les modegraveles de flux un flux de donneacutees est repreacutesenteacute graphiquement par une flegraveche orienteacutee du composant eacutemetteur du flux vers le composant reacutecepteur Le libelleacute du flux est inscrit en regard de la flegraveche traceacutee

Formalisme graphique illustrant par exemple un eacutechange entre un acteur externe et le domaine deacutetude

II-MeriseModegravele de contexte

Le modegravele de contexte sert agrave repreacutesenter les interactions entre le domaine deacutetude et lrsquoenvironnement et entre le domaine deacutetude et les eacuteventuels domaines connexes

Le domaine deacutetude y est repreacutesenteacute comme une boicircte noire

Le modegravele de contexte utilise les concepts suivants

bull le domaine deacutetude bull les acteurs externes bull les flux de donneacutees bull les domaines connexes

Exemple de modegravele de contexte au sein drsquoune socieacuteteacute commerciale on eacutetudie le domaine laquo gestion des ventes raquo

35

Remarque

bull on ne fait pas apparaicirctre les flux entre acteurs externes et domaines connexes ou entre les domaines connexes

Exemple le flux correspondant agrave la livraison de marchandises nrsquoapparaicirct pas

II-MeriseMFC ou DFD

Sommaire

bull 1 Modegravele de flux conceptuel(MFC) ou diagramme de flux de donneacutees(DFD) o 11 Deacutefinition o 12 Exemple o 13 Regravegles de deacutecomposition des activiteacutes

1-Modegravele de flux conceptuel (MFC) ou diagramme de flux de donneacutees (DFD)

11-Deacutefinition

Ce modegravele permet de deacutecider quelles activiteacutes inter-relieacutees de quelle maniegravere permettront de reacutesoudre au mieux le problegraveme poseacute et cette reacuteflexion est meneacutee sans sencombrer dans un premier temps du comportement du systegraveme (ordonnancement regravegles deacutemission synchronisationshellip)

Les modegraveles de flux conceptuels permettent de deacutecomposer le domaine drsquoeacutetude en activiteacutes Il nrsquoy a pas ici de notion drsquoorganisation mais drsquoobjectifs agrave reacutealiser On repreacutesente les flu x entre activiteacutes et avec lrsquoenvironnement

Pour analyser les communications et les activiteacutes on procegravede par laquo zooms raquo successifs sur le domaine eacutetudieacute pour eacutelaborer des modegraveles de plus en plus deacutetailleacutes qui permettront davoir une cartographie deacutetailleacutee du systegraveme et de preacuteparer le passage au modegravele conceptuel de repreacutesentation des traitements

36

Le modegravele de contexte est eacutegalement appeleacute le diagramme de flux de donneacutees de niveau 0

Nous obtenons ensuite des diagrammes de premier deuxiegraveme troisiegraveme hellip niveau par eacuteclatements successifs des activiteacutes agrave chacun de ces niveaux

La deacutecomposition drsquoun domaine ou drsquoune activiteacute en plusieurs activiteacutes peut faire apparaicirctre de nouveaux flux dus

1 agrave lrsquoeacutechange drsquoinformations entre activiteacutes 2 agrave la deacutecomposition drsquoun flux preacutesent au niveau n en plusieurs flux au niveau n+1

12-Exemple

Si on reprend le modegravele de contexte preacuteceacutedent on srsquoaperccediloit que le domaine des ventes peut-ecirctre eacuteclateacute en trois activiteacutes Nous obtenons ainsi le diagramme de flux de donneacutees de niveau 1

Remarque

bull On peut deacutecomposer le modegravele de flux de niveau 1 en un modegravele de flux de niveau 2 et etc hellip jusqursquoagrave arriver agrave un modegravele ougrave lrsquoactiviteacute correspond agrave une opeacuteration au sens Merise (regravegle drsquoininterruption)

Exemple lrsquoactiviteacute laquo gestion des factures raquo peut ecirctre encore deacutecomposeacutee en activiteacutes laquo facturation raquo et laquo Suivi des regraveglements raquo

13-Regravegles de deacutecomposition des activiteacutes

bull Pourquoi deacutecomposer

1 Pour deacutesagreacuteger les groupes de flux pour arriver agrave la deacutefinition des flux-types du domaine eacutetudieacute

2 Pour preacuteparer leacutetude dynamique du systegraveme dinformation pour arriver agrave lrsquoidentification des processus et des opeacuterations conceptuelles

bull Comment deacutecomposer

37

1 Identifier les groupes de donneacutees entrant et sortant du domaine drsquoeacutetude pour construire le modegravele de contexte

2 Identifier les activiteacutes geacuteneacuterant ou traitant les flux de donneacutees pour construire le DFD de niveau 1(approche par les donneacutees) ou identifier une activiteacute de niveau 1 comme un ensemble drsquoactiviteacutes participant agrave une mecircme finaliteacute (approche par les objectifs)

bull Jusquougrave deacutecomposer

Lorsquune activiteacute a atteint le niveau dinterruptabiliteacute (degraves lors que le traitement est deacuteclencheacute il se deacuteroule sans attente de ressources compleacutementaires exteacuterieures) Lactiviteacute est alors une opeacuteration conceptuelle qui sera deacutecrite lors de leacutetude dynamique du SI dans le MCTA

G-Les Modegraveles de traitements (MCT et MCTA)

I-MeriseMCT

Sommaire

bull 1 Modeacutelisation des Traitements bull 2 Le MCT bull 3 Les concepts du MCT

o 31 Lrsquoeacuteveacutenement o 32 Lrsquoopeacuteration o 33 Le reacutesultat o 34 La synchronisation o 35 Regravegle deacutemission o 36 Rocircle des regravegles de gestion o 37 Le processus

bull 4 Meacutethode drsquoeacutetablissement drsquoun MCT o 41 Regravegles de validation o 42 Cas particuliers

421 Cycles

422 Les eacuteveacutenements consommables

1-Modeacutelisation des Traitements

La modeacutelisation des traitements pour but de faire la repreacutesentation dynamique du systegraveme drsquoinformation crsquoest-agrave dire de repreacutesenter lrsquoenchaicircnement des traitements reacutealiseacutes

Cette modeacutelisation srsquoeffectue agrave deux niveaux

1 le niveau conceptuel ougrave lrsquoon srsquointeacuteresse aux opeacuterations en dehors de toute mise en oeuvre organisationnelle

2 le niveau organisationnel ougrave se pose les questions du qui ougrave quand

2-Le MCT

Lrsquoobjectif du MCT est de reacutepondre agrave la question QUOI faire par rapport agrave un eacuteveacutenement Crsquoest la chronologie qui importe Autrement dit le MCT est une repreacutesentation de la

38

succession des regravegles de gestion dont lrsquoentreprise veut se doter pour reacutepondre aux eacuteveacutenements auxquels elle doit faire face du fait de son activiteacute et de son environnement

3-Les concepts du MCT

31-Lrsquoeacuteveacutenement

Crsquoest une sollicitation du systegraveme drsquoinformation qui geacutenegravere une reacuteaction de la part de celui-ci

Un eacuteveacutenement peut ecirctre externe au domaine eacutetudieacute (ex commande client) ou interne au SI souvent le reacutesultat drsquoun processus anteacuterieur (ex ordre de preacuteparation) Un eacuteveacutenement peut-ecirctre aussi temporel cest-agrave-dire lieacute agrave des dates qui rythment lrsquoexeacutecution de certains traitements (deacutelai de maintenance relances)

32-Lrsquoopeacuteration

Crsquoest un ensemble drsquoactions accomplies par le systegraveme drsquoinformation en reacuteaction agrave un eacuteveacutenement ou agrave une conjonction drsquoeacuteveacutenements et non interruptibles par un eacuteveacutenement externe

Remarque Une opeacuteration deacuteclenche au moins un reacutesultat Une opeacuteration est repreacutesenteacutee par un verbe ou mieux un substantif (ex Preacuteparer la commande ou preacuteparation de la commande)

34-Le reacutesultat

Un reacutesultat peut-ecirctre un document un message externe un nouvel eacutetat du SI (nouvelle situation nouvelles donneacutees) creacuteeacute par une opeacuteration qui peut lui-mecircme jouer le rocircle drsquoeacuteveacutenement

Un reacutesultat externe repreacutesente une information envoyeacutee agrave lrsquoexteacuterieur du SI (ex facture)

Un reacutesultat interne est un nouvel eacutetat du systegraveme drsquoinformation (ex ordre de preacuteparation)

35-La synchronisation

Crsquoest une condition booleacuteenne (ET OU) traduisant les regravegles de gestion que doivent respecter les eacuteveacutenements pour deacuteclencher une opeacuteration Dans le cas ET elle marque quun eacuteveacutenement deacutejagrave lagrave doit en attendre un ou plusieurs autres

Remarque Pour quil soit question de synchronisation il faut la preacutesence de plusieurs eacuteveacutenements deacuteclencheurs aussi le symbole de synchronisation est laisseacute agrave blanc dans le cas dun eacuteveacutenement unique

Si tous les eacuteveacutenements entrants sont lieacutes par le mecircme opeacuterateur on peut seulement faire figurer lopeacuterateur dans le symbole de synchronisation sinon il faut numeacuteroter les eacuteveacutenements (a b c hellip) et constituer lexpression agrave laide des eacuteveacutenements et des opeacuterateurs (ex (a ET b) OU c) Regravegle deacutemission

Condition traduisant les regravegles de gestion qui permet dexprimer des conditions de sortie des reacutesultats

39

Remarques Lexpression dune regravegle deacutemission peut ecirctre composeacutee de plusieurs conditions eacuteleacutementaires relieacutees par les opeacuterateurs ET OU On peut eacutegalement utiliser lopeacuterateur NON pour exprimer la neacutegation dune condition

36-Rocircle des regravegles de gestion

Recenseacutees lors de leacutetude de lexistant ou deacutefinies pour le futur SI elles deacutecrivent les enchaicircnements dopeacuterations Elles rendent possible le regroupement des actions au sein dune seule opeacuteration non interruptible au niveau conceptuel

37-Le processus

Crsquoest un enchaicircnement synchroniseacute dopeacuterations au sein dun mecircme domaine geacuteneacuteralement deacuteclencheacute par un eacuteveacutenement externe (externe au domaine ou au SI tout entier)

Un MCT est la repreacutesentation de lrsquoenchaicircnement des opeacuterations drsquoun processus

4-Meacutethode drsquoeacutetablissement drsquoun MCT

1 Reacutealiser le graphe des flux (repreacutesentation des acteurs eacuteveacutenements et reacutesultats externes

2 Pour chaque eacuteveacutenement recenser les opeacuterations deacuteclencheacutees etou les eacuteveacutenements internes produits

3 Regrouper dans une mecircme opeacuteration tous les traitements qui ont les mecircmes deacuteclencheurs dans une uniteacute de temps avec la mecircme synchronisation

41-Regravegles de validation

Une opeacuteration ne peut pas ecirctre interrompue par lrsquoattente drsquoun eacuteveacutenement externe

Si tel est le cas il faut deacutecrire une seconde opeacuteration deacuteclencheacutee par cet eacuteveacutenement en attente

42-Cas particuliers

421-Cycles

Pour une mecircme opeacuteration leacuteveacutenement deacuteclencheur et leacuteveacutenement reacutesultat sont identiques

Une commande de client est servie si les marchandises sont disponibles sinon cette commande est mise en attente Les commandes en attente sont reacuteexamineacutees lors de chaque reacuteapprovisionnement afin de les livrer

40

Il faut sassurer que le cycle a bien un deacutebut et une fin ici cest lrsquoeacuteveacutenement Reacuteapprovisionnement effectueacute qui permet deacuteviter que le cycle ne se deacuteroule sans fin sur les commandes en attente

Noter limportance du concept doccurrences deacuteveacutenement

-une occurrence de Reacuteappro est-elle autoriseacutee agrave consommer toutes les occurrences de Commande en attente

-si le reacuteapprovisionnement est insuffisant de nouvelles occurrences de Commande en attente doivent-elles ecirctre creacuteeacutees

422-Les eacuteveacutenements consommables

Un client non satisfait peut retourner un article On lui fait un avoir Il peut alors le preacutesenter en caisse pour ecirctre rembourseacute de son achat Il peut encore remplacer larticle deacutefectueux par un autre auquel cas on annule lavoir

41

Ce qui pose question

UNE occurrence de leacuteveacutenement avoir eacutetabli ne peut ecirctre consommeacutee par 2 opeacuterations (rembourser et imputer)

Dit autrement avoir eacutetabli ne sait pas vers quelle opeacuteration se diriger On pourrait se dire quil est implicite que cest le premier eacuteveacutenement qui survient qui gagne si Echange survient en premier alors lavoir est annuleacute

Cependant que se passe-t-il si les 2 eacuteveacutenements externes se produisent simultaneacutement Si on impleacutemente tel quel ce scheacutema dans un automate il est vraisemblable que le client pourra avoir le beurre et largent du beurre

se preacutesenter en caisse et faire leacutechange pour un seul retour Il est donc preacutefeacuterable dexpliciter (cf ci-apregraves)

Une autre solution consiste agrave indiquer explicitement que cet eacuteveacutenement est consommable cest-agrave-dire que la premiegravere opeacuteration qui se deacuteclenche annule lrsquoeacuteveacutenement pour lrsquoautre opeacuteration

42

II-MeriseInteacutegration des donneacutees dans le MCT

Sommaire

bull 1 DEFINITION bull 2 FORMALISME DU MCTA bull 3 REPRESENTATION DES ACTIONS SUR LES DONNEES bull 4 COMPLEMENTS

o 41 Condition de deacuteclenchement o 42 Action collective o 43 Coheacuterence de la base de donneacutees o 44 REGLES DE VALIDATION DrsquoUN MCTA

o 45 Exemple de MCTA

1-DEFINITION

Le MCTA est une repreacutesentation syntheacutetique des traitements qui met en eacutevidence les reacuteactions du systegraveme aux eacuteveacutenements et linteraction avec les donneacutees

Il vise agrave

Deacutecrire le fonctionnement du systegraveme indeacutependamment de lorganisation

Donner une vision des traitements et de la coordination des eacuteveacutenements deacuteclencheurs

Rapprocher les donneacutees et les traitements

2-FORMALISME DU MCTA

Pour mettre en eacutevidence lrsquoarticulation entre les donneacutees et les traitements dans le MCT on ajoute agrave droite de chaque opeacuteration les entiteacutes ou associations qui sont consulteacutees ou qui subissent un changement drsquoeacutetat (creacuteation mise agrave jour suppression hellip)

43

3-REPRESENTATION DES ACTIONS SUR LES DONNEES

Un objet correspond agrave une entiteacute ou une association du MCD correspondant au champ drsquoeacutetude du SI Une action est une manipulation (creacuteation consultation modification ou suppression) drsquoun objet du systegraveme drsquoinformation Elle est symboliseacutee par un trait entre lrsquoopeacuteration et lrsquoobjet manipuleacute Ce trait est non orienteacute sil sagit dune suppression et il est orienteacute pour les autres types de manipulation le sens de la flegraveche deacutepend du type de manipulation

Un eacutetat drsquoobjet est un stade transitoire par lequel passe un objet (entiteacute ou association) au cours de sa laquo vie raquo

Dans un MCTA une opeacuteration est composeacutee dun ensemble dactions sur les donneacutees

Les actions sur les donneacutees sont de 4 types

Creacuteation drsquoune occurrence

Creacuteation drsquoune occurrence de lrsquoobjet 1 dans lrsquoeacutetat 1

Suppression drsquoune occurrence

Suppression drsquoune occurrence de lrsquoobjet 3 se trouvant dans lrsquoeacutetat 2

Consultation drsquoune occurrence

Consultation drsquoune occurrence de lrsquoobjet 4 dans lrsquoeacutetat 6 Leacutetat de lrsquoobjet nrsquoest pas indiqueacute mais sera eacuteventuellement testeacute avant reacutealisation de la (ou des) action (s) suivante (s)

44

Modification drsquoune occurrence

Modification drsquoune occurrence de lrsquoobjet 2 si elle est dans lrsquoeacutetat 3 elle passe agrave lrsquoeacutetat 4 ou agrave lrsquoeacutetat 5

Lrsquoaction de modification inclut implicitement la ou les consultations preacutealables

On ne doit pas seacuteparer les consultations qui preacutecegravedent les modifications des modifications elles-mecircmes

Remarque geacuteneacuterale Lrsquoordre des actions drsquoune opeacuteration sera si possible preacutesenteacute de haut en bas

4-COMPLEMENTS

41-Condition de deacuteclenchement

Lrsquoaction eacuteleacutementaire peut ecirctre accompagneacutee drsquoune condition de deacuteclenchement (agrave indiquer au niveau du trait ou agrave cocircteacute de lrsquoobjet) Cette condition peut porter sur lrsquoeacutetat de la structure des donneacutees agrave un moment preacutecis etou sur le type drsquoeacuteveacutenement constateacute agrave lrsquoentreacutee de lrsquoopeacuteration

42-Action collective

Elle permet drsquoindiquer que lrsquoaction intervient sur un ensemble drsquooccurrences de lrsquoobjet concerneacute (toutes srsquoil nrsquoy a pas de condition de deacuteclenchement associeacutee limitant le nombre drsquooccurrences manipuleacutees)

Exemple en fin de mois une compagnie dassurances reacutesilie les polices quelle a proposeacutees degraves que le deacutelai de signature de celles-ci est deacutepasseacute

45

C1 si le deacutelai de signature est deacutepasseacute

43-Coheacuterence de la base de donneacutees

Une BD a coheacuterent si elle ne comporte pas de contradictions (par rapport aux regravegles de gestion en particulier)

Une action peut ne pas laisser la structure de donneacutees dans un eacutetat coheacuterent

En revanche la coheacuterence doit toujours ecirctre assureacutee au niveau drsquoune opeacuteration

44-REGLES DE VALIDATION DrsquoUN MCTA

Une opeacuteration conceptuelle ne doit pas ecirctre interrompue par lrsquoattente drsquoun eacuteveacutenement externe

Une opeacuteration conceptuelle prend la structure de donneacutees manipuleacutees dans un eacutetat coheacuterent et la rend dans un eacutetat coheacuterent

46

45-Exemple de MCTA

C1 si le client eacutetait preacuteceacutedemment un client prospect (cest-agrave-dire client potentiel)

C2 sil sagit dun nouveau client ou si le client eacutetait preacuteceacutedemment un client prospect le client est mis en portefeuille (cest-agrave-dire qursquoil est reacuteellement client)

C3 si disponibiliteacute de tous les produits (quantiteacute en stock suffisante pour assurer la livraison)

Remarque on considegravere ici qursquoil nrsquoy a pas de livraison partielle

47

  • I-Systegraveme drsquoinformation de gestion
    • Sommaire
      • 1-Qursquoest ce qursquoun systegraveme
      • 2-Qursquoest ce qursquoun systegraveme drsquoinformation de gestion
      • 3-Les fonctions du systegraveme drsquoinformation
      • II-MeriseModeacutelisation
        • Sommaire
          • 1-Qursquoest qursquoun modegravele
          • 2-La meacutethode Merise
            • 21-Les composantes de Merise
            • 22-La deacutemarche Merise
            • 23-Les niveaux drsquoabstraction
            • 24-La courbe du soleil
              • Deacutefinition
              • I-MCDRecueil des donneacutees
              • Exemple
              • II-MCDConcepts et du formalisme
                • Sommaire
                  • 1-Les concepts de base
                    • 11-Entiteacute
                    • 12-Association
                    • 13-Cardinaliteacutes
                      • 2-La notion drsquooccurrence
                      • III-MCDRegravegles de construction
                        • Sommaire
                          • 1-Regravegles concernant les proprieacuteteacutes
                          • 2-Regravegles concernant les entiteacutes
                          • 3-Regravegles concernant les associations
                          • IV-MCDIntroduction aux cardinaliteacutes
                            • Sommaire
                              • 1-Formalisme
                              • 2-La cardinaliteacute minimale
                                • 21--Exemples
                                • 22-Application
                                  • 3-La cardinaliteacute maximale
                                    • 31-Exemple 1
                                    • 32-Exemple 2
                                      • 4-Conclusion
                                      • 5-Exemple
                                      • 6-Repreacutesentation des cardinaliteacutes
                                      • I-MCDCardinaliteacutes
                                        • Sommaire
                                          • 1-Deacutefinition et formalisme
                                          • 2-La cardinaliteacute minimale
                                            • 21-Exemple
                                            • 22-Application
                                              • 3-La cardinaliteacute maximale
                                                • 31-Exemple
                                                  • 4-Reacutecapitulatif
                                                    • 41-Exemples complets
                                                      • II-MCDAssociations
                                                        • Sommaire
                                                          • 1-Les associations binaires concernant 2 entiteacutes
                                                            • 11-Les associations hieacuterarchiques [1 n]
                                                            • 12-Les associations non hieacuterarchiques [n n]
                                                            • 13-Les associations de type [1 1]
                                                              • 2-Les autres types dassociation
                                                                • 21-Les associations reacuteflexives
                                                                  • 211-Exemple dassociation reacuteflexive hieacuterarchique
                                                                  • 212--Exemples dassociations reacuteflexives non hieacuterarchiques
                                                                    • 22-Les associations de dimension 3 ou plus (ternaires ou plus)
                                                                      • III-MCDRepreacutesentation des cardinaliteacutes
                                                                      • IV-MCDAssociation ternaire
                                                                      • V-MCDAssociations reacuteflexives
                                                                      • 1-Exemple dassociation reacuteflexive hieacuterarchique
                                                                      • 2-Exemples dassociations reacuteflexives non hieacuterarchiques
                                                                      • I-MRRappel sur le modegravele relationnel
                                                                      • II-MRPassage du MCD au MR
                                                                        • Sommaire
                                                                          • 1-Regravegle 1
                                                                          • 2-Regravegle 2
                                                                          • 3-Exception agrave la regravegle 1
                                                                          • 4-Cas particulier des associations reacuteflexives
                                                                            • 41-Reacuteflexive hieacuterarchique
                                                                            • 42-Reacuteflexive non hieacuterarchique
                                                                              • E-Normalisation du modegravele relationnel
                                                                              • I-Deacutependance fonctionnelle
                                                                                • Sommaire
                                                                                  • 1-Introduction
                                                                                  • 2-Rappels sur la notion de deacutependance fonctionnelle
                                                                                    • 21-Deacutefinition
                                                                                    • 22-Terminologie
                                                                                    • 23-DF agrave partir de proprieacuteteacutes concateacuteneacutees
                                                                                    • 24-Proprieacuteteacutes des deacutependances fonctionnelles
                                                                                      • 241-Union
                                                                                      • 242-Transitiviteacute
                                                                                          • II-MRInteacuterecirct de la normalisation
                                                                                          • Exemple
                                                                                          • III-MR 3 formes normales
                                                                                            • Sommaire
                                                                                              • 1-1er forme normale
                                                                                              • 2-2egraveme forme normale
                                                                                              • 3-3egraveme forme normale
                                                                                              • 4-Application des regravegles
                                                                                              • 5-Reacutesumeacute
                                                                                              • F-MeriseLes diagrammes de flux
                                                                                              • I-MeriseVocabulaire associeacute aux modegraveles de flux
                                                                                                • Sommaire
                                                                                                  • 1-Domaine deacutetude
                                                                                                  • 2-Acteur externe
                                                                                                  • 3-Domaine connexe
                                                                                                  • 4-Flux de donneacutees
                                                                                                  • II-MeriseModegravele de contexte
                                                                                                  • II-MeriseMFC ou DFD
                                                                                                    • Sommaire
                                                                                                      • 1-Modegravele de flux conceptuel (MFC) ou diagramme de flux de donneacutees (DFD)
                                                                                                        • 11-Deacutefinition
                                                                                                        • 12-Exemple
                                                                                                        • 13-Regravegles de deacutecomposition des activiteacutes
                                                                                                          • I-MeriseMCT
                                                                                                            • Sommaire
                                                                                                              • 1-Modeacutelisation des Traitements
                                                                                                              • 2-Le MCT
                                                                                                              • 3-Les concepts du MCT
                                                                                                                • 31-Lrsquoeacuteveacutenement
                                                                                                                • 32-Lrsquoopeacuteration
                                                                                                                • 34-Le reacutesultat
                                                                                                                • 35-La synchronisation
                                                                                                                • 36-Rocircle des regravegles de gestion
                                                                                                                • 37-Le processus
                                                                                                                  • 4-Meacutethode drsquoeacutetablissement drsquoun MCT
                                                                                                                    • 41-Regravegles de validation
                                                                                                                    • 42-Cas particuliers
                                                                                                                      • 421-Cycles
                                                                                                                      • 422-Les eacuteveacutenements consommables
                                                                                                                          • II-MeriseInteacutegration des donneacutees dans le MCT
                                                                                                                            • Sommaire
                                                                                                                              • 1-DEFINITION
                                                                                                                              • 2-FORMALISME DU MCTA
                                                                                                                              • 3-REPRESENTATION DES ACTIONS SUR LES DONNEES
                                                                                                                              • 4-COMPLEMENTS
                                                                                                                                • 41-Condition de deacuteclenchement
                                                                                                                                • 42-Action collective
                                                                                                                                • 43-Coheacuterence de la base de donneacutees
                                                                                                                                • 44-REGLES DE VALIDATION DrsquoUN MCTA
                                                                                                                                • 45-Exemple de MCTA
Page 13: 7472422 Cours de Merise

4-Conclusion

En fait dans la grande majoriteacute des cas on nrsquoutilise que 4 combinaisons de valeurs pour les cardinaliteacutes

bull 01 au plus un(e) bull 11 un(e) et un(e) seul(e) bull 1 n un(e) ou plusieurs bull 0 n zeacutero ou plusieurs

5-Exemple

6-Repreacutesentation des cardinaliteacutes

Une voiture est posseacutedeacutee par une seule personne Une personne peut posseacuteder de 0 agrave plusieurs voitures

Une personne a une adresse ou est sans domicile A une adresse il y a une ou plusieurs personne qui y habitent

13

C-Les cardinaliteacutes et les diffeacuterents types dassociations

I-MCDCardinaliteacutes

Sommaire

bull 1 Deacutefinition et formalisme bull 2 La cardinaliteacute minimale

o 21 Exemple o 22 Application

bull 3 La cardinaliteacute maximale o 31 Exemple

bull 4 Reacutecapitulatif o 41 Exemples complets

1-Deacutefinition et formalisme

Les cardinaliteacutes sont des couples de valeur que lon trouve entre chaque entiteacute et ses associations lieacuteesDonc pour une association de 2 entiteacutes il y a 4 cardinaliteacutes agrave indiquer (2 de chaque cocircteacute)Il y a trois valeurs typiques 0 1 et N (plusieurs)

Pour les associations agrave 2 entiteacutes ce sont des valeurs qui permettent drsquoindiquer combien de fois au minimum et au maximum une occurrence dentiteacute peut ecirctre lieacutee agrave une autre occurrence dentiteacute

De maniegravere plus geacuteneacuterale les cardinaliteacutes drsquoune entiteacute dans une association expriment le nombre de fois qursquoune occurrence de cette entiteacute peut ecirctre impliqueacutee dans une occurrence de lassociation au minimum et au maximum

Les cardinaliteacutes traduisent des regravegles de gestion Ce sont des regravegles propres agrave lorganisation eacutetudieacutee qui sont deacutecideacutees par les gestionnaires et deacutecideurs Ces regravegles expriment des contraintes sur le modegravele

2-La cardinaliteacute minimale

14

Elle est exprimeacutee presque toujours par lrsquoune des deux valeurs 0 ou 1 Elle traduit combien de fois au minimum une occurrence de lrsquoentiteacute participe agrave lrsquoassociation autrement dit si une occurrence est obligatoirement associeacutee agrave une autre ou pas

21-Exemple

Pour la cardinaliteacute minimale entre client et commander il faut se poser la question Pour un client donneacute combien de fois au minimum il commande

ou encore mieux Est-il obligatoire quun client effectue une commande de produit

Cela deacutepend des REGLES DE GESTION de lentreprise Si la regravegle de gestion est laquo tout client doit passer au moins une commande sinon ce nrsquoest pas un client raquo on met la cardinaliteacute mini agrave 1

Mais on peut tregraves bien imaginer que lrsquoentreprise veut aussi meacutemoriser les clients potentiels (prospects) qui nrsquoont encore rien commandeacute Dans ce cas un client peut tregraves bien ne pas avoir encore commandeacute et on met la cardinaliteacute mini agrave 0

En fait les cardinaliteacutes deacutependent des regravegles de gestion propres agrave lrsquoorganisation eacutetudieacutee La regravegle peut tregraves bien ecirctre laquo On ne meacutemorise que les clients qui ont deacutejagrave commandeacute raquo ou bien laquo On veut meacutemoriser les prospects raquo

22-Application

bull Trouver la question qui permet de trouver la cardinaliteacute minimale pour lrsquoentiteacute produit et lrsquoassociation commander

Reacuteponse Est-il obligatoire quun produit ait eacuteteacute commandeacute pour quil soit meacutemoriseacute dans la base de donneacutee ou bien Peut-il exister dans la base de donneacutee des produits qui nont jamais eacuteteacute commandeacutes

bull Faites deux hypothegraveses de regravegle de gestion concernant ce lien et trouver les cardinaliteacutes minimales correspondantes

Reacuteponse H1 lentreprise peut proposer de nouveaux produits sur catalogue par exemple quelle meacutemorise dans sa base de donneacutees mais qui nont jamais encore eacuteteacute commandeacutes =gt cardinaliteacute minimale agrave 0 (cest plutocirct le cas pour les entreprises de vente)

15

H2 tout produit inscrit dans la base de donneacutee est forceacutement commandeacute (par exemple parce que lentreprise ne propose pas de catalogue mais fabrique seulement agrave la commande) =gt cardinaliteacute minimale agrave 1 (cest plutocirct le cas pour les entreprises de production)

3-La cardinaliteacute maximale

Elle traduit combien de fois au maximum une occurrence dentiteacute peut ecirctre en relation avec une occurrence de lassociation Cela peut ecirctre plusieurs fois (si crsquoest un nombre indeacutetermineacute on indique la valeur n) ou une seule fois

Cette cardinaliteacute reacutepond agrave la question

bull la participation dune occurrence doit-elle ecirctre unique ou bien peut-elle ecirctre multiple ou bien

bull combien de fois au maximum une occurrence est elle impliqueacutee dans lassociation

Si lassociation est binaire (relie seulement deux entiteacute) la question peut ecirctre aussi

bull Une occurrence de lentiteacute peut-elle ecirctre relieacutee agrave plusieurs occurrences de lautre entiteacute ou bien ne peut-elle ecirctre relieacutee quagrave une seule autre occurrence au plus

Si la reacuteponse est laquo au plus une fois raquo (participation unique) la cardinaliteacute maximale prend pour valeur 1 Si la reacuteponse est laquo plusieurs raquo (participation multiple) la cardinaliteacute maximale prend la valeur N

31-Exemple

bull RG (regravegles de gestion)

1 Un salarieacute est affecteacute au plus agrave un seul service 2 Dans un service sont affecteacutes plusieurs salarieacutes

Il arrive (mais crsquoest rare) qursquoune cardinaliteacute maximale ait une valeur limiteacutee

bull Exemple

RG Un eacutelegraveve peut suivre au maximum 3 options

4-Reacutecapitulatif

16

En fait dans la grande majoriteacute des cas on nrsquoutilise que 4 combinaisons de valeurs pour les cardinaliteacutes

bull 01 au plus un(e) bull 11 un(e) et un(e) seul(e) bull 1n un(e) ou plusieurs bull 0 n zeacutero ou plusieurs

41-Exemples complets

RG un client commande au moins 1 produit (sous entendu ou plusieurs) et un produit peut ne pas encore avoir eacuteteacute commandeacute comme il peut lavoir eacuteteacute plusieurs fois

RG Un salarieacute est obligatoirement affecteacute agrave 1 et 1 seul service Un service pour exister doit avoir au moins un salarieacute affecteacute (sous-entendu il peut bien sur en avoir plusieurs)

II-MCDAssociations

Sommaire

1 Les associations binaires concernant 2 entiteacutes

11 Les associations hieacuterarchiques [1n]

12 Les associations non hieacuterarchiques [n n]

13 Les associations de type [1 1]

2 Les autres types dassociation

21 Les associations reacuteflexives

211 Exemple dassociation reacuteflexive hieacuterarchique

212 Exemples dassociations reacuteflexives non hieacuterarchiques

22 Les associations de dimension 3 ou plus (ternaires ou plus)

1-Les associations binaires concernant 2 entiteacutes

17

On distingue trois cateacutegories dassociations en fonction des cardinaliteacutes maximales de ses branches

-Les associations hieacuterarchiques encore appeleacutees associations [1 n] ou associations fonctionnelles

-Les associations non hieacuterarchiques encore appeleacutees associations [n n] ou non fonctionnelles

-Les association [1 1] les 2 branches ont pour cardinaliteacute maximale 1 Ce cas est rare

11-Les associations hieacuterarchiques [1 n]

Ce sont les associations ougrave dun cocircteacute la |cardinaliteacute maximale est agrave 1 et de lautre cocircteacute la cardinaliteacute maximale est agrave n

Cela signifie quune occurrence de A est relieacutee au plus agrave une seule occurrence de B Cest-agrave-dire si on connaicirct une occurrence de A alors on saura forceacutement quelle est la seule occurrence de B qui correspond (si elle existe) On dit que A deacutetermine B Cest un lien de deacutependance fonctionnelle B deacutepend fonctionnellement de A

Lentiteacute qui correspond agrave la branche du cocircteacute du 1 est parfois appeleacutee entiteacute fils et lentiteacute correspondant agrave la branche du cocircteacute n est parfois appeleacutee entiteacute pegravere Cette appellation deacutecoule de lanalogie un fils na quun seul pegravere e