Vous êtes sur la page 1sur 19

Cycle de vie dune B.

Etude Pralable Evolution du monde rel

Monde rel
Spcification fonctionnelle

Schma conceptuel DML


Consultation

Automatisation : Exploitation et maintenance

DDL
Structure de la B.D

DAL

Droulement de ltude pralable : 1. Analyse des besoins et de lexistant (problmes rsoudre) L'expression des besoins est une tape consistant dfinir ce que l'on attend du systme d'information automatis, il faut pour cela : faire l'inventaire des lments ncessaires au systme d'information dlimiter le systme en s'informant auprs des futurs utilisateurs Les concepteurs doivent effectuer une enqute prcise au niveau des demandeurs de lapplication (les clients), et des utilisateurs (souvent le personnel des clients). 2. Communication (interview) avec les utilisateurs, clients et experts 3. Dgager et tudier des alternatives 4. Estimer les cots et planifier le dveloppement globalement 5. Rdiger le cahier de charges (C.C) 6. Rdiger le contrat 7. Lancer le dveloppement La spcification a pour buts : La description du modle fonctionnel du systme dinformation (quels sont les modules constitutifs? comment lensemble fonctionne ?) lestimation des ressources (humaines, et matrielles) Obtention du cahier des charges dtaill (fonctionnalits, ressources, contraintes, planning).

La conception gnrale Elle consiste en une description de larchitecture du logiciel, cest dire obtenir la fois : une dcomposition du systme dinformation en un ensemble de modules et de structures de donnes et une description du rle de chaque module individuellement, et en interaction avec les autres. Remarque : Il est important de retenir que les travaux de cette tape doivent rester indpendants dune quelconque implmentation (langage de programmation ou SGBD). Schma des phases de ralisation dun logiciel

Les concepteurs vont devoir utiliser des mthodes, des outils de conception. La conception d'un systme d'information n'est pas vidente car il faut rflchir l'ensemble de l'organisation que l'on doit mettre en place. La phase de conception ncessite des mthodes permettant de mettre en place un modle sur lequel on va s'appuyer lors du dveloppement. La modlisation consiste crer une reprsentation virtuelle d'une ralit de telle faon faire ressortir les points auxquels on s'intresse. Ce type de mthode est appel analyse. Il existe plusieurs mthodes d'analyse, la mthode la plus utilise tant la mthode MERISE. Merise : Dfinition MERISE (Mthode d'tude et de Ralisation Informatique par les Sous-Ensembles ou pour les Systmes d'Entreprises) est une mthode de conception de projets informatiques. Son but est d'arriver concevoir un systme d'information en se basant sur la sparation des donnes et des traitements effectuer en plusieurs modles conceptuels et physiques. La sparation des donnes et des traitements assure une longvit au modle. En effet, l'agencement des donnes n'a pas tre souvent remani, tandis que les traitements le sont plus frquemment.

I- Modle Conceptuel de Donnes (MCD):


On cherche trouver un modle reprsentatif des donnes que nous fournit un univers d'information, pour lequel on mettra en place ultrieurement des traitements automatiques.

Le MCD permet le passage d'un concret inaccessible (l'univers rel) un abstrait manipulable. Le schma conceptuel peut donc tre considr comme la description du contenu de la base : c'est le rsultat d'un travail d'analyse et de conception d'un systme d'information automatis. Merise : Etapes de la dmarche Lapproche Merise se base sur les tapes suivantes : 1-Dlimitation du domaine dtude : Bien dfinir les limites du projet : division du cas queon traite en sous ensembles cohrents exemple : domaine financier et comptable, domaine commercial, domaine gestion du personnel 2-Reprage des entits : Dfinition : Une entit peut tre dfinie comme une personne, un objet, un lieu, un vnement qui ont une existence dans le monde rel. C'est un objet concret ou abstrait, possdant un certain nombre de caractristiques spcifiques (exemple : le produit x cote y dirhams). Dfinie par : Un nom qui permet de lidentifier Un ensemble de proprits/attributs quelle possde. La dsignation dun identifiant: proprit ou ensemble de proprits permettant de reprer de faon unique une occurrence de cette entit parmi dautres occurrences Exemple: Enseignant possde : un nom, un prnom, un ge, un nombre denfants, une situation familiale, Une entit a un seul identifiant Une entit a au moins une proprit Une entit participe a au moins une association A chaque occurrence de lentit, il ne peut y avoir au plus quune valeur de la proprit: Si une personne possde plusieurs numros de tlphone, il faudra clater ces numros sous plusieurs titres Une information ne peut tre que dans une seule entit. Pour tre dans cette entit, elle doit dpendre de lidentifiant (notion de dpendance fonctionnelle) 3-Reprage des relations / Associations : Dfinition : Une relation contient toujours une cl primaire. Chaque ligne est unique et est accessible de faon univoque par une valeur de la cl primaire. Elle peut reprsenter le lien entre deux plusieurs entits. Lassociation nexiste qu travers les entits quelle relie
On dsigne en gnral les associations par des noms de verbe: verbe statique linfinitif: appartenir, concerner,... la forme active ou passive permet dorienter la lecture de lassociation

