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



Documents pareils
Modélisation des données

Information utiles. webpage : Google+ : digiusto/

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

Bases de Données. Plan

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

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

CHAPITRE 1. Introduction aux bases de données

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

Rappel sur les bases de données

Bases de données relationnelles

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

Chapitre 1 : Introduction aux bases de données

Faculté des sciences de gestion et sciences économiques BASE DE DONNEES

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

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

Bases de données. Chapitre 1. Introduction

Méthode d analyse Merise

Introduction aux Bases de Données

Présentation du module Base de données spatio-temporelles

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Bases de Données Avancées

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

Cours 1 : introduction

Cours Bases de données

et les Systèmes Multidimensionnels

Dossier I Découverte de Base d Open Office

Introduction aux Bases de Données

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

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

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr

Rapport formation Systèmes de Gestion de Bases de données relationnelles. Centre Royal de Télédétection Spatiale Rabat (Maroc)

Nom de l application

Chapitre 07 Le modèle relationnel des données

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

LE MODELE CONCEPTUEL DE DONNEES

Introduction aux bases de données Cours 1 : Généralités sur les bases de données

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

Bases de données Cours 1 : Généralités sur les bases de données

Méthodologie de conceptualisation BI

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

Solutions informatiques (SI) Semestre 1

Entrepôt de données 1. Introduction

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

Langage SQL (1) 4 septembre IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Comprendre Merise et la modélisation des données

Merise. Introduction

Conception, architecture et urbanisation des systèmes d information

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

CESI Bases de données

A. Définition et formalisme

16H Cours / 18H TD / 20H TP

Implémentation des SGBD

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Bases de données - Modèle relationnel

Patrice BOURSIER. Professeur, Univ. de La Rochelle. Bases de Données. Notes de cours

Chap. 3: Le modèle de données entité-association (E.A.)

Bases de données cours 1

Tickets 3:3. ChevauxPartants

Les Entrepôts de Données

clef primaire ; clef étrangère ; projection ; restriction ; jointure ; SQL ; SELECT ; FROM ; WHERE

Le modèle de données

Modèle conceptuel : diagramme entité-association

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)

UML et les Bases de Données

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

GUIDE PRATIQUE MODÈLE CONCEPTUEL DES DONNÉES MODÈLE LOGIQUE DES DONNÉES STANDARD MODÈLE LOGIQUE DES DONNÉES OPTIMISÉ

Base de Données et Langage SQL

Mercredi 15 Janvier 2014

Entrepôt de Données. Jean-François Desnos. ED JFD 1

A QUOI SERVENT LES BASES DE DONNÉES?

Utiliser une base de données

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

Génie logiciel avec UML. Notions sur le langage UML adapté pour les cours du programme Techniques de l informatique

Créer le schéma relationnel d une base de données ACCESS

1 Modélisation d une base de données pour une société de bourse

UE 8 Systèmes d information de gestion Le programme

Les bases de données Page 1 / 8

CQP ADMINISTRATEUR DE BASES DE DONNÉES (ABD)

Les bases de données

Les différents types de relation entre les tables

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

ISC Système d Information Architecture et Administration d un SGBD Compléments SQL

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

Introduction aux Bases de Données Relationnelles Conclusion - 1

Vincent Augusto

Entrepôts de données. NEGRE Elsa Université Paris-Dauphine

Module BDR Master d Informatique (SAR)

Le langage SQL Rappels

Gestion des transactions et accès concurrents dans les bases de données relationnelles

Chap. 2: L approche base de données

Bases de données et sites WEB Licence d informatique LI345

Cours d'informatique

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

PostgreSQL. Formations. SQL avancé Calendrier... 18

Gestion des bases de données

INITIATION AUX BASES DE DONNEES MODELISATION et LANGAGE SQL

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer

1 Introduction et installation

Représentation des Nombres

Transcription:

Proyecto FAO COPEMED Universidad de Alicante Ramón y Cajal, 4 03001 - Alicante, España GCP/REM/057/SPA Web : www.fao.org/fi/copemed Tel : +34 96 514 59 79 Fax : +34 96 514 59 78 Email : copemed@ua.es Formation à l utilisation des Systèmes de Gestion de Bases de Données Relationnelles organisée avec la collaboration du Centre Royal de Télédétection Spatiale (*) SYSTÈME D INFORMATION ET BASES DE DONNÈES Support de Cours (**) Rabat (Maroc), 28 février 3 mars 2000 (*) CRTS 16 bis, Avenue de France Agdal, Rabat Maroc Tel. : +212 (7) 776305 Fax : +212 (7) 776300 E-mail : layachi@crts.gov.ma (**) Société AT TIME 28, Rue Michlifen, Appt. 2 Agdal Rabat (Maroc) Tel./Fax : +212 (7) 672030 E-mail : attime@mtds.com

