Modélisation et Modèles - NFE113

73
Modélisation et Modèles Eric Boniface NFE113 Administration et configuration des bases de données - 2010

Transcript of Modélisation et Modèles - NFE113

Page 1: Modélisation et Modèles - NFE113

Modélisation

et

Modèles

Eric Boniface

NFE113 Administration et configuration des bases de données - 2010

Page 2: Modélisation et Modèles - NFE113

2/73

Sommaire

� Modélisation conceptuelle

� Modèle Entité / Association

� Modèle Relationnel

Page 3: Modélisation et Modèles - NFE113

3/73

Modélisation conceptuelle

� La conception de base de données

� Pourquoi la modélisation conceptuelle ?

Page 4: Modélisation et Modèles - NFE113

4/73

Cycle de vie du S.I.

Modélisation conceptuelle

Page 5: Modélisation et Modèles - NFE113

5/73

Modélisation conceptuelle

� Système d'InformationSI Collection d'activités qui définissent le partage et la distribution

de l'information et le stockage des données

� Système de Gestion de Bases de DonnéesSGBD Logiciel pour stocker, manipuler et retrouver les données

sur ordinateur

� Le système d'information contientles bases de données : composante essentiellemais aussi les programmes

les interfaces utilisateursles procédures manuelles…

Page 6: Modélisation et Modèles - NFE113

6/73

Modélisation conceptuelle

� Préalable indispensable à l'implantation de la base de données

� Consensus sur le découpage en phases et sur les objectifs de chaque phase

� Beaucoup de bases ont été développées sans méthode

Conséquences� Sous estimation du temps/des ressources nécessaires� Développement de Bases de données inadéquates et

inefficaces� Documentation limitée� Maintenance difficile

Page 7: Modélisation et Modèles - NFE113

7/73

Un processus complexe qui implique des décisions àdifférents niveaux.�décomposer le problème en sous-problèmes àrésoudre indépendamment en utilisant des méthodes et des techniques spécifiques

Schéma conceptuel : description de haut niveau de la structure de la base de données�décrit le contenu en information et non les structures de stockage

Schéma logique : description de la structure de la base de données qui puisse être comprise par le SGBD�dépend du modèle logique choisi (relationnel, objet ou XML)

Schéma physique : description de l'implantation de la BD en mémoire secondaire (structure de stockage et méthodes d'accès) => dépend du SGBD cible (Oracle, DB2, …)

Modélisation conceptuelle

Page 8: Modélisation et Modèles - NFE113

8/73

La plupart des problèmes de BD est due à une mauvaise compréhension des données à un

niveau abstrait ou conceptuel

Il faut une compréhension structurelle des données, indépendante de l'implantation physique

C'est le rôle de l'étape de modélisation conceptuelle des données

Modélisation conceptuelle

Page 9: Modélisation et Modèles - NFE113

9/73

Pourquoi la modélisation ?

� Ne peut pas être automatiséec'est la phase critique

� Opération à conduire en coopération avec les utilisateurs� les utilisateurs décrivent leurs besoins et expliquent la

sémantique des données� les concepts des modèles sont simples et peu techniques : ne

nécessitent pas la connaissance des SGBD� la coopération améliore le schéma conceptuel : le processus

converge plus vite

Page 10: Modélisation et Modèles - NFE113

10/73

Pourquoi la modélisation ?

� Indépendance du SGBD� le schéma conceptuel "survit" à un changement de SGBD� différentes bases de données décrites par leurs schémas

conceptuels peuvent être comparées et intégrées en un ensemble connu

cf. bases de données fédérées

� le schéma conceptuel n'est pas seulement un document intermédiaire mais � un élément important de la documentation du S.I.� il facilite la compréhension, � l'évolution

� et la maintenance

Page 11: Modélisation et Modèles - NFE113

11/73

Pourquoi la modélisation ?

Les modèles conceptuels

� ont émergé à la fin des années 1970� les plus connus

� modèle entité-relation (E-R)modèle standard choisi par l'ANSI pour l'IRDS (Information Resource

Dictionary System)

� diagramme de classe UML

Tous s'appuient sur les mêmes mécanismes d'abstraction

Page 12: Modélisation et Modèles - NFE113

12/73

Modèle de donnéesLangage pour décrire la

réalité

SchémaDescription d’une réalité

