Bases de Données-Conception CONCEPTION D’ UNE BASE DE...

40
1 N.Lammari 1 CONCEPTION D’ UNE BASE DE DONNEES Bases de Données-Conception N.Lammari 2 INTRODUCTION Concepteur Je souhaite avoir une application de gestion de ma bibliothèque Responsable de la bibliothèque X D’accord!

Transcript of Bases de Données-Conception CONCEPTION D’ UNE BASE DE...

1

N.Lammari 1

CONCEPTION D’ UNE BASE DE DONNEES

Bases de Données-Conception

N.Lammari 2

INTRODUCTION

Concepteur

Je souhaite avoir une

application de gestion de ma bibliothèque

Responsable de la bibliothèque X

D’accord!

2

N.Lammari 3

INTRODUCTION

Bibliothèque X

Il y des livres, des adhérents, des bibliothécaires, …..Le bibliothécaire achète des livres et les mets à la disposition de l’adhérent.L’adhèrent emprunte un livre pour une certaine durée et le rend à la bibliothèque……

N.Lammari 4

Monde réel

INTRODUCTION

ObjetsPropriétésValeurs

BASE DE DONNEES

G-BIBLIO

Fichiers,données

Ensemble de programmes

Bibliothécaire ou adhérent

SGBD

ApplicationComment faire ?

3

N.Lammari 5

INTRODUCTION

EntitésAssociationsAttributs

ObjetsPropriétésValeurs

Monde réel Monde Conceptuel Monde de l’ordinateur

TablesSchémasAttributs

Base de données

- structuré + structuré

Modélisation conceptuelle des données

Modélisation Logique des données

Modélisation physique des données

N.Lammari 6

EXEMPLE : l’OFFICIEL DES SPECTACLES

� Expression des besoins :

� Stocker les principales informations sur l’officiel des spectacles� Les films ainsi que les informations concernant le metteur en scène , les principaux acteurs, ….

� Les informations concernant les différentes salles de cinéma � Les horaires de passage des films dans des salles de cinéma.

� Procéder à différentes types d’interrogations de la base :� Savoir les films qui passent à Paris� Quels sont les cinémas d’un arrondissement donné� Titre des films joués par un acteur donné� Titre des films tournés par un metteur en scène donné� ………….

� Tenir à jour des informations de l’officiel des spectacles� ….

4

N.Lammari 7

Appartient

A réalisé

Passe

A JouéARTISTE

NomArtistePrénomArtisteAnnéeNaissArtiste

FILM

CodeFilmTitreFilmAnnéeFilm

CINEMA

NomCinemaAdresse

PLANNING

DateHeure

SALLE

N°SalleCapacitéSalle

0,n

0,n

1,n

1,n

1,1

1,1

0,n

0,n

0,n

EXEMPLE : l’OFFICIEL DES SPECTACLES

N.Lammari 8

EXEMPLE : l’OFFICIEL DES SPECTACLES

ARTISTE (NomArtiste, PrénomArtiste, AnnéeNaissArtiste)

FILM (CodeFilm, TitreFilm, AnnéeFilm, NomRéalisateur)

SALLE (N°Salle, NomCinéma, CapacitéSalle)

CINEMA (NomCinema, Adresse)

JOUE (NomArtiste, CodeFilm)

PLANNING (N°Salle, Date, Heure, CodeFilm)

5

N.Lammari 9

EXEMPLE : l’OFFICIEL DES SPECTACLES

ACTEUR (NomActeur, PrénomActeur, AnnéeNaissActeur)

REALISATEUR (NomRéalisateur, PrénomRéalisateur,

AnnéeNaissRéalisateur)

FILM (CodeFilm, TitreFilm, AnnéeFilm, NomRéalisateur)

SALLE (N°Salle, NomCinéma, CapacitéSalle)

CINEMA (NomCinema, NumNomRue, CodePostal)

JOUE (NomActeur, CodeFilm)

PLANNING (N°Salle, Date, Heure, CodeFilm)

N.Lammari 10

INTRODUCTION

Besoins d’une

application

Analyse et spécification des besoins

Modélisation Conceptuelle

Modélisation Logique

Modélisation Physique

Phases de conception d’une base de données

Phases de conception des traitements

Base de données

Documentation

Programmes

NFA008 NFA007

6

N.Lammari 11

MODELES ET NIVEAUX D’ABSTRACTION

ModélisationConceptuelle

ModélisationLogique

Modélisation Physique

Opérations d’optimisation

Règles de passage

Modèle E/R ou E/A Modèle E/R ou E/A (Entités/relationships)(Entités/relationships)

Modèle relationnelModèle relationnel

Modèle relationnelModèle relationnel

N.Lammari 12

MODELE ENTITE/ASSOCIATION (E/A)� Proposé par Peter Chen en 1976

� Perçoit le monde réel comme un ensemble d’objets liés. Les objets du monde réel sont représentés par des entités, les liens entre ces objets par des associations.

