Vous êtes sur la page 1sur 34

Gnralits sur les bases de donnes

Leur utilisation La dmarche dlaboration de B.D. relationnelles


Modle entits-associations et conversion en tables Access

Exercices et travaux pratiques

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

Les champs dapplication


ERP Bases de donnes spcialises
BD RH (personnel, formation, mutations, salaires et primes) BD commerciales (suivi des ventes) BD marketing (client, caractristiques, historique conso) BD techniques (SGDT CAO)

Bruno Lemaire

MSI HEC2008-2009

Types de bases de donnes


Bases de donnes relationnelles
Les donnes lmentaires sont structures et stockes dans plusieurs tables spares, lies par des relations MySql, Access, Ingres, Oracle, DB2, SQL server,...

Base de donnes multidimensionnelles


Hypercubes

Bases de documents non structurs ou XML


Lotus notes, serveurs WEB...

Bruno Lemaire

MSI HEC2008-2009

La mthode
Bases de donnes relationnelles

Bruno Lemaire

MSI HEC2008-2009

Bases de Donnes (tapes)


Trois niveaux ou tapes:
Niveau Conceptuel (MCD) Niveau Logique (Tables : le + souvent relationnelles) Niveau Physique (ou Technique: implantation informatique)

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

Modlisation des donnes


Monde rel
Spcifications de la BD Schma conceptuel (MCD) Schma logique (Tables) Schma interne (Fichiers)

Indpendant d'un SGBD

Analyse

Conception

Spcifique un SGBD

Transformation en modle logique

Conception physique

Bruno Lemaire

MSI HEC2008-2009

A. La dmarche gnrale (par lapproche Entits/Associations)


