Entitéentité Relationrelation
Total Page:16
File Type:pdf, Size:1020Kb
Traduction du CdC CPINFO’11 Nicolas Méger Un petit conseil en passant… Prenez des notes, tout n’est pas écrit contrairement à cette même remarque! Remerciements Jacques Kouloumdjian , professeur à l’INSA Lyon, André Flory, professeur à l’INSA Lyon, Pierre Delisle, Université du Québec à Chicoutimi, Claudine Toffolon, maître de conférences à l’Université du Littoral, Alain Vailly, maître de conférences à l’Université de Nantes, Bernard Morand, maître de conférences en Informatique à l’Institut Universitaire de Technologie de Caen, Lymberis Dimitrios, ETML (École Technique École des Métiers de Lausanne), Frédéric Paquet, Université du Quebec, Michel Lemoine, Office National d’études et de Recherches Aérospatiales (ONRA), Mathieu Seillier, Thales Security Systems, Roberta M. Roth, University of Northern Iowa, Giovanna Di Marzo Serugendo, Université de Genève, Laurent Audibert, maître de conférences à l’IUT de Villetaneuse. 0. Introduction Traduire un CdC, c’est … Définir les informations manipulées : MCD, MLD, MPD. Définir les traitements effectués sur ces informations : cas d’utilisation, diagrammes de séquences, diagrammes d’états-transitions. Et les écrans, à quoi servent-ils ? Définition (rapide) des différents modèles utilisés. MCD : carte des informations, MLD : tables relationnelles implémentées dans le SGBD, MPD : script de création de la base (indexs, uniques, gestion des contraintes d’intégrité). Use case : carte des fonctionnalités, Diagramme de séquence : détail d’une fonctionnalité à travers la modélisation du dialogue entre l’utilisateur et les différents « éléments » de l’application, Diagramme de classes : carte des différents « éléments » de l’application. Diagramme d’état-transitions : pour un type d’information jugé crucial, représentation de ses différents états possibles et des transitions entre ces états. Attention, chaque projet est particulier …. CdC spécification logicielle CdC & Cas d’utilisation MCD D. séquence Ecrans D. classes MLD Cinématique des écrans D. états-transitions MPD OBLIGATOIRE TRES RECOMMANDE RECOMMANDE Objectif du cours Savoir modéliser les données à l’aide d’un MCD et d’un MLD. Savoir modéliser les traitements à l’aide de certains diagrammes UML. Plan du cours 1 – Le MCD 2 – Normalisation du MCD 3 – Le MLD relationnel 4 – Passage du MCD au MLD 5 – Normalisation du MLD 6 – Le MPD 7 – Le modèle objet 8 – UML 9 – Les diagrammes de cas d’utilisation 10 – Les diagrammes de séquences 11 – Les diagrammes de classes 12 – Les diagrammes d’état-transition 13 – Le MVC 1. Le MCD MCD: objectifs du modèle Le MCD décrit les données gérées, sans tenir compte des choix d’organisation ou techniques, en précisant leurs structures et leurs liens. Le MCD fournit une image invariante du SI en termes de données => dimension statique du SI. MCDMCD :: modèlemodèle entitéentité relationrelation • Modèle très utilisé en France, depuis près de 30 années, sous des noms divers : • Entité association propriété • Entité association • Entité relation • Modèle qui permet une structuration des informations à conserver dans le SI et qui préfigure la structure de la base de données ou d’une partie de la base de données. • Reconnu internationalement : norme ISO TC97 SC5 WG3 1982 L’entité est un type Une entité, c’est un modèle, un type (on parle, de temps en temps, de type d’entité ou d’entité-type). TIMBRE année-émission pays-émetteur état L’entité TIMBRE correspond à un ensemble de timbres. L’entité correspond à un ensemble année-émission pays-émetteur état TIMBRE 1990 Finlande ** année-émission 1990 Finlande ** pays-émetteur 1992 Finlande * état 1993 Finlande o 1993 Finlande ** Ne pas confondre un timbre (ie. une ligne du tableau) et le type timbre (ie. l’entête du tableau). EntitéEntité :: représentationreprésentation graphiquegraphique Nom de l’entité Propriétés de l’entité TIMBRE CLIENT CATALOGUE nom-client nom-catalogue année-émission prénom-client éditeur pays-émetteur état Occurrence d’une entité On appelle occurrence une ligne du tableau. Une occurrence de l’entité CATALOGUE correspond à un catalogue précis. CATALOGUE nom-catalogue éditeur année-parution nom-catalogue Michel Schwaneberger Verlag GmbH 1995 éditeur Scott Scott Publishing Co. 1995 année-parution Stanley Stanley Gibbons Limited 1997 Yvert Editions Yvert et Tellier 2003 Occurrence = instance, exemplaire. Occurrences d’un entité TIMBRE CLIENT CATALOGUE nom-client nom-catalogue année-émission prénom-client éditeur pays-émetteur année-parution état Il peut y avoir, cachés, empilés, cinq catalogues, mille clients et cent mille timbres dans ce schéma ! Une entité : ensemble d’occurrences Une entité, c’est un ensemble d’occurrences. Un ensemble (au sens Toutes les lignes sont mathématique du différentes... terme), donc pas de doublons ! année-émission pays-émetteur état 1990 Finlande ** 1990 Finlande ** …ce qui veut dire que, 1992 Finlande * dans ce magasin, il n’y a 1993 Finlande o 1993 Finlande ** qu’un seul exemplaire de chaque timbre à vendre !! EtEt pourpour lesles doublons?doublons? il faut trouver un moyen de rendre unique des doublons. année-émission pays-émetteur état 1847 Trinitad ** 1847 Trinitad ** Ce timbre, appelé Lady Mc Leod, est un des fleurons de la philatélie mondiale. - Trinitad - 1847 Ajout d’une propriété discriminante : l’identifiant n° 1 numéro année-émission pays-émetteur état 1 1847 Trinitad ** 2 1847 Trinitad ** n° 2 Ce ne sont plus les mêmes ! Numéro est appelé identifiant. Ce timbre, appelé Lady Mc Leod, est un des fleurons de la philatélie mondiale. - Trinitad - 1847 Numéro absolu ou relatif 1 A1 B1 C1 1 A1 B1 C1 2 A1 B1 C1 2 A1 B1 C1 3 A2 B2 C2 1 A2 B2 C2 4 A1 B1 C1 3 A1 B1 C1 5 A3 B1 C1 1 A3 B1 C1 6 A4 B2 C2 1 A4 B2 C2 L’élément n° 3 L’élément n° 3 (A2, (A2, B2, C2) est le B2, C2) est le premier troisième de la de la table dans cette table. série. Identifiant relatif à Identifiant absolu (A2, B2, C2) PlusieursPlusieurs identifiantsidentifiants possiblespossibles Pour une même entité, il y a souvent une ou plusieurs propriétés qui peuvent jouer ce rôle. CATALOGUE 2 identifiants possibles, nom-catalogue nom-catalogue tous deux mono- éditeur éditeur année-parution année-parution propriétés. CLIENT nom-client 1 identifiant, composé prénom-client de 2 propriétés. adresse Représentation graphique de l’identifiant Une fois choisi, l’identifiant sera mis en évidence sur les schémas grâce au soulignement : CATALOGUE CLIENT nom-catalogue nom-client éditeur prénom-client année-parution adresse Les identifiants relatifs seront, quant à eux, soulignés par des pointillés. Note : parmi les différents ensembles de propriétés pouvant servir d’identifiant pour une entité, on choisira l’ensemble qui contient le moins de propriétés Et les propriétés restantes ? Un catalogue CATALOGUE comprend plusieurs x x x x numéros de x timbres. NUMERO-TIMBRE x x Un même numéro de x x TIMBRE x timbre correspond à x x x x x x plusieurs catalogues Un timbre a Un même numéro de timbre plusieurs peut correspondre à plusieurs numéros. timbres (un par catalogue) Ce numéro de timbre a donc du sens pour le couple (TIMBRE, CATALOGUE). L’association Une association A entre deux entités E1 et E2 est un ensemble de couples (x, y), x occurrence de E1, y occurrence de E2, décrits par des informations, des propriétés, qui n’ont de sens que pour ces couples. E1 A E2 Association A = ensemble = sous-ensemble d’un produit cartésien E1 x E2 Exemple d’association CATALOGUE TIMBRE nom-catalogue numéro-ordre éditeur EST-REFERENCE-DANS année-émission année-parution pays-émetteur numéro-timbre état catégorie Numéro-ordre Nom-catalogue Numéro-timbre catégorie 4578 Michel 10 bâtiment 4578 Scott 1518 bâtiment 4579 Michel 120 Moyens de transports Couples (TIMBRE, CATALOGUE) Informations sur les couples Exemples d’associations CATALOGUE nom-catalogue TIMBRE sens (de lecture) éditeur numéro-ordre année-parution année-émission EST-REFERENCE-DANS pays-émetteur état numéro-timbre catégorie EST-ACHETE-PAR CLIENT TIMBRE date-achat nom-client CATALOGUE prénom-client adresse CLIENT TIMBRE x CATALOGUE NB : ce schéma est inachevé. TIMBRE x CLIENT Propriétés implicites et explicites TIMBRE EST-ACHETE-PAR CLIENT numéro-ordre date-achat nom-client année-émission prénom-client pays-émetteur adresse état EST-ACHETE-PAR peut, comme une entité, être décrite par un tableau. Celui-ci comprend quatre colonnes : numéro-ordre nom-client prénom-client date-achat implicites explicite Propriétés implicites et explicites Les propriétés implicites jouent le rôle d’identifiant. Elles permettent de garantir l’unicité des occurrences de l’association. numéro-ordre nom-client prénom-client date-achat identifiant Il n’y a pas d’occurrence de EST-ACHETE-PAR ayant la même valeur de couple (numéro-ordre, (nom-client, prénom-client)) C’est un bien un couple ! Associations et identifiants Une association, comme une entité, a un identifiant, constitué des identifiants des entités appartenant à sa collection (collection de EST-ACHETE-PAR est composée de TIMBRE et CLIENT). TIMBRE EST-ACHETE-PAR CLIENT numéro-ordre date-achat nom-client année-émission prénom-client pays-émetteur adresse état Toutes les occurrences sont identifiées. Exemple d’un identifiant d’association ETUDIANT EST-INSCRIT-EN FORMATION numéro-étudiant date-inscription nom-formation numéro-étudiant nom-formation date-inscription Pas possible ! 17 DEUG MIAGE 2002/2003 (l’identification joue sur 17 DEUG MIAGE 2003/2004 l’identifiant, pas sur les autres propriétés) Avec ce schéma, un étudiant ne peut pas redoubler ou,