suivant un modèle

Pourquoi la modélisation ?

Page 13: Modélisation et Modèles - NFE113

13/73

� Historique et principes

� Présentation

� Le modèle

Modèle Entité Association

Page 14: Modélisation et Modèles - NFE113

14/73

Modèle Entité Association

LE MODELE E-A ou E-R� Un modèle conceptuel de données� Modèle Entité-Relation ou Entité-Association (en

anglais : Entity Relationship)� Proposé par P. Chen (1976)� Différentes extensions ont été proposées� L'ANSI choisit le modèle ER comme standard

(1988)

Page 15: Modélisation et Modèles - NFE113

15/73

Modèle Entité Association

� Utilisé universellement pour la conception de bases de données (relationnelles)

� La conception d’un schéma correct estessentielle pour le développement d’une application viable

� Simple et suffisamment puissant pour représenter des structures relationnelles

� Repose sur une représentation graphique qui facilite sa compréhension

Page 16: Modélisation et Modèles - NFE113

16/73

Modèle Entité Association

� De nombreuses insuffisances� ne propose que des structures� Pas d’opération permettant de manipuler les données� Pas (ou peu) de moyen d’exprimer des contraintes� Certaines ambiguïtés pour des schémas complexes

� Objectif de ce chapitre� Utiliser le modèle E/A� Savoir interpréter et comprendre un modèle� Exemple d’une base de données de films, accessible par le Web, notation possible par les internautes

Page 17: Modélisation et Modèles - NFE113

17/73

Modèle E/A : schéma

� Table FilmSimple (MES = Metteur en scène)� Ce schéma comporte tout un ensemble de problèmes� Tous ou presque découlent d’un grave défaut de la table ci-dessus : il est possible de représenter la même information plusieurs fois

titre année nomMES prénomMES AgeAlien 1979 Scott Ridley 66

Vertigo 1958 Hitchcock Alfred 110Psychose 1960 Hitchcock Alfred 110

Kagemusha 1980 Kurosawa Akira 99Volte-face 1997 Woo John 63

Pulp Fiction 1995 Tarantino Quentin 46Titanic 1997 Cameron James 55

Sacrifice 1986 Tarkovski Andrei 77

Page 18: Modélisation et Modèles - NFE113

18/73

� Anomalies dans l’insertion� Il est possible de représenter x fois le même film� Qu’est-ce qui distingue deux films l’un de l’autre ?

� Anomalies lors d’une modification� Redondance = des anomalies de mise à jour

� Les mêmes questions que précédemment se posent� existe-t-il un seul réalisateur nommé Hitchcock ?� est-ce qu’il ne doit donc y avoir qu’une seule année de naissance ?

Modèle E/A : schéma

Page 19: Modélisation et Modèles - NFE113

19/73

� Anomalies lors d’une destruction� Suppression d’un film = suppression du metteur en scène� Ex. suppression de Titanic = suppression des informations sur James Cameron

� Avoir une valeur trop « variable »� L’age va évoluer chaque année ! � Stocker l’age plutôt que l’année de naissance

Modèle E/A : schéma

Page 20: Modélisation et Modèles - NFE113

20/73

� Être capable de représenter individuellement les films et les réalisateurs, de manière à ce qu’une action sur l’un n’entraîne pas systématiquement une action sur l’autre

� Définir une méthode d’identification d’un film ou d’un réalisateur, qui permette d’assurer que la même information est représentée une seule fois

� Préserver le lien entre les films et les réalisateurs, mais sans introduire de redondance

Modèle E/A : la bonne méthode

Page 21: Modélisation et Modèles - NFE113

21/73

� Plus de redondance, grâce à une clé étrangère� Les anomalies citées avant sont résolues� La modélisation avec un graphique Entité / Association = une méthode simple pour arriver au résultat ci-dessus, et ce même dans des cas beaucoup plus complexes

Modèle E/A : la bonne méthode

Table des films

id nomMES prénomMES annéeNaiss1 Scott Ridley 19432 Hitchcock Alfred 18993 Hitchcock Alfred 18994 Kurosawa Akira 19105 Woo John 19466 Tarantino Quentin 19637 Cameron James 19548 Tarkovski Andrei 1932

Table des réalisateurs

titre année idMESAlien 1979 1

Vertigo 1958 2Psychose 1960 2

