modelisation base de données
DESCRIPTION
jnjkTRANSCRIPT
Bases de données
Modélisation
14
Qu’es un modèle?
Représentation schématique du monde réelReprésentation schématique du monde réel
15
Définition d’une BD
I f ti Informations Stocker sur un support Doté d’une organisationg
16
Conception d’une base de données
1. Les entités
Représentation d’un ensemble d’objets qui ont des caractéristiques communes
CLIENT ARTICLEcommande
modélisation
CLIENT ARTICLE
17
Conception d’une base de données
2. Les attributs
Caractéristiques particulières communes à une entité
CLIENT ARTICLEcommande
CLIENT ARTICLEmodélisation
CLIENTNom
PrénomAd
ARTICLECode
Désignation
18
Adresse
Conception d’une base de données
3. Les associations
Lien entre les entités -- ACTIONSCLIENT
NomPrénomAdresse CommandeAdresse
ARTICLE
CommandeDate
Id C+Id AARTICLE
CodeDésignation
19
Conception d’une base de données
4. Les cardinalités Nombre minimum et maximum de relations liant 2 ou plusieurs objets
CLIENTCLIENTNom
Prénom
ARTICLECode
Désignation
CommandeDate
Id C+Id A1,N 0,N
Adresse Désignation
20
Modèle de Conception de données: MCD
Recherche
21
Modèle de Conception de données: MCD
Etapes à suivre
Recherche des entités Définir les attributs Définir la clé primaire Recherche des associations + attributs + clé primaire Cardinalité Cardinalité
22
Modèle de Conception de données: MCD
Recherche
InternauteInternauteID I
Pseudo
CoursID CTitre
1,1RechercheId I+Id C
Date0,N
Titre
23
MCD: Exemple 1 Un client qui s’inscrit a la bibliothèque verse une caution.Suivant le montant de cette caution, il aura droit d’effectuer enmême temps 10 emprunt a la foisp p Les emprunts durent au maximum 15 jours Un livre est caractérisé par son numéro dans la bibliothèque(identifiant), son titre, son éditeur, et son (ses) auteur (s).(identifiant), son titre, son éditeur, et son (ses) auteur (s). On veut pouvoir obtenir, pour chaque client les emprunts qu’ila effectués (nombre, numéro et titre du livre, date del’emprunt).p ) Toutes les semaines, on édite la liste des emprunteurs enretard: nom et adresse du client, date de l’emprunt, numéro(s)et titre du (des) livre (s) concerné (s)( ) ( ) ( ) On veut enfin pouvoir connaitre pour chaque livre sa dated’achat et son état
24
MCD: Exemple 1
1. Dans le texte, identifier les entités ayant une existence propre1. Dans le texte, identifier les entités ayant une existence propre2. Parmi eux, trouver ceux ayant un intérêt pour au moins un
traitement de l’application.3 D’après le texte trouver les attributs des types d’entités3. D après le texte, trouver les attributs des types d entités4. Découvrir les types d’associations permettant de lier les types
d’entités.
25
MCD: Exemple 1
AuteurXLIVRE
Bibliothèque??
XX
Editeur
Bibliothèque
?XX
Client
?
?X?
26
MCD: Exemple 1 Un client qui s’inscrit a la bibliothèque verse une caution.Suivant le montant de cette caution, il aura droit d’effectuer enmême temps 10 emprunt a la foisp p Les emprunts durent au maximum 15 jours Un livre est caractérisé par son numéro dans la bibliothèque(identifiant), son titre, son éditeur, et son (ses) auteur (s).(identifiant), son titre, son éditeur, et son (ses) auteur (s). On veut pouvoir obtenir, pour chaque client les emprunts qu’ila effectués (nombre, numéro et titre du livre, date del’emprunt).p ) Toutes les semaines, on édite la liste des emprunteurs enretard: nom et adresse du client, date de l’emprunt, numéro(s)et titre du (des) livre (s) concerné (s)( ) ( ) ( ) On veut enfin pouvoir connaitre pour chaque livre sa dated’achat et son état
27
MCD: Exemple 1 Un client qui s’inscrit a la bibliothèque verse une caution.Suivant le montant de cette caution, il aura droit d’effectuer enmême temps 10 emprunt a la foisp p Les emprunts durent au maximum 15 jours Un livre est caractérisé par son numéro dans la bibliothèque(identifiant), son titre, son éditeur, et son (ses) auteur (s).(identifiant), son titre, son éditeur, et son (ses) auteur (s). On veut pouvoir obtenir, pour chaque client les emprunts qu’ila effectués (nombre, numéro et titre du livre, date del’emprunt).p ) Toutes les semaines, on édite la liste des emprunteurs enretard: nom et adresse du client, date de l’emprunt, numéro(s)et titre du (des) livre (s) concerné (s)( ) ( ) ( ) On veut enfin pouvoir connaitre pour chaque livre sa dated’achat et son état
28
MCD: Exemple 1 Un client qui s’inscrit a la bibliothèque verse une caution.Suivant le montant de cette caution, il aura droit d’effectuer enmême temps 10 emprunt a la foisp p Les emprunts durent au maximum 15 jours Un livre est caractérisé par son numéro dans la bibliothèque(identifiant), son titre, son éditeur, et son (ses) auteur (s).(identifiant), son titre, son éditeur, et son (ses) auteur (s). On veut pouvoir obtenir, pour chaque client les emprunts qu’ila effectués (nombre, numéro et titre du livre, date del’emprunt).p ) Toutes les semaines, on édite la liste des emprunteurs enretard: nom et adresse du client, date de l’emprunt, numéro(s)et titre du (des) livre (s) concerné (s)( ) ( ) ( ) On veut enfin pouvoir connaitre pour chaque livre sa dated’achat et son état
29
MCD: Exemple 1
Client
LivreID LTitreEmpreinte
ID CNom
Adresse
TitreEditeurAuteur
D t d’ h t
0,10Date d’empruntDate de retour
0,1
Caution Date d’achatEtat
Date de retour
30
MCD: Exemple 2
Dans ce problème on modélise les données et pour représenterl’information sur les villes, les pays, et les consulats:, p y ,
Pour chaque ville : son nom et son nombre d’habitants Pour chaque pays : son nom et le nom du chef d’´etat Pour chaque pays : son nom et le nom du chef d etat Pour chaque consulat : son nom, son adresse, et le nom deconsulat
O é t é l t l f it i tOn représente également les faits suivants :
Dans quel pays est située une ville.q p yQuelle est la capitale de chaque pays.Un consulat représente quel pays et dans quelle ville.
31
MCD: Exemple 2
32
MCD: Exemple 3Créez le MCD d’une base de données voiture qui enregistre lescertificats d’immatriculation des véhicules en circulation (cartegrise)grise).
Elle doit répondre aux contraintes suivantes :U éhi l t d’ dèl d é id tifié é d Un véhicule est d’un modèle donné identifié par un numéro de
type. Un véhicule peut avoir un ou plusieurs propriétairesi lt é t ( iété)simultanément (copropriété). Les recherches effectuées sur la base doivent permettre deretrouver, par exemple, tous les véhicules d’une personne, laou les personnes propriétaires d’un véhicule dont on connaîtl’immatriculation et tous les propriétaires d’un modèle devoiture donné
33
voiture donné.
MCD: Exemple 3Cardinalités :
Un propriétaire peut avoir une ou plusieurs voitures : pourUn propriétaire peut avoir une ou plusieurs voitures : pourl’association possède la cardinalité du côté de l’entité propriétaireest donc 1.N.
Une voiture peut être la propriété d’une ou plusieurs personnes :pour l’association possède la cardinalité du côté de l’entité voitureest donc 1.N
Une voiture est d’un seul modèle : pour l’association est dumodèle la cardinalité du coté de l’entité voiture est donc 1.1modèle la cardinalité du coté de l entité voiture est donc 1.1
A un modèle peuvent correspondirent une ou plusieurs voiturespour l’association est du modèle la cardinalité du côté de l’entité
34
pour l association est du modèle la cardinalité du côté de l entitémodèle est donc 1.N.
MCD: Exemple 3
35
Modélisation des données
4 étapes nécessaires pour traduireun système d'information naturel enune base de données:une base de données:
36
Modèle Logique de données: MLD
Un MLD est essentiellement composé de tables logiques reliées entre elles par des flèches.p
Auteur LivreAuteurIDAteur
Nom
LivreID LTitre
Ecrire1,n1,1
MCD
37
Modèle Logique de données: MLD
C t t ' t d it tité d MCD d l MLD1. Comment est-ce qu'on traduit une entité du MCD dans le MLD2. Comment est-ce qu'on traduit un attribut du MCD dans le MLD3. Comment est-ce qu'on traduit un clé primaire du MCD dans le MLDq p4. Comment est-ce qu'on traduit l'association écrire du MCD dans le
MLD?5. Où peut-on retrouver les cardinalités dans le MLD
38
p
Model MLD: Règles de transformation
Règle N° 1: Transformation des entités
Les entités deviennent des tables Représentation visuelle semblable au MCD
CLIENT
39
Model MLD: Règles de transformation
Règle N° 2
Les identifiants des entités deviennent les clés primaires destables
Les clés primaires sont identifiées par les lettres PK (PrimaryKey) et elles sont soulignées
Comme l’identifiant, la clé primaire est la première colonne dela table
CLIENTPK NoClient
40
Model MLD: Règles de transformationRègle N° 3
Les attributs des entités deviennent les colonnes des tables Si ça n’a pas déjà été fait dans le MCD, pensez à décomposer, si nécessaire, les attributs qui ne sont pas d’un type de base
Adresse Rue, Province, Ville, CodePostal Nom Prénom, Nom CLIENT
PK NoClient
PrenomNomRueP iProvinceVilleCodePostal
41
Model MLD: Règles de transformationRègle N° 4
Les relations de type un à un (1:1) deviennent des clés étrangères Foreign Key (FK)étrangères Foreign Key (FK)
CitoyenNoCitoyen
CANDIDATNoCandidat1,1 1,1EstNoAssSociale
NomNoTel
AgeSexe
Est
NoTel Devient
Citoyen CANDIDATPK NoCitoyen
NoAssSocialeNom
PK,FK1 NoCandidatAgeSexe
42
oNoTel
Sexe
Model MLD: Règles de transformationRègle N° 5
Les relations de type un à plusieurs (1:N) deviennent des clés yp p ( )étrangères
Une des deux tables reçoit comme clé étrangère la clé Une des deux tables reçoit, comme clé étrangère, la clé primaire de l’autre table
La table qui contient la clé étrangère est celle La table qui contient la clé étrangère est celle Pour laquelle la clé étrangère ne reçoit qu’une seule Valeur Qui correspond à l’entité dont la cardinalité maximum est Qui correspond à l entité dont la cardinalité maximum est1 (cardinalité 0, 1 ou 1, 1)
43
Model MLD: Règles de transformation
La pointe de la flèche est dirigée vers la table qui fournit Règle N° 5
p g qla clé étrangère à l’autre table
CLIENTNoClient FACTURE
NoFacture1,n 1,1ReçoitPrenomNomNoTel
NoFactureDate
Reçoit
NoTel Devient
CLIENT FACTUREPK NoClient
PrenomNom
PK NoFacture
FK1 DateNoClient
44
oNoTel
NoClient
Model MLD: Règles de transformationRègle N° 6
Les relations de type plusieurs à plusieurs (N:M) deviennent des tables supplémentairesdes tables supplémentaires
Le nom de cette nouvelle table peut être la combinaison des noms des de tables d’originedes noms des deux tables d’origine
CLIENT achète PRODUIT � PROD_CLIENT Si possible, trouver un nom plus représentatif: PROD ACHETEPROD_ACHETE
La clé primaire d’une table supplémentaire est composée des clés primaires de chacune des tables à l’origine de la
l tirelation
Les attributs de la relation deviennent des colonnes
45
de la nouvelle table
Model MLD: Règles de transformationRègle N° 6
46
Model MLD: Exercice 1
47