Passage MCD modèle relationnel

publicité
Passage MCD <=> modèle relationnel
I. Rappel sur le modèle relationnel
L'étape suivante pour la conception de votre base est la construction du "MLD": Modèle Logique
des Données.
Celui-ci sera directement utilisable pour créer les tables qui constitueront la structure de votre
Base de Données Relationnelle.
C'est un modèle LOGIQUE de donnée, celui qui correspond à l'organisation des données dans les
bases de données relationnelles (il existe d'autres organisations de bases de données : hiérarchique,
réseau, objet,… ).
Les SGBD actuels les plus courants sont relationnels (Oracle, SQL Server, Access, MySql, … )
Un modèle relationnel est composé de relations, encore appelée tables.
Ces tables sont décrites par des attributs ou champs (noms de colonnes). Pour décrire une relation, on
indique tout simplement son nom en majuscule, suivi du nom de ses attributs entre parenthèses.
L'identifiant d'une relation est composé d'un ou plusieurs attributs qui forment la clé primaire. Une
relation peut faire référence à une autre en utilisant une clé étrangère, qui correspond à la clé primaire
de la relation référencée.
Il n'y a pas de notation officielle pour repérer les clés primaires et étrangères. C'est à vous d'en
adopter une et de l'expliquer en légende.
Toutefois, une notation s'est peu à peu répandue en BTS IG (celle que nous utiliserons):
- on souligne la clé primaire d'un seul trait
- on fait précéder (ou suivre) les clés étrangères du symbole #
Chaque ligne (tuple ou enregistrement) d'une table représente une occurrence de l'entité ou de
l'association correspondante.
II. Passage du MCD au MR
Règle 1
Toute entité devient une relation ayant pour clé primaire son identifiant. Chaque propriété se
transforme en attribut.
==> CLIENT (code_client, ville)
Remarque : contrairement aux propriétés, les attributs ne doivent pas comporter d'espaces.
Règle 2 : Traduction d’une DF forte
Toute association hiérarchique (de type (1,1) - (0 ou 1,N) ) se traduit par une clé étrangère. La
clé primaire correspondant à l'entité père (côté n) est dupliquée dans la table correspondant à l'entité
fils (côté 1). Cet attribut est appelé clé étrangère.
Exemple
Règle 3 : traduction d’une association non hiérarchique
Toute association non hiérarchique (de type (0 ou 1-N) - (0 ou 1-N)) devient une relation. La clé
primaire est formée par la concaténation (juxtaposition) l'ensemble des identifiants des entités reliées.
Toutes les propriétés éventuelles deviennent des attributs qui ne peuvent pas faire partie de la clé.
Exemple
1- Chaque entité devient une table relationnelle
Commande (N°Commande,Date)
Produit (N°Produit, Libelle, Prix)
2- L'association devient une table relationnelle
Ligne_Commande(#N°Commande, #N°Produit, Quantite)
Les clés étrangères sont les clés primaires des deux tables liées
3-La clé primaire de la table est composée des deux clés étrangères rapatriées
4-La table relationnelle prend, s'il y en a, les propriétés de l'association
Autre forme pour la table
Ligne_Commande(N°Ligne, Quantite, #N°Commane, #N°Produit)
Cette règle est valable pour toutes les associations ternaires (ou quaternaires) qui sont
forcément non hiérarchiques (cardinalités maximales toutes égales à n).
Règle 4 : traduction d’une DF faible
Les associations semi-hiérarchiques (de type (0,1) - (0 ou 1,N)) peuvent porter des attributs.
Une association semi-hierarchique qui porte des attributs peut être considérée comme une
association non hiérarchique.
Une association semi-hierarchique qui ne porte pas des attributs peut être considérée comme
une association hiérarchique.
Exemple
Commercial (N°Commercial, Nom, Prenom)
Commande (N°Commande, Date, #N°Commercial)
Récapitulatif
Exception à la règle 3
Les entités n'ayant que leur identifiant comme attribut ne deviennent pas des tables, mais des attributs
dans les autres relations liées.
Cas particulier
Relation binaire (0,1)-(1,1)
On duplique la clé de la table basée sur l'entité à cardinalité (0,1) dans la table basée sur
l'entité à cardinalité (1,1).
Exemple
Le No_Client, qui est clé primaire de la table Client, devient clé étrangère dans la table
Carte_Membre.
Relation binaire (0,1)-(0,1)
On duplique la clé d'une des tables dans l'autre. Lorsque la relation contient elle même des
propriétés, celles-ci deviennent également attributs de la table dans laquelle a été ajoutée la
clé étrangère.
Exemple
Soit on migre la clé primaire de la table Entreprise dans la table Salarié, soit on fait l'inverse.
Exercice
Les contraintes d'intégrité référentielle : précisent les conditions dans lesquelles peuvent être
ajoutés ou supprimés des enregistrements lorsqu'il existe des associations entre tables par
l'intermédiaire de clés étrangères.
Téléchargement