� Décrit la structure de la base de données à travers un modèle E/A

� Utilise un diagramme pour représenter graphiquement le modèle E/A de la base de données.

� Il est la base de beaucoup de modèles de données de plusieurs méthodes de conception : MERISE, OMT

7

N.Lammari 13

CONCEPTS DU MODELE E/A

� ATTRIBUT ET DOMAINE D’UN ATTRIBUT

� ENTITE ET ENTITE-TYPE

� IDENTIFIANT

� ASSOCIATION ET ASSOCIATION-TYPE

� CONTRAINTES SUR L’ ASSOCIATION-TYPE

N.Lammari 14

LE CONCEPT D’ENTITE� ENTITE

� Un objet concret ou abstrait du monde réel qui se distingue des autres objets

� Tout objet du monde réel pertinent pour l’application� Exemples

� Exemple d’objet concret : � Chaque amphi du CNAM est un objet donc une entité : l’amphi 1 est un objet

� Dans l’officiel des spectacles le cinéma Rex est une entité de ce monde réel

� Dans la bibliothèque X l’adhèrent DUPONT est une entité� Exemple d’objet abstrait :

� L’inscription de n° XXXX de l’étudiant DUPONT est une entité� Dans l’officiel des spectacles le film de nom « Impitoyable » est une entité

� Dans la bibliothèque X le prêt du livre « base de donnée » effectué par adhèrent DUPONT est une entité

8

N.Lammari 15

LE CONCEPT D’ENTITE-TYPE

� ENTITE-TYPE� Concept permettant de décrire un ensemble d’entité de même type c.à.D possédant les mêmes caractéristiques.

� Exemples� L’entité-type AMPHI décrit l’ensemble des amphi du CNAM. Tout amphi du CNAM possède un nom, une capacité, une localisation, etc.

� Dans l’officiel des spectacles, FILM représente l’ensemble des films. Chaque film possède un titre, une année de parution, etc.

� Dans la bibliothèque X, ADHERENT est une entité-type représentant l’ensemble des adhérents de la bibliothèque. Chaque adhèrent possède un numéro adhèrent, un nom, un prénom, une adresse, etc.

N.Lammari 16

DOMAINE ET ATTRIBUT

� ATTRIBUT� Une propriété ou une caractéristique d’une entité-type� Il possède un nom et un domaine de valeurs

� DOMAINE D’UN ATTRIBUT� Un ensemble de valeurs permises pour cet attribut

� EXEMPLES � Le titre d’un film , son année de parution sont les attributs del’entité-type FILM.

� Le titre d’un film a pour nom Titre. L’année de parution a pour nom Année.

� Titre est une chaîne de 1 à 30 caractères et Année est un entiercompris entre 1800 et 2003.

Un attribut prend une est une seule valeur à la fois pour une entité de l’entité type

9

N.Lammari 17

IDENTIFIANT D’UNE ENTITE-TYPE� IDENTIFIANT

� C’est un sous ensemble des attributs de l’entité-type� Sert à distinguer les objets / entités dans l’entité-type : deux entités possibles d’une même entité-type ne peuvent pas avoir la même valeur pour l’identifiant.

� EXEMPLE� Le N° de carte adhérent permet de distinguer l’ensemble des adhérents d’une bibliothèque → Il peut jouer le rôle d’identifiant pour l’entité-type ADHERENT.

� Le N° inscription d’un auditeur au CNAM peut jouer le rôle d’identifiant pour l’entité-type AUDITEUR représentant l’ensemble des auditeur du CNAM

� Dans un système de gestion d’une prison, on peut avoir à décrire les différentes cellules de cette prison à travers une entité-type CELLULE dont les entités sont identifiables par le numéro de la cellule dans le couloir. Par conséquent, identifiant de CELLULE sera : {NumCellule, NumCouloir }

N.Lammari 18

IDENTIFIANT D’UNE ENTITE-TYPE

Toute entité-type doit avoir au moins

un identifiant

10

N.Lammari 19

IDENTIFIANT D’UNE ENTITE-TYPE

� NATURE DE L’IDENTIFIANT� Un identifiant peut être :

� Naturel : est construit à partir des attributs de l’entité-type� Artificiel ou abstrait : il est improvisé

� Il peut y avoir plusieurs identifiant potentiel → en choisir un seul

� Exemple� Le numéro de carte de l’entité-type AUDITEUR est un identifiant naturel.

� Dans l’officiel des spectacles, FILM représente l’ensemble des films. Chaque film possède un titre, une année de parution. Or ni le titre du film ni l’année de parution, ni la conjonction des deux ne peut jouer le rôle d’identifiant. Par conséquent, on construit un artificiel qu’on rajoute à l’ensemble des attributs de FILM. On peut , par exemple l’appeler IdFilm.

N.Lammari 20

REPRESENTATION GRAPHIQUE DE L’ENTITE-TYPE

