Systèmes d information et Bases de données (niveau 1) Cours n 2 Violaine Prince
Modèle des données : modèle entité-association (E-A) Aussi nommé E-R (entity relationship) Première apparition en France en 1972, dans un groupe de recherche formé d universitaires et d industriels. Intégration à la méthode MERISE (Tardieu) Première apparition internationale en 1979 (travaux de Chen). Congrès international dédié à E-R Ancêtre de la notation UML (Unified Modelling language)
Modèle des données : modèle entité-association (E-A) Propriétés : Étend les relations du modèle réseau S appuie sur les propriétés des relations entre ensembles Modèle conceptuel et non pas navigationnel A une équivalence dénotationnelle avec le modèle relationnel (modèle logique) Toute conception peut être validée par un utilisateur non informaticien (modèle lisible) Il existe des règles de normalisation du modèle E- A qui permettent d avoir un modèle relationnel de bonne qualité.
modèle entité-association (E- A): les entités Définition d une entité :(abréviation de «classe d entités») Ensemble d individus ou d objets intéressants pour le système d information, et qui est décrit par les propriétés que partagent tous ces individus. Les propriétés Elles peuvent être identifiantes : nom, prénom, matricule, numéro Ou descriptives : désignation, date de naissance, modèle, etc On les appelle des attributs.
modèle entité-association (E- A): les entités Règle de constitution d une entité Il faut qu il y ait plus d un individu dans l entité Toute entité est décrite par au moins un attribut identifiant Toute entité reçoit un nom qui permet de la désigner. Quelques informations Le nombre d individus qui peuplent une entité s appelle sa population. Dans le modèle E-A, tous les individus ont des valeurs associées à tous les attributs.
modèle entité-association (E- A): les attributs Règle de non redondance Si un attribut sert à décrire une entité, alors il ne peut figurer nulle part ailleurs que cette entité. Remarque Des attributs tels que «nom» ou «prénom» peuvent apparaître plusieurs fois. Mais il ne s agit pas du même attribut. Par exemple, supposons que l on ait une entité «ETUDIANT» et une entité «ENSEIGNANT». Le nom, chez l étudiant, sera désigné par «nométudiant», et celui chez l enseignant par «nomenseignant».
modèle entité-association (E- A): les entités Représentation graphique d une entité NOM_ENTITE Attribut-1 Attribut-2. Attribut-n L attribut (ou les Attributs) Identifiant(s) Est (sont) souligné(s)
modèle entité-association (E- A): identifier les entités L identifiant : Appelé aussi «clé» Il peut être composé d un seul attribut (ex: numéro) Ou de plusieurs (ex: le couple «nom, prénom») lorsqu un seul ne suffit pas à identifier suffisamment (risques d homonymies) Il est soit choisi par le concepteur, soit «calculé» (choisi par une méthode plus formelle) Il permet de reconnaître chaque individu (par sa valeur) Il dépend de la nature de la population
modèle entité-association (E- A): les entités Exemple ETUDIANT Numéro-étu Nom-étu Prénom-étu Date-naissance (200599675940, Durand,Paul,1987) (200599675943, Martin, Pierre, 1988)..
modèle entité-association (E- A): les associations Toutes les entités sont liées entre elles par des associations. Ces dernières sont des relations d ensembles. Elles indiquent que tout ou partie de la population respective des entités est en relation. Les associations sont nommées Elles peuvent avoir des attributs propres Elles sont de dimension (arité) et de type différent.
modèle entité-association (E- A): les associations Représentation d une association E1 At-1 At-2 At-n Assoc. E2 A-1 A-2 A-m
modèle entité-association (E- A): arité des propositions L arité d une association: C est le nombre d entités différentes qu elle relie. Association unaire : l entité est reliée avec ellemême. Association binaire : l association relie deux entités Ternaire, quaternaire, etc. En général on dépasse rarement les associations quaternaires.
A): arité des associations Exemple d association binaire Etudiant Numéro-et Nom prénom Date-naissance modèle entité-association (E- Est-ins- -crit à. --------- Diplôme Code-diplôme Nom-dipl Niveau-dipl Mention-dipl
modèle entité-association (E- A): les associations Etudiant Numéro-et Nom prénom Date-naissance Exemple d association ternaire Professeur -------------- Nom Prénom étudie --------- Matière Nom-matière Discipline
modèle entité-association (E- A): les associations Une association est en fait un n-uplet de relations (où n est l arité de l association) entre les ensembles qui matérialisent les entités. Dans une association binaire A, entre deux entités E1 et E2 Une relation de E1 dans E2 Une relation de E2 dans E1 Dans une association ternaire A entre trois entités E1, E2, E3 Une relation de E1 dans E2xE3 Une relation de E2 dans E1xE3 Une relation de E3 dans E1xE2
modèle entité-association (E- A): les associations Même si une association se «lit» de gauche à droite, elle correspond à des relations dans les deux sens. En tant que n-uplet de relations, les propriétés de l association sont définies par les propriétés des relations entre ensembles (injection, surjection, )
modèle entité-association (E- A): Association un-à-un Définition Soit une association A entre deux entités E1 et E2. A est composée des deux relations : R1 : E1 >E2 e1 > R1(e1) R2 : E2 >E1 e2 > R2(e2) A est dite un à un si et seulement si : R1 est telle que pour tout e1 de E1 il existe au plus une image de e1 par R1 dans E2 R2 est telle que pour tout e2 de E2, il existe au plus une image de e2 par R2 dans E1 Et R2 duale de R1
modèle entité-association (E- A): exemple d association un-à-un E1 E2 X1 X2 X3 Xm R2 R2 R1 R1 Y1 Y2 Y3 Y4 Yk
modèle entité-association (E- A): exemple d association un-à-un Dans une université donnée PERSONNE Nom Prénom Date-nais. POSSEDE CARTE D E- TUDIANT Numéro-étud Année-univ Formation Composante
modèle entité-association (E- A): Association un-à-un Cas particulier d association un-à-un: Lorsque R1 et R2 sont bijectives Tous les éléments de E1 ont une image et une seule Tous les éléments de E2 ont une image et une seule Cette association est appelée «association d assimilation» Elle pousse vers la fusion des entités qu elle relie
modèle entité-association (E- A): Association d assimilation ETUDIANT Numéro-étu Nom-étu Prénom-étu Date-nais Formation Composante Dans le système d information d une université, on fusionnera les «personnes» et les «cartes d étudiants» en une entité unique «ETUDIANT»
modèle entité-association (E- A): Association un-à-plusieurs Définition Soit une association A entre deux entités E1 et E2. A est composée des deux relations : R1 : E1 >E2 e1 > R1(e1) R2 : E2 >E1 e2 > R2(e2) A est dite un à plusieurs si et seulement si : R1 est telle que pour tout e1 de E1 il existe au plus une image de e1 par R1 dans E2 R2 est telle que pour tout e2 de E2, il existe plusieurs images de e2 par R2 dans E1 Ou bien le contraire : il existe plusieurs images par R1 et au plus une image par R2
modèle entité-association (E- A): Association un-à-plusieurs Remarque Dans le modèle E-A R1 et R2 ne sont pas forcément sémantiquement indépendantes. R1 et R2 sont liées : lorsqu il existe une image e2 dans E2, par R1, d un élément e1 de E1 alors e1 est forcément une image par R2 de e2. L association est appelée association hiérarchique Elle crée une arborescence entre les individus d une entité et les individus de l autre.
modèle entité-association (E- A): Association un-à-plusieurs explication Si l individu x1 est le «père» de y1, y2, y3 alors pour chaque yi, yi est un «fils» de x1. Remarque Attention, tous les individus ne sont pas forcément reliés par les relations R1 et R2. Des individus de l entité E1 peuvent n être «père» d aucun individu de l entité E2, et inversement.
modèle entité-association (E- A): exemple d association un-à-plusieurs E1 X1 X2 X3 Xm Association hiérarchique E2 Y1 Y2 Y3 Y4 Yk
modèle entité-association (E- A): exemple d association un-à-plusieurs VILLE Nom-ville Département Pays Possède MUSEE Nom-musée type
modèle entité-association (E-A): Association plusieurs-à-plusieurs Définition Soit une association A entre deux entités E1 et E2. A est composée des deux relations : R1 : E1 >E2 e1 > R1(e1) R2 : E2 >E1 e2 > R2(e2) A est dite plusieurs à plusieurs si et seulement si : R1 est telle que pour tout e1 de E1 il existe plusieurs images de e1 par R1 dans E2 R2 est telle que pour tout e2 de E2, il existe plusieurs images de e2 par R2 dans E1 Et telles que R1 et R2 sont liées.
modèle entité-association (E-A): exemple d association plusieurs-à-plusieurs E1 X1 X2 X3 Xm Association banalisée E2 Y1 Y2 Y3 Y4 Yk
modèle entité-association (E-A): exemple d association plusieurs-à-plusieurs Association banalisée ENSEIGNANT Nom-ens Prénom-ens Grade département Enseigne-à ETUDIANT Numéro-étu Nom-étu Prénom-étu Formation
modèle entité-association (E-A): les cardinalités des couples E-A Les relations qui composent une association A ont des propriétés. Parmi elles : Est-ce que tout élément de l ensemble de départ a au plus une image dans l ensemble d arrivée? (relation injective) Est-ce que tout élément de l ensemble de départ a obligatoirement une image dans l ensemble d arrivée? (relation surjective) Est-ce que tout élément de l ensemble de départ a plusieurs images dans l ensemble d arrivée? Ces questions définissent les cardinalités des couples E-A, c est-à-dire les propriétés des relations où E est ensemble de départ de la relation.
modèle entité-association (E-A): les cardinalités des couples E-A Définition Soient deux entités E1 et E2 reliées par une association binaire A. Soient les relations R1 et R2 composant A, telles que : R1 est la relation dont l ensemble de départ est E1 R2 est la relation dont l ensemble de départ est E2. On définit la cardinalité du couple E1-A, respectivement E2-A, comme un couple (x,y) de symboles pouvant prendre les valeurs suivantes : X=0 si R1 (respectivement R2) n est pas surjective, X=1 sinon Y=1 si R1 (respectivement R2) est injective, Y=n sinon
Modèle entité-association(e- A): exemples de cardinalités ENSEIGNANT CHERCHEUR Nom Prénom Grade département (0, n) Un enseignant-chercheur peut n enseigner à aucun étudiant Enseigne-à Un enseignant-chercheur enseigne généralement à plusieurs étudiants
Modèle entité-association(e- A): exemples de cardinalités Un étudiant est «forcément» enseigné par quelqu un Enseigne-à (1,n) ETUDIANT Numéro Nom-ét Prénom-ét formation Un étudiant est en général enseigné par plusieurs Enseignants-chercheurs différents.
Modèle entité-association(e- A): exemples de cardinalités ENSEIGNANT- CHERCHEUR Nom Prénom Grade département (0,n) Enseigne-à (1,n) ETUDIANT Numéro Nom-ét Prénom-ét formation
Modèle entité-association (E- A): cardinalités Propriétés : Une association plusieurs-à-plusieurs a ses maxima (Y) tous les deux à n Une association un-à-un a ses maxima tous les deux à 1 Une association un-à-plusieurs a un de ses maxima à 1 et l autre à n.
Modèle entité-association (E- A): problèmes de modélisation La constitution des entités : Une entité a au moins un attribut Une entité a plus d un individu On ne modélise jamais l environnement comme entité (pas de réflexivité) Les attributs choisis doivent être pertinents par rapport au problème Le choix de l identifiant doit être également argumenté
Modèle entité-association (E- A): problèmes de modélisation La constitution des associations : Une association est une «action» de liaison (correspond souvent à un verbe) Elle ne reprend pas les attributs des entités qu elle lie (modèle logique des données, à voir dans le modèle relationnel) Elle a des attributs propres si et seulement si ce sont des attributs propres à l action (compléments circonstanciels de temps, de lieu, manière ) Ces attributs ont des contraintes que nous décrirons lors de la définition des dépendances fonctionnelles.
Modèle entité-association (E- A): problèmes de modélisation La cardinalité des couples entité- association: Définition des minima : Si vous mettez 0 alors cela signifie que es individus de cette entité peuvent ne pas être liés par cette association Exemple : une ville peut ne pas posséder de musée. Si vous mettez 1, cela signifie qu obligatoirement tous les individus de cette entité participent à cette association. Attention, c est une contrainte très forte! Ne mettez 1 que si votre problème signale bien une obligation. Exemple : toute mairie est obligatoirement associée à une collectivité locale.
Modèle entité-association (E- A): problèmes de modélisation La cardinalité des couples entité- association: Définition des minima : Si vous mettez 0 alors cela signifie que les individus de cette entité peuvent ne pas être liés par cette association Exemple : une ville peut ne pas posséder de musée. Si vous mettez 1, cela signifie qu obligatoirement tous les individus de cette entité participent à cette association. Attention, c est une contrainte très forte! Ne mettez 1 que si votre problème signale bien une obligation. Exemple : toute mairie est obligatoirement associée à une collectivité locale.
Modèle entité-association (E- A): problèmes de modélisation La cardinalité des couples entité- association: Définition des maxima : Si vous mettez n alors cela signifie que les individus de cette entité peuvent être liés à de nombreux individus, par cette association, ce nombre étant a priori inconnu ou variable. Exemple : une ville peut posséder plusieurs musées. Si vous mettez un entier connu, c est une contrainte que vous modélisez. Exemple : dans une partie de belote, un joueur est associé à au plus 3 autres joueurs. On mettra un maximum à 3. Si vous mettez 1, cela signifie qu un individu ne peut pas être lié à plus d un individu par cette association. Exemple : un musée n appartient pas à plusieurs villes (attention, il peut arriver que ce soit le cas, alors vous changez le type de l association).
Modèle entité-association (E- A): problèmes de modélisation Non pérennité de la modélisation Un modèle E-A modélise un réel que vous percevez au moment de faire la modélisation. Ce réel peut changer par la suite : on change alors le modèle en fonction des modifications du système. On n implémente le modèle que lorsqu on est raisonnablement sûr de sa modélisation. Qualité du modèle Validation par les futurs utilisateurs
Modèle entité-association (E- A): problèmes de modélisation Non unicité Quand vous modélisez, vous vous faites forcément une image de ce que vous percevez. Vous devez argumenter vos choix pour convaincre les autres : De la pertinence de vos hypothèses (qualitatif) De la cohérence de votre modèle (se «démontre») Par conséquent, il n existe pas un bon modèle unique pour un problème donné. Il peut exister des modèles de qualité différente, une fois les modèles incohérents éliminés.
Modèle entité-association (E- A): problèmes de modélisation Non unicité Quand vous modélisez, vous vous faites forcément une image de ce que vous percevez. Vous devez argumenter vos choix pour convaincre les autres : De la pertinence de vos hypothèses (qualitatif) De la cohérence de votre modèle (se «démontre») Par conséquent, il n existe pas un bon modèle unique pour un problème donné. Il peut exister des modèles de qualité différente, une fois les modèles incohérents éliminés.
Modèle entité-association (E- A): problèmes de modélisation Méthodologies de modélisation Il existe deux méthodes vous permettant de réaliser votre modèle E-A : Une méthode descendante : Vous énumérez les propriétés pertinentes et constituez ensuite les entités et les assocations en appliquant les différentes contraintes de modélisation Une méthode ascendante : Vous repérez les propriétés comme des ensembles de valeurs. Vous définissez des relations entre ces propriétés. Vous constituez les entités par un «graphe des dépendances» entre propriétés, et vous «devinez» certaines associations grâce à l existence de leurs attributs, ou à l existence de sousarborescences.
Modèle entité-association (E- A): problèmes de modélisation En pratique, On commence toujours par modéliser selon la méthode descendante, Et on vérifie qu on n a pas oublié d attributs Ou qu on ne s est pas trompé dans les attributs d association (s il y en a) Ni dans les types d association (si on a des indices dans le graphe des dépendances) Grâce à la méthode ascendante.