Remarque: Une association na pas didentifiant propre mais ses occurrences sont identifies par la concatnation des identifiants des entits quelle relie Une association peut tre porteuse de donnes comme il ne peut pas ltre On distingue diffrents types dassociation: Les associations binaires: qui associent 2 entits Les associations n-aires: qui associe plus de 2 entits (ex: associations ternaires, quarnaires) Les associations rflexives qui associent les occurrences dune mme entit 4-Identification des entits : Affecter un identifiant chaque entit de telle faon ce quun enregistrement soit identifi de faon unique. 5-Prcision des cardinalits :

Les cardinalits d'un objet dans une association dsignent le nombre minimum (0 ou 1) et le nombre maximum (1 ou n) de liens qu'il existe entre une occurrence de l'objet et une occurrence de l'association. La cardinalit caractrise la participation dune entit une association Elle reprsente le nombre doccurrences de lassociation pour chaque occurrence de lentit On distingue: La cardinalit minimale: donne le nombre minimum de participation de chacune des occurrences de lentit lassociation La cardinalit maximale: donne le maximum de chacune des occurrences de lentit lassociation Les cardinalits permettent de caractriser le lien qui existe entre une entit et la relation laquelle elle est relie. La cardinalit d'une relation est compose d'un couple comportant une borne maximale et une borne minimale, intervalle dans lequel la cardinalit d'une entit peut prendre sa valeur: la borne minimale (gnralement 0 ou 1) dcrit le nombre minimum de fois qu'une entit peut participer une relation la borne maximale (gnralement 1 ou n) dcrit le nombre maximum de fois qu'une entit peut participer une relation Une cardinalit 1.n signifie que chaque entit appartenant une classe d'entit participe au moins une fois la relation. Une cardinalit 0.n signifie que chaque entit appartenant une classe d'entit ne participe pas forcment la relation. (0,1): Une occurrence de lobjet ne participe jamais plus dune fois la relation; (1,1): Une occurrence de lobjet participe une et une seule fois la relation; (0,N): Chacune des occurrences de lobjet est relie un nombre quelconque doccurrences de la relation; (1,N): Une occurrence de lobjet participe toujours au moins une fois la relation 6-Constitution du Dictionnaire de Donne (Dico) : Dfinition : Le DICO est une mise en forme cohrente de lensemble des donnes de lorganisation dans le ou les domaines de gestion tudis. Cest la liste prcise de chacune des donnes manipules (attributs), reprsente par un identificateur et une dfinition prcise de la donne reconnue au sein de lorganisation. Le principe dattribution didentificateur est tabli autant pour faciliter lensemble de la dmarche danalyse que pour des raisons purement informatiques, savoir la limitation du nombre des caractres des noms de variables dans un programme ou une base de donnes. Lexplication lie la donne ne sert pas uniquement dfinir la donne, mais aussi prciser le cadre de validit de cette donne, entre autre les caractristiques de lensemble des valeurs quelle peut prendre dans le domaine de gestion tudi. Exemple : le dico de la B.D monarchie se prsente comme suit : Attribut Nom_roi dynastie Type Caractre (10) Caractre (20) Dsignation Le nom du roi La dynastie

Exemple dapplication 1: Un client dsign par son numro, sa raison sociale et son adresse peut commander plusieurs produits. Chaque produit est reconnu par son numro, sa dsignation et son prix unitaire. Dans chaque commande mise, on commande certaines quantits de plusieurs produits. Un mme produit peut figurer dans plusieurs factures. Appliquer sur ce domaine dtude les tapes de lapproche Merise : CLIENT(NClient,RSClient,Adresse)