FILM

IdFilmTitre

Année

Un ensemble d’entités ayant les mêmes caractéristiques

Une entité-type

« Cyrano », 1992

« Les oiseaux », 1963

« Le dernier Métro », 1980 ……

L’année de Parution du film

Le titre du film Nom de l’entité-type

Attribut del’entité-type

Identifiant del’entité-type

11

N.Lammari 21

UN AUTRE EXEMPLE : LES LIVRES DE LA BIBLIOTHEQUE X

•« Le modèle relationnel »« Bouzeghoub, Jouve, Pucheral », « Hermes »,« 1998 »« 2-86601678-5 »

•« Bases de données objet et relationnel »,«Gardarin », « Eyrolles », « 1999 »«2-21209060-9 »

•« Conception des bases de données relationnelles »,« Akoka et Comyn Wattiau »,« Vuibert »,« 2001 »« 2-71178678-1 »

•« Bases de données et systèmes d ’information »,« Boudjlida »,« Dunod »,« 1999 »« 2-10004309-9 »

N.Lammari 22

SUITE EXEMPLE

� Quelque soit le livre , il a un titre représentée par une chaîne de caractères

� Quelque soit le livre, il a un éditeur représentée par une chaîne de caractères

� Quelque soit le livre, il a une année de parution représentée par un entier de 4 chiffres ne dépassant pas 2003

� Quelque soit le livre il a un ou plusieurs auteurs. Chaque auteur est représenté par une chaîne de caractères

� Quelque soit le livre il a un numéro ISBN qui est un entier de 10 chiffres

� Deux livres quelconques ne peuvent pas avoir le même numéro ISBN

12

N.Lammari 23

SUITE EXEMPLE

LIVRE

NumIsbnTitreLivreNomEditeurAnnéeParutionListeAuteurs

Mauvaise entité-type car un attribut est atomique dans un modèle E/A

N.Lammari 24

SUITE EXEMPLE

Entité-type bien conçues car tout attribut est atomique

LIVRE

NumIsbnTitreLivreNomEditeurAnnéeParution

AUTEUR

IdAuteurNomAuteur

Reste maintenant à les lier pour

exprimer le fait qu’un livre est écrit par un ou plusieurs

auteurs

13

N.Lammari 25

ASSOCIATION ET ASSOCIATION-TYPE

� ASSOCIATION� Lien entre deux objets /entités du monde réel

•« Le modèle relationnel »« Hermes »,« 1998 »« 2-86601678-5 »

•« Bases de données et systèmes d ’information ».,« Dunod »,« 1999 »« 2-10004309-9 »

• « 1 », « Boudjlida »

• « 2 », « Bouzeghoub »

• « 3 », « Jouve »

•« 4 », «Pucheral »

Association entre objets

N.Lammari 26

ASSOCIATION ET ASSOCIATION-TYPE

Anglade

Depardieu

Adèle H.

Nocturne Indien

La reine Margot

Les oiseaux

Taylor

Adjani

Rappeneau

Cyrano

Hitchcock……

….

…..Ensemble des acteurs

Ensemble des films

Ensemble des metteurs en scène

Ceux sont deux associations différentes entre objets:L’une exprime le lien de mise en scène, l’autre le lien

de participation en tant que acteur

14

N.Lammari 27

ASSOCIATION ET ASSOCIATION-TYPE

� ASSOCIATION-TYPE� Représente un ensemble d’association de même type: des associations liant des mêmes ensemble d’entités et décrivant la même sémantique

� On lui affecte un nom (généralement un verbe)

� EXEMPLE� On peut définir pour l’exemple précédent deux associations- type :

� L’association-type JOUE qui décrit le lien entre l’entité-type Film représentant les films de l’officiel des spectacles et l’entité-type ACTEUR représentant l’ensemble des acteurs.

� L’association-type REALISE qui décrit le lien entre l’entité-type Film représentant les films de l’officiel des spectacles et l’entité-type METTEUR-EN-SCENE représentant l’ensemble des metteurs en scène.

N.Lammari 28

REPRESENTATION GRAPHIQUE D’UNE ASSOCIATION-TYPE

Nom association-type

15

N.Lammari 29

EXEMPLE

Joue

Réalise

FILM

…..

ACTEUR

…..

METTEUR-EN-SCENE

…..

A écrit

LIVRE

NumIsbnTitreLivreNomEditeurAnnéeParution

AUTEUR

IdAuteurNomAuteur

N.Lammari 30

INTERPRETATION MATHEMATIQUE

� C’est une relation mathématique définie entre deux ensembles.� C’est un produit cartésien entre ensemble d’entités composant les entités-type . Elle peut être une simple application, une bijection, etc

� .Son ensemble peut être représenté sous forme de diagramme de VENN ou sous forme tabulaire

X

XX

X

X

X

XX

XXX

X

X

X

X