SYSTEME D INFORMATION ET BASES DE DONNEES Système d Information (SI) de l entreprise : Ensemble des moyens et procédures de recherche, de saisie, de classement, de mémorisation, de traitement et de diffusion de l information du système et de son environnement. Rôle d un SI : Assister à la décision. Faciliter la coordination des acteurs du système. Objectif de l automatisation des SI : Restituer, aux différents membres de l entreprise, les informations sous une forme directement utilisable ; au moment opportun, afin de faciliter le bon fonctionnement opérationnel et la prise de décision aux différents niveaux. Environnement basé sur un système de fichiers : Plusieurs fichiers. Plusieurs programmes crées en différentes dates, avec éventuellement différents langages. 1

Inconvénients de cet environnement : Redondance et inconsistance : Même information répliquée dans plusieurs fichiers. 2

Enregistrement Donnée Utilisateur1 Programme d application 1 Utilisateur2 Utilisateur3 Programme d application 2 D E G Programme Utilisateur4 d application 3 D F G K E H Programme d application 4 I J Utilisateur5 TRI Programme d application 5 D E G H K H J Pour chaque nouvelle application, un programmeur crée de nouveaux fichiers. Le système d'information se retrouve vite composé de nombreux fichiers avec une grande redondance des données. Ce qui implique : Accroissement du volume global des données Risque d inconsistance des données : informations sur plusieurs fichiers, non rafraichies au même moment. 3

Difficultés d accès aux données : Les besoins occasionnels ne peuvent être satisfaits de façon efficace, ce qui nuit donc à l efficacité du système, qui fait intervenir de nombreux acteurs : Cadre supérieur ou Directeur Personnel Directeur de l informatique Analyste système programmeur Conception Prog Test Semaines ou mois Difficultés dans la maintenance : Un fichier finit par être utilisé par des applications multiples. Une restructuration de ce fichier provoquera une réaction en chaîne de modifications dans d autres programmes d applications. Programme d application 1 Programme d application 2 Programme d application 3 D F G K Programme d application 4 E H Programme d application 5 4

Difficulté de partage de données : Supposons un environnement multi-utilisateurs, Compte = 500 Utilisateur 1 Tâche Utilisateur 2 Lire compte - compte := compte 50 écrire compte - T1 T2 T3 T4 T5 - lire compte compte:=compte 50 - écrire compte Au moment de l'ecriture du compte, on ne sait pas la valeur qui va être sauvegardée. Problèmes de sécurité : Les données stockées sur fichiers doivent être protégées contre les accès non autorisés Caissiers inaccessible accessible Fichier paie Fichier comptes accessible Service paie inaccessible Problèmes d intégrité : Les données doivent satisfaire certaines contraintes. Exemples : - Soldes > =25 - Un client référencé dans fichier des commandes, doit figurer d abord dans le fichier des clients. Nécessité donc de modules spécifiques chargés de respecter les contraintes au sein des diverses applications. 5

Environnement basé sur un système de Bases de Données relationnelles Base de données : Une base de données est une collection de données reliées entre elles, stockées ensemble, aussi peu redondantes que possible pour être utilisées par une ou plusieurs applications d une façon optimale. Les données sont stockées de façon à être indépendantes des programmes qui les utilisent. JAMES MARTIN 6

Exemple : Une base de données BANQUE : un ensemble de tables (ou relations) La table Dépôt AGENCE COMPTE CLIENT POSITION B. MED. V ZERKTOUNI 020 500 110 230 Haji Jalal 12000 14000 IBN SINA 120 560 Radi 20500 MASSIRA 320 001 Jabri 3000 La table Crédit AGENCE B. MED. V ZERKTOUNI IBN SINA B. MED. V PRET CLIENT MONTANT 10 11 12 13 Haji Sami Cadi Radi 5000 6500 7000 4500 La table Clientèle CLIENT ADRESSE VILLE Haji Radi 320, Rue Toubkal, Agdal 11, Rue Sanaa, Nasser Rabat Rabat Sami 85, rue Zerktouni, Appt 12 Casa Jalal 10, cite Medina, 1 er etage Casa 55, Rue de Tunis Casa Cadi 32, Rue Al jazira Kenitra Jabri Remarque : On suppose que client est un identifiant de la table clientèle 7