FACTURE(NFacture,NClient*) PRODUIT(NProduit,Design,PrixUnit) LIGNE_FACTURE(NFacture*,NProduit*,Quantit)


Produit num_produit <pi> A3 <O> design VA9 prix_unitaire N5,2 NUM_PRODUIT <pi> 0,n Commander

Client num_client RS_client adresse

0,n

0,n

Ligne_facture Quantite I

1,1 Facture t <pi> I <O> num_client I NUM_FACTURE <pi>

Exemple dapplication 2 : Un acteur caractris par son nom, son prnom, sa nationalit et son age peut jouer un rle dans au maximum 2 films. Chaque film est identifi par un titre, une date de sortie et une dure. Etablir le schma conceptuel complet, sachant quun producteur finance plusieurs films et qu'un film peut tre financ par plusieurs producteurs. Pour chaque film on connat le montant de financement d'un producteur qui y participe.
FILMS titre date de sortie dure ROLE titre nom ACTEURS nom prnom nationalit age

PRODUIT titre nom montant

PRODUCTEURS nom raison sociale

Exemple dapplication 3 :

Enseignant n_enseignant <pi> numerique <O> nom Libelle prenom Libelle 0,n

candidat n_condidat <pi> numerique <O> nom_candidat Libelle prenom_candidat Libelle date_nassance Date 1,n

0,n Passer note REEL rediger

1,n

1,n Epreuve

inscrire apreciation Libelle

n_epreuve <pi> numerique <O> libelle_epreuve Libelle date_redaction Date date_epreuve Date coeficient REEL 1,1

1,n Examen <pi> numerique <O> code_examen libelle_examen Libelle

Compose

1,n

Intgrit des donnes dans une base.


Assurer l'intgrit des donnes, cest prserver la cohrence et l'exactitude des donnes stockes dans une base de donnes en validant le contenu des diffrents champs, en vrifiant la valeur des champs l'un par rapport l'autre, en validant les donnes dans une table par rapport une autre, et en vrifiant que la mise jour d'une base de donnes est efficacement et correctement effectue pour chaque transaction. 3 types de contraintes dintgrit :

Intgrit dentit : unicit de la cl primaire (PRIMARY KEY) ou dautres cls


(UNIQUE)

Intgrit de domaine : plage des valeurs possibles pour une colonne. On peut restreindre
cette plage en attribuant la colonne un type dfini par lutilisateur, ou par une contrainte CHECK avec une rgle.

L'intgrit rfrentielle garantit la relation entre une cl primaire unique dans une table et
les cls trangres qui y font rfrence dans les autres tables. Exemple : avant de supprimer une ligne dans la table Examen, il faut supprimer toutes les lignes de la table preuve qui font rfrence cet examen. Il faut dtruire les tables dans lordre

inverse de leur cration.


Pour assurer lintgrit rfrentielle, SQL Server interdit de : ajouter des enregistrements une table lie lorsqu'il n'y a aucun enregistrement associ dans la table primaire ; changer des valeurs ou effacer des enregistrements dans une table primaire qui engendrerait des enregistrements orphelins dans une table lie;

Quelques dfinitions :