Ensemble d’entités de l’entité-type E1

Ensemble d’entités de l’association-type Ensemble d’entités

de l’entité-type E2

e11: (v(ide11), ….)e21: (v(ide21), ….)

a1: (v(ide11), v(ide21))

16

N.Lammari 31

EXEMPLE DE REPRESENTATION DE L’ENSEMBLE DES ELEMENTS D’UNE ASSOCIATION-TYPE

•« Le modèle relationnel »« Hermes »,« 1998 »« 2-86601678-5 »

•« Bases de données et systèmes d ’information ».,« Dunod »,« 1999 »« 2-10004309-9 »

• « 1 », « Boudjlida »

• « 2 », « Bouzeghoub »

• « 3 », « Jouve »

•« 4 », «Pucheral »

• « 1 », « 2-10004309-9 »

• « 2 », « 2-86601678-5 »

AUTEUR

LIVRE

A ECRIT

N.Lammari 32

EXEMPLE

« 1 » « 2-10004309-9 »

« 2 » « 2-86601678-5 »

A ECRIT

« 3 » « 2-86601678-5 »

« 4 » « 2-86601678-5 »

17

N.Lammari 33

TYPE D’ASSOCIATIONS-TYPE

� ASSOCIATION BINAIRE� Association-type liant deux entités-type

� ASSOCIATION N-AIRES� Association-type liant plus de deux entités-type

Association-type quaternaire

N.Lammari 34

EXEMPLE D’ASSOCIATION N-AIRES

� Exemple : Dans un système de gestion des commandes on souhaite exprimer le fait qu’un client commande un produit dans un magasin

Commande

CLIENT

NumClientAdresseCli……

MAGASIN

IdMagasinAdresseMag……

PRODUIT

CodeProduitDesignation…..

18

N.Lammari 35

ATTRIBUTS D’UNE ASSOCIATION-TYPE

� ATTRIBUTS D’UNE ASSOCIATION� Les identifiants des entités-type qui la compose� Plus éventuellement d’autres attributs

� EXEMPLE� Soit l’association-type :

� On souhaite garder trace du rôle de chaque acteur dans un film.

� La solution : mettre l’attribut « Rôle » dans l’association-type JOUE

Joue

ACTEUR

IdActeurNomPrénom

FILM

IdFilmTitreAnnée

JoueRôle

ACTEUR

IdActeurNomPrénom

FILM

IdFilmTitreAnnée

N.Lammari 36

ATTRIBUTS D’UNE ASSOCIATION-TYPE

« 100, Eastwood, Clint »

« 101, Hackman, Gene »

JOUE

« 103, Smith, Will »

« 100, 20, William, Munny »

« 101, 20, Little Bill »

« 101, 21, Bril »

« 103, 21, Robert Dean »

…….

« 21, Ennemi d’état, 1998 »

…….

FILMACTEUR

« 20, Impitoyable, 1992 »

19

N.Lammari 37

IDENTIFIANT D’UNE ASSOCIATION-TYPE

� IDENTIFIANT D’UNE ASSOCIATION-TYPE� C’est l’ensemble formé des identifiants des entités-type qui la composent

� EXEMPLE� L’identifiant de JOUE est {IdFilm, IdActeur}

JoueRôle

ACTEUR

IdActeurNomPrénom

FILM

IdFilmTitreAnnée

N.Lammari 38

IDENTIFIANT D’UNE ASSOCIATION-TYPE

� CAS PARTICULIER� Pour modéliser le temps on peut avoir rajouter à l’identifiant de l’association-type un attribut décrivant le temps (date, heure, etc.)

� EXEMPLE� On souhaite exprimer le fait qu’un film a lieu dans une salle à une date donnée

A lieuDate

SALLE

IdSalleNomCapacité

FILM

IdFilmTitreAnnée

SOLUTION

20

N.Lammari 39

IDENTIFIANT D’UNE ASSOCIATION-TYPE

« 20, Impitoyable, 1992 »

……

« S11, AAA, 100 »

……

« S10, 20, 5-12-2008 »

……« S11, 20, 10-12-2008 »

« S10, BBB, 100 »

SALLE

IdSalleNomCapacité

FILM

IdFilmTitreAnnée

A lieuDate

N.Lammari 40

IDENTIFIANT D’UNE ASSOCIATION-TYPE

C’est-à-dire avoir la possibilité, par

exemple, d’intégrer l’association :

� On souhaite maintenant exprimer le fait qu’un film peut avoir lieu dans une même salle à des dates différentes

« S10, 20, 10-12-2008»

A LIEU« S10, 20, 5-12-2008 »

……« S11, 20, 10-12-2008 »

Pas possible à cause de l’identifaint de « A lieu »

21

N.Lammari 41

IDENTIFIANT D’UNE ASSOCIATION-TYPE

A lieu

FILM

IdFilmTitreAnnée

DATE

Date