Système de gestion de base de données : Logiciel qui gère un ensemble de fichiers qui constituent la B.D et qui permet à plusieurs utilisateurs de stocker et d extraire des données de ces fichiers, dans des conditions d intégrité et de confidentialité. DESCIPTION DES DONNEES ACCESS CONCURRENT SGBD UTILISATEUR INTERROGATION & M.A.J CONFIDENTIALITE BASE DE DONNEES 8

Architecture d une base de données : Le SGBD présente la B.D sous trois niveaux ( niveaux de description de données : architecture ANSI/ SPARC) : Niveau interne (physique) Niveau conceptuel (logique) Niveau externe Niveau externe Schéma externe Schéma externe Schéma externe Niveau conceptuel Schéma conceptuel SGBD Niveau interne (physique) Schéma interne 9

OBJECTIF DES SGBD : Simplifier et Faciliter l exploitation des données : Indépendance programmes/données Faciliter l accès aux données Intégrité des données Sécurité des données Gérer le partage des données Récupération en cas de panne 10

MODELE DE DONNEES RELATIONNEL I. LE MODELE ENTITES RELATIONS (MCD : Modèle Conceptuel de Données) Modèle développé pour faciliter la conception de la structure logique d une B.D. E R1 E E R2 Monde réel Il repose sur la perception du monde réel sous forme d un ensemble d objets entités associés au moyen d un ensemble de relations entre ces objets. 1. Entité : Ensemble d objets de même type Défini par un ensemble d attributs, À chaque attribut est associé un domaine :ensemble de valeurs autorisés. Exemple : Clients d une banque : Nom, adresse, ville Une entité peut être considérée comme un type qui regroupe des objets et qui a une existence suffisamment autonome pour intervenir dans des rencontres avec d autres objets. 11

Une B.D contient une collection d entités. Exemple : Agences = (nom-agence, avoir, ville) Client = (nom, CIN, adresse, ville) Compte =(numéro, agence, position) Transaction =(numérot, date, montant) Prêt = (NuméroP, montant) 2. Relation : Associe (lie) plusieurs entités, Une relation n existe que par les entités qu elle met en correspondance, Une relation peut être caractérisée par des attributs Exemple : Un client détient un compte Relation : Entités liées : Attribut de la relation : Détient Client, compte Date dernier mouvement Triki A215 2, rue zerhoune Rabat 259 B. Med V 2000 Alami C214 5, rue oujda Rabat 630 My Youssef 1000 Badidi D125 70, rue sebou Casa 401 Zerhoune 1500 Radi A145 2, Av. My Youssef Rabat 700 My Youssef 1500 199 Ibn Sina 3000 CLIENT 159 Zerhoune 2000 359 Agdal 2500 COMPTE 12

3. Dimension d une relation : Le nombre d occurrences des entités concernées par une relation. Ce nombre peut être strictement supérieur au nombre d entités intervenant dans la relation, Exemples : Relations binaires : Clicom : un client possède un compte, "Amortir" : un client amortit un prêt, Marié à : une personne est mariée à une autre, Relations ternaires : "Ouv-Cpte" : un client ouvre un compte dans une agence. En pratique, il est rare d avoir besoin d une relation de dimension >=4 13

4. Diagrammes Entités Relations : La structure d ensemble d une B.D peut être représentée graphiquement par un diagramme entité-relation ou un MCD : Symboles : : Entité : Relation : reliant les entités aux relations Exemples : client Compte Nom CIN Adresse Ville Clicom Date-der-mt Numéro Agence Position Agence Nom-Ag Avoir Ville client Compte Transaction Nom CIN Adresse Ville Ouv- Cpte Numéro Agence Position Relevé NuméroT Date montant 14

5. Contraintes dans le MCD : Soit le modèle : Client Nom CIN Adresse Ville Amortir Prêt NuméroP Montant Un client peut il avoir plusieurs prêts?, Combien au maximum? Un prêt peut-il être accordé à plusieurs clients? Les réponses peuvent être définies sur un modèle de données, comme contraintes : complément d explications ou des restrictions relatives au sens des données, 15

