Modèle Logique des données

Le MCD[1] possède plusieurs avantages comme : la clarté, la richesse, etc, mais ce formalisme ne peut pas être supporté par la machine. Ce qui nous oblige de passer par un autre modèle de données plus proche de la machine qui s'appelle modèle logique de données MLD.[2]

Introduction

Le MLD [2]représente la structure des données d'un système d'information sans se préoccuper des détails physiques de stockage. Il se situe entre le modèle conceptuel (qui décrit les entités, leurs attributs et leurs relations) et le modèle physique (qui spécifie comment les données sont concrètement stockées dans une base de données).

En utilisant des concepts tels que les tables, les colonnes et les relations, le modèle logique de données définit la façon dont les données seront organisées et interconnectées dans une base de données relationnelle. Il permet de traduire les concepts abstraits du modèle conceptuel en une structure de données concrète et exploitable.

Le MLD[2] est lui aussi indépendant du matériel et du logiciel, il ne fait que prendre en compte l'organisation des données. Si l'organisation des données est relationnelle, alors le MLD [2]est relationnel et devient le MLDR[3], ou Modèle Logique de Données Relationnelles.

Le MLDR[3] a été inventé par Codd en 1970, et repose sur la théorie ensembliste, il consiste à décrire la structure de données utilisée sans faire référence à un langage de programmation. Il est dépendant du type de la base de données utilisée. (Relationnelle ou autre)

Nous traiterons dans cette partie du cours la formalisation du MLD[2] appliquée à une base de données relationnelle, c'est-à-dire le MLDR[3]

Passage du modèle conceptuel de données au modèle logique de données

Passer du modèle conceptuel de données  au modèle logique de données  implique de transformer la représentation abstraite des entités, attributs et relations en une structure plus concrète adaptée à une implémentation en base de données relationnelle.

Règle une

A- Les entités types du MCD [1]sont converties en tables dans le MLD[2].

  • une table est une structure tabulaire dont chaque ligne correspond à un enregistrement qui contient les données d'un objet enregistré et chaque colonne correspond à un attribut ou champ qui contient les propriétés de cet objet

  • La valeur prise par un attribut pour un enregistrement donné est située à l'intersection ligne-colonne correspondant à enregistrement-attribut.

  • la limite au nombre d'enregistrements est liée à l'espace de stockage.

B-L' identifiant devient la clé primaire de la relation.

  • La clé primaire permet d'identifier de façon unique un enregistrement dans une table, sa valeur est unique obligatoirement non nulle.

  • Dans la plupart des système de gestion de base de données relationnelles, le fait de définir une clé primaire donne lieu automatiquement à la création d'un index.

C- les propriétés deviennent des attributs de la tables (colonnes)

Exemple :

Passage du MCD au MLD

Règle deux : Relation 0,1 - 0,N ou 0,1 --- 1,N

Une association de type 1:N est une association qui a les cardinalités maximales positionnées à «N» d'un côté de l'association et à « 1 » de l'autre côté. L'association est supprimée et ses propriétés types deviennent des rubriques de la table issue de l'entité qui a la cardinalité maximale 1.

Règle deux

Exemple :

Exemple du passage de MCD au MLD

Règle trois : Relation dont les cardinalités maximales sont supérieure à 1.

Une association de type N:N (appelée aussi association père-père) est une association qui a les cardinalités maximales positionnées à «N» des 2 côtés de l'association). Elle se traduit par la création d'une nouvelle table dont la clé primaire est composée des clés étrangères référençant les relations correspondant aux entités liées par l'association.

Les éventuelles propriétés de l'association deviennent des attributs de la nouvelle table.

Règle trois du passage de MCD au MLD

Exemple : traduisez le MLD[2] suivant en MLDR[3]

Schéma avec toutes les cardinalités

Le MLDR :[3]

Clients(Numero_client, nom, prenom, adresse, code_postal, ville)

Articles(Numero_article, designation, prix d'achat, prix de vente)

Commander(#Numero_client, #Numero_client)

Associations n-aires

Les règles définies ci-dessus s'appliquent aux associations n-aires (n >=3) .

dans ce type d'association :

  • Les cardinalités minimales peuvent être à 0 ou.

  • Toutes les cardinalités maximales sont obligatoirement à n.

Si l'une des cardinalités maximales n'est pas à n, il y a une erreur de conception.

Association n-aires

Exemple : traduisez le MLD[2] suivant en MLDR[3]

Exemple d'une relation ternaire

Le MLDR :[3]

Clients(Numero_client, nom, prenom, adresse, code_postal, ville)

Articles(Numero_article, designation, prix d'achat, prix de vente)

Date(date)

Commander(#Numero_client, #Numero_client, # date, quantite)

Associations réflexives

Pour une association réflexive voila un exemple de traduction du MCD au MLDR[3][1]

Association réflexive

Le MLDR :[3]

PIECE(codePiece ,libellePiece)

COMPOSITION(#codepieceComposee , #codepieceComposante)

Règle quatre: cas particulier

Une association de type 1:1 est une association qui a les cardinalités maximales positionnées à «1» des 2 côtés de l'association).

On distingue 3 cas possibles :

Règle 04

ExempleExemple des cas particuliers

Voici quelques cas particulier qui ont les cardinalités maximales 1 dans les deux cotés :

Exemple de cas particulier

Exercices : Série de TD 04

Ci-joint la série d'exercices TD04 comprenant des exercices sur la transition du Modèle Conceptuel de Données vers le Modèle Logique de Données Relationnelles.