Une date quelconque participant dans l’association « A lieu » représente une date de passage d’un film

dans une salle

La solution est dintégrer dans l’identifiant de « A lieu » la date . Ce qui donne le schéma suivant :

SALLE

IdSalleNomCapacité

N.Lammari 42

IDENTIFIANT D’UNE ASSOCIATION-TYPE

A lieuDate

SALLE

IdSalleNomCapacité

FILM

IdFilmTitreAnnée

« Date » est soulignée pour exprimer le fait qu’elle fait partie de l’identifiant de

l’association-type « A lieu »

Ou encore le schéma suivant :

22

N.Lammari 43

CONTRAINTES SUR LES ASSOCIATIONS-TYPE

� CONTRAINTE DE PARTICIPATION

� CONTRAINTES DE CARDINALITES

N.Lammari 44

CONTRAINTE DE PARTICIPATION

� SIGNIFICATION� L’existence d’une entité-type E2 dépend de l’existence d’une entité-type E1 reliée à E2 à travers une association-type A.

� Ou encore, l’existence E2 dépend de l’existence de E1� Si l’on supprime une entité de E1, alors toutes les entités de E2 rattachées à E1 via A sont aussi supprimées

� La création d’une entité de E2, suppose l’existence d’au moins une entité de E1 à laquelle elle sera rattachée.

Quand la sémantique de l’association est une sémantique de « est composée de » ou « fait partie de », l’association A est appelée association de composition

A

E1 E2Entité-type faibleEntité-type régulière

23

N.Lammari 45

CONTRAINTE DE PARTICIPATION

� EXEMPLE� L’entité-type LIGNE - COMMANDE dépend de l’entité-type COMMANDE

A

•LIGNE_COMMANDE est entité-type faible de COMMANDE•L’association-type A est une association de composition

COMMANDE

NumCommandeDateCommande…….

LIGNE_COMMANDE

NumLigneQtéproduit

concernePRODUIT

IdProduitNomPrix

N.Lammari 46

CONTRAINTE DE CARDINALITE

� SIGNIFICATION� Nombre d’entités avec qui une autre entité peut être liée� Etant donnée une entité e d’une entité-type E1, combien de fois elle peut être liée à une autre entité d’une entité-type E2.

E1 E2

el1

el3

el2

e21

e22

e24

e23

• Est-ce qu’une entité de E1 peut être associée qu’avec une et une seule entité de E2?• Est qu’une entité de E1 peut être associée à plusieurs entités de E2?• Est-ce qu’une entité de E1 peut ne pas s’associer avec une entité de E2?• ……

24

N.Lammari 47

CONTRAINTE DE CARDINALITE

� Peut-il y avoir un client qui ne passe pas du tout de commande ? Si oui : CLIENT représente des clients potentiels

� Peut-il y avoir un client qui passe plusieurs commandes ?� Peut-il y avoir une commande dont on connaît pas le client ?� Peut-il y avoir une commande passée par plusieurs clients ?

PASSERCLIENT COMMANDE

Cl1

Cl3

Cl2

Cd1

Cd2

Cd4

Cd3

N.Lammari 48

CONTRAINTE DE CARDINALITE

� Les cardinalités � décrivent donc des règles de gestion du monde réel qu’on souhaite modéliser

� vont donc servir à réduire le produit cartésien de l’association.

� Valeurs de cardinalité� 1-1� 1-n� 0-1� 0-n� m-n

La Notation utilisée dans le cadre de ce cours est celle de MERISE

Le premier chiffre représente la cardinalité minimaleLe second chiffre représente la cardinalité maximale

25

N.Lammari 49

CONTRAINTE DE CARDINALITE

E1 E2

el1

el3

el2

e21

e22

e24

e23

AssocierE1 E20, n 1, 1

Associer

CLIENT

COMMANDE

0, n

1, 1

N.Lammari 50

CONTRAINTE DE CARDINALITE

A

COMMANDE

NumCommandeDateCommande…….

LIGNE_COMMANDE

NumLigneQtéproduit

concerne

PRODUIT

IdProduitNomPrix

1, n 1, 1

1, 1

0, nA lieuDate

SALLE

IdSalleNomCapacité

FILM

IdFilmTitreAnnée

0, n 0, n

26

N.Lammari 51

CONTRAINTE DE CARDINALITE

Commande

Quantité

CLIENT

NumClientAdresseCli……

MAGASIN

IdMagasinAdresseMag……

PRODUIT

CodeProduitDesignation…..

1, n

0, n

0, n

N.Lammari 52

CONTRAINTE DE PARTICIPATION ET CARDINALITES

� Remarque� Une contrainte de cardinalité 1,1 n’implique pas une contrainte de participation

� EXEMPLE � L’association « s’adresse » n’a pas de contrainte de participation

� CLIENT n’est pas entité faible de DEPOT� L’association-type « s’adresse » n’est pas une association de de composition

S’adresse