6. Cardinalité d une relation pour une entité : La cardinalité d une relation pour une occurrence entité donnée est le nombre d occurrences de relations que possède cette occurrence entité via la relation, Exemple : 1 2 3 Commande Produit Concerner Quand je compte le nombre de produits d une commande, je m intéresse aux cardinalités de «commande» 4 3 2 1 Commande Produit Concerner Quand je compte le nombre de commandes d un produit, je m intéresse aux cardinalités de produit 16

Cardinalité minimale : Nombre minimum d associations que possède une occurrence entité via la relation, Exemple : la commande peut-elle ne concerner aucun produit? OUI : cardinalité minimale = 0 NON : cardinalité minimale = 1 Cardinalité maximale : Nombre maximum d associations que possède une occurrence entité via la relation, Exemple : la commande concerne-t-elle un seul produit au maximum? OUI : cardinalité minimale = 1 NON : cardinalité minimale = N Les cardinalités de notre exemple : Commande 1, N 0, N concerner Produit Quand une cardinalité maximale pour une entité = 1, on représente une flèche partant de l entité, et on parle d une dépendance fonctionnelle (DF) : Commande dépend du client, Client 0, N 1, 1 passer Commande Chaque commande est associée à un client. Si on supprime un client, ses commandes n ont plus besoin d être mémorisées, mais on peut annuler les commandes et conserver le client. 17

7. Identifiant (clé) : Il est important d identifier (différencier) les occurrences entités et relations crées Exemple : Client = (nom, CIN, adresse, ville) Nom : n est pas identifiant Nom, CIN : identifiant CIN : identifiant minimal ou identifiant (clé) privilégié ou clé primaire (si elle est retenue comme descripteur de la classe client) Clé primaire : Groupe minimum d attributs identifiant une occurrence entité unique dans sa classe Entité forte : qui possède une clé primaire Entité faible : Entité qui a besoin de se référer à une entité forte (entité dominante) pour identifier chacune de ses occurrences de façon unique. Exemple : Transaction =(numéro-transaction, date, montant) Transaction d un compte : numéro transaction est identifiant Transaction de tous les comptes : numéro transaction n est pas identifiant Numéro transaction est uniquement un discriminant Transaction est appelée «entité faible» Clé primaire d une entité faible : s obtient par : Clé primaire de l entité dominante + discriminant de l entité faible Exemple : Clé primaire pour transaction : (numéro compte, numéro transaction) 18

Clé primaire d une relation : Se compose des clés primaires des entités associées par la relation, Exemple : Client = (nom, CIN, adresse, ville) Compte = (numéro, agence, position) Clé primaire de Clicom : (CIN, numéro) 19

II. CYCLE DE VIE D UNE B. D Evolution du monde réel Monde réel Conception Reproduire le monde réel à l aide d un modèle de données conduisant à un schéma conceptuel écrit dans un formalisme quelconque. Schéma conceptuel Mise à jour DDL Création de la B.D traduire le schéma conceptuel à l aide de commandes du langage DDL (Langage de Définition de Données), pour obtenir la structure, dépourvue de données, de la B.D représentant les entités du monde réel. DML Consultation Structure de la B.D Exploitation et Maintenance Manipulation des entités, à l aide de commandes du langage DML (Langage de Manipulation de Données), pour consulter les données ou pour les mettre à jour (insertion, suppression, modification). La B.D doit également prendre en compte l évolution de l univers qu elle décrit. Chaque évolution doit déclencher une modification du Schéma conceptuel entraînant la modification de la structure de la B.D. 20

Étape de conception La conception d une B.D relationnelle consiste à donner une perception tabulaire d un univers réel : traduire le monde réel en terme de tables (relations) représentant ses entités ainsi que les liens pouvant exister entre elles, PHENOMENES REELS OBSERVES ANALYSE Enumérer : Les entités Les associations Les attributs SCHEMA DESCRIPTIF Comment représenter? NORMALISATION SCHEMA CONCEPTUEL Déterminer la structure adéquate des relations Exemple : Étude des commandes Univers du discours : Un client commande un certain nombre d articles qui seront livrés à son adresse. Une commande indique le numéro du client, son nom, la date de la commande et, par article commandé, son numéro, sa désignation, son prix unitaire et la quantité commandée. Comme les clients et les articles, chaque commande est identifiée par un numéro de commande, 21

