Cours2 b7modelisation 2003 2004

42
CNAM Bases de données 1 •Modélisation des données •Le modèle entité- association •Merise La modélisation Cours B7

description

EAP Principal

Transcript of Cours2 b7modelisation 2003 2004

Page 1: Cours2 b7modelisation 2003 2004

CNAM Bases de données 1

• Modélisation des données

• Le modèle entité-association

• Merise

La modélisationCours B7

Page 2: Cours2 b7modelisation 2003 2004

CNAM Bases de données 2

Modélisation des données

• C’est l’idée centrale des bases de données

• Il s ’agit de séparer la description des données et leur manipulation– La description

• spécification de la structure des données

– La manipulation• interrogations, insertions et mises à jour

Page 3: Cours2 b7modelisation 2003 2004

CNAM Bases de données 3

Modélisation des données

• le type d ’objet (entité) spécifie des propriétés d ’un ensemble d ’objets en terme de structures de données visibles et d ’opérations d ’accès– ex: le type objet Entier={0,1,2 ..} avec les

opérateurs {+,-,/,*} est un objet élémentaire supporté par tous les systèmes

Page 4: Cours2 b7modelisation 2003 2004

CNAM Bases de données 4

• L ’instance d ’objet correspond à un objet particulier identifiable parmi les objets d ’un type (on parle également d ’occurrence)– ex: l ’entier 10 est une instance (occurrence) du

type Entier

Modélisation des données

Page 5: Cours2 b7modelisation 2003 2004

CNAM Bases de données 5

• Le modèle de description de données– C ’est un ensemble de concepts et de règles de composition

de ces concepts permettant de décrire ces données

• Le langage de description de données– Langage supportant un modèle et permettant de décrire les

données d ’une base d ’une manière assimilable par une machine

• Le schéma– Description au moyen d ’un langage déterminé d ’un

ensemble de données particulières

Modélisation des données

Page 6: Cours2 b7modelisation 2003 2004

CNAM Bases de données 6

Le modèle Entité-Association

• Le modèle E/A est un modèle conceptuel de haut niveau

• C'est un modèle de données pivot de méthodes de conception (Merise)

• Elaboré par Chen [Chen 1976]: basé sur la perception du monde réel

Page 7: Cours2 b7modelisation 2003 2004

CNAM Bases de données 7

• Entité : objet du monde réel avec une existence indépendante

• Association: lien logique entre entités dont le type est défini par un verbe et éventuellement des attributs

• Un attribut est une propriété d'une entité et d'une association.

Le modèle Entité- Association

Page 8: Cours2 b7modelisation 2003 2004

CNAM Bases de données 8

• Exemple:

Entités = { Voiture, Client }

association = { acheter }

attributs = { marque , type, couleur pour Voiture} {Nom, Prénom, adresse pour

Client}

{prix, date pour acheter}

Le modèle Entité-Association

Page 9: Cours2 b7modelisation 2003 2004

CNAM Bases de données 9

• Diagramme entité-association du schéma précédent

Voiture ClientMarque Adresse

Prénom

Nom

Type

Couleur

Acheter

Prix Date NCNV

Le modèle Entité-Association

Page 10: Cours2 b7modelisation 2003 2004

CNAM Bases de données 10

Différentes représentations

Voiture

TypeImmat

Couleur

Voiture

couleur Type

Immat

Voiture

Type

couleurImmat

Relation Relation

Page 11: Cours2 b7modelisation 2003 2004

CNAM Bases de données 11

– Exemple: l'Officiel des spectacles• Je voudrais pouvoir stocker et interroger les

principales informations sur l'officiel des spectacles;

• Je voudrais savoir quels films passent à Paris;

• Je voudrais savoir dans quelle salle, à quelle adresse et à quels horaires;

• Pour chaque film, je voudrais savoir quels sont les principaux acteurs et le metteur en scène;

Le modèle Entité-Association

Page 12: Cours2 b7modelisation 2003 2004

CNAM Bases de données 12

Film

IdTitreAnnée

Artiste

