Upload
ahmed-mousbir
View
127
Download
5
Embed Size (px)
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
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
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
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
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
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
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
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
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
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
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
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