La Modélisation Conceptuelle des Données (MCD)
Transcription
La Modélisation Conceptuelle des Données (MCD)
Chapitre 4 La Modélisation Conceptuelle des Données (MCD) BEN MAHMOUD Chaker http://chaker707.googlepages.com/ [email protected] Année Universitaire 2008-2009 Le MCD: Objectifs du modèle • Le MCD décrit les données gérées sans tenir compte des choix: – d’organisation, d’automatisation, ou techniques • Il décrit les choix de gestion en précisant la signification des invariants, leur structure et leurs liens • Il exprime le QUOI sur les données Le MCD fournit une image invariante du SI en termes de données B.MAHMOUD Chaker MCD 2 1 MCD • La base de la démarche de construction d’un M.C.D reste le discours (parlé ou écrit) de l’utilisateur/client exprimé en langue naturelle • Les mots utilisés comprennent les termes usuels de la langue, mais aussi des termes spécialisés du domaine – Les phrases fournissent, après une analyse grammaticale, les principaux objets et les associations entre ces objets B.MAHMOUD Chaker MCD 3 Dictionnaire des données • Au fur et à mesure de l’étude, et pour chaque donnée identifiée, on lui attribue : – un nom : employé tout au long de l’étude – son type et son domaine de valeurs – ses propriétés : •S’agit-il d’une donnée de base ou d’une donnée calculée ? •S’agit-il d’une donnée stable ou non stable (susceptible d’évoluer dans le temps) B.MAHMOUD Chaker MCD 4 2 • Avant d’ajouter une nouvelle donnée, il convient de se poser les questions suivantes : – s’agit-il d’une donnée déjà nommée? (redondance) – Cette donnée n’est-elle pas déjà nommée sous un nom différent ? (synonyme) Dictionnaire des données = liste récapitulative des données Sans redondances, Sans synonymes B.MAHMOUD Chaker MCD 5 MCD : Formalisme • Outil graphique de dialogue entre informaticien, gestionnaires et utilisateurs(de manière générale) • Concepts de base : – Propriété : nom, prénom, numéro, adresse,.. – Entité : CLIENT, ENTREPRISE, COMMANDE,.. – Association : un client Passe une commande B.MAHMOUD Chaker MCD 6 3 • L’objectif du MCD: • identifier, décrire (par des informations) et modéliser les entités et leurs associations à l’aide d’une représentation graphique •Discours: un client Passe une commande Commande Client Num_Client (1,n) Nom_Client Adresse B.MAHMOUD Chaker Passe (1,1) Num_Cde Date_Cde MCD 7 Modèle Entité-Association = Entité-Relation = Objet-Relation Approche descendante : Univers du discours Modèle Dans de nombreux cas, les données sont regroupées dans des lots = objets ou concepts du domaine B.MAHMOUD Chaker MCD 8 4 • Ex. : à partir du domaine du discours : – « Le client Ali occupe l ’emplacement C028 du 15/07/2007 au 27/07/2007 » – « Les emplacements du type caravane sont loués 4 DT par jour » – « Le client Ali a loué un VTT le 17/07/2001 » • Dans cet exemple : – 4 concepts : client, emplacement, équipement, type d’emplacement – des verbes qui expriment : •un rattachement d’une donnée à un concept •des associations entre concepts B.MAHMOUD Chaker MCD 9 Notion de PROPRIETE • Une propriété=Atome sémantique élémentaire d’une information manipulée • Elément descriptif d’une entité ou association; elle y est obligatoirement rattachée • Elle est unique dans le modèle • Elle peut prendre des valeurs: •Nom de client : Amir, Moncef •N° Commande: 34, 678, 453 •Montant commande: 34 000DT, 2 300 DT B.MAHMOUD Chaker MCD 10 5 • Une propriété se décrit par tout ou partie des éléments suivants: •Définition: ce qu’elle représente et son intérêt dans le contexte •Nature: quantité, nombre, date, heure,... •Longueur: nombre de caractères dans la format • Caractéristiques complémentaires: •naturelle, calculée •simple, répétitive •élémentaire, décomposable •normée: en interne ou par des organismes (NCIN,...) B.MAHMOUD Chaker MCD 11 •Une propriété possède un code, un libellé et une définition •Une propriété a une seule signification •Si une propriété a plusieurs sens, il faut la décomposer spécifier plusieurs propriétés •Une propriété n’a pas de synonyme B.MAHMOUD Chaker MCD 12 6 • La définition d’une propriété est complétée par la prise en compte des contraintes éventuelles associées. • Les contraintes liées aux propriétés correspondent à des contrôles à assurer pour vérifier l’intégrité des données et la cohérence par rapport au S.I • Les contraintes de valeur = l’ensemble des valeurs que peut prendre une propriété, • Les dépendances fonctionnelles B.MAHMOUD Chaker MCD 13 Notion d’ENTITE • Représente un ensemble d’objets de même nature du domaine d’étude Voiture 1 Voiture 2 Client1 Voiture 3 client 2 client 3 Voiture i client i Voiture n client n VOITURE B.MAHMOUD Chaker CLIENT MCD 14 7 • ensemble unique de propriétés liées entre elles • ensemble d’éléments de même nature appelés occurrences de l’entité • qui présente un intérêt pour les besoins de gestion du système à représenter • Une occurrence d’une entité est: • un élément particulier de l’entité • représentée par l’ensemble des valeurs des propriétés constituant cette entité 001 Ali Bardo Client Numéro Nom Adresse B.MAHMOUD Chaker MCD 002 Salah 003 Tunis Imed Sfax 15 • Une entité doit disposer d’une propriété particulière qui jouera le rôle d’identifiant de l’entité; • Un identifiant définit de manière unique les occurrences d’une entité • Exemple : ETUDIANT possède : – Un numéro, un nom, un prénom, un âge, – À chaque numéro, correspond une seule valeur de l’ensemble {nom, prénom, âge,} – L’identifiant de l’entité ETUDIANT est la propriété numéro B.MAHMOUD Chaker MCD 16 8 ENTITE : Règle d’identification Plusieurs types d’identifiant: – Identifiant simple «naturel» (nom d’un pays) ou «artificiel» (N° client) – Identifiant composé (N° sécurité sociale) Un identifiant doit être: – Uni-valué: 1 occurrence entité ---> 1 valeur de l’identifiant – discriminant: 1 valeur de l’identifiant ---> 1 occurrence de l ’entité – Stable et minimal B.MAHMOUD Chaker MCD 17 ENTITE: Règles de vérification •Une entité a un seul identifiant •Une entité a au moins une propriété •Une entité participe a au moins une association •A chaque occurrence de l’entité, il ne peut y avoir au plus qu’une valeur de la propriété B.MAHMOUD Chaker MCD 18 9 NOTION ASSOCIATION • Une association modélise un ensemble d’associations de même nature entre 2 ou plusieurs occurrences d’entités, • ayant un intérêt significatif pour le système à représenter « L’association n’existe qu’à travers les entités qu’elle relie » • On désigne en général les associations par des noms de verbe: •verbe statique à l’infinitif: appartenir, concerner,.. •la forme active ou passive permet d’orienter la lecture de l’association B.MAHMOUD Chaker MCD 19 Exemple : Client Num_Client (1,n) Nom_Client Adresse B.MAHMOUD Chaker Commande Passe MCD (1,1) Num_Cde Date_Cde 20 10 • Une association n’a pas d’identifiant propre mais ses occurrences sont identifiées par la concaténation des identifiants des entités qu’elle relie • Exemples : – L’identifiant de l’association Passer est (Num_Client, Num_Cde) • Une association peut être porteuse d’informations: les propriétés, les cardinalités et les contraintes B.MAHMOUD Chaker MCD 21 On distingue différents types d’association: • les associations binaires : qui associent 2 entités – Exemple : ENSEIGNANT ----- Enseigner ----- COURS • les associations n-aires : qui associe plus de 2 entités – Exemple : ENSEIGNANT ----- Noter ----- ETUDIANT MATIERE • les associations réflexives : qui associent les occurrences d’une même entité – Exemple : B.MAHMOUD Chaker Personne ---- Conjoint MCD 22 11 ASSOCIATION: Les cardinalités • La cardinalité caractérise la participation d’une entité à une association • Elle représente le nb d’occurrences de l’association pour chaque occurrence de l’entité On distingue: • la cardinalité minimale: donne le nb minimum de participation de chacune des occurrences de l’entité à l’association • la cardinalité maximale: donne le maximum de chacune des occurrences de l’entité à l’association B.MAHMOUD Chaker MCD 23 • Un cours est enseigné par au moins un enseignant (1,…) ou par plusieurs (…,n) Enseignant Num_ens Nom Adresse (0 , n) Enseigne Cours (1 , n) Num_Cours Titre_Cours • Un enseignant peut n’enseigner aucun cours (0,…), ou plusieurs (…,n) B.MAHMOUD Chaker MCD 24 12 • Un client passe au moins une commande (1,…) ou plusieurs (…,n) Client Num_Client Nom_Client Adresse Passe (1,n) Commande (1,1) Num_Cde Date_Cde Une commande est passé par un et un seul client (1,1) B.MAHMOUD Chaker MCD 25 Forme Générale • Forme (1,n) --- (1,1) Entité 2 Entité 1 Association (1,n) B.MAHMOUD Chaker (1,1) MCD 26 13 • Forme (0,n) --- (0,1) Entité 2 Entité 1 Association (0,n) B.MAHMOUD Chaker (0,1) MCD 27 • Forme (0,n) --- (1,n) Entité 2 Entité 1 Association (0,n) B.MAHMOUD Chaker (1,n) MCD 28 14 Exercice Une agence de location de maisons et d’appartements désire gérer sa liste de logements. Elle voudrait en effet connaître l’implantation de chaque logement (nom de la commune et du quartier) ainsi que les personnes qui les occupent (les signataires uniquement). Le loyer dépend d’un logement, mais en fonction de son type (maison, studio, T1, T2...) l’agence facturera toujours en plus du loyer la même somme forfaitaire à ses clients. Par exemple, le prix d’un studio sera toujours égal au prix du loyer + 20 DT de charges forfaitaires par mois. Pour chaque logement, on veut disposer également de l’adresse, de la superficie ainsi que du loyer. Quant aux individus qui occupent les logements (les signataires du contrat uniquement), on se contentera de leurs noms, prénoms, date de naissance et numéro de téléphone. Pour chaque commune, on désire connaître le nombre d’habitants ainsi que la distance séparant la commune de l’agence. B.MAHMOUD Chaker MCD 29 Application (2) Vous êtes chargées d’informatisée un magasin : • Le Magasin vend des produits a des clients. • Les produits possèdent une référence (un code), un libelle et un prix unitaire. • Les clients ont une identité (nom, prénom, adresse...). • Les clients passent des commandes de produits. On mémorise la date de la commande. • Pour chaque commande, le client précise une adresse de livraison. • La commande concerne un certain nbre de produits, en une quantité spécifiée pour chaque produit. B.MAHMOUD Chaker MCD 30 15 Solution : MCD du Magasin Clients Num_clt Nom adresse Code postal ville Commandes (0,n) Effectue (1,1) Num_com date Adresse-livr (1,n) Produits (0,n) Code_prd Libellé Prix B.MAHMOUD Chaker Contient Quantité MCD 31 Les règles de normalisation • La normalisation constitue un ensemble de règles introduites dans le modèle relationnel (MCD :entité, relation) dans le but de garantir à une base de données sa cohérence. • La normalisation est basée sur la notion de dépendance fonctionnelle. B.MAHMOUD Chaker MCD 32 16 Les dépendances fonctionnelles (DF) • Il existe une DF entre deux entités A et B, si toute occurrence de A détermine une et une seule occurrence de B. • La cardinalité maximale (1) correspond toujours à une DF, • Dans ce cas l'association est une DF, l'orientation du lien entre les entités est indiqué par une flèche. B.MAHMOUD Chaker MCD 33 Exemple : Client Num_Client Nom_Client Adresse Commande (1,n) Client Num_Client Nom_Client Adresse B.MAHMOUD Chaker Passe (1,1) Commande DF (1,n) Passe MCD Num_Cde Date_Cde (1,1) Num_Cde Date_Cde 34 17 • Une DF est faible (lien faible) si le couple de cardinalité est (0,1), DF Personne Num Nom (0,n) Possède Voiture (0,1) Maticule marque • Une DF est forte (lien fort) si le couple de cardinalité est (1,1) DF Employé Num Nom (1,1) B.MAHMOUD Chaker Affecter Département (1,n) Num_dep lieu MCD 35 • Une CIF (Contrainte d'Intégrité Fonctionnelle) est une DF stable, c'est à dire, une fois le lien est établi, il ne peut pas être modifié dans le temps. • Le couple de cardinalité source doit être obligatoirement (1,1) Fils Num_f Nom B.MAHMOUD Chaker (1,1) CIF Père avoir Num_p Nom MCD (0,n) 36 18 • Règle de transformation d‘une propriété type multi-valuée en une Entité Livre Référence Titre Livre (1,n) Référence Titre Auteurs Avoir (1,n) Auteur Id-Auteur Nom B.MAHMOUD Chaker MCD 37 Règle de décomposition du modèle en utilisant les DFs • Lorsque des DF sont définies sur une relation n-aire, une décomposition de cette relation est envisageable. • Cette décomposition permettra d'une part de mieux matérialiser certaines DF, et d'autre part, rendra les relations plus facilement interprétables B.MAHMOUD Chaker MCD 38 19 Exemple (1): Après décomposition Client Client Num_Client Nom_Client Adresse (0,n) (0,n) Num_Client Nom_Client Adresse Produit (0,n) Code-prd Libellé Produit CIF Passe (1,1) (0,n) Code-prd Libellé Passe (1,n) (1,1) Commande (0,n) Contient Commande Num_Cde Date_Cde Num_Cde Date_Cde B.MAHMOUD Chaker (1,n) MCD 39 Exemple (2): Après décomposition Acteur Acteur Num_Acteur Nom Num_Acteur Nom Théâtre (1,n) (0,n) Nom Thea Lieu Théâtre Jouer (1,n) Nom Thea Lieu (1,n) Pièce Nom Pièce (1,1) B.MAHMOUD Chaker Jouer (1,n) (0,n) CIF (0,n) Se dérouler Pièce Nom Pièce MCD (1,1) 40 20 Types et sous-types : Spécialisation/Généralisation B.MAHMOUD Chaker MCD 41 Spécialisation • Permet de modéliser, dans l’ensemble des occurrences d’une entité, des sous-ensembles d’occurrences présentant des spécificités. • Ces spécificités peuvent porter sur des propriétés, des relations ou des appellations. • Exemple : – – – – – Un assuré peut être une entreprise, un particulier Un assuré a les propriétés N°assuré, Nom, Adresse, type Un assuré particulier a en plus une profession et un âge Une entreprise a un N° fiscal et une forme juridique On distingue trois entités : ASSURE, ENTREPRISE, PARTICULIER B.MAHMOUD Chaker MCD 42 21 Spécialisation Simple : Représentation graphique ASSURE Num_ASS Nom Adresse Est-un Entreprise Particulier Num Fiscal Forme Profession Age B.MAHMOUD Chaker MCD 43 • Toute occurrence de PARTICULIER est un ASSURE • PARTICULIER est une Sous-entité de ASSURE • ENTREPRISE est une Sous-entité de ASSURE • PARTICULIER et ENTREPRISE sont les spécialisations de ASSURE • ASSURE est la généralisation de PARTICULIER et ENTREPRISE • Les spécialisations ont les caractéristiques de leurs sur-entités + les leurs B.MAHMOUD Chaker MCD 44 22 Spécialisation Multiple : • On considère la population des étudiants et la population des salariés • On s'intéresse aux étudiants qui sont aussi salariés • Double spécialisation car le sous-type émergera de deux individus ETUDIANT SALARIE Num-Inscrip Num-Matricule Est-un Est-un Etudiant Salarié B.MAHMOUD Chaker MCD 45 Contraintes sur Spécialisation • Expriment les participations des occurrences de l’entité sur- type aux entités sous-types. • Types de contraintes : : Exclusivité, un assuré peut être soit entreprise, soit particulier, soit ni entreprise ni particulier mais pas les deux à la fois – T : Totalité, tout assuré est un particulier, une entreprise, ou les deux. – XT : Partition, tout assuré est soit une entreprise, soit un particulier. – X B.MAHMOUD Chaker MCD 46 23 Exercice • La bibliothèque universitaire offre à ses adhérents la possibilité d’emprunter des livres, des périodiques, etc. • Les adhérents de la BU sont soit des étudiants, soit des enseignants. Tous les adhérents ont un numéro, un nom, un prénom, une adresse. • Un adhérent enseignant a en plus la structure à laquelle il appartient (un laboratoire, un département, etc.), l’adresse de son bureau , • Un adhérent étudiant a une filière et une année d’études, • Tous les documents de la bibliothèque ont un numéro, un titre et un éditeur, • Les livres ont comme propriétés supplémentaires le nom de l’auteur, et le nombre de pages, • Les dictionnaires ont comme propriétés supplémentaires le nombre de définitions, • Les périodiques ont comme propriétés supplémentaires le nombre total d’auteurs. B.MAHMOUD Chaker MCD 47 Correction Adhérant Num_Adh Nom Prenom Adresse XT Etudiant Filière An-étude Document (0,n) Emprunter (0,n) Date-ret X Est-un Enseignant Livres Structure Adresse-bur Nom-aut Nbre-page B.MAHMOUD Chaker Num_Doc Titre Editeur MCD Est-un Périodique Dictionnaire Nbre-Auteur Nbre-def 48 24 Contraintes inter-associations • Expriment les conditions entre deux ou plusieurs associations types : – contraintes sur la participation d’une entité à plusieurs associations Toute personne qui pratique un sport fait partie d'une équipe Sport Pratique (1,n) Personne (0,n) = Egalité (1,n) Sport Appartient B.MAHMOUD Chaker (1,n) MCD 49 Types des Contraintes • Contraintes sur la participation d‘une entité à plusieurs associations • On distingue quatre types = I X T – Égalité – Inclusion – Exclusion – Totalité B.MAHMOUD Chaker MCD 50 25 Contraintes Inclusion • une occurrence de l'entité participant à une relation, participe obligatoirement à l'autre occurrence de relation. • Exemple : Tout étudiant qui effectue un abonnement doit être inscrit dans une faculté Faculté S’Inscrire (1,n) Etudiant (1,1) I Inclusion (1,1) Transport Abonner B.MAHMOUD Chaker (1,n) MCD 51 Contraintes Exclusion • Deux occurrences de l'entité ne peuvent pas participer simultanément à une même occurrence de relation. • Exemple : un Produit peut être acheter chez des fournisseurs ou fabriquer par les unités de production, mais pas à la fois acheter et fabriquer Fournisseur Acheter (1,n) Produit (1,1) E Exclusion (1,1) Usine Fabriquer B.MAHMOUD Chaker MCD (1,n) 52 26 Contraintes Totalité • Toute occurrence de l’entité participe au moins à l’une des associations. Exemple : un tout véhicule est au minimum relié soit à un contrat, soit à un sinistre, soit les deux Contrat Signer (1,n) Véhicule (0,1) T Totalité (0,n) Sinistre Couvrir B.MAHMOUD Chaker (1,n) MCD 53 Contraintes Egalité • une occurrence de l'entité participant à une relation, participe obligatoirement à l'autre occurrence de relation, et réciproquement Toute personne qui pratique un sport fait partie d'une équipe Sport Pratique (1,n) Personne (0,n) = Egalité (1,n) Sport Appartient B.MAHMOUD Chaker MCD (1,n) 54 27