IdNomPrénom

0,n

0,1Réalise

Jouerôle

0,n

0,n

Salle

IdNomCapacité

Cinéma

IdTitreAnnée

0,n

1,1

contient

Horaire

heureDébutheurefin

0,n0,n

0,n

SéanceTarif

Le modèle Entité-Association

Page 13: Cours2 b7modelisation 2003 2004

CNAM Bases de données 13

• Très simple ! Deux concepts entités et associations

Représentation graphique

Assez intuitif

• Trop simple ! Pas adapté aux données complexes

Difficile d'exprimer des contraintes

– Utilisé partout: MERISE, OMT, UML, etc

Le modèle Entité-Association

Page 14: Cours2 b7modelisation 2003 2004

CNAM Bases de données 14

– Types d'entités• On regroupe les entités en ensembles

• On les décrit par un type

Van Gogh

Impitoyable

Les pleins pouvoirs

Décrit parFilm

IdTitreAnnée

Ensemble des films Type d ’entité

Le modèle Entité-Association

Page 15: Cours2 b7modelisation 2003 2004

CNAM Bases de données 15

– Que regrouper ? Que séparer ?• Est-ce qu'on met les films avec les acteurs ? Non: rien

à voir !

• Est-ce qu'on met les acteurs avec les réalisateurs : oui !

Le modèle Entité-Association

Page 16: Cours2 b7modelisation 2003 2004

CNAM Bases de données 16

– Associations entre entités• Une relation entre ensembles d'entités

• Exemple: « Acteur JOUE DANS Film »

Van Gogh

Impitoyable

Les pleins pouvoirs

Dutronc

HackmanEastwood

Cruise

Ensemble des films Ensemble des artistes

Le modèle Entité-Association

Page 17: Cours2 b7modelisation 2003 2004

CNAM Bases de données 17

– Comment caractériser une association ?• Peut-il y avoir plusieurs acteurs dans un film?

Oui => Impitoyable

• Un acteur peut-il jouer dans plusieurs films ? Oui => Hackman

• Peut-on connaître un acteur sans savoir dans quels films il joue ? Oui: Cruise

• Peut-on connaître un film sans ses acteurs ? Oui

Le modèle Entité-Association

Page 18: Cours2 b7modelisation 2003 2004

CNAM Bases de données 18

– Cardinalités• Les réponses aux questions précédents donnent les

cardinalités.• Un artiste joue dans plusieurs films

• Dans un film il y a plusieurs artistes

Film

IdTitreAnnée

Artiste

IdNomPrénom

Joue0 , N 0 , N

On peut connaître un acteur sans savoir dans quels films il joue

on peut connaître un filmsans ses acteurs

Le modèle Entité-Association

Page 19: Cours2 b7modelisation 2003 2004

CNAM Bases de données 19

• Cardinalités :Les cardinalités principales sont les combinaisons

suivantes :

0, 1 aucun ou un seul

1, 1 un et un seul

0, n aucun ou plusieurs

1, n 1 ou plusieurs

Le modèle Entité-Association

Page 20: Cours2 b7modelisation 2003 2004

CNAM Bases de données 20

• La cardinalité est une notion OBLIGATOIRE du modèle qui permet de résoudre la question de l'anomalie d'une commande qui aurait pris la liberté de ne pas comporter de produits.

• C'est donc l'expression d'une CONTRAINTE perçue sur le monde, et que l'on écrit dans le modèle. Par exemple, "il n'est pas possible qu'une commande ne concerne aucun produit".

• Expression d ’une cardinalité : – Pour une occurrence de cette entité, combien y a-t-il d'occurrences

de l'association auxquelles cette occurrence d'entité participe, au

plus et au moins ?

Le modèle Entité-Association

Page 21: Cours2 b7modelisation 2003 2004

CNAM Bases de données 21

• Choix de conception– Les cardinalités ne sont pas des choix

absolus !!!

On pourrait contraindre un acteur à apparaître dans au moins un film

On pourrait contraindre un film à être lié à au moins un acteur