Kagemusha 1980 3Volte-face 1997 4

Pulp Fiction 1995 5Titanic 1997 6

Sacrifice 1986 7

titre annéeAlien 1979

Vertigo 1958Psychose 1960

Kagemusha 1980Volte-face 1997

Pulp Fiction 1995Titanic 1997

Sacrifice 1986

Page 22: Modélisation et Modèles - NFE113

22/73

Un schéma E/A décrit l’application visée, c’est-à-dire une abstraction d’un domaine d’étude, pertinente relativement aux objectifs visés

Notre base Films contient uniquement ce qui est pertinent

Modèle E/A : présentation

Entités

Association

Clé (en gras)

Attributs

Cardinalité

Contraintes de participation

Page 23: Modélisation et Modèles - NFE113

23/73

� La modélisation conceptuelle est indépendante de toute implantation

� Aucun système identifié� Pas d’algorithme ou de langage précisés

� Partie la plus stable d’une application� Mais

� est-ce que toutes les informations sont représentées ? � est-ce que les clés choisies sont pertinentes ?

� Attention, certaines évolutions futures du schéma seront très complexes : changement de clé de Film, le passage àplusieurs réalisateurs, etc.

Modèle E/A : présentation

Page 24: Modélisation et Modèles - NFE113

24/73

Définition : nous désignons par entité tout objet identifiableet pertinent pour l’application� identifiable = un identifiant ou une clé va permettre de distinguer les entités� pertinence = ne prendre en compte que les informations nécessairesAttributs : les entités sont caractérisées par des propriétés (le titre du film par exemple), ce sont les attributs� défini par un nom � valeurs dans un domaine énumérable

Entités, attributs et identifiants

Page 25: Modélisation et Modèles - NFE113

25/73

� Entités manipulables ou physiques� une table, un avion, un livre, etc.

� Entités non manipulables ou conceptuelles� un compte client, un service

� Nous nous limitons aux entités utiles pour la modélisation, ie celles qui vérifient

� Nous en connaissons plusieurs unités

� Nous souhaitons que la B.D. contienne des informations sur ces unités

Entités, attributs et identifiants

Page 26: Modélisation et Modèles - NFE113

26/73

Soit un nom d’attribut A = fonction définie sur un ensemble E d‘entités, prenant ses valeurs sur un domaine D.A(e) = valeur de l’attribut A pour e € E

Par exemple : soit un ensemble de films {f1, …, fn} et les attributs titre et année. Si f1 est le film Impitoyable, tourné par Clint Eastwood en 1992 alors : titre(f1) = Impitoyable; année(f1) = 1992

Un attribut est une relation, au sens mathématique, entre un ensemble d’entités et un ensemble de valeurs

Entités, attributs et identifiants

Page 27: Modélisation et Modèles - NFE113

27/73

Propriétés des attributs� Ils sont atomiques

� on ne sait pas définir un attribut téléphones

� Certaines méthodes acceptent des constructions complexes

� attributs multivalués : ensemble de valeurs d’un même domaine� attributs composés : agrégation d’autres attributs. Ex. d’un attribut adresse

� Si la fonction est injective : attribut-clé ou identifiant

Entités, attributs et identifiants

Page 28: Modélisation et Modèles - NFE113

28/73

Définition : le type d’une entité est composé des éléments suivants

� Son nom� La liste de ses attributs avec, – optionnellement – le

domaine où l’attribut prend ses valeurs : les entiers, les chaînes de caractères

� L’indication du (ou des) attribut(s) permettant d’identifier l’entité : ils constituent la clé .

� On dit qu’une entité e est une instance de son type E

Types d’entités

Page 29: Modélisation et Modèles - NFE113

29/73

Définition : Soit E un type d’entité et l’ensemble des attributs de E. Une clé de E est un sous-ensemble minimal de A permettant d’identifier de manière unique une entité parmi n’importe quelle extension de E

Exemple : l’internaute possède plusieurs attributs, dont son courriel, son nom, son prénom, etc. Le courriel constitue une clénaturelle. Le nom, voire le nom et le prénom ne suffise pas

S’il y a plusieurs clés possibles, en choisir une en cléprimaire, les autres en clés secondaires

Types d’entités : clé

Page 30: Modélisation et Modèles - NFE113

