Modélisation Conceptuelle. Partie 2: Le modèle Entité-Association

Documents pareils
II. Modèle conceptuel le modèle entité-association

Modèle conceptuel : diagramme entité-association

Bases de Données Relationnelles. Le Modèle Relationnel

Chap. 3: Le modèle de données entité-association (E.A.)

Chapitre 1 Généralités sur les bases de données

Modélisation conceptuelle des données Responsable: Dominique Schneuwly, Regis Caloz

Bases de données. Chapitre 1. Introduction

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

A. Définition et formalisme

Modélisation des données

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Modélisation de bases de données : Le modèle relationnel

Université de Bangui. Modélisons en UML

Conception des bases de données : Modèle Entité-Association

Diagramme de classes

UML (Diagramme de classes) Unified Modeling Language

BASES DE DONNEES ORIENTEES OBJETS BDA10.1

Modèle Entité-Association. C est un modèle important pour la conception des bases de données relationnelles. Il

Modèle Entité/Association

Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.)

Introduction aux Bases de Données

Systèmes d information et bases de données (niveau 1)

Bases de Données. Plan

Chapitre 1 : Introduction aux bases de données

Rappel sur les bases de données

Les diagrammes de modélisation

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Le niveau conceptuel : la modélisation des bases de données

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Méthode d analyse Merise

Algorithmique & programmation

Bases de Données relationnelles et leurs systèmes de Gestion

MERISE. Modélisation de Systèmes d Information. Pierre Gérard. DUT Informatique 2ème année 2004/2005. IUT de Villetaneuse - Université de Paris 13

LE MODELE CONCEPTUEL DE DONNEES

Comprendre Merise et la modélisation des données

GOL502 Industries de services

Débuter avec EXPRESS. Alain Plantec. 1 Schema 2

UML. Diagrammes de classes (suite) Delphine Longuet.

RÈGLES DE TRANSFORMATION DU MCD AU MLD (MRD)

Statistiques Descriptives à une dimension

UML et les Bases de Données

Cours Base de données relationnelles. M. Boughanem, IUP STRI

OCL - Object Constraint Language

GOL-502 Industrie de services. Travaux Pratique / Devoir #7

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Information utiles. webpage : Google+ : digiusto/

Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

Bases de Données Avancées

OASIS Date de publication

16H Cours / 18H TD / 20H TP

Les bases de données Page 1 / 8

Introduction aux Bases de Données

FICHE DE RENSEIGNEMENTS

FORMULAIRE DE DÉCLARATION DE PATRIMOINE

Famille multirésidence : recensement et sources alternatives

INFO 364 : Bases de Données Projet Professeur : Esteban Zimányi Assistants : Pierre Stadnik et Mohammed Minout Année Académique :

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Table des matières Sources

Ecole Polytechnique de Louvain INGI Fichiers et bases de données

Présentation du Modèle de Référence pour les Bibliothèques FRBR

Nom de l agent : Fonctions : FORMULAIRE DE DEMANDE D AIDE SOCIALE

L'INTÉRÊT COMPOSÉ. 2.1 Généralités. 2.2 Taux

Formation à l utilisation des Systèmes de Gestion de Bases de Données Relationnelles. organisée avec la collaboration du

Modéliser des données, l exemple du modèle entité-association

Cours 1 : introduction

La méthode MERISE (Principes)

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Chapitre I : le langage UML et le processus unifié

Requête en réclamation d aliments (articles 205 et suivants du Code Civil)

RENSEIGNEMENTS Rachat de Crédits (Locataire & Propriétaire)

Demande de calcul d une rente future

Compte-rendu de projet de Système de gestion de base de données

DOSSIER DE CANDIDATURE

Demande de bourse 2010/2011 N dossier

Premiers Pas en Programmation Objet : les Classes et les Objets

AGRÉGATION «ÉCONOMIE ET GESTION»

NOTATIONS PRÉLIMINAIRES

Mise à jour : 4 avril 2013

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

DESS CCI Formation Continue. Février Université Louis-Pasteur de Strasbourg Département d'informatique

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre

Objectifs. Clustering. Principe. Applications. Applications. Cartes de crédits. Remarques. Biologie, Génomique

PROJET 1 : BASE DE DONNÉES REPARTIES

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES. 2. Les questions sont indépendantes les unes des autres.

LES TYPES DE DONNÉES DU LANGAGE PASCAL

SERIE 1 Statistique descriptive - Graphiques

1 Modélisation d une base de données pour une société de bourse

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

3. UML - Unified Modeling Language Diagrammes statiques

Exercices de modélisation de Bases de Données

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Structures algébriques

PLAFONNEMENT DES EFFETS DU QUOTIENT FAMILIAL

Auguria_PCM Product & Combination Manager

Recherche dans un tableau

Cours de Génie Logiciel

Généralités sur le Langage Java et éléments syntaxiques.

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

Transcription:

Modélisation Conceptuelle Partie 2: Le modèle Entité-Association

Modèle de type conceptuel But: permettre la description conceptuelle des structures de données d'une application Les concepts de base (correspondent aux concepts d abstraction de la réalité): objet <=> entité lien <=> association (relationship) propriété <=> attribut + la représentation multiple => lien is-a 2

Entités et types d entités Entité: représentation d un objet du monde réel ayant une existence propre Type d'entité (TE): représentation d'un ensemble d'entités perçues comme similaires et ayant les mêmes caractéristiques Lisa Zoë Philippe... Fred Personne 3

Associations et types d associations Association: représentation d'un lien non orienté entre plusieurs entités (qui jouent chacune un rôle déterminé) Type d'association (TA): représentation d'un ensemble d'associations ayant la même sémantique et décrites par les mêmes caractéristiques Personne Achète Maison 1 "achète" = < 1 personne, 1 maison > 4

Population d'un TA Personne Achète Maison 5

Rôles 1 "achète" = < 1 personne, 1 maison > Personne Achète Maison ACHETEUR ACHETÉ Association binaire: deux rôles 6

Associations Ternaires 3 rôles Client achète Produit Fournisseur 1 "achète" = < 1 client, 1 produit, 1 fournisseur > 7

Associations Cycliques 2 rôles (au moins) lient le même type d'entité Personne Marié à 1 "marié à" = < 1 personne, 1 personne > Problème: comment savoir dans un couple qui est le mari et qui est la femme? < Dupont Dominique, Dupont Dominique >? 8

Associations cycliques : rôles nommés? Solution: spécifier le rôle de chaque entité pour supprimer les ambiguïtés Personne FEMME MARI Marié à 1 "marié à" = < 1 personne/femme, 1 personne/mari > < Dupont Dominique / femme, Dupont Dominique / mari > 9

Association cyclique : population Personne FEMME MARI Marié à Diagramme Jean Annie Philippe Zoé Kathia Eric. mari femme femme mari Marié à 1 Marié à 2 Population 10

Associations cycliques Ternaires (ou n-aires) : Emprunteur Personne Emprunt Banque Garant Symétriques : A faire dans l application Personne L'UN L AUTRE Ami de <Phil/l'un, Jean/l'autre> <Jean/l'un, Phil/l'autre> 11

Associations cycliques (suite) Transitives : A faire dans l application Personne ASCENDANT DESCENDANT ancêtre < Jean / ascendant, Paul / descendant > < Paul / ascendant, Anne / descendant > < Jean / ascendant, Anne / descendant > 12

Cardinalité des rôles Personne Possède Voiture Combien de voitures (minimum) une personne peut-elle avoir? Combien de voitures (maximum) une personne peut-elle avoir? Personne Min : Max Possède Si maximum > 1 : les rôles liant l'entité peuvent constituer un ensemble (par défaut) ou une liste 13

Contraintes de cardinalité Une personne peut ne pas avoir de voiture, en avoir 1, 2, n Personne 0 : n Possède Une voiture a un et un seul propriétaire Personne 0 : n 1 : 1 Possède Voiture 0:n pas de contrainte i:j contrainte sur le TE lié 14

Population d'un TA Personne 0:n 1:1 Achète Maison 15