0. Dlimiter le contexte (Univers du discours/ analyse de lexistant) 1. Identifier les objectifs de la base de donnes (CdC/ cahier des charges) 2. Recenser les informations pertinentes pour le problme pos, en les dcomposant en grains d'information lmentaires (dictionnaire de donnes: interaction avec les phases 3 & 8) 3. Identifier les "Entits" (sujets et complments d'une proposition) 4. Identifier les "Associations" (liens logiques entre entits, ou 'verbes': l'entit 'CLIENT' est associe l'entit 'VEHICULE' par l'association 'POSSEDE') 5. Construction du schma conceptuel, ou modle conceptuel, des donnes (sous la forme ENTITES/ASSOCIATIONS) 6. Introduction des Cardinalits (maximales et minimales) (Un CLIENT POSSEDE entre 0 et n VEHICULES, un VEHICULE est possd par 1 et 1 seul CLIENT). 7. Appliquer les rgles de passage Schma E/A TABLES. 8. Dfinir/Prciser les caractristiques des champs (= Colonnes des Tables): complter le dictionnaire des donnes. MSI HEC2008-2009 Bruno Lemaire

B: Entit(s)/Attributs/Association(s), une premire approche...

EXEMPLAIRE Num_Livre Num_exemp Date_prt ...

Est prt

EMPRUNTEUR Nom Num_client ...

Association Entit Entit + Attributs


Est dcrit par MOT-CL Mot Frquence ...

Entit Entit + Attributs


OUVRAGE Num_Livre Titre Editeur ...
Bruno Lemaire
MSI HEC2008-2009

C. Le rle des Cardinalits ...

Bruno Lemaire

MSI HEC2008-2009

10

Dfinitions et premire synthse de lapproche E/A:


Approche Entit(s) Association(s)
des entits : groupe(s) dinformations se rapportant un mme thme/objet/concept : client, produit, commande, employ
Pour chaque entit, un identifiant (cl/code unique) et des attributs (adresse, fax, pays)

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

ou Modle Conceptuel de Donnes


11

Bruno Lemaire

MSI HEC2008-2009

Base de Donnes Comptoir:

Structure du Modle Entits Associations

Bruno Lemaire

MSI HEC2008-2009

12

Base de Donnes Comptoir, suite


1,1

Entit
Association 1,n Cardinalits

Modle Conceptuel de Donnes de Comptoir


1,n fournit 1,1

Fournisseur
1,1 appartient

Produit
1,n

Client
concerne 1,n passe 1,1

Catgorie

1,n 1,n 1,1 vend

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

Les Comptoirs (MCD complet)


Clients Code client Socit Contact Fonction Adresse Ville Rgion Code postal Pays Tlphone Fax Commandes Passe 1,n 1,1 N commande Date commande livrer avant Date envoi Port Destinataire Adresse livraison Ville livraison Rgion livraison Code postal livraison Pays livraison 1,1 Suit 1,n 0,n Appartient Fournisseurs N fournisseur Socit Contact Fonction Adresse Ville Rgion Code postal Pays Tlphone Fax Page d'accueil Produits Rf produit Nom du produit Quantit par unit Prix unitaire Units en stock Units commandes Niveau de rapprovisionnement Indisponible 1,1 0,n 0,1 Fournit

1,1 Livre

1,n Messagers N messager Nom du messager Tlphone

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

Dtails commandes Prix unitaire Quantit Remise (%)

0,n

1,n Catgories Code catgorie Nom de catgorie Description Illustration

Bruno Lemaire

MSI HEC2008-2009

14

Le modle physico/informatique (tables et relations)


Clients Code client Text(5) Socit Text(40) Contact Text(30) Fonction Text(30) Adresse Text(60) Ville Text(15) Rgion Text(15) Code postal Text(10) Pays Text(15) Tlphone Text(24) Fax Text(24)
Code client = Code client

N messager = N messager

Messagers N messager Counter Nom du messager Text(40) Tlphone Text(24)

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

N fournisseur = N fournisseur Rf produit = Rf produit Code catgorie = Code catgorie

Dtails commandes N commande LongInteger Rf produit LongInteger Prix unitaire Currency Quantit Integer Remise (%) Single

Catgories Code catgorie Nom de catgorie Description Illustration

Counter Text(25) Memo OLE

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

La Structure Access correspondante


(un exemple de Base de donnes relationnelle) Des Tables Des Pointeurs entre les tables pour effectuer les liens

Tables

Pointeurs (liens)

Bruno Lemaire

MSI HEC2008-2009

16

Intrt de lorganisation relationnelle


Code_produit Nom_fournisseur Adresse_Fournisseur 1 Toto 1 rue de la libration 2 Toto 1 rue de la libration 3 Toto 1 rue de la libration 4 Toto 1 rue de la libration 5 Leroi 6 rue du chteau 6 Leroi 6 rue du chteau 7 Leroi 6 rue du chteau 8 Leroi 6 rue du chteau 9 Leroi 6 rue du chteau 10 Leroi 6 rue du chteau 11 Leroi 6 rue du chteau 12 Leroi 6 rue du chteau 13 Leroi 6 rue du chteau 14 Leroi 6 rue du chteau 15 Leroi 6 rue du chteau 16 Le prince 12 rue de paris 17 Le prince 12 rue de paris 18 Le prince 12 rue de paris 19 Le prince 12 rue de paris

Question(s): Quid du volume et de la redondance des donnes ? (Comment regrouper des informations concernant +ieurs entits ?)
Bruno Lemaire
MSI HEC2008-2009

17

Intrt de lorganisation relationnelle


Code_produit 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Nom Produit Pentium I Pentium II Pentium III Pentium IV Carte mmoire I Carte mmoire 2 Carte mmoire 3 Carte vido 1 Carte Vido 2 Carte vido 3 Carte vido 4 Ecran 15'' Ecran 17'' Ecran 19'' Imprimante Jet encre Imprimante laser 1 Imprimante laser 2 Imprimante couleur 1 Imprimante couleur 2
Code_produit Nom_fournisseur Adresse_Fournisseur 1 Toto 1 rue de la libration 2 Toto 1 rue de la libration 3 Toto 1 rue de la libration 4 Toto 1 rue de la libration 5 Leroi 6 rue du chteau 6 Leroi 6 rue du chteau 7 Leroi 6 rue du chteau 8 Leroi 6 rue du chteau 9 Leroi 6 rue du chteau 10 Leroi 6 rue du chteau 11 Leroi 6 rue du chteau 12 Leroi 6 rue du chteau 13 Leroi 6 rue du chteau 14 Leroi 6 rue du chteau 15 Leroi 6 rue du chteau 16 Le prince 12 rue de paris 17 Le prince 12 rue de paris 18 Le prince 12 rue de paris 19 Le prince 12 rue de paris

Deux tables en relation par un pointeur


Adresse_Fournisseur 1 rue de la libration 6 rue du chteau 12 rue de paris

Code_fournisseur

Nom_fournisseur 1 Toto 2 Leroi 3 Le prince


MSI HEC2008-2009

Bruno Lemaire

18

intrt de lorganisation relationnelle, fin


Exemple banques
Avant:
Le mme client est gr dans:

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

Cas 2, le modle entits-associations DROITS dAUTEURS


Droit d'auteur Titre
ISBN titre 0,n Texte titre est crit par Type titre Prix titre Notes titre crit Date publication titre 0,n est dit 1,1 0,n

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

DICTIONNAIRE des DONNEES : Droits dAuteurs


Nom Adresse Auteur Avance Auteur CodePostal Date Publication Date Vente Droits gros tirage Droits petit tirage Grosse Commande ISBN_Titre Montant Droits Montant Vente Nom Auteur Nom Editeur Nom Magasin Notes titre Petite Commande Pourcentage Remise Prnom Auteur Prix Titre Quantits Vente Rf Facture Vente Rf Magasin Rfrence Auteur Rfrence Editeur Code ADRESSE_AUTEUR AVANCE_AUTEUR CODEPOSTAL DATE_PUBLICATION DATE_VENTE DROITS_GROS_TIRAGE DROITS_PETIT_TIRAGE GROSSE_COMMANDE ISBN_TITRE MONTANT_DROITS MONTANT_VENTE NOM_AUTEUR NOM_EDITEUR NOM_MAGASIN NOTES_TITRE PETITE_COMMANDE POURCENTAGE_REMISE PRENOM_AUTEUR PRIX_TITRE QUANTITES_VENTE REF_FACTURE_VENTE REF_MAGASIN REFERENCE_AUTEUR REFERENCE_EDITEUR Type VA40 MN6,2 TXT5 D D DC3,3 DC3,3 SI TXT20 MN6,1 MN7,2 VA30 VA30 TXT30 TXT30 SI SI VA20 MN SI I I I I Attributs de: Auteur (AUTEUR) Auteur (AUTEUR) Auteur (AUTEUR) Titre (TITRE) Vente (VENTE) Droits Auteur (DROITS_AUTEUR) Droits Auteur (DROITS_AUTEUR) Remise (REMISE) Titre (TITRE) Droits Auteur (DROITS_AUTEUR) Vente (VENTE) Auteur (AUTEUR) Editeur (EDITEUR) Magasin (MAGASIN) Titre (TITRE) Remise (REMISE) Remise (REMISE) Auteur (AUTEUR) Titre (TITRE) Vente (VENTE) Vente (VENTE) Magasin (MAGASIN) Auteur (AUTEUR) Editeur (EDITEUR)

Bruno Lemaire

MSI HEC2008-2009

21

Elaboration dune base de donnes


Mthode simplifie dlaboration dune BD (et du passage aux Tables ACCESS)

Bruno Lemaire

MSI HEC2008-2009

22

11

Mthode simplifie dlaboration dune BD


Etapes prparatoires
1. Identifier les objectifs de la BD (cahier des charges) 2. Dfinir la liste des informations (dictionnaire de donnes)

Dfinition du MCD
3. 4. Rgles de conception Rgles de transition (MCD vers MPD)

Elaboration des tables relationnelles

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

Rfrence, nom, quantit par unit, prix, ...

Produit Quantit commande ? (produit, commande)

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, ...

Code, socit, contact, ...

Rgle : un attribut dpend des identifiants auxquels il est rattach

13

Etude des cardinalits


Exemple de lassociation Client-Commande
Pour chaque client combien de commandes? (min, max) Pour chaque commande combien declients? (min, max)

Client 1 2 3 4

Commandes A B C D E

Client 1 2 3 4

Commandes A B C D E

Chaque client passe entre 1 et n commandes (min,max)=(1,N)


Bruno Lemaire

Chaque commande est passe par 1 client et 1seul (min,max)=(1,1)


27

MSI HEC2008-2009

Etude des cardinalits


Association Commande-Produit
Produit 1 2 3 4 5
Chaque produit fait lobjet de 0 n commandes : (min,max)=(0,n)

Commande 2006-1 2006-2 2006-3 2006-4 2006-8


Chaque commande contient de 1 n produits : (min,max)=(1,n) 28

Bruno Lemaire

MSI HEC2008-2009

14

Etude des cardinalits


Association Commande-Produit
Association de type (1,n)-(1,n) : Association multiple
(0,n)

Produit

Est dans Qt

(1,n)

Commande

La quantit dpend du produit et de la commande Donc attache lassociation


Bruno Lemaire
MSI HEC2008-2009

29

Base Comptoirs: Analyse gnrale des cardinalits


Nature du lien : simple (1,1)
multiple (1,n)
P
1,n

(1,n) Pre-Fils (1,n)


F
1,1

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

Du modle E.A. aux tables relationnelles


Ce passage repose la fois sur:
Les entits, qui deviendront toujours des tables Les associations, qui deviendront ou non des tables, en fonction des cardinalits qui les relients aux entits.

Do limportance davoir correctement trait les cardinalits lors de llaboration du modle E.A.
Bruno Lemaire
MSI HEC2008-2009

31

Elaboration des tables relationnelles: cas (simpliste) dune seule entit


Donnes :
Code-produit, nom-produit, quantit en stock

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

Identifiant : code produit Attributs : nom produit, quantit en stock

Bruno Lemaire

MSI HEC2008-2009

32

16

Une entit : table Access correspondante


Produit
Table Access (structure) Code-produit Nom-produit Quantit en stock Cl primaire Champs de la table

Table Access (exemple de contenu)

Code-produit 1 2 3

Nom-produit X Y Z

Quantit en stock 12 12 13

Bruno Lemaire

MSI HEC2008-2009

33

Deux entits, lien simple (1,1 1,n)


Donnes :
Code-produit, nom-produit, code-fournisseur, nomfournisseur, adresse-fournisseur Chaque produit a un fournisseur unique (mono-source) Un fournisseur peut fournir plusieurs produits

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

Deux entits, lien simple : tables Access correspondantes


Produit
Fils Code-produit Nom-produit Code fournisseur 1

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

Code-produit Nom-produit Code Fournisseur X 1 12 Y 2 12 13 Z 3

CodeNom-fournisseur fournisseur 12 Toto 13 Titi 14 Tata 15 Tutu 16 Tete

Adresse-fournisseur Rue AAA Rue BBB Rue CCC Rue DDD Rue EEE
MSI HEC2008-2009

Bruno Lemaire

35

Deux entits (lien multiple: 1,n 1,n)


Mmes donnes mais :
A un produit peut correspondre plusieurs fournisseurs Un fournisseur fournit plusieurs produits

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

Deux entits (lien multiple) : tables Access correspondantes


Produit
Code-produit Nom-produit 1

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

Nom-fournisseur Toto Titi Tata Tutu Tete

Adresse-fournisseur Rue AAA Rue BBB Rue CCC Rue DDD Rue EEE

Table intermdiaire de liaison


Bruno Lemaire
MSI HEC2008-2009

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

Mise en place des relations entre les tables:


Lien Un plusieurs (1,n)-(1,1) : On recopie dans la table fils la cl primaire de la table pre: attribut Hrit Plusieurs plusieurs (1,n)-(1,n) : On cre une table intermdiaire qui possde une cl primaire double constitue de la recopie des deux cls primaires des tables relier ; on ajoute ventuellement cette table les champs permettant de stocker les donnes spcifiques la relation (attributs de la relation)
Bruno Lemaire
MSI HEC2008-2009

38

19

Elaboration dune base de donnes


Exercices illustratifs

Bruno Lemaire

MSI HEC2008-2009

39

Ex. 1: comparaison de MCD


(0,n)

Camion MCD 1 Chauffeur


(0,n)

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

Saisie dans les deux bases

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,n Etudiant 1,n


demande

1,1 1,n
obtient

1,1 Offre de stage


correspond

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

MCD (autre solution)


1,n Entreprise
value

1,n
met

1,n Etudiant 1,n


demande

1,1 1,n 1,1 Offre de stage


correspond

Attributs:
Date demande, Acceptation (o/n)
1,n Fonction

Bruno Lemaire

MSI HEC2008-2009

46

23

Tables Access (autre solution)


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 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

Exercice n3 (MCD et Tables Access)


Dans une entreprise, les commandes concernant les diffrents produits utiliss sont passes auprs de fournisseurs ; ces commandes sont livres des dpts qui assurent le stockage des produits. Un produit donn peut tre stock dans diffrents dpts et rfrenc chez plusieurs fournisseurs ; certains produits sont fabriqus en interne. Sur chaque commande sont prciss le dpt o doit avoir lieu la livraison et la date de livraison respecter. Il existe plusieurs centaines de produits diffrents, environ 100 fournisseurs et 6 dpts.

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

DEPOT 1 Code dpt Localisation . 1

Tables des relations (n,n) Attributs des relations (1,n)

25

Elaboration dune base de donnes


Exemples complmentaires

Bruno Lemaire

MSI HEC2008-2009

51

Modle entits-associations: Cabinet Mdical 1

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

M. P. D. (modle tabulaire + liens): Cabinet Mdical 1

MEDECIN MEDICAMENT
CODE LIBELLE LongInteger Memo MATRICULE NOM_MEDECIN LongInteger Memo N_SS NOM

PATIENT
LongInteger Memo

MATRICULE = MATRICULE CODE = CODE [0,n] [0,n]

N_SS = N_SS

[1,n]

PRESCRIPTION
MATRICULE N_CONSULTATION CODE NB_PRISES LongInteger LongInteger LongInteger Integer

MATRICULE = MATRICULE N_CONSULTATION = N_CONSULTATION [0,n]

CONSULTATION
MATRICULE N_CONSULTATION N_SS DATE LongInteger LongInteger LongInteger DateTime

Bruno Lemaire

MSI HEC2008-2009

53

Passage du M.C.D. au M.P.D. : Cabinet Mdical 1


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

MEDECIN MEDICAMENT
CODE LIBELLE LongInteger Memo MATRICULE NOM_MEDECIN LongInteger Memo N_SS NOM

PATIENT
LongInteger Memo

MATRICULE = MATRICULE CODE = CODE [0,n] [0,n]

N_SS = N_SS

[1,n]

PRESCRIPTION
MATRICULE N_CONSULTATION CODE NB_PRISES LongInteger LongInteger LongInteger Integer

MATRICULE = MATRICULE N_CONSULTATION = N_CONSULTATION [0,n]

CONSULTATION
MATRICULE N_CONSULTATION N_SS DATE LongInteger LongInteger LongInteger DateTime

Bruno Lemaire

MSI HEC2008-2009

54

27

Modle entits-associations: Cabinet Mdical 1 avec restrictions

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

MEDICAMENT CODE <pk>


LIBELLE

MEDECIN MATRICULE <pk>


NOM_MEDECIN

Cls primaires vs. Cls trangres/hrites


(Passage MCD/MCP)

[0,n]

PRESCRIPTION MATRICULE <pk,fk> DATE <pk,fk> NUMPATIENT <pk,fk> CODE <pk,fk>


NB_PRISES

[0,n]

[0,n]

CONSULTATION MATRICULE <pk,fk> DATE <pk> NUMPATIENT <pk>

Bruno Lemaire

MSI HEC2008-2009

55

Modle entits-associations: Cabinet Mdical 2


PATIENT
Numdossier Nom Adresse Tlphone 0,n

Mdecin Gn
1,1

Suivi

0,n

NumMatr nomG Tlphone

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

M. P. D. (modle tabulaire + liens): Cabinet Mdical 2


PATIENT
NUMDOSSIER NUMMATR NOM ADRESSE TELEPHONE LongInteger LongInteger Memo Memo Memo

MEDECIN_GEN
NUMMATR NOMG TELEPHONE
[0,n] NUMMATR = NUMMATR SPEC = SPEC [0,n]

LongInteger Memo Memo

SPECIALITE
SPEC Integer

NUMDOSSIER = NUMDOSSIER [0,n]

CONSULTATION
NUMDOSSIER NOMP LOCALITE NUMMATRS DATEC DATEPR LongInteger Memo Memo LongInteger DateTime DateTime

POSSEDE
NUMMATRS SPEC LongInteger Integer

NOMP = NOMP [0,n] LOCALITE = LOCALITE

[0,n] NUMMATRS = NUMMATRS

[0,n] NUMMATRS = NUMMATRS

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

NumMatr nomG Tlphone

Adresse

1,1

CONSULTATION
1,1 DateC DatePR 1,1

Passage du MCD au MPD : Cabinet Mdical 2

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]

