1 of 24

Cours 9�Passage du MCD au MPD�Le modèle relationnel

Pierre Delisle

Université du Québec à Chicoutimi

Département d’informatique et de mathématique

1

2 of 24

Plan

  • Avant le passage au modèle physique/relationnel
    • Le dictionnaire de données
  • Passage du Modèle Conceptuel des Données (MCD) au Modèle Physique des Données (MPD)
  • Modèle physique 🡪 Modèle relationnel formel

2

3 of 24

Le dictionnaire de données

  • Étape suivant la réalisation du MCD
  • Liste des attributs et des caractéristiques de ces attributs
  • Comprend les informations suivantes
    • Le nom des attributs
    • Le type des attributs
      • Texte (préférable pour les clés et les attributs qui ne font pas l’objet de calculs)
      • Numérique (préférable pour les attributs qui font l’objet de calculs)
      • Date, Monnaie, etc
    • Description sommaire des attributs
    • Exemple de valeur que peut prendre chaque attribut

3

4 of 24

Exemple de dictionnaire de données

10/02/2002

Date de location du bon

Date

DateLocation

1234L-123

Identificateur du bon de location

Texte

NoBon

50,00

Montant de dépôt initial du client

Monnaie

MontantDepot

1234 5654 5676 4456

No de carte de crédit du membre

Texte

NoCarteCrédit

(418)545-6754

No de téléphone du membre

Texte

NoTél

34 Begin, Chicoutimi Qc

Adresse du membre

Texte

Adresse

Jean Girard

Nom du membre

Texte

Nom

GL12321

Identificateur de membre du club

Texte

NoMembre

12/02/2002

Date de retour de l’exemplaire de film

Date

DateRetour

1154-M-87

No de série d’un exemplaire de film

Texte

NoSérie

Non

Possibilité de rachat (oui, non)

Texte

Rachat

12 South Drive, New York, USA

Adresse du distributeur

Texte

Adresse

Warner

Nom de la compagnie de distribution

Texte

Nom

W-456

Identificateur du distributeur de film

Texte

NoDistributeur

Couleur

Film en couleur ou noir et blanc

Texte

Couleur

125

Durée du film (min)

Numérique

Durée

1995

Année de production du film

Numérique

AnnéeProduction

Titanic

Titre du film

Texte

Titre

123C34

No. d’identification d’un film

Texte

NoIdentification

Brad Pitt

Nom de l’acteur

Texte

NomActeur

Exemple

Description

Type

Attribut

4

5 of 24

Le Modèle Physique des Données

  • L’appellation « modèle physique » de Labbé ne correspond pas à celui d’autres auteurs
  • Le modèle physique selon Labbé
    • Représentation graphique du modèle relationnel
  • Le modèle physique selon d’autres auteurs
    • Description précise de l’implémentation sur un SGBD
    • Modes de stockage, organisation des fichiers, etc.

5

6 of 24

Le Modèle Physique des Données

  • Démarche du cours
    • Modèle conceptuel
    • Le modèle relationnel
    • Modèle relationnel graphique (Modèle Physique)
    • Modèle relationnel formel

6

7 of 24

Le modèle relationnel

  • Modèle logique basé sur la théorie mathématique des relations
  • Domaine : Ensemble des valeurs que peut prendre un attribut/colonne
    • Poste : {Gestionnaire, Consultant, Employé}
    • Salaire : [7000, 240000]
    • Peut être simple ou composé
  • Produit cartésien de 2 ensembles A et B
    • Ensemble de tous les couples dont la première composante appartient à A et la deuxième à B
  • Produit cartésien de n ensembles
    • Ensemble de n-uplets, ou tuples

7

8 of 24

Le modèle relationnel (suite)

  • Table : Sous-ensemble du produit cartésien d’une liste de domaines

  • Cette table représente une occurence de la table personne, représentée en mode extension
  • Mode formel :
    • PERSONNE (Nom, Prénom, DateNaissance)

Nom

Prénom

DateNaissance

Tremblay

Joseph

1950-03-12

Bouchard

Marie

1966-08-23

Girard

Johanne

1943-06-30

Nom de la table

PERSONNE

Chaque ligne est un n-uplet, ou tuple, ou enregistrement

Chaque colonne est un attribut ou un champ

8

9 of 24

Le modèle relationnel (suite)

  • 2 propriétés des tuples à respecter
    • L’unicité des tuples : il ne peut y avoir de tuples identiques
    • L’ordre des tuples : l’ordre des tuples n’a pas d’importance, c’est la même occurrence
  • 3 propriétés des attributs à respecter
    • Indivisibilité : Les données ne sont pas décomposables
    • Domaine unique : les attributs ne peuvent prendre n’importe quelle valeur (intervalle, type de données)
    • Ordre : l’ordre des attributs n’a pas d’importance

9

10 of 24