Analyse du réel : Inventaire des entités, relations et attributs : Entités Relations (associations) Attributs (Dictionnaire de Données) Client Article Commander Numclient Nom Adresse Datecom Numarticle Désignation Prixunit Qtécom Numcom Synthèse de l analyse : client numclient nom Adresse Commander Numcom Datecom qtécom article Numarticle Désignation prixunit Schéma descriptif : Client = (numclient, nom, adresse) Article = (numarticle, désignation, prixunit) Commande = (numclient, numarticle, numcom, datecom, qtécom) Normalisation : Il faut passer ensuite par une phase de normalisation pour obtenir un schéma conceptuel bien conçu. 22

III. DIFFICULTE D UNE MAUVAISE CONCEPTION Une mauvaise conception d une B.D peut entraîner : La répétition des informations L inaptitude à la représentation de certaines informations La perte d informations. Répétition des informations : Exemple : Emprunt = (agence, avoir, ville, prêt, client, montant) Agence Avoir Ville Prêt Client Montant B. Med. V MURSULTAN ZERKTOUNI My. YOUSSEF B. Med V ZERKTOUNI 900 000 500 000 300 000 350 000 900 000 300 000 CASA CASA CASA FES CASA CASA 17 53 15 14 17 12 Mr. ALAMI BADIDI TRIKI RADI Mme. ALAMI TAHRI 50 000 20 000 15 000 05 000 50 000 15 000 Pour ajouter un prêt : (zerktouni, 31,HAMMADI, 10 000) Il faut insérer : (zerktouni, 300 000, CASA, 31, HAMMADI, 10 000) La répétition des attributs : avoir, ville entraînera : Gaspillage d espace disque Complication des MAJ due à la redondance : - Multiplication des modifications en cas de changement, - Incohérence de la B.D en cas d oubli 23

Inaptitude à la représentation des informations : Crédit = (agence, prêt, client, montant), Dépôt =(agence, compte, client, position), prêt est un identifiant. compte est un identifiant. En combinant crédit et dépôt en une seule table C_D : C_D =(agence, prêt montant, compte, position, client) Dans la mesure où le prêt doit être un identifiant, C_D ne peut représenter un client ayant un compte dans une agence sans y amortir un prêt, Perte d informations : Dans la relation Emprunt : Agence Avoir Ville Prêt Client Montant B. Med. V MURSULTAN ZERKTOUNI My. YOUSSEF B. Med V 900 000 500 000 300 000 350 000 900 000 CASA CASA CASA FES CASA 17 53 15 14 17 Mr. ALAMI BADIDI TRIKI RADI Mme. ALAMI 50 000 20 000 15 000 05 000 50 000 La suppression des prêts d une agence entraîne la perte des informations relatives à cette agence. 24

IV. NORMALISATION Problème : Etant donné un ensemble d informations à représenter dans une B.D : Comment déterminer la structure logique adéquate de ces données? Quelles seront les relations et quels attributs vont elles avoir? Normaliser : Créer des schéma relationnels sans redondances inutiles, répondant à un standard : «forme normale». Besoin : Informations complémentaires sur l univers modélisé par la B.D : contraintes de dépendance de données : «dépendances fonctionnelle». Dépendance fonctionnelle : X et Y deux ( ou plusieurs) attributs de la B.D. X Y : Y dépend fonctionnellement de X La connaissance de la valeur de x entraîne la connaissance de la valeur de Y. X détermine Y. Pour une valeur de X, il existe une et une seule valeur de Y. Exemple : Agence Ville Prêt Montant Id_article désignation (Numcom, NumLigne) Idarticle 25

Formes normales : Première forme normale (1NF) : Domaine atomique : Ses éléments sont indivisibles ( une seule valeur). Exemple : l ensemble des entiers est atomique, Un schéma R est en 1NF Si et seulement si les domaines de tous ses attributs sont atomiques Exemple : Clientèle = (IdClient, nom, adresse, tel) IdClient Nom Adresse Tel 100 Triki 2, rue zerhoune rabat 776532 101 Alami 5, rue oujda rabat 756434 102 Badidi 70, rue sebou casa 346754 Adresse comporte 2 valeurs : adresse et ville, d où : Clientèle = (IdClient, nom, adresse, ville, tel ) est en 1NF IdClient Nom Adresse Ville Tel 100 101 102 Triki Alami Badidi 2, rue zerhoune 5, rue oujda 70, rue sebou Rabat Rabat Casa 776532 756434 346754 26