• => il faut se déterminer par rapport aux besoins de l'application.

Le modèle Entité-Association

Page 22: Cours2 b7modelisation 2003 2004

CNAM Bases de données 22

– Attributs d'une association• Où placer le nom du rôle ?

Van Gogh

Impitoyable

Les pleins pouvoirs

Dutronc

HackmanEastwood

Cruise

Ensemble des films Ensemble des artistes

Ici? Ici?Ici?

Dagget

Le modèle Entité-Association

Page 23: Cours2 b7modelisation 2003 2004

CNAM Bases de données 23

– Clé d'une association• On doit pouvoir identifier une association,

comme les entités.

• Un lien film-acteur est caractérisé de manière unique par :

le point de départ (un film)

Le point d'arrivée (un acteur)

– Donc l'identifiant de l'association est la paire (idFilm, idActeur) !

Le modèle Entité-Association

Page 24: Cours2 b7modelisation 2003 2004

CNAM Bases de données 24

– Représentation d'une association• Cette association est identifiée par

le point de départ (un film)

Le point d'arrivée (un artiste)

– Donc elle est identifiée par la paire (idFilm, idArtiste !)

Film

IdTitreAnnée

Artiste

IdNomPrénom

0,nJouerôle

0,n

Le modèle Entité-Association

Page 25: Cours2 b7modelisation 2003 2004

CNAM Bases de données 25

– Conséquence• Un acteur ne peut pas jouer DEUX rôles dans un

même film.

Volte-faceTravolta

CageTroy

Archer

Archer

Troy

Le modèle Entité-Association

Page 26: Cours2 b7modelisation 2003 2004

CNAM Bases de données 26

– Associations (suite)• Il peut y avoir plusieurs types d'associations

entre deux mêmes ensembles

ImpitoyableEastwood

Joue

Réalise

Le modèle Entité-Association

Page 27: Cours2 b7modelisation 2003 2004

CNAM Bases de données 27

– Associations entre Film et Artiste

Film

IdTitreAnnée

Artiste

IdNomPrénom

0,n

0,1Réalise

Jouerôle

0,n

0,n

Le modèle Entité-Association

Page 28: Cours2 b7modelisation 2003 2004

CNAM Bases de données 28

– Association de composition• Une salle est un composant d'un cinéma

Si on crée une salle, il faut l'associer à un cinéma

Si on détruit un cinéma, il faut détruire ses salles

Salle

IdNomCapacité

Cinéma

IdTitreAnnée

0,n1,1contient

Le modèle Entité-Association

Page 29: Cours2 b7modelisation 2003 2004

CNAM Bases de données 29

– Identifiant d'une association de composition• Le composant (la salle) peut être identifié

relativement à son composé (le cinéma) Si idCinéma est l'identifiant du cinéma

Alors (idCinéma, noSalle) est un identifiant possible pour la salle.

• Avantage: il devient plus facile d'identifier les salles.

Le modèle Entité-Association

Page 30: Cours2 b7modelisation 2003 2004

CNAM Bases de données 30

– Association généralisée• On peut associer 2, 3, 4 ... ensembles d'entités.

Salle

IdNomCapacité

Horaire

heureDébutheurefin

Film

IdTitreAnnée

0,n

0,n 1,nSéanceTarif

Le modèle Entité-Association

Page 31: Cours2 b7modelisation 2003 2004

CNAM Bases de données 31

– Problèmes avec les associations ternaires (ou plus)

• Difficiles à interpréter

Qu'est ce qui est autorisé, qu'est ce qui est interdit ?

» Peu de contraintes

Deux films différents dans la même salle au même horaire ...

• Autre approche possible: transformer l'association en entité

Le modèle Entité-Association

Page 32: Cours2 b7modelisation 2003 2004

CNAM Bases de données 32

– Transformation en entité

Salle

IdNomCapacité

Horaire

heureDébutheurefin

Film

IdTitreAnnée

Séance

IdTarif

1,1

0,n

1,11,1

0,n

0,n

Le modèle Entité-Association

Page 33: Cours2 b7modelisation 2003 2004