Passage du MCD au MPD – Règle 1

  • Les entités deviennent des tables
  • L’écriture du nom des tables :
    • En lettres majuscules, sans espace et sans accent
    • Contrairement à ce qui est dit dans le livre, ne prenez pas des noms de trois lettres qui ne veulent rien dire
    • Conseil : Quand le nom de la table dépasse une dizaine de lettres, pensez à l’abréger
  • Représentation visuelle semblable au MCD

10

11 of 24

Passage du MCD au MPD – Règle 2

  • Les identifiants des entités deviennent les clés primaires des tables
  • L’écriture du nom des clés primaires (et des colonnes)
    • Contrairement à ce qui est dit dans le livre, n’utilisez pas des noms de 3 lettres et ne mettez pas systématiquement le nom de la table à la fin
    • Premières lettres des mots en majuscules et le reste en minuscules (Exemple : NoClient)
    • Si vous préférez, vous pouvez utiliser le caractère _ pour écrire un espace (Exemple : No_Client)

11

12 of 24

Passage du MCD au MPD – Règle 2

  • Les clés primaires sont identifiées par les lettres PK (Primary Key) et elles sont soulignées
  • Comme l’identifiant, la clé primaire est la première colonne de la table

12

13 of 24

Passage du MCD au MPD – Règle 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 🡪 NoCivique, Rue, Province, Ville, CodePostal
    • Nom 🡪 Prénom, Nom

13

14 of 24

Parenthèse : Les clés étrangères

  • Une clé étrangère est une clé primaire provenant d’une autre table
  • En anglais : Foreign Key (FK)
  • Elle permet de faire un lien entre deux tables
  • Contrainte d’intégrité référentielle : Toute valeur d’une clé étrangère est égale à la valeur nulle ou à la valeur de la clé primaire à laquelle la clé étrangère se réfère
    • Autrement dit : soit elle est nulle, soit elle prend la valeur d’une clé primaire déjà existante dans une autre table

14

15 of 24

Passage du MCD au MPD – Règle 4

  • Les relations de type un à un (1:1) deviennent des clés étrangères

  • devient

15

16 of 24

Passage du MCD au MPD – Règle 5

  • Les relations de type un à plusieurs (1:N) deviennent des clés étrangères
  • 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
    • Pour laquelle la clé étrangère ne reçoit qu’une seule valeur
    • Qui correspond à l’entité dont la cardinalité maximum est 1 (cardinalité 0, 1 ou 1, 1)

16

17 of 24

Passage du MCD au MPD – Règle 5

  • La pointe de la flèche est dirigée vers la table qui fournit la clé étrangère à l’autre table

  • devient

17

18 of 24

Passage du MCD au MPD – Règle 5

  • Une relation récursive 1:N se traduit par l’ajout d’une clé étrangère dans la table, correspondant à la clé primaire de cette même table mais portant un nom différent

Devient

18

19 of 24

Passage du MCD au MPD – Règle 6

  • Les relations de type plusieurs à plusieurs (N:M) deviennent des tables supplémentaires
  • Le nom de cette nouvelle table peut être la combinaison des noms des deux tables d’origine
    • CLIENT achète PRODUIT 🡪 PROD_CLIENT
    • Si possible, trouver un nom plus représentatif 🡪 PROD_ACHETE
  • La clé primaire d’une table supplémentaire est composée des clés primaires de chacune des tables à l’origine de la relation
  • Les attributs de la relation deviennent des colonnes de la nouvelle table

19

20 of 24

Passage du MCD au MPD – Règle 6

Devient

20

21 of 24

Passage du MCD au MPD – Règle 6

  • Parfois, la combinaison des deux clés n’est pas suffisante, il faut alors ajouter autant d’attributs que nécessaire dans la clé pour rendre la clé unique

  • devient

21

22 of 24

Passage du MCD au MPD – Règle 6

  • Pour les relations n-naires, le principe est le même que pour la relation binaire
    • La clé primaire de la nouvelle table n’a pas être composée de toutes les tables de la relation n-naire
    • Si les clés primaires de la relation forte sont suffisantes pour identifier la table de façon unique, les autres clés se limitent à être des clés étrangères

Devient

22

23 of 24

Le modèle relationnel formel

  • La représentation standard d’une base de données relationnelle est le mode formel :

  • FILM(NoIdentification, NoDistributeur, Titre, AnnéeProduction, Durée, Couleur, Producteur, Réalisateur, Genre)
  • ACTEUR-FILM(NomActeur, NoIdentification)
  • DISTRIBUTEUR(NoDistributeur, Nom, Adresse, Rachat)
  • CASSETTE(NoSérie, NoIdentification, Format)
  • CASSETTE-LOUÉE(NoSérie, NoBon, DateRetour)
  • BON-LOCATION(NoBon, NoClient, DateLocation)
  • CLIENT(NoMembre, Nom, Adresse, NoTél, NoCarteCrédit, MontantDépôt)

  • Une dernière étape avant l’implémentation permettra d’optimiser la base de données : la normalisation (semaine prochaine)

23

24 of 24

Des questions ?

24