CLIENT

N°ClientAdresseClient…….

DEPOT

N°DEPOTAdresseDépôt…...

1, n1,1

27

N.Lammari 53

CONTRAINTE DE PARTICIPATION ET CARDINALITES

� Remarque� Une contrainte de participation implique une cardinalité (1, 1) du côté de l’entité faible.

� EXEMPLE � L’association-type « A» est une association de de composition

� Une ligne de commande compose une commande à la fois

A

COMMANDE

NumCommandeDateCommande…….

LIGNE_COMMANDE

NumLigneQtéproduit1, n 1, 1

N.Lammari 54

TRANSFORMATION D’UNE ASSOCIATION-TYPE N-AIRES EN ENTITE-TYPE

Soit A une association-type entre les entités E1, E2, ….En

� REGLE DE TRANSFORMATION DE A EN UNE ENTITE-TYPE E

1. Construire l’entité-type E à partir des attributs de A hormis son identifiant

2. Attribuer un identifiant à E (artificiel si aucun sous-ensemble de E ne peut jouer le rôle d’identifiant)

3. Créer entre l’entité-type Ei et l’entité-type E une association Ai de cardinalité 1-1

28

N.Lammari 55

EXEMPLE

Commande

Quantité

CLIENT

NumClientAdresseCli……

MAGASIN

IdMagasinAdresseMag……

PRODUIT

CodeProduitDesignation…..

1, n

0, n

0, n

N.Lammari 56

EXEMPLE

Concerne

CLIENT

NumClientAdresseCli……

MAGASIN

IdMagasinAdresseMag……

PRODUIT

CodeProduitDesignation…..

1, n

0, n

0, n

PasseReçoit

COMMANDE

IdCommandeQuantité

1, 1

1, 1

1, 1

29

N.Lammari 57

PASSAGE DU MODELE E/A VERS LE

MODELE RELATIONNEL

� La modélisation logique des données est une description de la

représentation des données sous un formalisme compatible

avec un type de SGBD.

� la modélisation logique des données s’inscrit dans une

démarche générale de construction d’une base de données

� Modélisation conceptuelle

� Modélisation logique

� Modélisation physique

N.Lammari 58

MODÉLISATION LOGIQUE

MCD

Transformation

Normalisation

MLD

� Utilisation de règles de transformations●Règle de transformation de propriété type●Règles de transformation d’entité type●Règles de transformation d’association type● …….

� Vérification et décomposition (si nécessaire)

30

N.Lammari 59

RÈGLES DE TRANSFORMATION D ’UNE

PROPRIÉTÉ TYPE

� Toute propriété d’une entité type ou d ’une association type

devient un attribut d’une relation

� Tout groupe de propriété type identifiant une entité est clé

primaire de la relation représentant l’entité.

� Tout groupe de propriété type susceptible de jouer de rôle

d’identifiant d’une entité est clé candidate de la relation

représentant l’entité.

� Une propriété type d’une entité ou d’une relation conserve son

type et ses contraintes lors du mapping

N.Lammari 60

RÈGLES DE TRANSFORMATION

D ’UNE ENTITÉ TYPE

� Une entité type d’un modèle E/A devient une relation du MLD.

� L ’identifiant naturel ou artificiel d ’une entité type est clé

primaire de la relation qui lui est associée.

� La clé primaire d’une entité faible se construit par

concaténation de l’identifiant de l’entité faible et de

l’entité régulière dont dépend l’entité faible.

31

N.Lammari 61

EXEMPLE

� FILM (IdFilm, Titre, Année)

� SALLE (IdSalle, Nom, Capacité)

A lieuDate

SALLE

IdSalleNomCapacité

FILM

IdFilmTitreAnnée

0, n 0, n

N.Lammari 62

EXEMPLE

� COMMANDE (N°commande, DateCommande,

DateLivSouhaitée, …..)

� LIGNE_COMMANDE (N°commande, N°Ligne, Quantité, ……)

REGROUPE

LIGNE_COMMANDE

N°ligneQuantité…….

COMMANDE

N°commandeDateCommandeDateLivSouhaitée…...

1, n1,1

32

N.Lammari 63

EXEMPLE

RéfBibliothèque est second identifiant de Exemplaire

� LIVRE (N°Isbn, Titre, …..)

� EXEMPLAIRE (N°Isbn, N°Exemplaire, Cote, État, ……)

� RéfBibliothèque est clé candidate dans Exemplaire

FAIRE PARTIEEXEMPLAIRE

N°exemplaireRéfBibliothèqueÉtat…….

LIVRE

N°IsbnTitre…...

1, n 1,1

N.Lammari 64

RÈGLES DE TRANSFORMATION

D ’UNE ASSOCIATION TYPE

� Plusieurs cas possibles :

� Cas 1 : Association n-aires (x1, n) - …….- (xp, n)

� Binaire ou autre

� Cas 2 : Association binaire (x,y)-(1,1)