TA : notations alternatives Personne 0:n 1:1 Achète Maison Personne 0:n 1:1 Achète Maison Personne 0:n 1:1 Achète Maison 16

Cardinalités : notations alternatives Minimum Maximum 0 1 1 1 0 n 1 n n m Personne Possède 0 : n 1 : 1 Voiture 17

Attributs Décrivent l information (les propriétés) à conserver sur: un objet une association un attribut Personne FEMME MARI Marié à nom prénom salaire Domaine [1,31] Date_mariage jour mois année 18

Attributs simples simple (atomique): non décomposable Exemples: jour, prénom Feuilles de l arbre des attributs: seuls les attributs simples portent des valeurs Le domaine de valeurs est constitué de valeurs atomiques Ex.: jour - domaine de valeurs: {1, 2,., 31} Domaines prédéfinis standard, intervalles, énumérés 19

Attributs complexes complexe: décomposé en d'autres attributs Exemples: date (jour, mois, année) adresse (rue, n, ville, NPA) Un attribut complexe ne porte pas de valeur propre (pas de domaine directement associé) La valeur d'un attribut complexe est la composition des valeurs de ses attributs composants. Un composant d'attribut complexe peut être lui-même un attribut complexe. 20

Attributs mono- ou multivalués monovalué: une seule valeur par occurrence (cardinalité max=1) Exemples: date de naissance, numéro AVS multivalué: plusieurs valeurs par occurrence (cardinalité max>1). Exemples: prénoms, téléphones Une valeur d'attribut multivalué est un ensemble (ou liste ou multi-ensemble) de valeurs, prises chacune dans le domaine de valeurs associé à l'attribut. 21

Attributs obligatoires ou facultatifs obligatoire: une valeur au moins par occurrence (cardinalité min>=1). Exemples: nom, prénoms facultatif: peut ne pas prendre de valeur (cardinalité min=0). Exemples: salaire, téléphones Le caractère obligatoire ou facultatif est déterminé par les besoins de l'application: Si l'on accepte d'enregistrer une personne sans connaître sa date de naissance, alors l'attribut date-de-naissance sera facultatif; sinon, il sera obligatoire 22

Attributs : exemple liste Employé No-emp nom prénoms CV postes diplôme année simple complexe obligatoire facultatif monovalué multivalué de type ensemble simple, obligatoire multivalué de type liste intitulé salaires date-début date-fin montant date année mois 23

Attributs : notation alternative Employé No-emp nom prénoms 1:n liste CV 0:n diplôme année postes 1:n intitulé salaires 1:n montant date année mois date-début date-fin 24

Identifiants de TE et TA Permet de désigner une entité (ou une association) de façon univoque Identifiant: Ensemble minimal d'attributs tel qu'il n'existe pas deux instances du TE (TA) où tous ces attributs aient la même valeur 25

Identifiants du TE Employé Deux identifiants de Employé : No-emp, nom+prénoms Employé No-emp nom prénoms CV postes diplôme année intitulé salaires date-début date-fin Il n'a a pas deux employés qui ont le même numéro Il n'y a pas deux employés qui ont à la fois le même nom et les mêmes prénoms montant date année mois 26

Identifiant d'un TA: rôles multivalués Cas fréquent : id.ta = ensemble des identifiants des TE liés Etudiant Obtenu Cours No-carte nom année note No-cours intitulé Identifiant de Obtenu : Etudiant.No-carte + Cours.No-cours 27

Identifiant d'un TA: attribut propre id.ta = attribut du TA Client Commande Produit No-client nom No-commande date quantité No-produit nom Deux identifiants pour Commande: 1) No-commande 2) Client.No-client + Produit.No-produit (il n existe qu une seule commande d un client donné pour un produit donné) 28

Identifiant d'un TA: id.te +attribut propre Un client peut commander le même produit plusieurs fois à des dates différentes Client Commande Produit No-client nom date quantité No-produit nom Identifiant de Commande: Client.No-client + Produit.No-produit + Commande.date 29

