Création d'une application de gestion de base de données relationnelle Michel MATTIUZZI – FAC...

25
Création d'une application de gestion de base de données relationnelle Michel MATTIUZZI – FAC Micro Consultant – Formateur Microsoft Office Specialist Master Instructor Enseignant à Aix Marseille Université

Transcript of Création d'une application de gestion de base de données relationnelle Michel MATTIUZZI – FAC...

Page 1: Création d'une application de gestion de base de données relationnelle Michel MATTIUZZI – FAC Micro Consultant – Formateur Microsoft Office Specialist.

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é

Page 2: Création d'une application de gestion de base de données relationnelle Michel MATTIUZZI – FAC Micro Consultant – Formateur Microsoft Office Specialist.

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

Page 3: Création d'une application de gestion de base de données relationnelle Michel MATTIUZZI – FAC Micro Consultant – Formateur Microsoft Office Specialist.

É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

Page 4: Création d'une application de gestion de base de données relationnelle Michel MATTIUZZI – FAC Micro Consultant – Formateur Microsoft Office Specialist.

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

Page 5: Création d'une application de gestion de base de données relationnelle Michel MATTIUZZI – FAC Micro Consultant – Formateur Microsoft Office Specialist.

Niveau conceptuel

Le modèle Entité/Association

8/24/20125 Réalisation : Michel Mattiuzzi - FAC Micro

Page 6: Création d'une application de gestion de base de données relationnelle Michel MATTIUZZI – FAC Micro Consultant – Formateur Microsoft Office Specialist.

On établit à ce niveau : Le Modèle Conceptuel de Données

(MCD)

8/24/20126 Réalisation : Michel Mattiuzzi - FAC Micro

Page 7: Création d'une application de gestion de base de données relationnelle Michel MATTIUZZI – FAC Micro Consultant – Formateur Microsoft Office Specialist.

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

Page 8: Création d'une application de gestion de base de données relationnelle Michel MATTIUZZI – FAC Micro Consultant – Formateur Microsoft Office Specialist.

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

Page 9: Création d'une application de gestion de base de données relationnelle Michel MATTIUZZI – FAC Micro Consultant – Formateur Microsoft Office Specialist.

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

Page 10: Création d'une application de gestion de base de données relationnelle Michel MATTIUZZI – FAC Micro Consultant – Formateur Microsoft Office Specialist.

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…

Page 11: Création d'une application de gestion de base de données relationnelle Michel MATTIUZZI – FAC Micro Consultant – Formateur Microsoft Office Specialist.

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é

Page 12: Création d'une application de gestion de base de données relationnelle Michel MATTIUZZI – FAC Micro Consultant – Formateur Microsoft Office Specialist.

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

Page 13: Création d'une application de gestion de base de données relationnelle Michel MATTIUZZI – FAC Micro Consultant – Formateur Microsoft Office Specialist.

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

Page 14: Création d'une application de gestion de base de données relationnelle Michel MATTIUZZI – FAC Micro Consultant – Formateur Microsoft Office Specialist.

NORMALISATION

8/24/2012Réalisation : Michel Mattiuzzi - FAC Micro14

Page 15: Création d'une application de gestion de base de données relationnelle Michel MATTIUZZI – FAC Micro Consultant – Formateur Microsoft Office Specialist.

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

Page 16: Création d'une application de gestion de base de données relationnelle Michel MATTIUZZI – FAC Micro Consultant – Formateur Microsoft Office Specialist.

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

Page 17: Création d'une application de gestion de base de données relationnelle Michel MATTIUZZI – FAC Micro Consultant – Formateur Microsoft Office Specialist.

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

Page 18: Création d'une application de gestion de base de données relationnelle Michel MATTIUZZI – FAC Micro Consultant – Formateur Microsoft Office Specialist.

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

Page 19: Création d'une application de gestion de base de données relationnelle Michel MATTIUZZI – FAC Micro Consultant – Formateur Microsoft Office Specialist.

Niveau Logique

Le modèle Entité/Association

8/24/201219 Réalisation : Michel Mattiuzzi - FAC Micro

Page 20: Création d'une application de gestion de base de données relationnelle Michel MATTIUZZI – FAC Micro Consultant – Formateur Microsoft Office Specialist.

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

Page 21: Création d'une application de gestion de base de données relationnelle Michel MATTIUZZI – FAC Micro Consultant – Formateur Microsoft Office Specialist.

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

Page 22: Création d'une application de gestion de base de données relationnelle Michel MATTIUZZI – FAC Micro Consultant – Formateur Microsoft Office Specialist.

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)

Page 23: Création d'une application de gestion de base de données relationnelle Michel MATTIUZZI – FAC Micro Consultant – Formateur Microsoft Office Specialist.

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)

Page 24: Création d'une application de gestion de base de données relationnelle Michel MATTIUZZI – FAC Micro Consultant – Formateur Microsoft Office Specialist.

Niveau Physique

Le modèle Entité/Association

8/24/201224 Réalisation : Michel Mattiuzzi - FAC Micro

Page 25: Création d'une application de gestion de base de données relationnelle Michel MATTIUZZI – FAC Micro Consultant – Formateur Microsoft Office Specialist.

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