� (0,n)-(1,1)

� (1,n)-(1,1)

� (0,1)-(1,1)

� Cas 3 : Association binaire (x, y) - (0, 1) (x, y) ≠ (1, 1)

� (0,n)-(0,1)

� (1,n)-(0,1)

� (0,1)-(0,1)

33

N.Lammari 65

RÈGLE DE TRANSFORMATION D ’UNE

ASSOCIATION N-AIRE (x 1, n) - ….. - (x p, n)

� ENTITE1 (IdEntité1, PEntité1)

� ENTITE2 (IdEntité2, PEntité2)� ……………. � ENTITEn (IdEntitén, PEntitén)� ASSOCIER (IdEntité1, IdEntité2, ……., IdEntitén, PAssocier)

ASSOCIERP Associer

ENTITE2

IdEntité2P Entité2

(1, n) ou (0, n)

ENTITE1

IdEntité1P Entité1

ENTITEn

IdEntiténP Entitén

(1, n) ou (0, n) (1, n) ou (0, n)

N.Lammari 66

EXEMPLE

� FOURNISSEUR (CodeFournisseur, NomFournisseur, VilleFournisseur)

� PRODUIT (CodeProduit, NomProduit, PoidsProduit)

� COND-VENTE (CodeFournisseur, CodeProduit, PrixUnitaire,

DélaiLivraison)

� CodeFournisseur de COND-VENTE fait référence à FOURNISSEUR

� CodeProduit de COND-VENTE fait référence à Produit

VENDREPrixUnitaire

DélaiLivraison

PRODUIT

CodeProduitNomProduitPoidsProduit

FOURNISSEUR

CodeFournisseurNomFournisseurVilleFournisseur

1,n 1,n

34

N.Lammari 67

EXEMPLE

0, n

GARER

Date

VOITURE

N°Immatri.……...

CHAUFFEUR

CodeChauffeur……...

GARAGE

IdGarage……...

0, n

0, n

� CHAUFFEUR (CodeChauffeur, …..)

� GARAGE (IdGarage, …..)

� VOITURE (N°Immatri, …..)

� GARER (CodeChauffeur, IdGarage, N°Immatri, Date)

� CodeChauffeur de GARER fait référence à CHAUFFEUR

� IdGarage de GARER fait référence à GARAGE

� N°Immatri de GARER fait référence à VOITURE

N.Lammari 68

RÈGLES DE TRANSFORMATION D ’UNE ASSOCIATION N-AIRE (x, y) - (1, 1)

� ENTITE1 (IdEntité1, PEntité1)� ENTITE2 (IdEntité2, PEntité2, IdEntité1)

� IdEntité1 de ENTITE2 fait référence à ENTITE1

� IdEntité1 de ENTITE2 est obligatoire

ASSOCIERENTITE2

IdEntité2P Entité2

ENTITE1

IdEntité1P Entité1

(1, n) ou (0, n) 1, 1

ASSOCIERENTITE2

IdEntité2P Entité2

ENTITE1

IdEntité1P Entité1

(0, 1) 1, 1

35

N.Lammari 69

EXEMPLE

� CLIENT ( CodeClient, …..)

� COMMANDE (N°Commande, ……, CodeClient)

� CodeClient de COMMANDE fait référence à CLIENT

� CodeClient est obligatoire

0, nPASSER

COMMANDE

N°Commande……...

CLIENT

CodeClient……...

1, 1

N.Lammari 70

RÈGLES DE TRANSFORMATION D ’UNE ASSOCIATION N-AIRE (x, y) - (0, 1)

ASSOCIERP Associer

ENTITE2

IdEntité2P Entité2

ENTITE1

IdEntité1P Entité1

0, 1 0, 1

ASSOCIERP Associer

ENTITE2

IdEntité2P Entité2

ENTITE1

IdEntité1P Entité1

(0, n) ou (1, n) 0, 1

36

N.Lammari 71

RÈGLES DE TRANSFORMATION D ’UNE ASSOCIATION N-AIRE (x, y) - (0, 1)

ENTITE1 (IdEntité1, PEntité1)

ENTITE2 (IdEntité2, PEntité2, IdEntité1, PAssocier)

IdEntité1 de ENTITE2 fait référence à ENTITE1

ASSOCIERP Associer

ENTITE2

IdEntité2P Entité2

ENTITE1

IdEntité1P Entité1

(0, n) ou (1, n) 0, 1

ENTITE1 (IdEntité1, PEntité1)ENTITE2 (IdEntité2, PEntité2)

ASSOCIER (IdEntité2, IdEntité2, PAssocier)

IdEntité2 de ASSOCIER fait référence à ENTITE2IdEntité1 de ASSOCIER fait référence à ENTITE1

Application du cas 2

Application du cas 1

N.Lammari 72

EXEMPLE

EMPRUNTERDateEmprunt

LIVRE