LongInteger Memo Memo

SPECIALITE
SPEC Integer

NUMDOSSIER = NUMDOSSIER [0,n]

CONSULTATION
NUMDOSSIER NOMP LOCALITE NUMMATRS DATEC DATEPR LongInteger Memo Memo LongInteger DateTime DateTime

POSSEDE
NUMMATRS SPEC LongInteger Integer

NOMP = NOMP [0,n] LOCALITE = LOCALITE

[0,n] NUMMATRS = NUMMATRS

[0,n] NUMMATRS = NUMMATRS

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

NUMMATRS NOMP LOCALITE

LongInteger Memo Memo

58

29

M.C.D. & M.P.D. : passation de commande


CLIENT
N_Client Ville Socit Rue CodePostal 0,n

Passe Commande

1,n

COMMANDE

Assoc_43

NCommande 1,n DateCommande

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

Du conceptuel aux donnes concrtes...

Bruno Lemaire

MSI HEC2008-2009

61

Du M.C.D. aux tables ACCESS M.C.D.


Elve
NomE Prnom DateNaissance

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

Du M.C.D. aux tables ACCESS: autre exemple M.C.D.


Professeur
NomP Prnom DateNaissance 1,n

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. & M.P.D. : tournoi de Tennis


Match Gagne

M.C.D.