Intgrit d'entit (ou de relation) (Integrity) : Rgle obligatoire dans une base de donnes relationnelle, spcifiant que les valeurs d'une cl primaire doivent tre uniques et non NULL. Intgrit de rfrence (ou rfrentielle) (Referential Integrity) : Rgle de cohrence hautement souhaite dans une base de donnes relationnelle, obligeant vrifier la correspondance entre la valeur d'une cl trangre et celle de la cl primaire associe. Cette rgle doit tre vrifie chaque mise jour de la base Une relation est toujours reprsente au niveau conceptuel, donc en SQL, comme une table deux dimensions, composes de lignes constitues d'attributs. Pour tre manipulable par SQL, une relation doit tre en "premire forme normale" (ou "normalise"), c'est dire que chaque attribut doit avoir une valeur atomique. Rgle de gestion : Une rgle de gestion est une loi qui lchelle de lentreprise va sappliquer systmatiquement dans les cas quelle doit rgir. Par exemple une rgle de gestion dfinira lapplication dune remise de 20% aux clients dont le chiffre daffaire de lanne prcdente a dpass 200 000 euros ; une autre imposera que les commandes aux fournisseurs qui dpassent 10 000 euros soient vises par le chef du service achats ... La difficult principale lie aux rgles de gestion tient au fait quelles ne sont pas toujours formalises et quil est souvent difficile de les faire exprimer par ceux qui les appliquent rgulirement. Occurrence L'occurrence d'une proprit est l'une des valeurs que peut prendre cette proprit. L'occurrence d'un objet est l'un des ensembles d'occurrences de ses proprits. L'occurrence d'une association est l'une des liaisons entre occurrences d'objets participant l'association. Contrainte dintgrit : Une contrainte dintgrit (C.I.) est une rgle observer pour que chacune des valeurs que revt une donne soit correcte. Autrement dit, les CI associes une donne dfinissent les rgles dappartenance son domaine. Par exemple, la date de naissance dun titulaire du permis de conduire sera considre comme correcte - indpendamment de toute erreur de saisie - si elle est antrieur dau moins 18 ans la date du jour. Il existe diffrents types de C.I. : les C.I. mono-attribut,les C.I. inter attribut, mono-table et les C.I inter-tables. A ce stade de lanalyse, lindpendance quon accorde aux donnes par rapports leurs supports dorigine repousse ltude des deux derniers types de C.I. ltape du : Dveloppement . Les C.I mono-attribut sont des rgles concernant les valeurs dune donne et elle seule. On trouve dans cette catgorie tous les types de C.I suivants : - obligation de prsence : la donne doit tre non vide - les valeurs de la donne doivent appartenir un ensemble restreint de valeur exemple : tat - civil dans ( Mr, Mme, Melle) - les valeurs doivent appartenir une fourchette de valeur - exemple 10 quantit < 1000

Dpendance fonctionnelle : Dfinition : Une proprit ou un ensemble de proprits P2 dpend fonctionnellement d'une proprit ou d'un ensemble de proprits P1, si la connaissance de la valeur de P1 dtermine une et une seule valeur de P2. Cette dpendance est note P1 P2 et se lit P2 dpend fonctionnellement de P1 ou P1 dtermine P2 par DF . Un identifiant dtermine par DF toutes les autres proprits de l'objet ou de l'association. Exemple 1 : La gestion des commandes clients obit une rgle tout fait gnrale qui est : une commande n'est passe que par un seul client. Une deuxime rgle de gestion est : chaque commande est identifie par un numro. Il rsulte de ces deux rgles que la connaissance d'un numro de commande permet la connaissance du client qui a pass cette commande. L'inverse n'est pas possible bien sr. La relation "une commande est passe par un client" sera donc reprsente par une association hirarchique. Exemple 2 : Dans les tablissement scolaires on trouve ces deux rgles de gestion : un lve appartient obligatoirement une classe ; un lve n'appartient qu' une seule classe. L'identification de l'lve entranera l'identification de sa classe. L'inverse n'est pas possible. La relation "un lve fait partie d'une classe" sera donc reprsente par une association hirarchique. Une DF est nomme aussi "Relation pre-fils" car, vous l'avez constat dans les deux exemples ci-dessus, la relation d'identification ne fonctionne que dans un sens. Un fils n'a qu'un pre ; un pre a plusieurs fils. Un lve n'appartient qu' une classe ; une classe comporte plusieurs lves. Les DF sont rgies par la rgle mathmatique de transitivit : si P1 P2 et P2 P3 alors P1 P3. Une DF P1 P2 est dite directe s'il n'y a pas de transitivit P1 P3 et P3 P2. Une DF n'est jamais porteuse de donnes. Type de DF : Certains auteurs distinguent la DF forte et faible. La DF forte est caractrise par une cardinalit 1/1-0/N , 1/1-1/N ou 1/1-m/n et la DF faible se caractrise par une cardinalit de 0/1-0/N , 0/1-1/N ou 0/1-m/n et elle est dite faible si la connaissance d'une valeur de X implique la connaissance dau plus une valeur de Y (zro ou une). Cette distinction est utiliser avec prcaution. Les lois de composition interne, notamment la transitivit, ne sappliquent quaux DF "fortes". La prennit de la DF Une DF peut tre stable dans le temps ou non. La stabilit dune DF sexplique comme suit : Une CIF est un cas particulier de la DF forte. .De plus la dpendance doit tre stable , c est une fois le lien DF tabli entre deux occurrences, il ne peut tre modifi dans le temps (lien stable dans le temps) . Une telle dpendance, forte et stable la fois, est dite totale. Par exemple entre un individu "facture" et "client" il existe une CIF, alors qu'entre un individu "Agent" et "contrat" il existe une DF (l'agent qui gre le contrat peut changer dans le temps). Exemples :
COMMANDE Numro commande Date commande
1,1