Côte…….

LECTEUR

CodeLecteur……….

0,1 0,n

LIVRE (Côte, ……….)LECTEUR (CodeLecteur, …….)

EMPRUNTER (CodeLecteur, Côte, DateEmprunt)

Côte de EMPRUNTER fait référence à LIVRECodeLecteur de EMPRUNTER fait référence à LECTEUR

LIVRE (Côte, ……….)LECTEUR (CodeLecteur, …….., Côte, DateEmprunt)Côte de LECTEUR fait référence à LIVREDateEmprunt et Côte sont valuée en même temps

Si nombre de lecteur non emprunteur est négligeable

Ou encore

37

N.Lammari 73

RÈGLES DE TRANSFORMATION D ’UNE ASSOCIATION N-AIRE (x, y) - (0, 1)

ENTITE1 (IdEntité1, PEntité1, IdEntité2)ENTITE2 (IdEntité2, PEntité2, IdEntité1)

ASSOCIER (IdEntité2, IdEntité1, Passocier)

IdEntité2 de ENTITE1 fait référence à ENTITE2IdEntité1 de ENTITE2 fait référence à ENTITE1

ASSOCIERP Associer

ENTITE2

IdEntité2P Entité2

ENTITE1

IdEntité1P Entité1

0, 1 0, 1

Application du cas 1

N.Lammari 74

RÈGLES DE TRANSFORMATION D ’UNE ASSOCIATION N-AIRE (x, y) - (0, 1)

ENTITE1 (IdEntité1, PEntité1, IdEntité2, PAssocier)

ENTITE2 (IdEntité2, PEntité2)

IdEntité2 de ENTITE1 fait référence à ENTITE2

ENTITE1 (IdEntité1, PEntité1)

ENTITE2 (IdEntité2, PEntité2, IdEntité1, PAssocier)

IdEntité1 de ENTITE2 fait référence à ENTITE1

ASSOCIERP Associer

ENTITE2

IdEntité2P Entité2

ENTITE1

IdEntité1P Entité1

0, 1 0, 1

Application du cas 2 pour le 0,1 du côté de ENTITE2

Application du cas 2 pour le 0,1 du côté de ENTITE1

38

N.Lammari 75

RÈGLES DE TRANSFORMATION D ’UNE ASSOCIATION N-AIRE (x, y) - (0, 1)

ENTITE1 (IdEntité1, PEntité1, IdEntité2, PAssocier)

ENTITE2 (IdEntité2, PEntité2, IdEntité1)

IdEntité2 de ENTITE1 fait référence à ENTITE2

IdEntité1 de ENTITE2 fait référence à ENTITE1

Si Passocier est vide

ASSOCIERP Associer

ENTITE2

IdEntité2P Entité2

ENTITE1

IdEntité1P Entité1

0, 1 0, 1

Application du cas 2 pour le 0,1 du côté des deux entités

N.Lammari 76

EXEMPLE

POSSEDERDateAchat

PROPRIETAIRE

CodeProp…….

MAISON

CodeMaison……….

0,1 0,1

� Trois cas � assimiler l’exemple au cas (0, n) (0, n) � assimiler l’exemple au cas (1, 1) (0, 1)

� référence pour une seule entité� référence pour les deux entités (ou mettre date d ’achat?)

39

N.Lammari 77

EXEMPLE : l’OFFICIEL DES SPECTACLES

Appartient

A réalisé

Passe

A JouéARTISTE

NomArtistePrénomArtisteAnnéeNaissArtiste

FILM

CodeFilmTitreFilmAnnéeFilm

CINEMA

NomCinemaAdresse

PLANNING

DateHeure

SALLE

N°SalleCapacitéSalle

0,n

0,n

1,n

1,n

1,1

1,1

0,n

0,n0,n

N.Lammari 78

LE PASSAGE VERS LE MLDR

ARTISTE (NomArtiste, PrénomArtiste, AnnéeNaissArtiste)

FILM (CodeFilm, TitreFilm, AnnéeFilm, NomRéalisateur)

SALLE (N°Salle, NomCinéma, CapacitéSalle)

CINEMA (NomCinema, Adresse)

JOUE (NomArtiste, CodeFilm)

PASSE (CodeFilm, N°Salle, NomCiméma, Date, Heure)

40

N.Lammari 79

● NomRéalisateur de FILM est clé étrangère. Elle fait référence à ARTISTE●NomRéalisateur de FILM est oblibatoire● NomCinéma de SALLE est clé étrangère. Elle fait référence à CINEMA● NomArtiste de JOUE est clé étrangère. Elle fait référence à ARTISTE● CodeFilm de JOUE est clé étrangère. Elle fait référence à FILM● CodeFilm de PASSE est clé étrangère. Elle fait référence à FILM● {NumSalle, NomCinéma} est clé étrangère. Elle fait référence à SALLE

LE PASSAGE VERS LE MLDR (suite)