PSBDMF!
Programme de formation Supinfo
Laboratoire ORACLE Auteur : Aurlie Vuaroqueaux Date : 07/11/2002 - v 1.1 Nombre de pages : 1 http://www.labo-oracle.com Ecole Suprieure d'Informatique 23 rue Chteau Landon 75010 PARIS http://www.supinfo.com
TABLE DES MATIERES 1 PRESENTATION GENERALE DE MERISE_________________________________________ 0 1.1 1.2 Les principes gnraux___________________________________________________ 0 Prsentation des diffrents niveaux et des modles associs ___________________ 1.2.1 Le niveau conceptuel _______________________________________________ 1.2.2 Le niveau organisationnel ____________________________________________ 1.2.3 Le niveau logique __________________________________________________ 1.2.4 Le niveau physique _________________________________________________ 0 0 0 0 0
Prsentation des tapes de dveloppement dun SI ___________________________ 0 Les concepts ___________________________________________________________ 0 Le graphisme ___________________________________________________________ 0 Les communications possibles entre les acteurs conceptuels __________________ 0 Les tapes de construction du MCC ________________________________________ 0 Synoptique _____________________________________________________________ 0 Exemple : Gestion des livres dans une bibliothque ___________________________ 0 Le MCD et ses concepts de base ___________________________________________ 3.1.1 Le concept dentit (ou objet) _________________________________________ 3.1.2 Le concept de proprits_____________________________________________ 3.1.3 Le concept d'association _____________________________________________ 3.1.4 Le concept de cardinalits ___________________________________________ Les rgles de normalisation et de vrification ________________________________ 3.2.1 Rgle N1 et N2 concernant les entits et leurs proprits __________________ 3.2.2 Rgle N3 concernant les relations_____________________________________ 3.2.3 Rgle N4 et N5 concernant lensemble du MCD _________________________ 0 0 0 0 0 0 0 0 0
3.2
Exemple : Le championnat d'athltisme _____________________________________ 0 Le MLD et ses concepts de base ___________________________________________ 0 Passage du MCD au MLD _________________________________________________ 0 Passage du MLD au DPD (Description Physique des Donnes) __________________ 0
04/09/2002
Page 0
Prambule
Avant de raliser un projet informatique, il faut pratiquer une analyse informatique. Cette analyse consiste comprendre et modliser le systme dinformation sur lequel on travaille. Un systme dinformation regroupe toutes les informations dun domaine prcis. Par exemple, toutes les informations concernant la gestion des employs : les coordonnes de lemploy, son grade, son dpartement, ses activits L'efficacit et la valid de lanalyse reposent sur la qualit de la communication entre les utilisateurs (matrise douvrage, MOA) et les informaticiens (matrise duvre, MOE). Pour obtenir une bonne communication, les informaticiens utilisent une mthode danalyse. Une mthode d'analyse est constitue de trois lments indispensables : La dmarche : il s'agit du processus opratoire qui permet d'effectuer le travail de modlisation, de description et de ralisation du systme d'information. Les modles : il s'agit des concepts normaliss qui permettent de construire et d'amnager le systme d'information. Ils sont prsents sous forme de schma afin de permettre une reprsentation simple de la ralit et de faciliter le raisonnement. Les outils : il s'agit d'abord de la technique employe pour analyser et concevoir un systme d'information, puis du support papier ou logiciel employ pour conserver une trace du travail. Il existe des Ateliers de Gnie Logiciel (AGL) qui permettent de concevoir des modles, de crer des documentations, de faire des simulations, des valuations...
La mthode d'analyse MERISE est une mthode de conception et de dveloppement de systmes d'information. Elle a t cre en 1977 par la volont des autorits publiques, dsireuses de doter les administrations et les entreprises publiques d'une mthodologie rigoureuse tout en intgrant les aspects nouveaux d'informatique rpartie et de bases de donnes.
04/09/2002
Page 0
La mthode Merise est une mthode de conception des systmes dinformation (SI), mais aussi une dmarche mthodologique de dveloppement de SI. La mthode est une approche globale du SI mene paralllement et simultanment sur les donnes et les traitements. Elle permet une description du SI sur diffrents niveaux : - niveau conceptuel, - niveau organisationnel, - niveau logique, - niveau physique ou oprationnel. Ces quatre niveaux constituent le cycle dabstraction du SI. La description des donnes du SI suit un formalisme de reprsentation prcis, simple et rigoureux. Ce formalisme a t normalis au plan international par lISO sous le nom de ENTITE RELATION . La reprsentation visuelle contribue ltablissement dun dialogue constructif entre tous les partenaires qui collaborent pour concevoir ensemble le SI. Le second point de Merise est le dcoupage du processus de dveloppement en quatre tapes : - Etude pralable - Etude dtaille - Ralisation - Mise en uvre Ce dcoupage a t repris et normalis par lAFNOR (norme Z67 101 : recommandations pour la conduite des projets informatiques). Il correspond au cycle de vie dun SI. Lensemble des rsultats produis chaque tape constitue le cycle de dcision. Merise permet dtablir une description dtaille de la structure de travail mettre en place pour mener bien le dveloppement du SI. Cette structure est thoriquement compose dun COMITE DIRECTEUR, dun GROUPE PROJET et dun COMITE UTILISATEUR.
1.2
Ils existent diffrents niveaux dabstraction allant de labstrait au concret. Ces niveaux dabstraction sont rpartis en deux sous-ensembles : - Niveau conceptuel et niveau organisationnel : description du SI sans prendre en compte les aspects techniques lis linformatisation. - Niveau logique et niveau physique : description du SI en prenant compte de la technologie informatique de la solution retenue pour linformatisation.
04/09/2002
Page 0
Abstraction Niveau conceptuel MCD MCT MCC Prise en compte de lorganisation Niveau organisationnel MOD MOT MOC Prise en compte des choix logiques MLD Niveau logique MLT MLC
Prise en compte des choix techniques Niveau physique MPD MPT MPC
Aujourdhui, nous sommes en prsence dun standard pour la description logique : le Modle Relationnel des Donnes. Aucune normalisation na t tablie et adopte par les informaticiens car la technologie volue trop rapidement et les solutions techniques possibles sont trop diverses.
04/09/2002
Page 0
1.3
ETAPES SCHEMA DIRECTEUR
ETUDE DOPPORTUNITE ETUDE PREALABLE sur le Domaine Description de lexistant Analyse de lexistant Spcifications des besoins Modlisation conceptuelle et scnarios organisationnels du nouveau systme Production du dossier dtude Maquettage des documents nouveaux, Modles externes, Modle global des donnes Modle logique MOC, MCC MOT, MCT, MOD, MCD Tableaux analytiques MCT, MCD, MCC, MOT(s), MOC(s)
Optimisation du MLD Production du dossier de spcifications dtailles Modlisation physique et optimisation des donnes Maquettage des crans
MLD optimis
MPD IHM (Interface Homme/ Machine) Fiche de description des PF (Procdures fonctionnelles, MPC, MPT
04/09/2002
Page 0
Remarque : Les aspects logique et physique (tels que les systmes informatiques, les moyens de stockage, le rseau, les logiciels, le degrs de portabilit et de scurit) ne sont pas pris en compte dans ltude de lexistant. Mais ils peuvent tre rajouts au tableau.
Le MCC reprsente les informations transmises et rcupres par le domaine de gestion (ou domaine dtude). Les concepts manipuls dans les communications et utiliss dans ce cours sont les suivants : Domaine dtude : le domaine englobe les activits ou les services concerns par une tude. Il ne peut y avoir qun seul domaine dtude. Activit du domaine dtude Exemple : Le domaine dtude GESTION DES VENTES peut tre divis en quatre activits : gestion des commandes, gestion des clients, gestion des stocks, contentieux. Acteur Externe (ou Partenaire) : un acteur externe est extrieur au domaine dtude mais communique avec celui-ci. Il peut sagir dune activit, dun service, dune personne, dun profil (secrtaire, ingnieur, directeur), dun matriel ou dun lieu gographique. Exemple : Le domaine dtude GESTION DES VENTES gre les clients, les commandes, le stock et le service contentieux. Donc le domaine est en interaction avec des clients (ventes) et des fournisseurs (commandes). Donc les clients et les fournisseurs seront modliss comme deux acteurs externes. Domaine connexe : il sagit dune activit ou dun service du domaine dtude en troite liaison et dont la gestion ne doit pas tre prise en compte. Exemple : En admettant que le domaine dtude GESTION DES VENTES ne doive pas prendre en compte la gestion du service contentieux, le service contentieux qui nest pas un partenaire et qui ne doit pas se trouver dans le domaine, est modlis comme tant un domaine connexe. Communication (ou Flux) : changes entre les diffrentes parties prenantes du systme et entre le systme et son environnement. Exemple : Lactivit gestion des commandes soccupe de passer des commandes ses fournisseurs. Lactivit gestion des clients soccupe de la raliser des ventes aux clients. Lactivit gestion des clients envoie un avis de non paiement au service contentieux. Le service contentieux envoie des rappels de non paiement au client.
04/09/2002
Page 0
2.2
Le graphisme
Ensemble des symboles graphiques des diffrents concepts manipuls dans les communications et utiliss dans ce cours :
Acteur Externe
Activit
Flux
Domaine
Domaine Connexe
2.3
Le systme est reprsent par un domaine dactivits en interaction avec lenvironnement des acteurs externes. Tableau rcapitulatif des communications possibles et impossibles entre les diffrents acteurs conceptuels : EMETTEUR Domaine Domaine Domaine Activit Activit Activit Domaine connexe Domaine connexe Acteur Externe RECEPTEUR Domaine Acteur Externe Domaine connexe Activit Acteur Externe Domaine connexe Domaine connexe Acteur Externe Acteur Externe
X X X
2.4
La reprsentation du MCC se divise en plusieurs tapes. Chaque tape ncessite une relecture du texte dfinissant le systme d'information : - Rechercher le domaine d'tude - Rechercher le(s) partenaire(s) - Rechercher le(s) domaine(s) connexe(s) ventuel(s) - Etablir les flux d'informations circulants entre le domaine et les intervenants (extrieurs) - Dterminer les activits du domaine - Etablir les flux d'informations circulants entre les activits du domaine
04/09/2002
Page 0
2.5
Synoptique
flux 6 flux 7
Domaine connexe
flux 4
Activit 2
flux 8
Il peut y avoir plusieurs domaines connexes et plusieurs partenaires. Il faut viter la communication entre les partenaires et entre les domaines connexes. Attention, le domaine dtude ne gre pas lactivit dun domaine connexe ni dun partenaire.
2.6
Description du SI : Les abonnes la bibliothque peuvent faire des demandes d'achats de livres nouveaux, ces demandes sont remises un bibliothcaire qui les classifie. En fin de semaine le responsable de la bibliothque examine ces demandes, dcide les achats et fait les commandes aux diteurs. Ceux-ci envoient sparment les livres et les factures. Lors de la livraison d'une commande, un bibliothcaire contrle la concordance avec la commande. Pour chaque exemplaire, une fiche est tablie, elle accompagnera le livre lors de son rangement dans les rayons. Le responsable de la bibliothque, lorsqu'il reoit les factures, contrle la conformit de la livraison et de la facture et envoie au service comptable un ordre de paiement. Dans un premier temps, il faut dterminer le domaine d'tude : La question essentielle se poser est " Que dcrit le sujet ? " Dans notre exemple, le sujet dcrit la faon dont une bibliothque gre les achats de ses livres. Le domaine d'tude pourrait tre "La bibliothque" ou "Gestion des achats de livres". Dans un deuxime temps, il faut rechercher les partenaires ventuels : La question se poser est " Qui intervient dans la gestion des achats de livres ? " En relisant attentivement le texte, on relvera cinq partenaires ventuels : l'abonn, le bibliothcaire, les diteurs, le responsable de la bibliothque, le service comptable. Les partenaires sont des acteurs externes la bibliothque. C'est pourquoi il faut distinguer, parmi cette liste, ceux qui font parti de la bibliothque ou d'un service indpendant, c'est--dire le bibliothcaire, le responsable de la bibliothque et le service comptable. Dans un troisime temps, il faut rechercher les domaines connexes ventuels :
Laboratoire Oracle SUPINFO www.labo-oracle.com 04/09/2002 Page 0
La question se poser dans ce cas est "Y a t-il des services indpendants qui interviennent dans la gestion des achats de livres ?" On relvera, en tant que domaine connexe, le service comptable qui s'occupe des ordres de paiement. Dans un quatrime temps, il faut tablir les flux informationnels circulants entre le domaine et les partenaires : La question se poser est " Quels sont les contacts entre le domaine et ses partenaires ?" Voici les lments du texte permettant de dterminer les flux informationnels : "Les abonnes la bibliothque peuvent faire des demandes d'achats de livres nouveaux", "le responsable [...] dcide les achats et fait les commandes aux diteurs", "Ceux-ci [les diteurs] envoient sparment les livres et les factures", "le responsable [...] envoie au service comptable un ordre de paiement".
Dans un cinquime temps, il faut dcouper le domaine dtude en activit : La question se poser est "Quelles sont les diffrentes activits dans le domaine dtude ?" Voici les activits que l'on peut relever : Gestion des demandes d'achats Gestion des achats Gestion des livraisons Gestion des factures
Demande d'achats Gestion des demandes Gestion des achats Gestion des livraisons Gestion des factures La bibliothque Rponse Commandes Envoi des livres Envoi des factures 1 -Paiement 2 - Ordre de paiement 3 - Accord service compta 4 - Paiement Les diteurs Les abonns
Le paiement des diteurs n'est pas mentionn dans le texte. Plusieurs solutions se prsentent : - On ne gre pas le paiement : dans ce cas, les flux 1, 2 et 3 n'apparaissent pas sur le modle ci-dessus. - Le service comptabilit envoie le paiement aux diteurs : ce flux correspond au flux 4 barr sur le modle. En effet, il n'est pas ncessaire et mme trs dconseill de faire apparatre les messages circulants entre les partenaires, entre les domaines connexes ou entre les partenaires et les domaines connexes. - Le service comptabilit envoie son accord de paiement au responsable de la bibliothque qui envoie, son tour, le paiement aux diteurs : ces flux correspondent aux flux 1, 2 et 3 sur le modle. Quelque soit la solution choisie, elle doit figurer avec le MCC comme hypothse de gestion.
Laboratoire Oracle SUPINFO www.labo-oracle.com 04/09/2002 Page 0
Il sagit dun diagramme entit-association (ou individu-relation) permettant de modliser le systme dinformation sans prendre en compte les aspects physiques et organisationnels. Il comporte plusieurs concepts : - Entit (ou objet) : personne, lieu, chose ou concept dont certaines caractristiques prsentent un intrt pour le domaine dtude et sur lesquels de linformation souhaitent tre conserve. Une entit est pourvue dune existence propre et conforme aux choix de gestion de lentreprise. - Proprit (ou attribut) : donne lmentaire que lon peroit sur une entit ou sur une relations entre entits. - Relation (ou Association) : association perue dans le rel entre deux ou plusieurs entits. (Contrairement une entit, une relation nest pas pourvue dexistence propre.) - Cardinalits : La cardinalit dune entit par rapport une relation sexprime par deux nombres appels cardinalit minimale et cardinalit maximale dfinies ci-aprs.
Remarque : il faut distinguer information et attribut. L'attribut est une manire de modliser une information, mais toutes les informations ne seront pas systmatiquement traduites par un attribut. Exemple d'attributs de lentit Etudiant : Identifiant Etudiant, Nom Etudiant, Prnom Etudiant
Un identifiant d'entit est constitu d'un ou plusieurs attributs de cette entit, de sorte qu' chaque valeur de l'identifiant correspond une occurrence unique de l'entit. L'identifiant est reprsent soulign pour qu'il puisse tre distingu des attributs de l'entit.
Exemple : L'entit Etudiant a pour identifiant Identifiant tudiant, il s'agit d'un numro unique chaque tudiant.
Pattes de lassociation Exemple : L'association Possder entre les entits Matire d'enseignement et Coefficient : une matire d'enseignement possde un coefficient.
MATIERE Identifiant matire Libell matire ... Possder COEFFICIENT Identifiant coefficient Coefficient ...
Une entit peut tre associe elle-mme, on parle alors d'association rflexive. Symbolisation d'une association rflexive :
04/09/2002
Page 0
Nom de l'entit Identifiant Attribut 1 Attribut 2 ... Nom association Attribut 1...
Exemple 1 : Un individu possde une mre et un pre qui reprsentent chacun un individu unique.
INDIVIDU PERE Identifiant individu Nom individu Prnom individu ... MERE
Le choix de l'association : l'association n'existe qu' travers les entits qui la composent. Il est souhaitable d'utiliser un verbe statique l'infinitif. La forme passive ou active permet d'orienter l'association. La numrotation des associations est dconseille. L'identifiant d'une association : une association n'a pas d'identifiant propre. L'occurrence d'une association est dtermine par les occurrences des entits de sa collection. Une occurrence d'une association ne peut exister que relie une occurrence de chacune des entits de sa collection. Les attributs d'une association : L'association ne peut tre dote d'attributs. Il s'agit d'informations qui ne peuvent prendre de sens qu'avec la prsence de la collection de cette association. Les rgles de vrification et de normalisation : A toute occurrence d'une association, il ne peut y avoir, dans la mmoire du systme d'information, qu'une seule valeur pour chacun des attributs rattachs cette association.
Un mme coefficient peut tre attribu plusieurs matires diffrentes, d'o les cardinalits "0,n". Mais une matire donne ne peut possder qu'un seul coefficient, d'o les cardinalits "0,1". Exemple 2 : le cas de l'association rflexive avec les cardinalits
0,n PERE 0,1 INDIVIDU Identifiant individu Nom individu Prnom individu ... 0,n MERE 0,1
Un individu peut tre pre ou mre de plusieurs individus, d'o les cardinalits "0,n". Un individu n'a qu'un seul pre et qu'une seule mre, d'o les cardinalits "0,1". Exemple 3 : Un rpertoire peut appartenir un autre rpertoire et peut contenir dautres rpertoires et des fichiers.
0,n appartient 0,1 REPERTOIRE Identifiant rpertoire Nom rpertoire 0,n contient 1,1 FICHIER Identifiant ficheir Nom fichier ...
04/09/2002
Page 0
3.2
Rgle n1 : Il doit exister un identifiant pour chaque entit. Rgle n2 : Toutes les proprits autres que lidentifiant doivent tre en dpendance fonctionnelle complte et directe de lidentifiant. Notion 1 : La dpendance fonctionnelle Une proprit B est dite en dpendance fonctionnelle dune proprit A, si pour toute valeur de A, il existe une et une seule valeur B ; autrement dit : A B. Do la rgle pratique suivante (sous-rgle n 2) : Pour chaque occurrence dune entit, chaque proprit doit tre en dpendance fonctionnelle de lidentifiant et doit ainsi prendre une et une seule valeur. Autrement dit, il ne peut pas de valeurs rptitives, ni dabsence de valeur pour une mme proprit. Exemple :
EMPLOYE n employ nom prnom prnom enfant domiciliation prime de qualification
appartenir
Notion 2 : La dpendance complte Les proprits doivent dpendre de tout lidentifiant et non pas dune partie de cet identifiant. Exemple : Dans lexemple ci-dessus, lentit ENFANT possde une proprit nom. Cette proprit ne dpend pas compltement de lidentifiant, mais dune partie de lidentifiant : en effet, le nom dpend du n employ et non du n ordre.
04/09/2002
Page 0
appartenir
Notion 3 : la dpendance directe Chaque proprit doit dpendre directement de lidentifiant et non par lintermdiaire dune ou plusieurs autres proprits. Exemple : Admettons que la prime de qualification de lemploy dpende en fait de la qualification de lemploy. Par consquent, la proprit prime qualification de lentit EMPLOYE ne dpend directement de lidentifiant n employ, mais dpend dabord de la proprit qualification. Il faut crer une entit QUALIFICATION qui aura comme proprits qualification et prime de qualification et comme identifiant n qualification.
EMPLOYE n employ nom prnom domiciliation 1,1 possder 0,n QUALIFICATION n qualification libell qualication prime de qualification ENFANT 1,1 n employ -n ordre prnom-enfant date de naissance
0,n appartenir
04/09/2002
Page 0
3.3
On souhaite mmoriser une partie des donnes dun championnat international dathltisme comprenant des courses et des concours de lancer et de saut. Le domaine concern est dcrit sidessous : Le championnat est divis en comptitions (100 m homme, 800 m femme, disque homme) dcrites par un numro, un nom et le sexe des comptiteurs. Une comptition peut comprendre plusieurs preuves de niveaux diffrents (finale, demi-finale liminatoires). Chaque preuve est dcrite par un code, un niveau, une date et une heure de dbut. les athltes (n dathlte, nom, prnom, date de naissance, n licence) appartiennent diffrents pays (code-nation, nation, titre, hymne nationale). Ils sont engags dans diffrentes comptition et participent des preuves dont les rsultats sont mmoriss.
Interprtation du texte
-
Le championnat est divis en comptitions [] dcrites par un numro, un nom et le sexe des comptiteurs cration dune entit COMPETITION avec les attributs numro comptition, nom comptition, sexe. Une comptition peut comprendre plusieurs preuves cration dune entit EPREUVE associe lentit COMPETITION. plusieurs preuves de niveaux diffrents cration dune entit NIVEAU associe lentit EPREUVE. Chaque preuve est dcrite par un code, un niveau, une date et une heure de dbut cration des attributs code, niveau, date, heure de dbut dans lentit EPREUVE. Les athltes [...] appartiennent diffrents pays [] Cration dune entit ATHLETE avec les attributs se trouvant dans la premire paire de crochet, et associe une nouvelle entit PAYS ayant pour attributs le contenu de la seconde paire de crochet. Ils [les athltes] sont engags dans diffrentes comptitions cration dune association entre lentit ATHLETE et lentit COMPETITION. Ils [les athltes] [] participent des preuves dont les rsultats sont mmoriss cration dune association entre lentit ATHLETE et lentit EPREUVE.
1,n composer
1,1
04/09/2002
Page 0
04/09/2002
Page 0
Le Modle Logique des Donnes est un diagramme qui permet de dcrire la structure de donnes utilise sans faire rfrence un langage de programmation. Les concepts manipuls dans le MLD sont les suivants : Relation (appele plus couramment Table) Tuple : Elment dun produit cartsien appel plus couramment ligne dune table. Attribut : colonne dune relation caractrise par un nom. Exemple : marque et couleur sont les attributs de la relation VOITURE. Cette relation scrit VOITURE (marque, couleur). Cl dune relation : un ou plusieurs attributs dont les valeurs permettent de dfinir de manire unique les tuples de la relation. Exemple : La relation VOITURE (marque, couleur) nidentifie pas de manire unique les tuples. En effet il peut y avoir plusieurs Peugeot rouge. Cest pourquoi il faut lui rajouter une cl n voiture. Cela donnerait alors la relation : VOITURE (n voiture, couleur, marque) avec les tuples suivants : o tuple 1 1 RENAULT BLANCHE o tuple 2 2 PEUGEOT ROUGE o tuple 3 3 RENAULT BLEU o tuple 4 4 PEUGEOT ROUGE
4.2
Tableau de conversion :
MCD entit proprit de l'entit identifiant de l'entit relation plusieurs (0,n ou 1,n) plusieurs (0,n ou1,n) relation binaire 1 (0,1 ou1,1) plusieurs (0,n ou1,n) MLD table colonne ou attribut de la table cls primaire de la table table exportation cl trangre et attributs ports
04/09/2002
Page 0
EPREUVE code niveau date heure id_competition PARTICIPER code id_athlete rsultat
Lassociation participer entre les entits ATHLETE et EPREUVE est une relation plusieurs plusieurs qui est, par consquent, devenu la table PARTICIPER dans le MLD. Cette table possde une cl constitue des cls des tables ATHLETE et EPREUVE, soit id_ahtlete et code. Elle possde une colonne rsultat qui correspondait lattribut port de lassociation participer dans le MCD. Lassociation engager entre les entits COMPETITION et ATHLETE est une relation plusieurs plusieurs qui est devenu la table ENGAGER dans le MLD. Cette table est possde une cl constitue des cls des tables ATHLETE et EPREUVE, soit id_ahtlete et code. Lassociation composer entre les entits COMPETITION et EPREUVE est une relation binaire plusieurs . Au moment du passage du MCD au MLD, lassociation provoque lexportation de la cl id_competition dans la table EPREUVE. Lassociation appartenir entre les entits PAYS et ATHLETE est une relation binaire plusieurs . Au moment du passage du MCD au MLD, lassociation provoque lexportation de la cl code_nation dans la table ATHLETE.
4.3
Aujourdhui il nexiste pas dapproche normalise de description et de reprsentation du niveau physique des donnes. La description physique des donnes est troitement lie aux choix techniques informatiques concernant le systme de gestion des donnes. Le Diagramme Physique des Donnes sera assimil au script de cration des tables du MLD. Exemple : DPD Le championnat dathltisme
CREATE TABLE competition ( id_competition NUMBER(6) NOT NULL, libelle VARCHAR2(20), sexe CHAR(1) NOT NULL, CONSTRAINT competition_pk PRIMARY (id_competition));
KEY
04/09/2002
Page 0
CREATE TABLE epreuve ( code NUMBER(6) NOT NULL, niveau NUMBER(2) NOT NULL, date_epreuve DATE, heure DATE, id_competition NUMBER(6) NOT NULL, CONSTRAINT epreuve_pk PRIMARY KEY (code), CONSTRAINT epreuve_id_competition_fk FOREIGN KEY(id_competition) REFERENCES competition(id_competition)); CREATE TABLE pays ( code_nation NUMBER(6) NOT NULL, nation VARCHAR2(20), titre VARCHAR2(20), hymne VARCHAR2(20), CONSTRAINT pays_pk PRIMARY KEY(code_nation)); CREATE TABLE athlete ( id_athlete NUMBER(6) NOT NULL, nom VARCHAR2(15), prenom VARCHAR2(15), date_naissance DATE, num_licence NUMBER(12), code_nation NUMBER(6) NOT NULL, CONSTRAINT athlete_pk PRIMARY KEY (id_athlete), CONSTRAINT athlete_code_nation_fk FOREIGN KEY(code_nation) REFERENCES pays(code_nation)) ; CREATE TABLE participer ( code NUMBER(6), id_athlete NUMBER(6), CONSTRAINT participer_pk PRIMARY KEY (code, id_athlete), CONSTRAINT participer_id_athlete_fk FOREIGN KEY(id_athlete) REFERENCES athlete(id_athlete), CONSTRAINT participer_code_fk FOREIGN KEY (code) REFERENCES epreuve(code)); CREATE TABLE engager ( id_competition NUMBER(6), id_athlete NUMBER(6), CONSTRAINT engager_pk PRIMARY KEY (id_competition, id_athlete), CONSTRAINT engager_id_athlete_fk FOREIGN KEY(id_athlete) REFERENCES athlete(id_athlete), CONSTRAINT engager_id_competition_fk FOREIGN KEY (id_competition) REFERENCES competition(id_competition));
04/09/2002
Page 0