Identifiant d'un TA: rôle monovalué Règle: Tout rôle monovalué induit un identifiant du TA (l identifiant du TE lié est aussi identifiant du TA) Personne Assure Voiture No-AVS Compagnie Ass. No-imm. Nom Identifiant de Assure: Voiture.No-imm. 30

Identifiant d'un TA cyclique Comme pour les autres TA Personne FEMME MARI Marié à nom prénom salaire Date_mariage jour mois année Deux rôles monovalués: deux identifiants pour Marié à: 1) Personne/Femme.nom 2) Personne/Mari.nom 31

Identifiant de TE faible Un TE qui ne peut être identifié par ses seuls attributs propres, mais qui l'est par ses attributs plus une occurrence d'un autre TE, occurrence à la quelle il est lié, est appelé "TE faible" Livre Existe Exemplaire No-ISBN titre date-achat No-exemp. état Identifiant de Exemplaire: (Livre.No-ISBN + No-exemp.) Identifiant de Existe: (Livre.No-ISBN + No-exemp.) 32

TE sans identifiant Location de bicyclettes Vélo Location Personne type date-achat date caution nom prénom 33

Exemple de schéma EA Gestion d'un hypermarché Employé chef subord. Chef de Fournisseur nom salaire NomF adresse Affecté Livré par Rayon Vend quantité Article NomR étage quantité NomA type 34

Représentation multiple Un objet peut avoir plusieurs représentations Hi-Fi Articles Habillement Alimentaire Produit laitiers Viandes Fruits Légumes Plusieurs points de vue : un article un article alimentaire un produit laitier 35

Lien de Généralisation / Spécialisation Un article alimentaire Est un article Lien IS-A Article alimentaire Article Article habillement Article Hi-Fi Produit laitier Viande Fruits et legumes Raffinement de classification 36

Hiérarchie de Généralisation/Spécialisation Spécialisation TE générique Généralisation Article Lien IS-A TE spécifiques Article alimentaire Article habillement Article Hi-Fi X Est un Y X sous-type de Y Y sur-type de X Inclusion de populations : tout X est un Y X Y 37

Héritage Vente Article nom marque type Article alimentaire Article habillement Article Hi-Fi date limite tailles couleurs puissance La description des sous-types ne porte que sur les informations additionnelles propres au soustype Reparation Service après vente 38

Héritage et inclusion Carré a Rectangle a b Rectangle a b Carré a mauvais Carré CI: a=b Rectangle b BD LPOO 39

Généralisation multiple Personne Etudiant Enseignant Doctorant Assistant Assistant-Doctorant Professeur assistants assistants-doctorants Populations doctorants 40

Contraintes d'intégrité sur IS-A disjonction Article statique Article alimentaire Article habillement Article Hi-Fi Disjonction : les articles alimentaires et les articles d'habillement n'ont pas d'instances communes Couverture : tout article appartient à l'un des sous-types (alimentaire, d'habillement ou Hi-Fi) Partition : disjonction + couverture Statique : un article ne peut pas changer de classification 41

Plusieurs groupes de is-a (clusters) Etudiant partition statique disjoint disjoint Et.garçon Et.fille Et.info Et. managt Et.3ème Et.4ème critère: sexe critère: section critère: année Des classifications différentes selon des critères différents 42

Groupes de is-a : notation alternative Article Article alimentaire Article habillement Article Hi-Fi 43

DESCRIPTION D UN SCHÉMA EA Types d entités Liens is-a Types d association Attributs Identifiants Domaines des attributs simples Contraintes d'intégrité 44

Description d'un TE nom du type d'entité nom du (ou des) type(s) d'entité sur-type de ce type d'entité, s'il en existe une définition libre (commentaire) précisant la sémantique du TE caractérisation exacte de la population du type d'entité description des attributs du TE composition des identifiants du TE, s'il en existe contraintes d'intégrité propres au TE 45

Les entités dans le temps TE Client : qu'est qu'un client??? Toute personne qui a une commande en cours Toute personne qui a fait une commande dans les six derniers mois Toute personne qui a fait une commande dans le passé ou qui est susceptible de faire une commande dans le futur 46

