Le modèle relationnel Page 1 / 8



Documents pareils
CONCEPTION Support de cours n 3 DE BASES DE DONNEES

A. Définition et formalisme

RÈGLES DE TRANSFORMATION DU MCD AU MLD (MRD)

LE MODELE CONCEPTUEL DE DONNEES

Conception des bases de données : Modèle Entité-Association

Concevoir un modèle de données Gestion des clients et des visites

MASTER II ECONOMIE ET GESTION Spécialité Management des Organisations de la Neteconomie

DEVAKI NEXTOBJET PRESENTATION. Devaki Nextobjects est un projet sous license GNU/Public.

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Chapitre 1 : Introduction aux bases de données

Tickets 3:3. ChevauxPartants

Introduction aux Bases de Données

Modèle conceptuel : diagramme entité-association

INTRODUCTION : Données structurées et accès simplifié

Méthode d analyse Merise

Comprendre Merise et la modélisation des données

Bases de Données. Plan

Formation à l utilisation des Systèmes de Gestion de Bases de Données Relationnelles. organisée avec la collaboration du

MEGA Database Builder. Guide d utilisation

Modèle Entité-Association. C est un modèle important pour la conception des bases de données relationnelles. Il

Modélisation des données

Nom de l application

Conception d une base de données

MERISE. Modélisation de Systèmes d Information. Pierre Gérard. DUT Informatique 2ème année 2004/2005. IUT de Villetaneuse - Université de Paris 13

Modélisation de bases de données : Le modèle relationnel

Modélisation conceptuelle des données Responsable: Dominique Schneuwly, Regis Caloz

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Virtualisation de Windows dans Ubuntu Linux

Chapitre 07 Le modèle relationnel des données

Le niveau conceptuel : la modélisation des bases de données

Chapitre 1 Généralités sur les bases de données

Modélisation : Entité-Association Pattes de corbeau Relationnel. Plan BD4 : A.D., S.B Des systèmes d'information. Pourquoi?

LES SYSTEMES DE GESTION DE BASES DE DONNEES

GOL-502 Industrie de services. Travaux Pratique / Devoir #7

Dossier I Découverte de Base d Open Office

Cours Informatique 1. Monsieur SADOUNI Salheddine

Projet de traitement d'image - SI 381 reconstitution 3D d'intérieur à partir de photographies

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Modélisation Conceptuelle. Partie 2: Le modèle Entité-Association

UML et les Bases de Données

Modèle Entité/Association

IR1/IG1 Base de données TD#1

Université de Bangui. Modélisons en UML

Rappel sur les bases de données

II. Modèle conceptuel le modèle entité-association

CQP ADMINISTRATEUR DE BASES DE DONNÉES (ABD)

Bases de Données Avancées

Chaîne opératoire de réalisation d une base de données. ANF «Comment concevoir une base de données» (29-30/01/2015)

I4 : Bases de Données

Système d'information (SI) Fonction du SI. Fonctionnement du SGBD. Système automatisé d'information. Méthodologie des Systèmes d'information

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

SESSION 2014 ÉPREUVE À OPTION. (durée : 4 heures coefficient : 6 note éliminatoire 4 sur 20)

Bases de données. Chapitre 1. Introduction

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre

PROTOCOLE D'ACCORD DE COOPERATION

Gestion des bases de données (1 ère partie)

1 Gestionnaire de Données WORD A4 F - USB / / 6020 Alco-Connect

La méthode MERISE (Principes)

ACCORD-CADRE FRANCO-QUÉBÉCOIS. entre

Pour révoquer un Gestionnaire des Certificats : le Représentant Légal utilise la fiche n 2A en cochant la case appropriée.

Bases de Données Relationnelles. Le Modèle Relationnel

Thunderbird et messagerie sur clé USB

Annexe : La Programmation Informatique

Réalisation d une première base de données (Tutoriel - version 4.2 ; 19 septembre 2014)

Rapport de stage d initiation

Table des matières Introduction... 2

Structure et fonctionnement d'un ordinateur : hardware

Personnalisation Fiche Annuaire

Systèmes d information et bases de données (niveau 1)

Conduite de projets informatiques Développement, analyse et pilotage (2ième édition)

MERISE. Modélisation et Conception de Systèmes d Information