Caractéristiques d’une clé primaire� Sa valeur est connue pour toute entité� Il ne faudrait jamais devoir la modifier� Sa taille de stockage doit être la plus petite possible =

performance

Dans le cas de la table Films, le titre pourrait être une clé primaire, mais pour cela nous supposons que le titre est unique. Il n’est pas facile de trouver une cléprimaire sinon pour cette relation

⇒ Ajout d’un attribut abstrait id = numéro séquentiel unique

Types d’entités : clé

Page 31: Modélisation et Modèles - NFE113

Caractéristiques d’une clé primaire� Sa valeur est connue pour toute entité� Il ne faudrait jamais devoir la modifier� Sa taille de stockage doit être la plus petite possible =

performance

Dans le cas de la table Films, le titre pourrait être une clé primaire, mais pour cela nous supposons que le titre est unique. Il n’est pas facile de trouver une cléprimaire sinon pour cette relation

⇒ Ajout d’un attribut abstrait id = numéro séquentiel unique

Types d’entités : représentation

Page 32: Modélisation et Modèles - NFE113

� Ci-dessous l’exemple des types Internaute et Film.� L’attribut formant la clé est en gras� Distinction types d’entités et entités : la même

qu’entre schéma et base, entre type et valeur en programmation

� Souvent, nous parlons d’entité à la place de type d’entité et d’occurrence ou de tuple pour une entité

Types d’entités : représentation

Page 33: Modélisation et Modèles - NFE113

Associations

Définition : une association binaire entre les ensembles d’entités E1 et E2 est un ensemble de couples (e1,e2), avec e1 € E1 et e2 € E2

� Une relation caractérise un lien entre plusieurs entités

� Deux niveaux de discours� Au niveau type : la relation Réalise entre un Artiste et un

Film� Au niveau occurrence : Hitchcock réalise le Film

Psychose� Relation classique de relation en théorie des ensembles

Page 34: Modélisation et Modèles - NFE113

Associations : exemple de graphe

� L’utilisation d’un graphe aide à visualiser les associations

� Prendre des exemples les plus généraux possibles

Page 35: Modélisation et Modèles - NFE113

Associations : cardinalité

Définition : soit une association (E1,E2) entre deux types d’entité. La cardinalité de l’association pour Ei, i €{1,2}, est une paire [min, max] telle que :

� Le symbole max (cardinalité maximale) désigne le nombre maximal de fois où une entité ei de Ei peut intervenir dans l’association. En général, ce nombre est 1 (au plus une fois) ou n (plusieurs fois, indéterminées), noté par le symbole « * »

� Le symbole min (cardinalité minimale) désigne le nombre minimal de fois où une entité ei de Ei peut intervenir dans la relation. En général, ce nombre est 1 (au moins une fois) ou 0

Page 36: Modélisation et Modèles - NFE113

Associations : cardinalité

� Les cardinalités maximales doivent être établies avec précaution car difficiles à modifier ultérieurement

� La notation « * » tirée d’UML correspond à « 0..* »� La notation « 1 » équivaut à « 1..1 »� Les cardinalités minimales peuvent être désignées

par le terme « contraintes de participation »

� Il s’agit de choix de conception� Valides par rapport à un besoin exprimé

Page 37: Modélisation et Modèles - NFE113

Associations : cardinalité

� Plusieurs façons de noter une association entre types d’entités

