34
Bases de données Modélisation 14

modelisation base de données

Embed Size (px)

DESCRIPTION

jnjk

Citation preview

Page 1: modelisation base de données

Bases de données

Modélisation

14

Page 2: modelisation base de données

Qu’es un modèle?

Représentation schématique du monde réelReprésentation schématique du monde réel

15

Page 3: modelisation base de données

Définition d’une BD

I f ti Informations Stocker sur un support Doté d’une organisationg

16

Page 4: modelisation base de données

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

Page 5: modelisation base de données

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

Page 6: modelisation base de données

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

Page 7: modelisation base de données

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

Page 8: modelisation base de données

Modèle de Conception de données: MCD

Recherche

21

Page 9: modelisation base de données

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

Page 10: modelisation base de données

Modèle de Conception de données: MCD

Recherche

InternauteInternauteID I

Pseudo

CoursID CTitre

1,1RechercheId I+Id C

Date0,N

Titre

23

Page 11: modelisation base de données

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

Page 12: modelisation base de données

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

Page 13: modelisation base de données

MCD: Exemple 1

AuteurXLIVRE

Bibliothèque??

XX

Editeur

Bibliothèque

?XX

Client

?

?X?

26

Page 14: modelisation base de données

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

Page 15: modelisation base de données

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

Page 16: modelisation base de données

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

Page 17: modelisation base de données

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

Page 18: modelisation base de données

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

Page 19: modelisation base de données

MCD: Exemple 2

32

Page 20: modelisation base de données

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é.

Page 21: modelisation base de données

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.

Page 22: modelisation base de données

MCD: Exemple 3

35

Page 23: modelisation base de données

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

Page 24: modelisation base de données

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

Page 25: modelisation base de données

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

Page 26: modelisation base de données

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

Page 27: modelisation base de données

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

Page 28: modelisation base de données

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

Page 29: modelisation base de données

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

Page 30: modelisation base de données

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

Page 31: modelisation base de données

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

Page 32: modelisation base de données

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

Page 33: modelisation base de données

Model MLD: Règles de transformationRègle N° 6

46

Page 34: modelisation base de données

Model MLD: Exercice 1

47