12, PLACE DU PANTHEON PARIS. ADRESSE ELECTRONIQUE : capitant@clubinternet.fr TELEPHONE : + 33 (0) TELECOPIE : + 33 (0)

2 Grad Info Soir Langage C++ Juin Projet BANQUE

Introduction aux Bases de Données

Algorithmes d'apprentissage

Louer et utiliser un Hébergement Mutualisé OVH (Version 1.0)

Vincent Augusto

Ecole Polytechnique de Louvain INGI Fichiers et bases de données

Utiliser Access ou Excel pour gérer vos données

Modernisation et développement d applications IBM i Stratégies, technologies et outils. Volubis.fr

Chapitre 2. Classes et objets

Structures algébriques

Bases de Données relationnelles et leurs systèmes de Gestion

Bases de données relationnelles

Premiers pas sur l ordinateur Support d initiation

DESS CCI Formation Continue. Février Université Louis-Pasteur de Strasbourg Département d'informatique

Exercices de dénombrement

Les bases de données Page 1 / 8

Les principes de la sécurité

1.2 Genèse. 1.3 Version de Designer utilisée

Information utiles. webpage : Google+ : digiusto/

Le modèle de données

MEGA Merise. Guide d utilisation

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Cours 1 : introduction

PARCOURS COMPLET AU COURS MOYEN

GUIDE DE L UTILISATEUR

Bases de données relationnelles & SQL

Transcription:

Le modèle relationnel Page 1 / 8 Sommaire 1 Introduction... 1 2 Les Règles de passage... 2 2.1 Le traitement des entités... 2 2.2 Les associations binaires... 3 2.2.1 Association binaire 1,1-1,n... 3 2.2.2 Association binaire 0,1-1,1... 3 2.2.3 Association binaire 0,1-0,1... 4 2.2.4 Association binaire 0,1 - ou 1,n... 5 2.2.5 Association binaire x,1 -x,n... 6 2.2.6 Association binaire x,1 -x,n et porteuse de données... 6 2.3 Associations n-aires... 7 2.3.1 Associations ternaires... 7 2.3.2 Associations n-aires... 7 2.4 Associations réflexives... 8 3 Conclusion... 8 1 Introduction Le but de ce chapitre n'est pas l'étude du modèle relationnel qui a été vu dans le cours précédent sur les bases de données mais de donner les règles qui permettent la mise en œuvre de la quatrième étape de l'analyse des données, à savoir la traduction logique. Cette étape a pour but de fournir le modèle relationnel à partir du modèle conceptuel. Si cette phase est réalisée en automatique par les outils de modélisation (Power Amc, Windesign, Analyse SI), il n'est pas inutile d'en connaître les règles, ne serais-ce que pour en comprendre les modes de traduction. Cette étape de traduction correspond à la quatrième phase de l'analyse des données Le MLD (Modèle Logique des Données ou MRD (Modèle relationnel des données) reste indépendant du SGBD utilisé.

Le modèle relationnel Page 2 / 8 2 Les Règles de passage Le passage du MCD au modèle relationnel ne se fait pas au hasard. Il existe un certain nombre de règles qui vous permettent de réaliser cette opération. C'est d'ailleurs sur ces règles que s'appuient les outils de modélisation afin de réaliser ces opérations. Ces règles restent logique, et un peu de réflexion vous permettra de les comprendre. Dans les exemples ci-après, nous utiliserons comme représentation du MRD la notation littérale en soulignant les clés primaires, et en faisant suivre les clés étrangères du caractère #. Le modèle relationnel doit refléter le MCD issu de l'analyse, et donc les éléments présents dans celui-ci (entités, propriétés, associations) doivent se retrouver dans le modèle relationnel. 2.1 Le traitement des entités Chaque entité du MCD est transformé en table Les propriétés de l'entité deviennent les attributs de la table L'identifiant de l'entité devient clé primaire AUTEUR num_auteur nom_auteur date_naissance LIVRE num_livre titre_livre AUTEUR (Num_Auteur, Nom_Auteur, Date_Naissance) LIVRE (Num_Livre, Titre_Livre)

Le modèle relationnel Page 3 / 8 2.2 Les associations binaires 2.2.1 Association binaire 1,1-1,n Cette association correspond à une paire de cardinalité 1,1 et ou 1,n. Ce cas est également dénommé sous le vocabulaire de CIF (Contrainte d'intégrité Fonctionnelle). Ce type d'association est également appelée association 1,n Dans ce cas, la table issue de l'entité coté cardinalité 1,1 reçoit comme clé étrangère la clé primaire de l'entité liée. AUTEUR num_auteur nom_auteur date_naissance 1,n écrit 1,1 LIVRE num_livre titre_livre AUTEUR (Num_Auteur, Nom_Auteur, Date_Naissance) LIVRE (Num_Livre, Titre_Livre, Num_Auteur#) Explication : Dans l'exemple ci-dessus, un livre est écrit par un et un seul auteur. Il est donc normal de retrouver l'auteur associé au livre dans la table livre. 2.2.2 Association binaire 0,1-1,1 Cette association correspond à une paire de cardinalité 1,1 et 0,1. Dans ce cas, il y a plusieurs solution, une bonne et une moins bonne. Je vous les cite toutes les deux dans la mesure où vous êtes susceptibles de retrouver les deux possibilités. MICRO num_micro marque_micro 0,1 équiper 1,1 CD_ROM num_cd marque_cd Cet exemple illustre le fait qu'un Micro est équipé de 0 ou 1 CD-Rom. Les nos correspondent à des numéros de série. La meilleure solution est que la table CD_ROM reçoivent comme clé étrangère Num_Micro. Car un CD_Rom est affecté à un et un seul micro. Ce qui donne : MICRO (Num_Micro, Marque_Micro) CD_ROM (Num_Cd, Marque_Cd, Num_Micro#) Une autre solution à proscrire est l'échange des clés primaires entre les 2 tables, ce qui donnerait :

Le modèle relationnel Page 4 / 8 MICRO (Num_Micro, Marque_Micro, Num_Cd#) CD_ROM (Num_Cd, Marque_Cd, Num_Micro#) Dans ce cas, un micro pouvant ne pas avoir de CD_Rom, la clé étrangère num_cd peut être nulle, ce qu'il faut éviter au maximum. 2.2.3 Association binaire 0,1-0,1 MICRO num_micro marque_micro 0,1 équiper 0,1 CD_ROM num_cd marque_cd Cet exemple illustre le fait que certains CD_Rom n'équipent pas de micro (cas de ventes où l'on ne sait connaît pas la destination du cd-rom. En reprenant le modèle relationnel, et partant qu'une clé étrangère ne peut être nulle, la seule solution est de créer une table intermédiaire qui illustre le fait que l'on mémorise les cas d'association entre un lecteur de CD-Rom et un Micro. Ce cas d'association nécessite la création d'une autre table (ici EQUIPER) prenant comme clé primaire la composition des clés primaires des autres tables devenant clé étrangère dans la table COMPOSER: MICRO (Num_Micro, Marque_Micro) CD_ROM (Num_Cd, Marque_Cd) EQUIPER (Num_Micro#, Num_Cd#) La clé primaire composée exprime le fait que l'unicité d'un enregistrement dans la table se fait sur le couple Num_Micro et Num_CD. Attention, les tables MICRO et CD_ROM ne "reçoivent" pas les clés primaires. Attention, lorsque vous utilisez un outil de génie logiciel, lorsque vous générez le modèle relationnel, celui-ci pratique souvent l'échange d'identifiant entre table. Vous serez donc amener à rectifier cela.

Le modèle relationnel Page 5 / 8 2.2.4 Association binaire 0,1 - ou 1,n Il existe plusieurs solutions, et de la même façon que précédemment l'une meilleure que l'autre. La premiére solution assimile la cardinalité 0,1 à une cardinalité 1,1 et donc il y a migration de la clé primaire de la table coté 1,n vers la table coté 0,1 ce qui laisse la possibilité d'une valeur nulle pour la clé étrangère. La deuxième condition consiste à créer une table intermédiaire avec une clé primaire composée. EQUIPE nom_equipe 0,1 diriger 1,n RESPONSABLE num_responsable nom_responsable Cet exemple illustre le fait qu'une équipe est dirigée par un responsable mais qu'elle peut n'être dirigée par personne. Solution 1 : Solution 2 : RESPONSABLE (Num_Responsable, Nom_Responsable) EQUIPE (Nom_Equipe, Num_Responsable#) EQUIPE (Nom_Equipe) RESPONSABLE (Num_Responsable, Nom_Responsable) DIRIGER (Nom_Equipe#, Num_Responsable#) Si la deuxième solution est la meilleure, la premiére est souvent mise en œuvre dans la mesure ou le cas 0 est rare et correspond plus à un cas d'école ou une phase transitoire. C'est pour cela que la solution à 2 tables reste majoritairement utilisée pour des raisons d'allégement du modèle relationnel. En fait, sur l'exemple ci-dessus, est-il possible qu'une équipe ne soit dirigée par personne? Oui en cas de démission de l'entraineur, mais cela est rare et ponctuel, d'où la préférence de la premiére solution pour ne pas alourdir le modèle relationnel.

Le modèle relationnel Page 6 / 8 2.2.5 Association binaire x,1 -x,n Ce cas regroupe toutes les associations où la cardinalité maximale de part et d'autre est à n, la cardinalité minimale pouvant être 0 ou 1. Dans ce cas, la règle est simple et consiste à la création d'une table issue de l'association, cette table recevant comme clé étrangère les clés primaires des 2 autres tables. La clé primaire de cette table résultant de l'association étant la composition des deux clés étrangères. MICRO num_micro marque_micro équiper PERIPHERIQUE type_periph marque_periph Dans l'exemple ci-dessus, un micro est équipé d'un ou plusieurs type de périphérique (disque dur, cd rom, souris ) et dans l'autre sens, un type de périphérique équipe plusieurs micro. La transformation devient : MICRO (Num_Micro, Marque_Micro) PERIPHERIQUE (Type_Periph, Marque_Periph) EQUIPER (Num_Micro#, Type_Periph#) 2.2.6 Association binaire x,1 -x,n et porteuse de données Ce cas est une extension du cas précédent, la propriété portée par l'association devient un attribut de la table issue de l'association PRODUIT num_produit nom_produit 1,n figurer qte_cde 1,n COMMANDE num_cde date_cde PRODUIT (Num_Produit, Nom_Produit) COMMANDE (Num_Cde, Date_Cde) LIGNE_CDE (Num_Cde#, Num_Produit#, Qte_Cde)

Le modèle relationnel Page 7 / 8 2.3 Associations n-aires 2.3.1 Associations ternaires Le traitement de ce type d'association est en fait une généralisation du cas précédent. L'association génère une table, cette table reçoit en clé étrangère les attributs clés primaires des autres tables, la composition de chaque clés étrangères devenant la clé primaire composée des trois attributs. Si l'association est porteuse de données, les données portées deviennent des attributs de la table composée. ECURIE nom_ecurie engager SAISON id_saison PILOTE num_pilote nom_pilote Cet exemple peut se lire : Une écurie engage un ou plusieurs pilote pour une ou plusieurs saison. Ce qui peut se lire dans tous les sens de l'association. Le modèle relationnel résultant est donc : SAISON (Id_Saison) PILOTE (Num_pilote, Nom_pilote) ECURIE (Num_Ecurie, Nom_Ecurie) ENGAGER (Id_Saison#, Num_Ecurie#, Num_Pilote#) L'association engager pourrait être porteuse d'une donnée salaire par exemple, le salaire étant négocié à chaque engagement. Dans ce cas, salaire deviendrait un attribut de la table ENGAGER. 2.3.2 Associations n-aires Ce cas n'est qu'une généralisation du traitement de l'association ternaire. La table issue de l'association est composée des identifiants de toutes les entités participant à l'association comme clé étrangère et comme clé primaire composée. Les propriétés portées par l'association devenant des attributs de cette table.

Le modèle relationnel Page 8 / 8 2.4 Associations réflexives Ces associations sont en en fait des associations binaires, leur traitement dépend donc des cardinalités. Exemple mari PERSONNE num_personne nom_personne épouser date_mariage femme PERSONNE (Num_Personne, Nom_Personne) EPOUSER (Num_Mari#, Num_Femme#, Date_Mariage) 3 Conclusion Vous voilà mieux armé pour venir à bout de la phase 4 de l'analyse. Cependant; il reste bien d'autres choses que nous n'avons pas vues et qui feront l'objet de futurs développement. Il ne vous reste plus maintenant qu'à appliquer