CNAM Bases de données 33

• Une association réflexive

Le modèle Entité-Association

EmployéIDNomService

Dirige

0,n

0,1

Page 34: Cours2 b7modelisation 2003 2004

CNAM Bases de données 34

– En résumé• Modèle E/A: simple, pratique, employé dans toutes

les méthodes

• Important: savoir interpréter correctement un schéma E/A qui vous est donné

• Un des mérites essentiel de ce modèle est de permettre la représentation graphique élégante des schémas de bases de données

Le modèle Entité-Association

Page 35: Cours2 b7modelisation 2003 2004

CNAM Bases de données 35

Merise• Méthode d'analyse et de conception informatique

– créée en 1978, sous l'impulsion du ministère de l'industrie, par un groupement de 6 sociétés de services et un centre de recherche informatique

– complète, détaillée, en grande partie formalisée, qui garantit (en principe) une informatisation réussie

• Démarche pour l'établissement de Systèmes d'Information

• Au delà du domaine de l'informatique gestion de l'organisation concernée

Page 36: Cours2 b7modelisation 2003 2004

CNAM Bases de données 36

Merise

• Approche globale du S.I. menée parallèlement sur les données et les traitements

• Description du S.I. par niveaux :

niveau conceptuel,

niveau logique ou organisationnel,

niveau physique ou opérationnel.

Page 37: Cours2 b7modelisation 2003 2004

CNAM Bases de données 37

Merise

• Description du S.I. utilisant un formalisme de représentation précis, simple et rigoureux pour la description des données. Ce formalisme est normalisé au plan international par l'I.S.O. sous le nom de modèle "ENTITÉ ASSOCIATION"

• Description très riche du niveau conceptuel fondée sur les invariants du S.I. permettant ainsi de construire un nouveau S.I. sur des bases solides, indépendantes de l'organisation et des choix techniques d'automatisation

Page 38: Cours2 b7modelisation 2003 2004

CNAM Bases de données 38

Merise

• La formalisation

– Formalisation Conceptuelle : A pour but la formalisation des données et traitements nécessaires au SI sans

aborder les aspects d'organisation. QUOI ?

– Formalisation Logique ou Organisationnelle : A pour but d'apporter à la formalisation conceptuelle les notions de temps, de lieux

et d'acteurs. QUAND ? OU ? et QUI ?

– Formalisation Physique ou Opérationnelle : A pour but de définir les solutions techniques répondant aux besoins soulevés lors

des étapes précédentes. COMMENT ?

Page 39: Cours2 b7modelisation 2003 2004

CNAM Bases de données 39

Merise

• Le niveau conceptuel– Décrire le QUOI indépendamment de toute contrainte

d'organisation ou technique

– Fixer les choix des informations et traitements à manipuler dans le S.I.

Pour ne s'attacher qu'à cette étape primordiale l'organisation dans laquelle ces informations et traitements seront utilisés n'est pas étudiée dans cette phase.

Page 40: Cours2 b7modelisation 2003 2004

CNAM Bases de données 40

Merise

• Formalismes du niveau conceptuel– MCD : Modèle Conceptuel des Données :

vocabulaire :

ENTITÉS, ASSOCIATIONS, RELATIONS, PROPRIÉTÉS...

– MCT : Modèle Conceptuel des Traitements :

vocabulaire :

PROCESSUS, OPÉRATION, ÉVÉNEMENT,

RESULTAT, SYNCHRONISATION...

Page 41: Cours2 b7modelisation 2003 2004

CNAM Bases de données 41

Merise

• Modèle conceptuel des données : MCD

– Elément le plus connu et certainement le plus utile de MERISE

– Permet d'établir une représentation claire des données du S.I. et définit les dépendances fonctionnelles de ces données entre elles.

Page 42: Cours2 b7modelisation 2003 2004

CNAM Bases de données 42

Merise

• Les entités

• Les associations

• Les propriétés (ou attributs)

• Les identifiants (clés)

• Les cardinalités minimales

• Les cardinalités maximales