Deuxième Forme Normale (2FN) : Un schéma R est en 2FN : Si et seulement si Tout attribut de R, n appartenant pas à la clé primaire, est en dépendance fonctionnelle totale de la clé primaire Exemple : Soit le schéma crédit : Crédit = (agence, prêt, client, montant) Agence Prêt Client Montant B. Med. V MURSULTAN ZERKTOUNI My. YOUSSEF B. Med. V 17 53 15 14 17 Mr. ALAMI BADIDI TRIKI RADI Mme. ALAMI 50 000 20 000 15 000 05 000 50 000 Prêt client n est pas une DF vérifiée sur crédit Répétition des attributs : agence, prêt, et montant. En considérant les DF : Prêt agence Prêt montant Crédit peut être décomposée en : Dossier-crédit = (prêt, agence, montant) Bénificiaire = (prêt, client) 27

Dossier-crédit Bénéficiaire Prêt Agence Montant Prêt Client 17 53 15 14 B. Med. V MURSULTAN ZERKTOUNI My. YOUSSEF 50 000 20 000 15 000 05 000 17 17 53 15 14 Mr. ALAMI Mme. ALAMI BADIDI TRIKI RADI Exemple : Considérons le schéma Dépôt : Dépôt = (agence, compte, client, position) Avec les DF : Compte agence Compte position Compte client n est pas imposée, Dépôt peut être décomposé en : Dossier_compte = (compte, agence, position) Déposant = (compte, client) 28

Troisième forme normale (3NF) : Un schéma R est en 3NF ssi R est en 2NF, Aucun attribut ne dépend transitivement de la clé primaire, (tout attribut de R, n appartenant pas à la clé, ne dépend que de la clé), NumClient NumFacture NumFacture NumClient NumFacture NomClient => pas de DF => DF direct => DF indirect En effet : NumFacture NumClient NomClient => DF par transitivité. Donc pour : R = (NumFacture, DateFacture, TotalFacture, NumClient, NomClient) La clé est NumFacture. R est en 2NF. La solution en 3NF : R1 = (NumFacture, DateFacture, TotalFacture, NumClient) R2 = (NumClient, NomClient) Conclusion : Les objectifs à atteindre lors de l élaboration d une B.D sont : Eviter la redondance (sauf si nécessaire pour assurer la jointure), Ne pas perdre l information, Respecter les règles de gestion du système. - Ces contraintes sont obtenues en respectant la 3NF lors de l élaboration de la B.D. - La représentation des attributs dans un MCD normalisé (respectant les 3FN) est un passage de conception vivement recommandé avant d élaborer le modèle logique de données (MLD) de la B.D. conçue. 29

Modèle Conceptuel de Données de l'exemple "Étude des commandes" Commande Numcom Datecom 1, N Command er 0, N Article Numarticle Désignation prixunit 1, 1 DF 0, N Client numclient nom Adresse 30

V. PASSAGE DU MCD AU MLD La normalisation permet d obtenir un MCD respectant les trois formes normales. Le passage d un MCD normalisé à un MLD reflétant la structure d une base de données bien conçue doit respecter les règles suivantes : Toute entité forte est transformée en une table ayant la même clé que celle de cette entité, Toute entité faible est transformée en une table ayant pour clé son discriminant ajouté à la clé de l entité forte dont elle dépend, Toute relation «n-n» (ayant pour cardinalités maximales «n» avec les différentes entités) est transformée en une table ayant pour clé le groupe d attributs formé des différentes clés des entités associées par cette relation, Toute DF entre deux entités (cardinalité maximale égale 1) est transformée par l ajout de la clé de l entité dépendante à l ensemble des attributs de la table correspondante à l entité dont la première entité dépend. L attribut ajouté est dit clé étrangère au niveau de cette dernière table. 31

Exemple : Modèle Logique de Données de l'exemple "Étude des commandes" Table Client Table Article Table Commande Table Commander Clé Nom # NUMCLIENT NOM ADRESSE Clé Nom # NUMARTICL E DESIGNATIO N PRIXUNIT Clé Nom # NUMCOM DATECOM NUMCLIENT Clé Nom # NUMCOM # NUMARTICL E QTECOM 32