création d'une application de gestion de base de données relationnelle michel mattiuzzi –...
TRANSCRIPT
Création d'une application de gestion de base de données relationnelle
Michel MATTIUZZI – FAC MicroConsultant – FormateurMicrosoft Office Specialist Master InstructorEnseignant à Aix Marseille Université
Définitions
Une base de données est un ensemble
d'informations stocké par un ordinateur
selon un structure définie (BD)
Un système de gestion de bases de
données est un ensemble d'outils logiciels
qui permet la manipulation de BD (SGBD)
8/24/20122 Réalisation : Michel Mattiuzzi - FAC Micro
Énoncé du problème
La société LES COMPTOIRS DU SUD commercialise des produits alimentaires. Ses clients sont des entreprises de commerce alimentaire et sont situés dans divers pays du monde. Cette société (fictive) souhaite informatiser la gestion de ses produits et de ses clients et de ses commandes à l'aide d'un Système de Gestion de Bases de Données Relationnelles. Elle fournit les documents et les règles issus de la gestion actuelle.
Le discours
Les clients de la société ont effectué au moins une commande
Il faut différencier le prix de vente du prix catalogue
Les produits sont classés par catégorie
Etc…
8/24/20123 Réalisation : Michel Mattiuzzi - FAC Micro
Réalisation : Michel Mattiuzzi - FAC Micro4 8/24/2012
FICHE CLIENT
Code client : COMVANom : Spécialités du sud Adresse :25, impasse du Renard
84300 Orange
FICHE PRODUIT
Référence : 26Désignation : Tarte aux pommesQuantité par unité : 1 tartePrix Unitaire : 4,20 €
CATEGORIE : DessertPâtisseries, friandises, glaces…
BON DE COMMANDE
N° Commande : 20758 Date : 12/05/2002
Code client: CAVINLa Cave à Vin
122, route du Ventoux84000 Avignon
Ref Désignation Unité Qté PU Total
1826
CamembertTarte aux pommes
1 boîte1 tarte
2010
3,00 €4,00 €
60,00 €40,00 €
Total HT 100,00 €
TVA 19,60 €
Total TTC 119,60 €
LES DOCUMENTS ACTUELS
Niveau conceptuel
Le modèle Entité/Association
8/24/20125 Réalisation : Michel Mattiuzzi - FAC Micro
On établit à ce niveau : Le Modèle Conceptuel de Données
(MCD)
8/24/20126 Réalisation : Michel Mattiuzzi - FAC Micro
Réalisation : Michel Mattiuzzi - FAC Micro7
1ère étape : Identification des entités
8/24/2012
COMMANDECLIENT PRODUIT
DéfinitionUne entité est un objet, une chose concrète ou abstraite qui peut être reconnue distinctementExemples d'entités : Client, Produit, Salarié, Livre, Film…
Après consultation des documents existants et des renseignement oraux obtenus, se déssinent 3 entités candidates
2ème étape : les propriétés
Chaque entité est complétée par ses propriétés
DéfinitionUne propriété (ou attribut ) est une caractéristique associée à une entité
•Exemples d'attribut : l'âge d'une personne, le code d'un fournisseur, le numéro d'un produit…
CLIENT
CodeClientNomclientAdresseClientCodePostalClientVilleClient
PRODUIT
RefproduitDésignationUnité QtéPrixVentePrixUnitaireCatégorieDescriptionIllustration
COMMANDE
N°commandeDate commande
TotalLigneTotalHTTVATotalTTC
8/24/20128 Réalisation : Michel Mattiuzzi - FAC Micro
3ème étape :Définir les identifiants
DéfinitionUn identifiant d'une entité est constitué par un de ses attributs qui doit avoir une valeur unique pour chaque occurrence de l’entité.Exemples d'identifiant : le numéro d'immatriculation d'une voiture, le code-barre d'un produit…
On souligne la propriété qui servira d'identifiant pour chaque occurrence de l'entité
CLIENT
CodeClientNomclientAdresseClientCodePostalClientVilleClient
PRODUIT
RefproduitDésignationUnité QtéPrixVentePrixUnitaireCatégorieDescriptionIllustration
COMMANDE
N°commandeDate commande TotalLigneTotalHTTVATotalTTC
8/24/20129 Réalisation : Michel Mattiuzzi - FAC Micro
Réalisation : Michel Mattiuzzi - FAC Micro10
4ème étape :Associer les entités
8/24/2012
COMMANDE
N° commandeDate commande TotalLigneTotalHTTVATotalTTC
PRODUIT
Code produitDésignationUnité QtéPrixVentePrixUnitaireCatégorieDescriptionIllustration
CLIENT
CodeClientNomclientAdresseClientCodePostalClientVilleClient
passer contenir
DéfinitionUne association est un lien entre plusieurs entités.Les associations portent un verbe (de préférence lisible à la voix active et à la voix passive) caractérisant au mieux la relation.
•Exemples d'association : le mariage de deux personnes, le transport d'un produit vers un entrepôt, l'affectation d'un employé à un service…
Réalisation : Michel Mattiuzzi - FAC Micro11
5ème étape : étude des cardinalités
8/24/2012
Association
s
Entités Règles de gestion Cardinalité
Client Un client passe au minimum 1 commande
Un client passe au maximum plusieurs commandesCommande Une commande est passée par au minimum 1 client
Une commande est passée par au maximum 1 clientCommande Une Cde contient au minimum 1 produit
au maximum plusieurs produitsProduit Un produit est contenu au minimum dans 0 Cde
au maximum dans plusieurs Cdes
Passer
Contenir
1,n
1,1
1,n
0,n
DéfinitionUne cardinalité, dans une association, exprime le nombre de participations possibles d'une occurrence de chaque entité à l'association. Ce nombre étant variable, on note la cardinalité minimum et la cardinalité maximum. Comme il y a deux entités (au moins) associées, la cardinalité est précisée pour chaque entité
Réalisation : Michel Mattiuzzi - FAC Micro12
Placement des cardinalités
8/24/2012
COMMANDE
N° commandeDate commande TotalLigneTotalHTTVATotalTTC
PRODUIT
Code produitDésignationUnité QtéPrixVentePrixUnitaireCatégorieDescriptionIllustration
CLIENT
CodeClientNomclientAdresseClientCodePostalClientVilleClient
passer contenir
1,n 1,1 1,n 0,n
Réalisation : Michel Mattiuzzi - FAC Micro13
contenir
Utilisation des symboles corrects
8/24/2012
COMMANDE
N° commandeDate commande TotalLigneTotalHTTVATotalTTC
PRODUIT
Code produitDésignationUnité QtéPrixVentePrixUnitaireCatégorieDescriptionIllustration
CLIENT
CodeClientNomclientAdresseClientCodePostalClientVilleClient
1,n 1,1 1,n 0,n
Verbe non obligatoire dans le rond
On obtient un Modèle Conceptuel de Données (MCD) que l'on va vérifier au moyen des règles de normalisation
NORMALISATION
8/24/2012Réalisation : Michel Mattiuzzi - FAC Micro14
Réalisation : Michel Mattiuzzi - FAC Micro15
Première forme normale
8/24/2012
Dans une entité, toutes les propriétés sont élémentaires (une propriété calculée n'est pas élémentaire)
Il existe au moins une un identifiant caractérisant chaque occurrence de l’objet représenté.
COMMANDE
N°commandeDate commande TotalLigneTotalHTTVATotalTTC
Réalisation : Michel Mattiuzzi - FAC Micro16
Contenir
QtéPrixVente
Deuxième forme normale
8/24/2012
L’entité doit être en 1NF
Toute propriété d’une entité doit dépendre de la clé par une DF élémentaire. C’est à dire que toute propriété de l ’entité doit dépendre de tout l’identifiant.
Dans la table "Produits" la Qté vendue ne dépend pas seulement du code produit mais aussi du "N° commande" la Qté va figurer dans l'association
COMMANDEN° commandeDate commande
PRODUITCode produitDésignationUnitéPrixUnitaireCatégorieDescriptionIllustration
1,N 0,N
Réalisation : Michel Mattiuzzi - FAC Micro17
Troisième forme normale
8/24/2012
L’entité doit être en 2NF
Toute propriété doit dépendre de la clé par une DF élémentaire directe (on élimine les dépendances issues de la transitivité).
Ce cas se présente dans l'entité "Produits"
PRODUIT
Code produitDésignationUnitéPrixUnitaire
CATEGORIE
Code catégorieCatégorieDescriptionIllustration
1,1
1,N
PRODUIT
Code produitDésignationUnitéPrixUnitaireCatégorieDescriptionIllustration
Réalisation : Michel Mattiuzzi - FAC Micro18
ContenirQtéPrixVente
Le Modèle Conceptuel de Données (MCD)
8/24/2012
COMMANDE
N° commandeDate commande
PRODUIT
Code produitDésignationUnitéPrixUnitaire
1,n
0,n
CATEGORIE
Code catégorieCatégorieDescriptionIllustration
1,1 1,NCLIENT
CodeClientNomclientAdresseClientCode postalClientVilleClient 1,1
1,n
Niveau Logique
Le modèle Entité/Association
8/24/201219 Réalisation : Michel Mattiuzzi - FAC Micro
La création d’une base de données relationnelle implique que l’on passe du niveau conceptuel au niveau logique.
Les entités et les associations doivent être traduites sous forme de relations (tables) : le modèle logique ou schéma relationnel.
8/24/201220 Réalisation : Michel Mattiuzzi - FAC Micro
Traduction des associations de cardinalités( ,1) vers ( ,N)
C’est le cas le plus simple :
Chaque entité devient une relation (table).
L'identifiant de l’entité située sur la patte ( ,N) de l’association migre dans la relation (table) correspondant à l’entité côté ( ,1).
Code client est la clé d’une autre relation (table) : c’est une clé étrangère.
Client (code client, Nomclient, AdresseClient, CodepostalClient, VilleClient)
Commande (n° commande, Date commande, #CodeClient)Produits (Code produit, Désignation, Unité, Prix catalogue, #Code
catégorie)
Client
Code client….
Commande
N°Commande….
-,n -,1Produit
Code produitDésignationUnitéPrixUnitaire
1,nCatégorie
Code catégorieCatégorieDescriptionIllustration
1,1
8/24/201221 Réalisation : Michel Mattiuzzi - FAC Micro
Réalisation : Michel Mattiuzzi - FAC Micro22
Traduction des associations de cardinalités ( ,N) vers ( ,N)
8/24/2012
La règle est de constituer une relation (table) avec les identifiants des entités associées (qui constituent la clé primaire de la table)la relation (table) créée se voit adjoindre les propriétés portées par l’association comme attributs supplémentaires. Ces attributs ne font pas partie de la clé.
COMMANDE
N° Commande
PRODUIT
Code produit
Contenir
QtéPrixVente
0,n 1,n
Contenir (#N°Commande, #CodeProduit, Qté, Prixvente)
Réalisation : Michel Mattiuzzi - FAC Micro23
Le Schéma Relationnel final
8/24/2012
Client(codeclient, Nomclient, AdresseClient, CodepostalClient, VilleClient)
Produit (Code produit, Désignation, Unité, Prix catalogue, #Code catégorie)
Catégorie( Code catégorie, Catégorie, Description, Illustration) Commande (N° commande, Date commande, #CodeClient)
Contenir (#N°Commande, #CodeProduit, Qté, Prix vente)
Niveau Physique
Le modèle Entité/Association
8/24/201224 Réalisation : Michel Mattiuzzi - FAC Micro
Access
Déclaration de la base de données Création des tables à partir des relations
précédentes Mise en relation des tables
Utilisation d'un système de gestion de base de données relationnelle pour créer physiquement l'application
8/24/201225 Réalisation : Michel Mattiuzzi - FAC Micro