s.g.b.d -...
TRANSCRIPT
S.G.B.D.RS.G.B.D.R
Système de Gestion de Bases de Données Relationnel
analyse/mysql/phpanalyse/mysql/php
Mise en situationMise en situation
Quand mettre en place un SGBDRbeaucoup de données à traiterbeaucoup de données à traiter
des données souvent mises à jourdes données souvent mises à jour
Exemple de SGBDRcatalogue de produitscatalogue de produits
gestion de personnelsgestion de personnels
gestion de documentsgestion de documents
......
Les plate-formes de SGBDR• mono poste, client/serveur , interfacé web (client légé)mono poste, client/serveur , interfacé web (client légé)
Les systèmes de sgbdrLes systèmes de sgbdr
les applications:Access, SyBase, Informix, Dbase, Oracle, Foxpro, Paradox, Access, SyBase, Informix, Dbase, Oracle, Foxpro, Paradox,
Interbase, SQLServer de Microsoft, PostGrepSQL,MySQL ... Interbase, SQLServer de Microsoft, PostGrepSQL,MySQL ...
Les 2 languages principalement utilisésSQL: Structured Query Langage (Access, SQLServer, MySQL,...)SQL: Structured Query Langage (Access, SQLServer, MySQL,...)QBE: Query By Exemple (Paradox)QBE: Query By Exemple (Paradox)
Les 2 types de fonctionnementMode monoposte (éventuellement avec gestion de fichiers Mode monoposte (éventuellement avec gestion de fichiers
partagés)partagés)• Access, Foxpro, Dbase...
Mode client serveurMode client serveur• Oracle, SQLserver,PostGrepSQL, MySQL ...(2 types de clients: client propriétaire ou client léger)
ProblematiqueProblematique
mise place d'un systeme d'information:beaucoup d'information -> nécessité de structurer ces informations beaucoup d'information -> nécessité de structurer ces informations
de façon rigoureuse.de façon rigoureuse.
Solutionutiliser une méthode rigoureuse d'analyseutiliser une méthode rigoureuse d'analyse
Choix: méthode « Merise » (ou dérivées)
création de la base sur un système de gestion de base de données création de la base sur un système de gestion de base de données
interfacage webinterfacage web
Plannification d'une mise en Plannification d'une mise en oeuvreoeuvre
Analyser et structurer les donnéesutiliser la méthode Merise (analyse « papier »)utiliser la méthode Merise (analyse « papier »)
Mise en oeuvre du SGBDRutiliser une plate-forme spécialisée (ex: MySQL)utiliser une plate-forme spécialisée (ex: MySQL)
Interfacer le SGBDR pour les usagés non spécialisé.Utiliser un langage spécialisé (ex: PHP)Utiliser un langage spécialisé (ex: PHP)
La méthode MersiseLa méthode Mersise
Les 3 grandes étapes de la méthodeLe dictionnaire des donnéesLe dictionnaire des données
• c'est un document qui répertorie toutes les données sous forme de tableau synthétique.
Le MCD (Modèle Conceptuel des Données)Le MCD (Modèle Conceptuel des Données)
• C'est une représentation graphique des données, de leur regroupement et des relations entre elles
Le MLD (Modèle Logique des Données)Le MLD (Modèle Logique des Données)
• C'est une représentation textuelle (ou éventuellement graphique) directement « implémentable sur une plate-forme SGBDR.
La méthode MersiseLa méthode Mersise
Merise par l'exemple......
La méthode MersiseLa méthode Mersise
Résumé sur le dictionnaire des donnéesIl ne faut pas faire figurer dans un dictionnaire des données :
• les synonymes : lieu-mg et nom-mg désigneraient la même chose ;● les polysèmes : ils font correspondre à un même code plusieurs données (le
code « nom » ne peut désigner à la fois le nom du fournisseur et celui du magasin) ;
● les propriétés calculées (le prix de vente TTC) ;● les paramètres : il s’agit d’informations qui a un moment donné prennent
au plus une seule valeur (le taux de TVA, le taux de marge).
Nom desdonnées
Signification Type (1) Nature (2)
nom-mg Emplacement d’unmagasin
AN(30) E
surf-mg Surface magasin N(int) E
La méthode MersiseLa méthode Mersise
Réaliser le MCD directement à partir du dictionnaireAvantages / inconvénients...Avantages / inconvénients...
articles2
TroyesVente100
Vélo MX 200015
NikouSens300
articles2
100Vélo MX 2000
15
Sens300
TroyesVente
Nikou
velo
articles1
100
30
Troyes32
TroyesVente
Casquette Toptop
Bigfour
vetement
articles
nom-mgsurf-mg
nom-fourville-four
ref-art
desi-artqte-stock
puaht-artLib-cat
EntitéidentifiantPropriété
occurences
La méthode MersiseLa méthode Mersise
MCD selon merise (ex utilisation matrice des dépendances fonctionnelles ou couverture minimale)
articlesref-art
desi-artQte-stock
puaht-art
fournisseurs
nom-fourville-four
magasins
nom-mgsurf-mg
nom-fourville-four
ref-art
desi-artqte-stock
puaht-art
magasins
nom-mgsurf-mg
categories
Lib-cat
La méthode MersiseLa méthode Mersise
MCD partiel selon merise ex utilisation matrice des dépendances fonctionnelles pour définir les ex utilisation matrice des dépendances fonctionnelles pour définir les
regroupements par entitéregroupements par entité
articlesref-art
desi-artQte-stock
puaht-art
fournisseurscode-four
nom-fourville-four
magasins
nom-mgsurf-mg
Code-mag
categoriesCode-cat
Lib-cat
La méthode MersiseLa méthode Mersise
Rétour sur le dictionnaire (Résumé)Nom desdonnées
Signification Type (1) Nature (2)
nom-mg Emplacement d’unmagasin
AN(30) E
surf-mg Surface magasin N(int) Eref-art Référence article N(int) Ecode-mg Code magasin N(int) Edesi-art Désignation article AN(50) Eqte-stock Quantité en stock
d’un articleN(int) E
code-four Code du fournisseur N(int) Enom-four Nom du fournisseur AN(30) Eville-four Ville du fournisseur AN(20) Epuaht-art Prix d’achat HT de
l’articleN(float) E
code-cat Code de la catégorie N(int) Elib-cat Libellé de la catégorie AN(20) E
appartenir
fournirdisposer
La méthode MersiseLa méthode Mersise
MCD avec les associations
articlesref-art
desi-artQte-stock
puaht-art
fournisseurscode-four
nom-fourville-four
magasins
nom-mgsurf-mg
Code-mag
categoriesCode-cat
Lib-cat
appartenir
fournirdisposer
La méthode MersiseLa méthode Mersise
MCD complet (avec ses cardinalités)
articlesref-art
desi-artQte-stock
puaht-art
fournisseurscode-four
nom-fourville-four
magasins
nom-mgsurf-mg
Code-mag
categoriesCode-cat
Lib-cat0,n 1,1 1,1 0,n
1,1 0,n
La méthode MersiseLa méthode Mersise
Résumé sur le MCD• regrouper dans des regrouper dans des entitésentités , les , les propriétéspropriétés « derrière » un « derrière » un
identifiantidentifiant unique unique
• relier les entités par des relier les entités par des associationsassociations
• définir les définir les cardinalitéscardinalités autour de chaque autour de chaque associationassociation
La méthode MersiseLa méthode Mersise
Passage au MLD3 régles à respecter:3 régles à respecter:
• Pour chaque entité, créer une table avec tous les champs (propriétés) de l'entité.
• Pour chaque association de type x,n <=> y,1 (association fonctionnelle)
ajouter la clé primaire (identifiant) de la table en x,n dans la table en y,1. Cela deviendra une clé étrangère (notée avec un #)
• Pour chaque association de type x,n <=> y,n (association non fonctionnelle)... (pas de cas ici, nous verrons plus tard...)
La méthode MersiseLa méthode Mersise
Résumé sur le MLDRegle 1:Regle 1:
• Fournisseurs( Fournisseurs( code-fourcode-four , nom_four , ville_four ... , nom_four , ville_four ...
• Articles( Articles( ref-artref-art , desi-art , puht-art , qte-stock ..., desi-art , puht-art , qte-stock ...
• Magasins( Magasins( code-mgcode-mg , nom-mg , surf-mg ... , nom-mg , surf-mg ...
• Categories( code-cat , lib-cat ...Categories( code-cat , lib-cat ...
Regle 2:Regle 2:Fournisseurs( Fournisseurs( code-fourcode-four , nom_four , ville_four ) , nom_four , ville_four )
Articles( Articles( ref-artref-art , desi-art , puht-art , qte-stock , , desi-art , puht-art , qte-stock , code-four#code-four#, , code-mg#code-mg# , , code-cat#code-cat# ) )
Magasins( Magasins( code-mgcode-mg , nom-mg , surf-mg ) , nom-mg , surf-mg )
Categories( code-cat , lib-cat )Categories( code-cat , lib-cat )
La méthode MersiseLa méthode Mersise
Exemple 2:(avec association non fonctionnelle) •