Passe
1,n

CLIENT Numro client Nom client Adresse client

Dun point de vue smantique on sait quune commande ne peut exister si elle na pas t passe par un client, et que cette commande dpendra toujours de ce client et uniquement de celui ci.

LIVRE Rfrence livre Titre du livre


1,1

Ecrit
1,n

AUTEUR Numro auteur Nom auteur Prnom auteur

Un livre est crit par un auteur, et ce sera toujours lui qui laura crit. (0,N) (1,1) Client Signe

Contrat

Le client peut signer de 0 N contrat; Le contrat est sign par un seul et un seul client.
Type d'Emplacement Type d'emplacement Tarif de location Emplacement Identifie
0,n 1,1

Numro d'emplacement Surface Nombre personne max

Dans un camping un emplacement est dun type particuliers (tente, caravane, camping car, ...), toutefois rien nempche son propritaire de modifier ce type en fonction de ses besoins. Ce qui fait que le type dun emplacement peut varier au cours du temps.

CHEVAL Rfrence cheval Nom du cheval


1,1

Appartient
1,n

PROPRIETAIRE Numro propritaire Nom propritaire

Un cheval appartient bien un propritaire, mais il pourra appartenir un autre propritaire si le premier vient le vendre. Le lien hirarchique liant le premier propritaire au cheval est donc bien temporaire.

Un ouvrage est dit par un et un seul diteur

Graphe des dpendances fonctionnelles : C'est une reprsentation graphique permettant de visualiser aisment toutes les dpendances fonctionnelles qui se trouvent dans un MCD. Exemples dapplications : Dfinir le GDF pour les MCD dj tablis

Bien concevoir une base de donne :


De nombreux travaux ont permis de mettre au point une thorie de conception d'une base de donnes relationnelle : la thorie de la normalisation Thorie de normalisation: Objectifs: La mise sous une forme "normale" des relations, ou normalisation, permet de construire un schma conceptuel correct partir des relations issues des donnes recueillies auprs des clients. Cette reprsentation du monde rel minimise la redondance et les risques d'anomalies lors des mises jour et assure lintgrit des donnes. La 0eme Forme Normale : Une relation est dite en 0 me forme normale si et seulement si chaque table est identifie par une cl primaire et que tous les autres attributs soient en dpendance fonctionnelle avec la cl primaire. Premire Forme Normale (1FN) : Une relation est dite en premire forme normale si elle est en 0 me forme normale et si les proprits dun individu ou dune relation sont atomiques : A un instant donn dans une entit, un attribut ne peut prendre quune seule valeur et non pas plusieurs. Si un attribut prend plusieurs valeurs, alors ces valeurs doivent faire lobjet dune entit supplmentaire, en association avec la premire. Exemples : I-Livres (num_livre,titre,nom_auteur,nombre_page,anne_edition) : il peut y avoir plusieurs auteurs pour un livre donn En premire forme normale : Livre Num_livre Titre Nombre_page Anne 0,n Ecrire Auteur Num_auteur Nom_auteur

1,n

II-formateur (num_f,nom_f,prenom_f,num_etab,nom_etab,ville_etab) : Un formateur peut travailler dans plusieurs tablissements, de ce fait lattribut nom_etab nest pas atomique. En premire forme normale : Formateur Num_f Nom_f Prenom_f IIICOMMANDE n commande date n client nom n article dsignation qt commande

1,n

Travailler

1,n

Etablissement Num_etab Nom_etab Ville_etab

groupe rptitif

En premire forme normale :


COMMANDE n commande date n client nom ARTICLE COMMANDE n commande n article dsignation qt commande

Deuxime Forme Normale (2FN) :


Une relation est dite en deuxime forme normale si et seulement si elle est en premire forme normale, et si tout attribut n'appartenant pas la cl primaire ne dpend pas fonctionnellement que d'une partie de cette cl.

Exemples : I- Soit la relation OPERATION(NCompte*,CodeOpe*,DateOpe*,Nom,Prenom,LibelOpe,Somme) On note que : Nom et Prnom dpendent fonctionnellement de NCompte, Libell d'opration dpend fonctionnellement de Code opration En deuxime forme normale : On va obtenir une relation ternaire avec les tables suivantes : COMPTE(NCompte,Nom,Prnom) LIBELLE(CodeOpe,LibelOpe) problme de cardinalit a rsoudre : la cardinalit de la patte compte (0-1 ou 0-n) OPERATION(NCompte*,DateOpe*,CodeOpe*,somme) IIARTICLE COMMANDE n commande n article dsignation qt commande

