Académique Documents
Professionnel Documents
Culture Documents
Bruno Lemaire
MSI HEC2008-2009
Avantages des BD
Unicit de l information (Intgrit) Outils standard (Interrogations, mise jour) Indpendance donnes / programmes Vues lies aux utilisateurs/programmes
Bruno Lemaire
MSI HEC2008-2009
Bruno Lemaire
MSI HEC2008-2009
Bruno Lemaire
MSI HEC2008-2009
La mthode
Bases de donnes relationnelles
Bruno Lemaire
MSI HEC2008-2009
Le premier niveau se veut indpendant de toute solution informatique, et peut (ou devrait)
servir de langage commun entre utilisateurs et informaticiens
6
Bruno Lemaire
MSI HEC2008-2009
Analyse
Conception
Spcifique un SGBD
Conception physique
Bruno Lemaire
MSI HEC2008-2009
Est prt
Bruno Lemaire
MSI HEC2008-2009
10
des relations (associations) entre ces entits, caractrises par des cardinalits : ainsi, un produit est command auprs dun ou plusieurs fournisseurs Cet ensemble E/A (avec les cardinalits associes) forme le MCD
Bruno Lemaire
MSI HEC2008-2009
Bruno Lemaire
MSI HEC2008-2009
12
Entit
Association 1,n Cardinalits
Fournisseur
1,1 appartient
Produit
1,n
Client
concerne 1,n passe 1,1
Catgorie
Commande
1,1
Employ (reprsentant)
1,n
livre
1,n
Messager
Base de donnes commerciale: suivi des produits, achats, ventes MSI HEC2008-2009 Bruno Lemaire
13
1,1 Livre
Employs N employ Nom Prnom Fonction Titre de courtoisie Date de naissance Date d'embauche Adresse Ville Rgion Code postal Pays Tl domicile Extension Photo Notes Rend compte
0,n
Bruno Lemaire
MSI HEC2008-2009
14
N messager = N messager
Commandes N commande Counter Code client Text(5) N employ LongInteger Date commande DateTime livrer avant DateTime Date envoi DateTime N messager LongInteger Port Currency Destinataire Text(40) Adresse livraison Text(60) Ville livraison Text(15) Rgion livraison Text(15) Code postal livraison Text(10) Pays livraison Text(15)
N employ = N employ
Produits Rf produit Nom du produit N fournisseur Code catgorie Quantit par unit Prix unitaire Units en stock Units commandes Niveau de rapprovisionnement Indisponible
Counter Text(40) LongInteger LongInteger Text(30) Currency Integer Integer Integer YesNo
Employs N employ Nom Prnom Fonction Titre de courtoisie Date de naissance Date d'embauche Adresse Ville Rgion Code postal Pays Tl domicile Extension Photo Notes Rend compte Counter Text(20) Text(10) Text(30) Text(25) DateTime DateTime Text(60) Text(15) Text(15) Text(10) Text(15) Text(24) Text(4) OLE Memo LongInteger
N commande = N commande
Dtails commandes N commande LongInteger Rf produit LongInteger Prix unitaire Currency Quantit Integer Remise (%) Single
Fournisseurs N fournisseur Counter Socit Text(40) Contact Text(30) Fonction Text(40) Adresse Text(60) Ville Text(15) Rgion Text(15) Code postal Text(10) Pays Text(15) Tlphone Text(24) Fax Text(24) Page d'accueil Memo
Bruno Lemaire
MSI HEC2008-2009
15
Tables
Pointeurs (liens)
Bruno Lemaire
MSI HEC2008-2009
16
Question(s): Quid du volume et de la redondance des donnes ? (Comment regrouper des informations concernant +ieurs entits ?)
Bruno Lemaire
MSI HEC2008-2009
17
Code_fournisseur
Bruno Lemaire
18
Maintenant: base donnes client Actions Comptecourant Client ... Une seule MaJ des donnes client et gestion globale du client
MSI HEC2008-2009
- fichier compte courant - fichier PEL - fichier actions - Redondances Pas de vision globale Pb de mise jour
Bruno Lemaire
PEL
19
gnre
Droits petit tirage Droits gros tirage (1,1) Montant droits d'auteur
dite
Editeur publie 0,n Rfrence diteur Nom diteur Ville Rgion Vente
Rfrence facture vente 1,1 Date vente Montant vente Termes vente Quantit vente 1,1
est commercialise
a crit 0,n
Auteur
Rfrence auteur Nom auteur Prnom auteur Avance auteur Adresse auteur Ville Rgion Code postal Tlphone auteur
bnficie
1,1
Remise
Rfrence remise Pourcentage remise Type remise Petite commande Grosse commande
0,n
Magasin
Rfrence magasin 0,n Nom magasin Ville Rgion Code postal Adresse magasin MSI HEC2008-2009
vend
Bruno Lemaire
20
10
Bruno Lemaire
MSI HEC2008-2009
21
Bruno Lemaire
MSI HEC2008-2009
22
11
Dfinition du MCD
3. 4. Rgles de conception Rgles de transition (MCD vers MPD)
Bruno Lemaire
MSI HEC2008-2009
23
Etapes prparatoires
1. Identifier les objectifs de la base de donnes (cahier des charges)
QUI va utiliser la base ? Quelle est lORGANISATIONdu service ? Quels RESULTATSconcrets attendez-vous ? (saisies, traitements, ditions, consultations)
Permet de savoir comment sera utilise la base de donnes, d'avoir une ide sur les cls d'accs, les critres de slection et de tri ... Exemple Comptoirs : Objectif : base de donnes commerciale permettant de grer les produits, les fournisseurs, les commandes des clients et les performances des commerciaux. Principaux traitements pour chaque utilisateur : (processus) Commerciaux Responsable commercial Chef de produit Responsable logistique ... Saisie des commandes CA par client. CA par reprsentant. CA par catgorie de produit ... CA par famille et par produit. Etat des prix. Panier moyen Recap transporteur. Commandes en attente de livraison
Bruno Lemaire
MSI HEC2008-2009
24
12
Conception du MCD
3. MCD: rgles de conception - entits
Une entit est constitue de donnes qui se rapportent un mme sujet/concept/objet; elle est caractrise par un identifiant unique (cl) Un attribut doit dpendre directement de l'identifiant de lentit A une valeur de lidentifiant ne doit correspondre quune valeur de lattribut
Bruno Lemaire
MSI HEC2008-2009
25
Conception du MCD
Reprage des identifiants et des attributs
Numro, socit, contact, fonction, ...
fournit
Fournisseur
Est compose
Fait partie
Catgorie
Code, nom, description, photo, ... vend
passe
Commande
N commande, date de commande, date envoi, ...
Client
Employ (reprsentant)
Numro, nom, prnom, fonction, ...
livre
Messager
Numro, nom, tlphone, ...
13
Client 1 2 3 4
Commandes A B C D E
Client 1 2 3 4
Commandes A B C D E
MSI HEC2008-2009
Bruno Lemaire
MSI HEC2008-2009
14
Produit
Est dans Qt
(1,n)
Commande
29
Fournisseur
fournit
Produit
1,1
F
Est compose
1,n
Client multiple
passe
Catgorie
Fait partie
1,n
1,n
P F
vend
1,n 1,1
Commande
1,1
Employ (reprsentant)
F
1,n
1,1 1,n
livre
Messager
P Bruno Lemaire
Simple
MSI HEC2008-2009
P
30
15
Do limportance davoir correctement trait les cardinalits lors de llaboration du modle E.A.
Bruno Lemaire
MSI HEC2008-2009
31
MCD :
Une entit produit : le nom du produit et la quantit en stock sont des attributs de l entit produit, le code-produit est lidentifiant de lentit
Entit Produit
Bruno Lemaire
MSI HEC2008-2009
32
16
Code-produit 1 2 3
Nom-produit X Y Z
Quantit en stock 12 12 13
Bruno Lemaire
MSI HEC2008-2009
33
MCD :
Deux entits : produit et fournisseur , relation simple (un plusieurs), pre: fournisseur-fils: produit Lassociation est fourni VA DISPARAITRE.
Produit Est fourni Fournisseur
1,1
Fils
1,n
Pre MSI HEC2008-2009
Bruno Lemaire
34
17
Fournisseur
Code-fournisseur Nom-fournisseur Adresse-fournisseur Pre
Pour tablir la relation, on recopie dans la table fils la cl primaire de la table pre : Lattribut est Hrit Table Pre
Table Fils
Adresse-fournisseur Rue AAA Rue BBB Rue CCC Rue DDD Rue EEE
MSI HEC2008-2009
Bruno Lemaire
35
MCD :
Deux entits : produit et fournisseur , relation plusieurs plusieurs Lassociation est fourni NE PEUT DISPARAITRE
Produit
1,n
Est fourni
1,n
Fournisseur
Bruno Lemaire
MSI HEC2008-2009
36
18
Produit-Fournisseur
Code-fournisseur Code-produit
Fournisseur
1 Code-fournisseur Nom-fournisseur Adresse-fournisseur
Code-produit 1 2 3
Nom-produit X Y Z
La table intermdiaire a une cl primaire double, constitue de la recopie des deux cls primaires des tables lies
Code-produit 1 2 2 3
Code-fournisseur 12 12 13 13
Codefournisseur 12 13 14 15 16
Adresse-fournisseur Rue AAA Rue BBB Rue CCC Rue DDD Rue EEE
37
En rsum :
Correspondance MCD-Tables Access
On cre une table pour chaque entit du MCD
L'identifiant de l'entit devient la cl primaire de la table correspondante Les attributs de l'entit deviennent les champs de la table correspondante
38
19
Bruno Lemaire
MSI HEC2008-2009
39
km km
(0,n)
Mois
(0,n)
MCD 2
Camion Chauffeur
(0,n)
km
(0,n)
(0,n)
Mois
Question 1: des 2 MCD, lequel est le plus prcis? Question 2: peuvent-ils tre quivalents?
Bruno Lemaire
MSI HEC2008-2009
40
20
Tables relationnelles
(0,n)
Camion Chauffeur
km km
(0,n)
Mois
(0,n) (0,n)
Camion Chauffeur
(0,n) (0,n)
km
(0,n)
Mois
Bruno Lemaire
MSI HEC2008-2009
41
Bruno Lemaire
MSI HEC2008-2009
42
21
Le service des stages dune grande cole de commerce a dcid de mettre en ligne une base de donnes pour aider les tudiants de seconde anne mieux slectionner leur stage de csure parmi les offres disponibles. La base de donnes contient les informations suivantes : Entreprise : chaque entreprise est identifie par son code Siret ; la base contient ladresse de lentreprise, le nom du responsable des stages et des indications diverses (nombre demploys, chiffre daffaires, etc.) Offre de stage : chaque offre de stage est rpertorie par un numro. Elle contient de plus la fonction propose (dix fonctions sont identifies : marketing, finance dentreprise, finance des marchs, contrle, ressources humaines, etc. un stage est class dans une fonction et une seule), la date et la dure du stage, la localisation, lindemnit propose. Une entreprise peut proposer plusieurs stages, dans une ou plusieurs fonctions. Etudiants de seconde anne : tous les tudiants de seconde anne sont enregistrs nominativement dans la base, qui contient leur CV. Opinions des tudiants des annes prcdentes : les tudiants sont invits la fin de leur stage donner leur opinion globalement sur lentreprise sous forme de commentaire. Pour certaines entreprises, on trouve de nombreuses opinions ; quelques unes nont pas ou trs peu dopinions enregistres. Les opinions sont signes par leurs auteurs. Certains tudiants des annes prcdentes ont fait plusieurs stages et exprim plusieurs opinions. Demandes de stages : tout tudiant intress par un stage pourra saisir sa demande pour le stage. A tout moment, on pourra ainsi savoir qui est intress par un stage. Un tudiant peut effectuer plusieurs demandes ; chaque stage peut tre demand par plusieurs tudiants. Obtention de stage : ds que lentreprise a fait son choix, celui-ci est enregistr dans la base. Un tudiant peut obtenir un ou plusieurs stages (sil fait une csure dans deux entreprises) ; un stage ne peut tre obtenu que par un seul tudiant.
MCD
1,n Entreprise
value
1,n
met
1,1 1,n
obtient
1,n
1,1
1,n Fonction
Bruno Lemaire
MSI HEC2008-2009
44
22
Tables Access
Evaluation 1 N siret Adresse Nom resp. 8 N siret N tudiant Evaluation Entreprise 1 8
Demandes Etudiant N tudiant Nom Anne 1 1 8 1 N tudiant N offre date Offre stage 1 N offre date Dure Entreprise Fonction N tudiant 8
Fonction Fonction
8 1
Bruno Lemaire
MSI HEC2008-2009
45
1,n
met
Attributs:
Date demande, Acceptation (o/n)
1,n Fonction
Bruno Lemaire
MSI HEC2008-2009
46
23
Demandes Etudiant N tudiant Nom Anne 1 1 8 1 N tudiant N offre Date Accept Offre stage 1 N offre date Dure Entreprise Fonction 8
Fonction 1 Fonction
Le boolen : Accept (o/n) permet de savoir qui a t attribu le stage Le premier MCD est plus simple et mieux contrl : on voit directement dans la table offre de stage le nom de ltudiant retenu.
Bruno Lemaire
MSI HEC2008-2009
47
Bruno Lemaire
MSI HEC2008-2009
48
24
MCD
1,n 1,n
Produit
1,n
est rfrenc
1,n
Fournisseur
1,n
est stock
1,n
concerne
1,n
est passe
Dpt
est livre
1,n
Commande
1,1
1,1
Tables relationnelles
PRODUIT 1 Code produit Nom produit . 1 1 REFERENCEMENT Code produit Code fournisseur 8 8 FOURNISSEUR 1 DEPOT/PRODUIT Code produit Code dpt 8 DETAIL CDE Code produit N commande Code fournisseur Nom fournisseur Adresse . 1 COMMANDE 1 N commande Date Dpt de livraison Fournisseur
25
Bruno Lemaire
MSI HEC2008-2009
51
Mdicament
Code Libell 0,n
Mdecin
Matricule Nom Mdecin 0,n
Patient Donne
NSS Nom 1,n
Assiste
(1,1) 1,1
Prescription
Nb prises
Consultation
0,n NConsultation Date
Bruno Lemaire
MSI HEC2008-2009
52
26
MEDECIN MEDICAMENT
CODE LIBELLE LongInteger Memo MATRICULE NOM_MEDECIN LongInteger Memo N_SS NOM
PATIENT
LongInteger Memo
N_SS = N_SS
[1,n]
PRESCRIPTION
MATRICULE N_CONSULTATION CODE NB_PRISES LongInteger LongInteger LongInteger Integer
CONSULTATION
MATRICULE N_CONSULTATION N_SS DATE LongInteger LongInteger LongInteger DateTime
Bruno Lemaire
MSI HEC2008-2009
53
Mdecin
Matricule Nom Mdecin 0,n
Patient Donne
NSS Nom 1,n
Assiste
(1,1) 1,1
Prescription
Nb prises
Consultation
0,n NConsultation Date
MEDECIN MEDICAMENT
CODE LIBELLE LongInteger Memo MATRICULE NOM_MEDECIN LongInteger Memo N_SS NOM
PATIENT
LongInteger Memo
N_SS = N_SS
[1,n]
PRESCRIPTION
MATRICULE N_CONSULTATION CODE NB_PRISES LongInteger LongInteger LongInteger Integer
CONSULTATION
MATRICULE N_CONSULTATION N_SS DATE LongInteger LongInteger LongInteger DateTime
Bruno Lemaire
MSI HEC2008-2009
54
27
Mdicament
Code
Libell 0,n
Mdecin
Matricule
Nom Mdecin 0,n
Donne
(1,1)
Une seule consultation par jour, ou du bon choix des cls! (date plus NumPatient)
Prescription
Nb prises
Consultation
0,n Date
NumPatient
[0,n]
[0,n]
[0,n]
Bruno Lemaire
MSI HEC2008-2009
55
Mdecin Gn
1,1
Suivi
0,n
Adresse
1,1
CONSULTATION
1,1 DateC DatePR 1,1
Effectue
SPECIALITE Examine
spec 0,n 0,n
0,n
POLYCLINIQUE
NomP Localit Tlphone 0,n
Medecin Sp Travaille
0,n NumMatrS NomS
0,n
Possde
Bruno Lemaire
MSI HEC2008-2009
56
28
MEDECIN_GEN
NUMMATR NOMG TELEPHONE
[0,n] NUMMATR = NUMMATR SPEC = SPEC [0,n]
SPECIALITE
SPEC Integer
CONSULTATION
NUMDOSSIER NOMP LOCALITE NUMMATRS DATEC DATEPR LongInteger Memo Memo LongInteger DateTime DateTime
POSSEDE
NUMMATRS SPEC LongInteger Integer
MEDECIN_SPE POLYCLINIQUE
NOMP LOCALITE TELEPHONE Memo Memo Memo
NOMP = NOMP LOCALITE = LOCALITE [0,n]
NUMMATRS NOMS
NUMMATRS = NUMMATRS [0,n]
LongInteger Memo
TRAVAILLE
NUMMATRS NOMP LOCALITE LongInteger Memo Memo
Bruno Lemaire
MSI HEC2008-2009
57
PATIENT
Numdossier Nom Adresse Tlphone 0,n
Mdecin Gn
1,1
Suivi
0,n
Adresse
1,1
CONSULTATION
1,1 DateC DatePR 1,1
Effectue
SPECIALITE Examine
spec 0,n 0,n
0,n
POLYCLINIQUE
NomP Localit Tlphone 0,n
Medecin Sp Travaille
0,n NumMatrS NomS
0,n
Possde
PATIENT
NUMDOSSIER NUMMATR NOM ADRESSE TELEPHONE LongInteger LongInteger Memo Memo Memo
MEDECIN_GEN
NUMMATR NOMG TELEPHONE
[0,n] NUMMATR = NUMMATR SPEC = SPEC [0,n]
SPECIALITE
SPEC Integer
CONSULTATION
NUMDOSSIER NOMP LOCALITE NUMMATRS DATEC DATEPR LongInteger Memo Memo LongInteger DateTime DateTime
POSSEDE
NUMMATRS SPEC LongInteger Integer
POLYCLINIQUE
NOMP LOCALITE TELEPHONE Memo Memo Memo
NOMP = NOMP LOCALITE = LOCALITE [0,n] NUMMATRS = NUMMATRS [0,n]
MEDECIN_SPE
NUMMATRS NOMS LongInteger Memo
TRAVAILLE
Bruno Lemaire
MSI HEC2008-2009
58
29
Passe Commande
1,n
COMMANDE
Assoc_43
Article
Code_Article Prix Unitaire Dsignation 1,n
(1,1)
Ref_36
1,1
DETAIL_DE_COMMANDE
Quantit
CLIENT
N_CLIENT VILLE SOCIETE RUE CODEPOSTAL <pk>
[0,n]
PASSE_COMMANDE
N_CLIENT N_COMMANDE <pk,fk> <pk,fk>
COMMANDE
[1,n]
N_COMMANDE DATECOMMANDE
<pk>
[1,n]
ARTICLE
CODE_ARTICLE PRIX_UNITAIRE DESIGNATION <pk>
[1,n]
DETAIL_DE_COMMANDE
N_COMMANDE CODE_ARTICLE QUANTITE <pk,fk> <fk>
Bruno Lemaire
MSI HEC2008-2009
59
M. E. A. : modle et sous-modles.
Bruno Lemaire
MSI HEC2008-2009
60
30
Bruno Lemaire
MSI HEC2008-2009
61
Classe
1,n
Frquenter
Anne_Scolaire
1,n
NomC Cycle
M.P.D.
ELEVE
NOM_E PRENOM DateNaissance <pk>
[1,n]
Frequenter
NOM_E NOM_C Anne_Scolaire <pk,fk> <pk,fk>
[1,n]
Classe
NOM_C Cycle <pk>
Tables ACCESS
Bruno Lemaire
MSI HEC2008-2009
62
31
CoursParticulier Donner
NomC 1,1 Cycle Annee_Scolaire
M.P.D.
Professeur
NOM_P PRENOM DateNaissance <pk>
[1,n]
CoursParticulier
NOM_C NOM_P Cycle Annee_Scolaire <pk> <fk>
Tables ACCESS
Bruno Lemaire
MSI HEC2008-2009
63
M.C.D.
Joueur
Num_Licence
Nom Prenom Classement
Score
0,n 0,n
1,1
Se_Joue_Sur
0,n
Participe
Arbitre
Num_Arbitre
NomA PrenomA Qualification 0,n
Arbitrer
Terrain
NumTerrain
TypeSurface
M.P.D.
Match NumMatch <pk>
[0,n]
Joueur Num_Licence
Nom Prenom Classement
<pk>
<fk> <fk>
[0,n]
[0,n]
Bruno Lemaire
MSI HEC2008-2009
64
32
Classe Frquenter
Anne_Scolaire 0,n NomC Cycle 1,n
Acadmie
CodeAcadmie LibellAcadmie 1,n
Matiere
CodeMatiere Libell 0,n
Enseigner
Annee 0,n
Etablissement Dpendre
(1,1) CodeEtablissement NomEtablissement 1,n
Professeur
Code 1,n NomP Prnom Matire
Appartenir
Bruno Lemaire
MSI HEC2008-2009
65
Emprunt_Par Exemplaire
Num_Ouv Num_Ex DateAchat Etat <pk> <pk>
[0,n]
Emprunteur
Num_Emp NomEmprunteur Adresse <pk>
Bruno Lemaire
MSI HEC2008-2009
66
33
Bruno Lemaire
MSI HEC2008-2009
67
Bruno Lemaire
MSI HEC2008-2009
68
34