• Aucun résultat trouvé

Le modèle logique des données (MLD) relationnel

N/A
N/A
Protected

Academic year: 2022

Partager "Le modèle logique des données (MLD) relationnel"

Copied!
13
0
0

Texte intégral

(1)

1

Le modèle logique des

données (MLD) relationnel

(2)

2

Le Modèle Logique des Données (MLD) est

une étape intermédiaire pour passer du modèle E/A, qui est un modèle sémantique, vers une représentation physique des données : fichiers, SGBD hiérarchique, SGBD réseau, SGBD relationnel.

Nous nous limitons au seul MLD relationnel, qui

prépare le passage aux SGBD relationnels.

(3)

3

Modèle logique relationnel (rappel)

- La table relationnelle correspond à un objet du SI (commande, client …).

- Elle est composée d’attributs/colonnes : les données élémentaires qui décrivent l’objet ( n° commande, date commande, …).

- Elle possède une clé primaire (sous-ensemble d’attributs) dont la valeur est unique pour chaque n-uplet/ligne de la table.

Exemple :

Commande (numcommande, datcommande, adr_livr)

(4)

4

Les associations/liens entre objets sont réalisées par les clés étrangères.

La clé étrangère est un ensemble d'attributs d'une table T2 qui est clé primaire dans une table T1.

Exemple :

Client (nocli, nomcli, adrcli)

Commande(nucommande, datcommande, adrliv, #nocli)

Les tables relationnelles vérifient encore d'autres contraintes d'intégrité (voir cours SGBD).

Lien vers client

La clé étrangère doit correspondre à une clé

primaire existante (contrainte d’intégrité

référentielle normalement vérifiée par SGBD).

(5)

5

Propriété

Toute propriété devient un attribut Entité

Toute Entité devient une table dont la clé primaire est l'identifiant de l'Entité.

Attention : sauf certaines entités

Client Codcli Nomcli Adrcli

se traduit par :

Client (codcli, nomcli, adrcli)

(6)

6

Toute association binaire (1/1) - (0/N) ou (1/N)

se traduit en ajoutant une clé étrangère (identifiant de l'entité de cardinalité (0,N) ou (1,N) ) à la table provenant de l'entité dont la cardinalité est (1,1).

Client (codcli, nomcli, adrcli)

Commande (nucom, datcom, adrliv, #codcli)

Commande nucom

datcom adrlivr passe

0,N 1,1

Client codcli nomcli adrcli

se traduit par :

toujours un seul client

(7)

7

Toute association binaire (1/1) - (0/1)

se traduit en ajoutant une clé étrangère (identifiant de l'entité de cardinalité (0,1) ) à la table provenant de l'entité dont la cardinalité est (1,1).

Département nudep

nomdep dirige

0,1 1,1

Employé nuemp nomemp

Employé (nuemp, nomemp)

Département (nudep, nomdep, #nuemp) se traduit par :

toujours un seul employé

(8)

8

Association binaire (0/1) - (0/N) ou (1/N)

Solution 1: idem à association (1/1) – (0/N) ou (1/N).

Problème de clé étrangère pas toujours définie (certains SGBD supportent, d’autres non).

Solution 2: on crée une table ayant pour clé primaire l'identifiant de l'entité (0/1) juxtaposé à l'identifiant de l'autre entité. On ajoute les éventuelles propriétés de l'association à la table. Plus lourd.

0,1 0,n Projet

refproj budget Employé

nuemp nomemp

Classer

Solution 1 : Employé (nuemp,nomenp,#refproj) Solution 2 :

Employé (nuemp,nomenp) , Projet (refproj, budget) Classer(#nuemp, #refproj)

se traduit par :

(9)

9

Association binaire (0/N) ou (1/N) - (0/N) ou (1/N)

se traduit par une nouvelle table dont la clé primaire est composée des identifiants des deux entités. Les éventuelles propriétés de l'association deviennent les attributs de cette table.

Skieur (nomski, spécialité)

Compétition(refcomp,datcomp)

Classer (#nomski, #refcomp, rang)

0,n 0,n Compétition

Refcomp datcomp Skieur

Nomski spécialité

Classer rang

se traduit par :

(10)

10

Association n-aire (n>2)

On crée une table ayant pour clé primaire les identifiants des différentes entités de l'association. Les propriétés de l'association deviennent les attributs de la table.

0,n 0,n Professeur

No_prof Matière

No_matiere

Assure codsalle

Classe No_classe

0,n

Assure (#no_classe, #no_matiere, #no_prof, codsalle) se traduit par :

(11)

11

Association réflexive

On les traite comme les autres associations

1,1 parrainé parraine

CLIENT No_client nom client adresse client

0,n parrain

CLIENT(Noclient, nom client,adresse client,#Noclient_parrain) se traduit par :

(12)

12

Association réflexive

On les traite comme les autres associations

0,n proie chasse

ANIMAL

code_animal nom_animal

0,n prédateur

ANIMAL(code_animal, nom animal)

CHASSE(#code animal predateur, #code animal proie) se traduit par :

(13)

13

Ce passage du modèle E/A au modèle relationnel répondant à des règles précises peut être automatisé (génération du modèle logique relationnel à partir du MCD).

cf outil libre : analyseSI

Références

Documents relatifs

Comme cette relation est liée deux fois au même objet, il est évident que nous devons dupliquer la clé primaire, tout en veillant que le même nom de clé ne sera pas utilisé pour

Quel que soit le modèle implémenté (réseau, relationnel, objet, …), les principaux objectifs d’un SGBD sont de masquer la représentation physique des données et d’assurer

✔ Une « relation » entre les deux tables : La colonne Dept dans Employés fait référence à une ligne de la table Départements. ✔ Par Jointure, on peut savoir dans quel

• Dans le cas d’une entité faible, la clef primaire de la table relationnelle est constituée par l’identifiant de l’entité forte et par l’identifiant de

Le MODELE PHYSIQUE de DONNEES, MPD, est une représentation de l’ORGANISATION DES DONNEES tenant compte d’un système de gestion des données retenu, la plupart

 la contrainte d’intégrité référentielle qui garantit que la valeur d’un ou plusieurs attributs d’une table constituant la clef étrangère,

• la contrainte d’intégrité référentielle qui garantit que la valeur d’un ou plusieurs attributs d’une table constituant la clef étrangère, doivent exister

!  Application sur différents serveurs : gestion des données, gestion de la logique applicative et client pour