Description d'un TA nom du type d'association une définition libre (commentaire) précisant la sémantique du TA noms des TE participant au TA, avec le nom du rôle les associant au TA pour chaque rôle, sa cardinalité description des attributs du TA, s'il en existe composition des identifiants du TA, s'il en existe contraintes d'intégrité propres au TA 47

Les associations dans le temps Personne Emprunte Livre Quels emprunts veut-on dans la BD? Seulement les emprunts en cours Les emprunts des trois derniers mois Aussi les emprunts à venir (réservations). 48

Exemple: TA "Affecté" (BD hypermarché) nom: Affecté définition: "lie un employé au rayon dans lequel cet employé travaille aujourd'hui TE participants: Employé, Rayon cardinalités: attributs: / Employé : min=0, max=1 Rayon : min=0, max=n identifiant: Employé.nom contraintes d'intégrité: / 49

Description d'un attribut nom de l'attribut définition libre de sa sémantique cardinalités si attribut simple: domaine de valeurs si attribut complexe: description des attributs composants 50

Domaine de valeurs d un attribut simple Le domaine de valeurs d un attribut définit l'ensemble des valeurs permises pour cet attribut Le domaine d un attribut simple peut être un domaine de base: entiers, réels, string, booléen, date un domaine de base avec restriction: Entier [>=1,<=12] pour l'attribut mois un domaine énuméré: {janvier, février,, décembre} un domaine de type défini par l utilisateur 51

Contraintes d'intégrité (CI) règles définissant les états (CI statiques) et les transitions d'état (CI dynamiques) possibles de la BD doivent être décrites explicitement (avec un langage approprié) si elles ne peuvent pas être décrites avec les concepts du modèle de données une BD est cohérente si toutes les CI définies sont respectées par les valeurs de la BD. 52

CI sur les attributs Restrictions de domaine fixes : âge [0 : 130 ] état-civil : célibataire > marié > divorcé veuf Restrictions selon le contexte : Pour toute personne liée à Mariage, son attribut état-civil a pour valeur "marié" " x,y Personne, <x,y> Mariage => x.état-civil = "marié" & y.état-civil = "marié Pour toute personne liée à Mariage par le rôle mari, son attribut sexe a pour valeur "M" " x,y Personne, <x/mari, y/femme> Mariage => x.sexe = "M" & y.sexe = "F" 53

Attributs dérivés nom Personne Parent 2:2 Enfant nom prénoms nombre d'enfants nom prénoms nombre d'enfants = nombre d'occurrences du TA Parent qui lient cette Personne 54

Exemple : Institut de formation Personne nom prénoms (liste) adr. Etudiant 0:n liste 0:n couverture Enseignant 0:n Obtenu Inscrit Assure notes année (multi-ensemble) 0:n 0:n 1:1 nomc Cours cycle est-un 0:n Prérequis a-pour 0:n 55

Institut de formation (suite) Etudiant n E daten liste études jour mois année diplôme année Enseignant tel. statut rens.banc. banque agence compte 56

Schéma de FormaPerm (1) Définitions : Etudiant : tout individu qui est actuellement inscrit à l'institut, ou qui a déjà passé avec succès l'un des cours de l'institut. Enseignant : tout individu assurant actuellement un ou plusieurs cours à l'institut. Schéma : Type d'entité : Personne Attributs : nom : 1:1, simple: Dnom prénoms : 1:n liste, simple: Dnom adr : 1:1, simple: Dch100 Identifiant : (nom + prénoms) 57

Schéma de FormaPerm (2) Type d'entité : Etudiant sous-type de Personne Attributs : n E: 1:1, simple: Entier daten: 1:1, complexe: (jour: 1:1, simple: Djour mois: 1:1, simple: Dmois) année: 1:1, simple: Dannée) études: 0:n liste, complexe: (année: 1:1, simple: Dannée diplôme: 1:1, simple: Dnom ) Identifiant : (n E) 58

Schéma de FormaPerm (3) Type d'association : Obtenu Rôles : Etudiant (0:n) liste Cours (0:n) Attributs : notes: 1:n multi-ensemble, simple: Dnote année: 1:1, simple: Dannée Identifiant : (Etudiant + Cours) 59