� Nous utilisons la notation UML, très proche de la méthode OMT (cf. http://pages-perso.esil.univmed.fr/~henocque.1/polyomt.pdf)

Page 38: Modélisation et Modèles - NFE113

Associations : cardinalité

� En faisant le graphe de l’association Réalise, nous voyons qu’un metteur en scène peut être un acteur

� Regroupement des deux types d’entité en un seul : Artiste

� L’association Joue a un attribut Rôle� Seules les associations à cardinalités multiples de

chaque côté peuvent avoir des attributs

Page 39: Modélisation et Modèles - NFE113

Associations : clé

Définition : la clé d’une association (binaire) entre un type d’entité E1 et un type d’entité E2 est le couple constitué de la clé c1 de E1 et de la clé c2 de E2

� En pratique, trop contraignant car nous souhaitons autoriser 2 entités à être liées plus d’une fois dans une association. Ex. qu’un internaute puisse noter àplusieurs reprises un film avec historique

� Impossible en l’état avec une association binaire

Association ternaire identifiée par un triplet (id, email, date)

Page 40: Modélisation et Modèles - NFE113

Associations : clé

� Un même internaute peut noter plusieurs fois le même film, pourvu que ce ne soit pas à la même date.

� Réciproquement un internaute peut noter des films différents le même jour, et un même film peut être noté plusieurs fois à la même date, à condition que ce ne soit pas par le même internaute.

Page 41: Modélisation et Modèles - NFE113

Associations : clé

� La représentation précédente n’est pas bonne : introduit une entité artificielle

� Rajouter l’attribut date dans l’association, et le mettre en gras pour indiquer qu’il est dans la clé

Page 42: Modélisation et Modèles - NFE113

Entités faibles

� Dans certains cas, des entités ne peuvent être vu indépendamment d’une autre : entité faible

� Ex. : un cinéma et ses salles� Chaque salle a ses propres attributs� Mais une salle est forcément liée à un cinéma

� L’association a un attribut « no », numéro de salle� La cardinalité côté cinéma est implicitement « 1..1 »� L’entité « salle » a une identification relative au cinéma

Page 43: Modélisation et Modèles - NFE113

Entités faibles : contraintes

� L’utilisation d’entités faibles implique des contraintes� L’insertion d’une salle dans la base => l’association

à un cinéma� La destruction d’un cinéma => destruction de toutes

ses salles� La modification de la clé d’un cinéma => la

modification sur toutes ses salles� Une stratégie doit être mise en place

� Les SGBD fournissent les outils nécessaires

Page 44: Modélisation et Modèles - NFE113

Associations n-aires

Définition : une association n-aire entre n types d’entités E1, …, En est un ensemble de n-uplets (e1, …, en) où chaque ei appartient à Ei

� En théorie pas de limite sur le degré d’une association

� En pratique, rarement au-delà de 3 entités

Page 45: Modélisation et Modèles - NFE113

Associations n-aires

Exemple de l’association pour les projections de films� Association ternaire entre les entités Film, Salle et

Horaire� Soulève de nouveaux problèmes

� Impossibilité de dire qu’une entité ne participe qu’une fois

� Détermination de la clé de l’association difficile� La clé [nomCinéma, noSalle, idfilm, idHoraire] peut être

volumineuse� Ne permet pas de spécifier certaines contraintes, telles

que : dans une salle, pour un horaire il n’y a qu’un seul film

Page 46: Modélisation et Modèles - NFE113

Associations n-aires

� Les associations de degré supérieur à deux sont difficiles à manipuler et à interpréter

� Toujours possible de remplacer cette association pour un type d’entité

Règle : soit A une association entre les types d’entité{E1, …, En}. La transformation de A en type d’entités’effectue en trois étapes :

� Nous attribuons un identifiant autonome à A� Nous créons une association Ai de type ‘1..n’ entre A et

chacun des Ei. La contrainte minimale, du côté de A, est toujours 1

Page 47: Modélisation et Modèles - NFE113

Associations n-aires

� L’association précédente va être transformée en type d’entité Séance, avec un identifiant idSéance et des associations ‘1..n’

Page 48: Modélisation et Modèles - NFE113

48/73

Comment modéliser ?

Page 49: Modélisation et Modèles - NFE113

Comment modéliser ?

� Faire la liste des entités

� Pour chaque entité, � Faire la liste des propriétés� Définir les propriétés identifiantes

� Faire la liste des relations entre les entités

� Pour chaque relation,� Faire la liste des propriétés propres� Vérifier la dimension (binaire, ternaire, etc.)� Définir les cardinalités

Page 50: Modélisation et Modèles - NFE113

Comment modéliser ?

� Vérifier le schéma obtenu, notamment� Supprimer les transitivités� S’assurer qu’il répond aux demandes

� Valider avec les utilisateurs

� Ne pas confondre le concept de données et celui de traitement

� La modélisation conceptuelle de données exclut la représentation des traitements sur ces données

� Pourtant la connaissance des traitements est requise

Page 51: Modélisation et Modèles - NFE113

Avantages et inconvénients

� Le modèle E/A est simple et pratique� 3 concepts à manipuler : entités, associations et

attributs� Approprié à une représentation graphique intuitive� Permet de modéliser rapidement des structures pas

trop complexes

� Pauvreté du modèle : difficulté à exprimer les contraintes d’intégrité ou des structures complexes

Page 52: Modélisation et Modèles - NFE113

Avantages et inconvénients

� Non déterministe : pas de règle absolue pour déterminer ce qui est entité, attribut ou relation

� Est-il préférable de représenter le metteur en scène (MES) comme un attribut de Film ou comme une association avec Artiste ? comme une association

� Est-il indispensable de gérer une entité Horaire ?

� Ne pas attribuer à une relation les attributs des entités participantes

Page 53: Modélisation et Modèles - NFE113

Avantages et inconvénients

Il faut essayer en général� de se ramener à des associations entre 2 entités :

au-delà, on a probablement intérêt a transformer l’association en entité

� d’éviter toute redondance : une information doit se trouver en un seul endroit

� enfin – et surtout – de privilégier la simplicité et la lisibilité, notamment en ne représentant que ce

qui est strictement nécessaire

Page 54: Modélisation et Modèles - NFE113

Exercices

Exercice 1 : soit le schéma E/A représentant des visites dans un centre médical.

Répondez aux questions suivantes en fonction des caractéristiques de ce schéma (autrement dit, indiquez si la situation décrite est représentable, indépendamment de sa vraisemblance)

1. Un patient peut-il effectuer plusieurs visites ?2. Un médecin peut-il recevoir plusieurs patients dans la même

consultation ?3. Peut-on prescrire plusieurs médicaments dans une même

consultation ?4. Deux médecins différents peuvent-ils prescrire le même

médicament ?

Page 55: Modélisation et Modèles - NFE113

Exercices

Exercice 1 : schéma

Page 56: Modélisation et Modèles - NFE113

Exercices

Exercice 2 : Le second schéma représente des rencontres dans un tournoi de tennis.

1. Peut-on jouer des matchs de double ?2. Un joueur peut-il gagner un match sans y avoir participé ?

Page 57: Modélisation et Modèles - NFE113

Retour sur la représentation

Attention à la représentation officielle

Personne VoiturePossèdePropriétaire Possédée

Buveurs VinsAbusAbus Estbu

Date Prix

Date Quantité

Personne Voiture

PossèdePropriétaire Possédée

Date Prix

Buveurs Vins

Abus

DateQuantité

Abus Estbu

UML E/R

Page 58: Modélisation et Modèles - NFE113

Modèle E/A étendu

� Il existe plusieurs extensions au modèle E/A

� L’objectif est de compléter les manques du modèle de base

� Nous allons voir le modèle Entité Association Etenduou Extended Entity-Relationship

� Proposé par Peter Chen

Page 59: Modélisation et Modèles - NFE113

Modèle EE/A : généralisation

Définition : une entité E est une généralisation d’un groupe d’entités E1,…,En si tout objet de Ei est aussi un objet de E.

Nous parlons de généralisation et de spécialisation

Film

Fantastique Animation Documentaire

S.F. Horreur … Historique Animalier

Lien IS_AUn film fantastique est un film

Type entité

générique

Type entité

spécifique

Page 60: Modélisation et Modèles - NFE113

Modèle EE/A : généralisation

Contraintes� Disjonction : a priori, les films de type fantastique

n’ont pas d’instance commune avec les films documentaires

� Couverture : tout film appartient à l’un des sous-types

� Il s’agit d’une partition

� En fait, un film d’animation peut être fantastique (ex. Final Fantasy) => couverture mais non disjonction

Page 61: Modélisation et Modèles - NFE113

Modèle EE/A : sous-ensemble

� Sous-ensemble : cas particulier de généralisation avec une seule sous-classe

� Attribut composé : groupement d’attributs ayant une affinité, soit par leur sens, soit par leur utilisation

� Exemple attribut Adresse : rue, ville, code postal

� Identifiants ou clés ou clés candidates : comme vu précédemment, un ensemble d’attributs ou d’entités reliées à E permettant de déterminer de façon unique toutes les instances de E.

� Peut être héritée dans les généralisations

Page 62: Modélisation et Modèles - NFE113

Modèle EE/A : abstraction

Définition : processus de compréhension, de classification et de modélisation de la réalité

� Classer les objets du monde réel� Modéliser les relations entre les objets

� Processus mental de � sélection de certaines caractéristiques d’un

ensemble d’objets� d’exclusion d’autres caractéristiques non

pertinentes

Page 63: Modélisation et Modèles - NFE113

Modèle EE/A : abstraction

3 mécanismes

� Classification

� Agrégation

� Généralisation

Page 64: Modélisation et Modèles - NFE113

Modèle EE/A

� Classification

� Regrouper dans une classe les objets du monde réel caractérisés par des propriétés communes

� Agrégation

� Définir une classe à partir d ’autres classes composantes

� Généralisation

� Définir une relation d ’inclusion entre deux classes (n ’est pas utilisé dans les modèles classiques E-R de base)

Page 65: Modélisation et Modèles - NFE113

Modèle EE/A : classification

Définition : regrouper dans une classe les objets du monde réel ayant des propriétés communes

Exemple : classe Filmclasse Acteur

Un même objet peut être classé de plusieurs façons� Film fantastique et d’animation� Film documentaire et d’animation

Classification multiple

Page 66: Modélisation et Modèles - NFE113

Modèle EE/A : agrégation

Définition : définir une classe à partir d’autres classes composantes

Exemples� La classe cinéma peut être décrite à partir des

classes Salles, Films, Horaires

� La classe Cours peut être décrite à partir des classes Professeur, Etudiant, Horaire, etc.

Page 67: Modélisation et Modèles - NFE113

Modèle EE/A : généralisation

Définition : une généralisation est une inclusion entre deux classes

Exemples� La classe Film est une généralisation de film

documentaire� La classe Personne (nom, âge, prénom) et la

classe Employé (salaire, grade). Employé hérite de Personne

La généralisation permet une description plus compacte des structures

Page 68: Modélisation et Modèles - NFE113

Modèle EE/A : généralisation

Définition : une généralisation est une inclusion entre deux classes

Exemples� La classe Film est une généralisation de film

documentaire� La classe Personne (nom, âge, prénom) et la

classe Employé (salaire, grade). Employé hérite de Personne

La généralisation permet une description plus compacte des structures

Page 69: Modélisation et Modèles - NFE113

Modèle EE/A : mathématique

� Les 3 abstractions sont indépendantes

� Fondement mathématique

� Classification : appartient à� Relation entre un élément et un ensemble

� Agrégation : est une partie de � Composition (produit cartésien) d’ensembles

� Généralisation : est inclus dans, sous ensemble de� Inclusion d’ensemble

Page 70: Modélisation et Modèles - NFE113

Modèle EE/A : Contrainte interrelations

� INCLUSION (I): si une occurrence de l’Individu1 participe àla relation A, elle participe à la relation B ( mais pas réciproquement)

� SIMULTANEITE(S): toute occurrence de l’Individu1 participant à la relation A participe simultanément à B

� EXCLUSION(X): si une occurrence de l’Individu1 participe àla relation A, elle ne peut pas participer à B (avec possibilitéd’orientation de cette exclusion)

� TOTALITE(T) : toute occurrence de l’Individu1 participe au moins à l’une des deux relations A ou B

� EXCLUSION et TOTALITE(XT): toute occurrence de l’Individu1 participe au moins soit à A, soit à B, mais pas aux deux à la fois

Page 71: Modélisation et Modèles - NFE113

Modèle EE/A : Contrainte interrelations

INDIVIDU 3

B

AINDIVIDU 1

INDIVIDU 2

Formalisme

Type de contrainte

Individu impliquédans la contrainte

Tiré du cours d’E. Abou Chakra

Page 72: Modélisation et Modèles - NFE113

Modèle EE/A : conclusion

� CLASSIFICATION� une entité est une classe d'objets du monde réel ayant

des propriétés semblables� une association est une classe de faits élémentaires qui

relient 2 (ou +) entités� un attribut est une classe de valeurs représentant les

propriétés des entités ou associations

� AGREGATION� une entité est une agrégation d'attributs� une association est une agrégation d'entités et

d'attributs� un attribut composé est une agrégation d'attributs

� GENERALISATION� hiérarchies de généralisation et sous-ensembles

Page 73: Modélisation et Modèles - NFE113

73/73

Et après…

Le monde

Le concepteur Schéma conceptuel

Schéma logiquerelationnel

BD

Utilisateurs

Table FilmsTable Cinéma…