En deuxime forme normale :


ARTICLE n article dsignation ARTICLE COMMANDE n commande n article qt commande

Troisime Forme Normale (3FN) Une relation est en troisime forme normale (3FN) si elle est en deuxime forme normale et si tout attribut non cl ne dpend pas fonctionnellement d'un autre attribut non cl.

Exemples : I-ADHERENT(CodeAdh,NomAdh,AdressAdh,TypAdh,CotisTyp) On impose que la cotisation de l'adhrent dpend fonctionnellement du type de l'adhrent. En troisime forme normale : TYPE(TypAdh,CotisAdh) ADHERENT(CodeAdh,NomAdh,AdressAdh,DatPaiCot) IICOMMANDE n commande date n client nom

En troisime forme normale :


COMMANDE n commande date n client CLIENT n client nom

III-MATERIEL(code matriel, libell matriel, code marque, libell marque)


"libell marque" est en dpendance fonctionnelle directe avec le "code marque". La relation doit tre clate en deux, pour tre exprime en troisime forme normale :

En troisime forme normale : R-MATERIEL(code matriel, libell matriel, code marque) R-MARQUE(code marque, libell marque) II- Le Modle Logique des Donnes (MLD) Afin de rendre le MCD exploitable par le logiciel de base de donnes prvu, on transforme le MCD selon un formalisme machinal, cest dire comprhensible par la machine, en un modle logique de donnes not MLD, ce modle consiste dcrire la structure de donnes utilise sans faire rfrence un langage de programmation. A lissue de cette tape on disposera dun schma logique quil restera traduire ensuite dans le langage dimplantation physique dune base de donnes. Le langage gnralement utilis pour ce type d'opration est le SQL, et plus spcialement le langage de dfinition de donnes du SQL (DDL). Le modle relationnel Traduction d'une classe d'entit Chaque classe d'entit du modle conceptuel devient une table dans le modle logique. Les identifiants de la classe d'entit sont appel cls de la table, tandis que les attributs standard deviennent des attributs de la table, c'est--dire des colonnes. Traduction d'une classe de relation Le passage du modle conceptuel au modle logique au niveau des classes de relation se fait selon les cardinalits des classes d'entit participant la relation: si lune des classes d'entits possde une cardinalit faible: la table aura comme attributs, les attributs de la classe ayant une cardinalit faible, puis le (ou les) attribut(s) de relation et enfin les attributs de la seconde classe prcd du nom de la classe si les deux classes d'entits possdent une cardinalit forte: la table aura comme attributs, les attributs des deux classes de relation prcds des noms des classes respectives, puis le (ou les) attribut(s) de relation Le modle physique

Cette tape consiste implmenter le modle dans le SGBD, c'est--dire le traduire dans un langage de dfinition de donnes. Le langage gnralement utilis pour ce type d'opration est le SQL, et plus spcialement le langage de dfinition de donnes du SQL.

Les rgles de passage du MEA au MR.


Les rgles gnrales De faon gnrale, les rgles de passage dun MCD en un MLD se rsument dans ce qui suit : Rgle 1 : Les entits qui ne sont pas porteuses dautres donnes que leur identifiant peuvent disparatre du modle logique. Rgle 2 : Les autres entits deviennent des tables dont la cl primaire est lidentifiant de lentit. Rgle 3 : Les associations, de type Contrainte dIntgrit Fonctionnel (C.I.F.) ou Dpendance Fonctionnelle simple (D.F.). Soit de cardinalits (1/1 (ou 0/1) - 0 ou 1/N) disparaissent du modle logique. Lidentifiant de lentit but (cardinalit 0 ou 1/N) devient cl trangre dans la table reprsentant lentit source (cardinalit 1/1). Exemple : (CIF dpendance fonctionnelle forte)
COMMANDE Numro commande Date commande
1,1

CLIENT Passe
1,n

Numro client Nom client Adresse client

