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)
Top Related