Joueur
Num_Licence
Nom Prenom Classement

Score
0,n 0,n

1,1 NumMatch NumTour HorairePrvu 2,2 HoraireReel HoraireFin 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>

Num_Licence NumTerrain NumTour HorairePrevu HoraireReel HoraireFin Score

<fk> <fk>

[0,n]

Terrain NumTerrain <pk>


TypeSurface

[0,n] [0,n] [2,2]

Arbitrer NumMatch <pk,fk> Num_Arbitre <pk,fk>

Particip Num_Licence <pk,fk> NumMatch <pk,fk>

[0,n]

Arbitre Num_Arbitre <pk>


NomA PrenomA Qualification

Bruno Lemaire

MSI HEC2008-2009

64

32

Gestion dtablissements: du M.C.D. aux tables ACCESS


Elve
NomE PRENOM DateNaissance 0,n

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

Exemplaire-emprunteur: du M.C.D. aux tables ACCESS

Emprunt_Par Exemplaire
Num_Ouv Num_Ex DateAchat Etat <pk> <pk>
[0,n]

Num_Ouv Num_Ex Num_Emp DateEmprunt

<pk,fk> <pk,fk> <pk,fk>


[0,n]

Emprunteur
Num_Emp NomEmprunteur Adresse <pk>

Bruno Lemaire

MSI HEC2008-2009

66

33

Access: tables et donnes concrtes...

Bruno Lemaire

MSI HEC2008-2009

67

Le Grand Caf, prparer pour Lundi

Bruno Lemaire

MSI HEC2008-2009

68

34

Vous aimerez peut-être aussi