COMMANDE (Numro commande, date CLIENT (Numro client, Nom client, Adresse client) Autres notations

commande,

Numro

client#)

COMMANDE (Numro commande, date commande, Numro client*)

Exemple : (DF dpendance fonctionnelle faible)


Type d'Emplacement Type d'emplacement Tarif de location Identifie
0,n 1,1

Emplacement Numro d'emplacement Surface Nombre personne max

EMPLACEMENT demplacement#)

(Numro

demplacement,

Surface,

Nombre

personne

max,

Type

TYPE DEMPLACEMENT (Type demplacement, Tarif de location) Autres notations

EMPLACEMENT demplacement*)

(Numro

demplacement,

Surface,

Nombre

personne

max,

Type

Rgle 4 : Les associations porteuses ou non de donnes deviennent des tables dont la cl primaire est la concatnation des identifiants des entits relies par lassociation.
PROJET Numro projet Nom projet Budget Projet Emploie
1,n

1,n

EMPLOYE Numro employ Nom employ Prnom employ

EMPLOIE (Numro projet#, Numro employ#) PROJET (Numro projet, Nom projet, Budget projet) EMPLOYE (Numro employ, Nom Employ, prnom employ)

PROJET Numro projet Nom projet Budget Projet

Emploie
1,n

Nb heure travail

1,n

EMPLOYE Numro employ Nom employ Prnom employ

EMPLOIE (Numro projet#, Numro employ#, PROJET (Numro projet, Nom projet, EMPLOYE (Numro employ, Nom Employ, prnom employ)

Nb

heure Budget

travail) projet)

Exemple : rgles 1, 2, et 4 sur une association reliant trois entits (ternaire)


SERVEUR Numro serveur Nom serveur Prnom serveur est affect
0,n 0,n

TABLE Numro table Capacit

1,n

DATE Date d'ouverture

DATE (Date douverture) SERVEUR (Numro serveur, Nom serveur, Prnom serveur) TABLE (Numro table, capacit) EST_AFFECTE (Numro serveur#, Numro table#, Date douverture)

Rgle 5 : Cas des associations de cardinalits particulires.

Les associations rflexives.


LIVRE Code Livre Titre Date d'dition est suivi de
0,1

prcde

0,1

est la suite de

Solution 1 : On considre tre en prsence dune association de type (0/N,0/N), on applique de ce fait la rgle 4 en prenant soin de renommer les parties composant la cl primaire de telle faon ce que la smantique du modle conceptuel soit conserve. LIVRE (Code livre, titre, date ddition) PRECEDE(Code livre#, Code livre Suivant#) Solution 2 : On considre tre en prsence dune association de type (1/1,0/N), on applique de ce fait la rgle 3 en prenant soin de renommer la cl trangre de telle faon ce que la smantique du modle conceptuel soit conserve. LIVRE (Code livre, titre, date ddition, Code livre Suivant#) Remarque : Le choix de la solution retenir va dpendre du contexte. Si lon considre quen rgle gnrale peu de livre ont des suites on choisira la solution 1, dans le cas o lon rencontre un livre qui est la suite dun autre on cre une occurrence dans PRECEDE, ce qui vite une multitude de Code livre Suivant (table LIVRE) vide si lon avait choisi la solution 2.

0,n

Pre
1,1

PERSONNE Code personne Nom Prnom Date naissance


0,n

1,1

Mre

PERSONNE (Code_personne, Nom, Prenom, Date_naissance,Code_pre#,Code_mre#)

Cardinalits spcifiques :
ENTREPRISE Rfrence Entreprise Raison sociale Adresse Responsable stage
1,1

TUTEUR Code Tuteur 1,1 Nom Prnom Tlphone

ENTREPRISE(rfrence entreprise, raison sociale, adresse, code tuteur#) TUTEUR(code tuteur, nom, prnom, tlphone, rfrence entreprise#)

DEPARTEMENT Numro dpartement Budget dpartement

Dirige
1,1 0,1

EMPLOYE Numro employ Nom employ Prnom employ

Solution 1 : On considre tre en prsence dune association de type (1/N,0/N), on applique de ce fait la rgle 4.

DEPARTEMENT(Numro dpartement, Budget dpartement) EMPLOYE(Numro employ, nom employ, prnom employ) DIRIGE(Numro dpartement#, Numro employ#) Solution 2 : On considre tre en prsence dune association de type (1/1,0/N), on applique de ce fait la rgle 3 on prendra soin de renommer la cl trangre pour conserver la smantique du problme DEPARTEMENT(Numro dpartement, Budget dpartement, Numro employ directeur#) EMPLOYE(Numro employ, nom employ, prnom employ) Solution 3 : On considre tre en prsence dune association non hirarchique (1/1,1/1). DEPARTEMENT(Numro dpartement, Budget dpartement, Numro employ directeur#) EMPLOYE(Numro employ, nom employ, prnom employ, Numro dpartement dirig#)

STAGE Numro stage Libell stage Date stage Dure stage

Responsable
1,1 0,n

FORMATEUR Numro formateur Nom formateur Prnom formateur

Solution 1 : (absolument logique) On considre tre en prsence dune association hirarchique (1/1,0/N), on applique de ce fait la rgle 3 on prendra soin de renommer la cl trangre pour conserver la smantique du problme STAGE(Numro stage, Libell stage, Date stage, Dure stage, Numro formateur responsable#) FORMATEUR(Numro formateur, Nom formateur, Prnom formateur) Solution 2 : On considre tre en prsence dune association non hirarchique (1/N,0/N), on applique de ce fait la rgle 4. STAGE(Numro stage, Libell stage, Date stage, Dure stage) FORMATEUR(Numro formateur, Nom formateur, Prnom formateur) RESPONSABLE(Numro stage#, Numro formateur#) adaptation une possible modification de contexte de la responsabilit du stage.

STAGE Numro stage Libell stage Date stage Dure stage

Responsable
1,1

Prime

0,n

FORMATEUR Numro formateur Nom formateur Prnom formateur

Remarque : Cette modlisation peut tre discutable (cas dillustration). Solution 1 : On considre tre en prsence dune association hirarchique (1/1,0/N), on applique de ce fait la rgle 3 on prendra soin de renommer la cl trangre pour conserver la smantique du problme, sans oublier la donne porte. STAGE(Numro stage, Libell stage, Date stage, Dure stage, Numro formateur responsable#,
Prime)

FORMATEUR(Numro formateur, Nom formateur, Prnom formateur)

Solution 2 : On considre tre en prsence dune association non hirarchique (1/N,0/N) porteuse de donnes, on applique de ce fait la rgle 4. STAGE(Numro stage, Libell stage, Date stage, Dure stage) FORMATEUR(Numro formateur, Nom formateur, Prnom formateur) RESPONSABLE(Numro stage#, Numro formateur#, Prime)

ETUDIANT Code lve Nom Prnom

Dlgu
0,1 0,2

CLASSE Code Classe Effectif

La smantique du modle nous indique quun tudiant peut ou ne pas tre dlgu de classe, et quune classe peut avoir de 0 2 dlgus. En appliquant la rgle 4 ETUDIANT(Code lve, nom, prnom) CLASSE(Code classe, effectif) DELEGUE(Code classe#, Code lve#) On peut aussi imaginer la solution suivante en appliquant la rgle 3 (prsence dune DF) ETUDIANT(Code lve, nom, prnom) CLASSE(Code classe, effectif, Code dlgu1#, Code dlgu2#)

Cas particulier
CLASSE Code classe Libell classe Effectif assure les cours
1,n 1,n

MATIERE Code matire Libell matire

1,n

PROFESSEUR Numro professeur Nom professeur Prnom professeur

CLASSE(Code classe, Libell classe, Effectif) MATIERE(Code matire, Libell matire) PROFESSEUR(Numro professeur, Nom professeur, Prnom professeur) ASSURE_les_COURS(Code classe#, Code matire#, Numro professeur#) Exemples : IMCD Professeur Num_prof (1,1) Nombre dheure MLD Professeur

Enseigner

IIMCD Classe N classe


(1,N)

MLD Classe N classe Programme N classe Nmatire Nb dheure

Programme Nombre dheure

(1,N) Matire Matire N matire N matire

Le 20/04/2006 Installation du Power AMC Designor : Cration des entits avec leurs attributs (type) et identifiants. Cration aussi des associations. Gnration partir du MCD une fois cre le MPD et par la suite le script sql. Cration dune base de donnes vierge dans SQL Server et cration de sa structure en se basant sur le .sql ainsi obtenu. Comment transformer l'hritage, les sous-types du MCD dans le MLD Soit le MCD suivant :

La thorie nous indique qu'il existe 4 possibilits de transformation Ne dupliquer dans les tables sous-type que l'identifiant o Cette solution ne pose aucun problme de redondance. Elle est celle qui minimise la place. On peut "reconstituer" les hritages par des vues SQL. o Le MLD suivant est UNE solution possible :

Vous aimerez peut-être aussi