Vous êtes sur la page 1sur 22

CONSERVATOIRE NATIONAL DES ARTS ET METIERS

Filire Informatique dEntreprise

ED
BASES DE DONNEES B6

Partie I : Modlisation Conceptuelle


Exercice I.1
On souhaite mettre en place une Base de donnes relationnelle assurant la gestion des commandes clients, ainsi que la
gestion de stock des matires premires de l'entreprise Lambda.
On dispose des informations suivantes :
1- Numro client (NOCLI)
2- Raison sociale client (RSCLI)
3- Adresse de livraison (ADRLIV)
4- Numro commande (NOCDE)
5- Date de la commande (DATCDE)
6- Numro produit fini (NOPRD) = produit faisant l'objet des commandes clients.
7- Libell du produit fini (LIBPRD)
8- Code matire premire (CODMP)
9- Libell matire premire (LIBMP)
10- Quantit en stock matire premire (QTEMP)
11- Quantit matire premire ncessaire la fabrication de produits finis (QTFAB)
12- Numro fournisseur (NOFRS)
13- Raison sociale fournisseur ( RSFRS)
14- Adresse fournisseur (ADRFRS)
15- Quantit commande par le client pour un produit donn (QTECDE)
16- Quantit en stock produit fini (QTEPRD)
Les informations ci-aprs sont prendre en compte :

Un client peut passer plusieurs commandes, mais une commande ne concerne qu'un seul client.
Une commande peut regrouper plusieurs produits, mais un produit peut tre rfrenc dans plusieurs
commandes.
L'adresse de Livraison est connue au moment de la prise de la commande.
Les produits finis sont fabriqus partir de matires premires. La quantit dune matire premire
ncessaire la fabrication dun produit fini est dfinie au niveau du couple Produit fini - Matire premire.
Une matire premire peut tre dlivre par plusieurs fournisseurs. La quantit en stock matire premire est
indpendante des fournisseurs
Une commande est mise en attente si une des quantits de produits commands est suprieure celle du
produit en stock.

Question :
Q1) Dterminer et discuter le modle conceptuel de donnes selon les concepts du modle E-R (Entits relations).

Exercice I.2
Dans le cadre de mise en uvre dune de gestion commerciale, le Concepteur doit dfinir un Modle
Conceptuel de Donnes prenant en compte :
a) les rgles de gestion suivantes :

Un Client peut passer plusieurs commandes.


Une commande correspond un client et un seul.
Une commande peut avoir plusieurs lignes, chaque ligne faisant partie rfrence un produit
diffrent.

ED Base de donnes - B6 CNAM page 2

Un article peut tre rfrenc dans plusieurs commandes.


Une facture est tablie pour une commande et une seule.
A une commande correspond obligatoirement une et une seule condition de paiement.

b) et les besoins applicatifs suivants :


Les deux traitements de rfrence pour la construction de la base sont la prise de commandes et la
facturation.
- Dans le cas de la prise de commandes, on saisira lensemble des lignes de commandes, et, sil ny
a pas derreur, on imprimera la commande.
- Dans le cas de la facturation, on recherche les commandes pour le client, on dite les factures.
Questions
Q1) Compte tenu des rgles de gestion, dterminer les entits ainsi que les associations liant les entits entre elles.
Prciser les cardinalits et discuter leurs rles .
Q2) Proposer pour chaque entit plusieurs attributs (minimum deux) dont un qui doit tre lidentifiant de lentit
Q3) Quels sont les identifiants des associations obtenues en Q1). Justifier la rponse

ED Base de donnes - B6 CNAM page 3

Partie II : Du Modle E-R au modle Relationnel


Exercice II.1
Reprendre lexercice I-1
Question
Q1) Elaborer le schma relationnel correspondant par application des rgles de passage du modle Conceptuel E-R
au modle Relationnel. Expliquer la dmarche suivie

Exercice II.2
Reprendre lexercice I-2
Questions
Q1) Elaborer le schma relationnel correspondant par application des rgles de passage du modle Conceptuel E-R
au modle Relationnel.
Pour chaque Relation obtenue, prciser sa cl primaire, sa (ou ses) cl (s) trangre (s) sil y a lieu.
Q2) Evolution des modles :
2-1) Les clients prcisant rarement leur numro (identifiant) sur les bons de commande. Celui-ci est
recherch partir de la raison sociale.
Cela vous conduit-il modifier quelque chose dans le Modle Conceptuel de Donnes ? Si oui, quoi ?
Si non , pourquoi ?
Cela vous conduit-il modifier quelque chose dans les relations du modle relationnel ? Si oui, quoi ?
Si non , pourquoi ?
2-2) On veut pouvoir diter, pour une commande donne, les lignes dans lordre de saisie du bon de
commande.
Cela vous conduit-il modifier quelque chose dans le Modle Conceptuel de Donnes ? Si oui, quoi ?
Si non , pourquoi ?
Cela vous conduit-il modifier quelque chose dans les relations du modle relationnel ? Si oui, quoi ? Si non ,
pourquoi ?

ED Base de donnes - B6 CNAM page 4

Exercice II.3
Soit le schma Entit-Relation suivant :

PROF

CLASSE

id_prof
nom_prof

id_classe
nb_eleves

enseigner

MATIERE
id_MAT
DESIGNATION

Le tableau suivant donne un chantillon reprsentatif de valeurs observes dans lassociation enseigner.
Id_prof
Dupont
Martin
Durand
Louvier

Id_Classe
10
10
30
40

Id_Mat
Math
Info
Math
Phys

avec les valeurs suivantes pour chacune des entits


Id_Prof = {Louis, Martin,Dupont,Durand,Louvier}
Id_Classe = {10, 30, 40}
Id_Mat = {Math, Info, Phys, Chimie}
Questions
Q1) Dterminer les cardinalits minimales et maximales de chaque objet participant cette association ?
Q2) Dduire le schma relationnel correspondant partir du schma entit-association prcdent. Expliquer la
dmarche suivie.
Q3) Les relations obtenues prcdemment sont-elles toutes en troisime forme normale ? pourquoi ?

ED Base de donnes - B6 CNAM page 5

Partie III : Dpendances fonctionnelles


Exercice III.1
Soit la relation universelle suivante :
R(NO_EMP, NOM_EMP, AGE, FONCT, NO_DEPT, NOM_DEPT, NO_PROJET, NOM_PROJET,
DUREE)
dans laquelle
NO_EMP est le matricule de lemploy,
NOM_EMP est le nom de lemploy,
AGE est lge de lemploy,
FONCT est la fonction de lemploy,
NO_DEPT est le numro du dpartement de lentreprise dans lequel lemploy travaille,
NOM_DEPT est le nom du dpartement,
NO_PROJET est le numro du projet,
NOM_PROJET est le nom du projet,
DUREE reprsente le temps pass exprim en heures par employ pour un projet donn.
On admet les rgles suivantes :

un employ identifi par son numro ne travaille dans un dpartement (identifi par son numro) et

noccupe quune fonction,


un employ peut travailler sur plusieurs projets,
plusieurs employs travaillent sur un mme projet,
la dure du travail effectu par un employ sur un projet donn doit tre toujours multiple de 2 heures,
les employs ayant un ge infrieur ou gal 30 ans ne peuvent pas occuper la fonction conducteur
des travaux .

Questions
Q1) Quelles sont les dpendances fonctionnelles existant entre ces attributs ?
Q2) Donner le graphe de ces dpendances fonctionnelles et expliquer la dmarche suivie
En dduire la cl de la relation R.
Q3) Expliquer les inconvnients de la relation R en cas d'une cration, modification,
suppression d'une occurrence (ou Tuple ou Ligne) de R.
Q4) Dcomposer la relation R en relations en troisime forme normale (schma de la base de donnes) et rappeler
lintrt de la normalisation

ED Base de donnes - B6 CNAM page 6

Partie IV : Mise en oeuvre


Exercice IV-1 : Arbres algbriques
Reprendre lexercice III-1
Questions
Q1) Construire larbre algbrique des requtes suivantes :
a) Donner les noms des employs ayant travaills sur tous les projet
b) Donner les noms des employs ayant travaills sur au moins un projet

Exercice IV-2 : Graphe des dpendances fonctionnelles et arbres algbriques

Un rseau de voies ferres est constitu d'un ensemble de lignes identifies par un numro (NUMLIGNE). Une ligne
permet de relier une gare de dpart (GAREDEP) une gare terminus (GARETERM). Entre le gare de dpart et la gare
terminus plusieurs itinraires (lignes) sont possibles. Les lignes sont distingues par la mention "VIA" qui indique la gare
intermdiaire.
Exemples :
- Ligne no. 10 Paris
- Ligne no. 11 Lyon
- Ligne no. 12 Paris
- Ligne no.13 Paris
- Ligne no. 14 Paris
- ..

Lyon
Paris
Lyon
Toulouse
Toulouse

Via Dijon
Via Dijon
Via Moulin
Via Limoges
Via Capdenac

Une ligne reliant une gare de dpart une gare terminus dessert galement un certain nombre de gares appeles gares de
parcours. A chaque ligne correspond donc une liste de gares parcourues (GAREPARCOURS). Mais comme le rseau est
fortement maill, une mme gare peut se trouver l'intersection de plusieurs lignes. Par ligne, un numro d'ordre
(NUMORD) est associ chaque gare desservie par cette ligne.
Exemple : Ligne no. 10
Paris
Dijon
Mcon
Lyon

NUMORD = 0
NUMORD = 1
NUMORD = 2
NUMORD = 3

Gare de dpart
Via
Gare de Terminus

Le trafic sur le rseau peut tre dfini par un ensemble de trains rfrencs par des numros (NUMTRAIN) et effectuant
un trajet sur une ligne donne, avec un horaire dtermin unique : Heure de dpart (HEUREDEP) et heure d'arrive
(HEURE ARR).
Un train circule toujours sur la mme ligne. Mais une ligne peut tre le trajet de plusieurs trains.
Le mme train "physique circule souvent sur la ligne "aller" et sur la ligne "retour", mais au niveau logique il s'agit de
deux trains diffrents circulant sur deux lignes diffrentes.
Un train est constitu d'un ensemble de wagons ayant chacun son propre numro (NUMWAGON), son type
(TYPEWAGON), son poids vide (POIDSV) et sa capacit (CAPACITE).
Un wagon peut tre utilis dans le temps par plusieurs trains du moment ou sa disponibilit le permet.
(Exemple : le wagon numro W2456 compose le train T575 avec un dpart de Paris 5h00 et arrive Toulouse 11h00.
Le mme wagon compose le train numro T655 avec un dpart de Toulouse 13h00 et arrive Montpellier 16h00).
Dans chaque train, un wagon occupe une position particulire (POSITION).

ED Base de donnes - B6 CNAM page 7

Questions :
Q1)

a) Dterminer les constituants (attributs) de la relation universelle reprsentant cet univers selon les concepts
b)
c)

du modle relationnel.
Dterminer la cl de cette relation. Justifiez votre rponse.
Expliquez les inconvnients d'une telle relation avec des exemples simples, pour les trois oprations
d'insertion, de modification et de suppression.

Q2)

a) Dterminer les dpendances fonctionnelles et tracer le graphe de celles-ci.


b) Donner le schma relationnel correspondant cette base de donnes. Justifiez votre rponse en
prcisant la dmarche suivie.

Exercice IV-3 : SQL


Soit le schma relationnel suivant :
IMMEUBLE (ADI, NBETAGES, DATEC, PROP)
APPIM (ADI, NAP, TYPE, SUPER, OCCUP, ETAGE)
PERSONNE (NOM, AGE, PROF, ADR, NAPR)
ECOLE (NOMEC, ADEC, NBCLASSES, DIR)
CLASSE (NOMEC, NCL, MAITRE, NBEL)
ENFANT (NOMP, PRENOM, AN, NOMEC, NCL)
Avec
ADI
NBETAGES
DATEC
PROP
NAP
TYPE
SUPER
OCCUP
ETAGE
NOM
AGE
PROF
ADR
NAPR
NOMEC
ADEC
NBCLASSES
DIR
NCL
MAITRE
NBEL
NOMP
PRENOM
AN

: Adresse dimmeuble
: Nombre dtages
: Date (Anne) de construction
: Nom du propritaire
: Numro dappartement
: Type dappartement (F1, F2, F3,)
: Superficie en m2
: Nom de loccupant
: Etage de lappartement
: Nom de personne
: Age
: Profession
: Adresse dhabitation
: Nom dappartement dhabitation
: Nom dcole
: Adresse dcole
: Nombre des classes
: Nom du Directeur
: Numro de la classe.
: Nom du matre
: Nombre dlves
: Nom de parent
: Prnom de lenfant
: Anne de naissance de lenfant

Questions
Q1) Adresses des immeubles ayant plus de 10 tages et construits avant 1970 ?
Q2) Adresses des immeubles possds par des informaticiens dont lge est infrieur 40 ans,
Q3) Noms des personnes qui ne sont pas propritaires ?
Q4) Liste des occupants (nom, age, profession) des immeubles possds par DUPONT,
Q5) Noms des personnes qui habitent dans un immeuble dont ils sont propritaires,
Q6) Noms et professions des propritaires dimmeubles o il y a des appartements vides,
Q7) Quels sont les matres qui habitent dans le mme immeuble quau moins u n de leurs lves (on suppose que les
enfants vivent sous le mme toit que leur responsable) ?
Q8) Adresse de limmeuble, date de construction et types dappartements et tages o habitent chacun des matres des
enfants de DUPONT ?
ED Base de donnes - B6 CNAM page 8

Q9) Nom et ge des matres qui habitent dans un immeuble dont le propritaire est responsable dun de leurs lves ?
Q10) Nom et ge des personnes qui sont propritaires mais qui ne sont pas ni matre ni directeur dcole ?

Exercice IV-4 : Interprtation des ordres SQL


On considre le schma relationnel suivant :
Oeuvre (Code-oeuvre, titre)
Morceau (Code-morceau, dure, code-disque, code-oeuvre)
Disque (Code-disque, marque, type)
Interprte (Nom, prnom, adresse)
Excute (Code-morceau, nom, prnom)
NOTA :
Les cls primaires de relations sont soulignes.
Les tables seront reprsentes dans les requtes par des lettres (alias) : Oeuvre O, Morceau M, Disque
D, Interprte I, Excute E.
Questions
Exprimer en franais les requtes SQL suivantes :
Q1)

select nom, prnom, count(code-morceau)


from E
group by nom, prnom ;

Q2)

Create View Total-Disq (code-disque, total)


as select code-disque, sum(dure)
from M
group by code-disque ;
select D.*
from D, Total-Disq TD
where D.code-disque = TD.code-disque
and total = (select max(total)
from Total-Disq) ;

Q3)

select code-oeuvre,titre
from O, M
where O.code-oeuvre = M.code-oeuvre
group by code-oeuvre, titre
having count(code-disque) >=2 ;

Q4)

select I.*
from I
where not exists
(select *
from E, M, D
where E.nom = I.nom
and E.prnom = I.prnom
and E.code-morceau = M.code-morceau
and M.code-disque = D.code-disque
and type =JAZZ) ;

ED Base de donnes - B6 CNAM page 9

Partie V : Rpartition des donnes


Exercice V-1 :
A la suite de diffrents changements, la base de donnes initialement implante dans un seul hpital a volu et gre
maintenant plusieurs hpitaux de la rgion Alsace. Le schma de la base est devenu le suivant :
Service
Sale
Employ
Docteur
Infirmier
Patient
Acte

(Snum, SNom, Shopital, SBtiment, SDirecteur)


(Snum, SAnum, SASurveillant, SANbLits)
(ENum, ENom, EAdresse, ETlphone)
(Dnum, DSpcialit)
(Inum, Snum, IRotation, ISalaire)
(Pnum, Snum, SAnum, PLit, PNom, PAdresse, PTlphone, PMutuelle, PPrise_en_charge)
(Dnum, Pnum, Date, ADesrciption, ACoefficient)

Dans ce schma, le directeur d'un service est un docteur dsign par son numro. Le numro de la sale est local un
service dans un mme hpital (Il y a plusieurs salles numro 12). Un surveillant de salle est un infirmier dsign par son
numro. Pour une salle, on connat son nombre de lits. Docteurs et infirmiers sont des employs. Leur identification en
tant que docteurs ou infirmiers est la mme qu'en tant qu'employs.
Questions
Q1 : Exprimez en SQL la requte suivante : "donnez le nom des cardiologues qui ont traits un ou plusieurs patients
hospitaliss dans un service de grontologie".
Q2: En fait, cette base de donnes est rpartie sur trois sites informatiques correspondant aux valeurs de l'attribut
"hpital" de la relation Service :
Nom du site

Valeur de l'attribut "hpital"

Strasbourg

Ambroise-Par

Colmar

Colmar

Rgional

Toutes les autres valeurs

Proposez et justifiez une bonne dcomposition de la base hospitalire sur ces trois sites. Pour cela, utilisez la
dcomposition horizontale et/ou verticale ainsi que la rplication, sachant que :
Les sites Strasbourg et Colmar ne grent que les hpitaux correspondants.
Les infirmiers sont employs dans un service donn.
Les docteurs travaillent le plus souvent sur plusieurs hpitaux ou cliniques.
La gestion des lits d'hpitaux est locale chaque hpital.
On dsire regrouper la gestion des frais d'hospitalisation au centre rgional.
Pour chaque fragment obtenu, on donnera sa dfinition sous la forme d'un calcul de l'algbre relationnelle partir du
schma initial (global).
Q3 : Proposez une dcomposition et un plan d'excution rpartie possible pour la requte de la question 1.
Q4 : On suppose que l'hpital de Belfort est attach la base de donnes hospitalires aprs son implmentation
rpartie. L'hpital de Belfort possde son propre site informatique qui se retrouve donc connect aux autres sites.
Le schma de la base de Belfort avant son intgration est le suivant :
Service
Sale
Docteur
Infirmier
Patient
Acte

(Snum, SNom, SBtiment, SDirecteur)


(Snum, SAnum, SASurveillant, SANbLits)
(Dnum, DNom, DAdresse, Dtlphone, DSpcialit)
(Inum, INom, IAdresse, ITlphone Snum, ISalaire)
(Pnum, Snum, SAnum, PLit, PNom, PAdresse, PTlphone, PMutuelle, PPrise_en_charge)
(Dnum, Pnum, Date, ADesrciption, ACode)

ED Base de donnes - B6 CNAM page 10

Discutez les problmes et proposez des solutions pour intgrer la base de Belfort au systme rparti dj dfini.
L'intgration devra se faire sans transferts d'informations.
Q5 : Proposez une dcomposition et un plan d'excution pour la requte SQL de la question 1 aprs intgration de la
base de Belfort.

Exercice V-2 :
Une grande entreprise de transactions immobilires a dcid d'implanter son systme d'information sur une base de
donnes relationnelle.
La modlisation du systme d'informations a donn le MCD suivant :
SECTEUR
0,N

Concerne
Etre
Vente
Soumettre
12

0,N
CLIENT

0,N

1,1

RECHERCHE

0,1

0,1
OFFRE

1,1

1,1

0,N
0,N

TYPE

L'entit "client" concerne les clients ou les prospects de l'entreprise et comporte les proprits suivantes :
- CliNum
- CliNom
- CliAdrNum
- CliAdrVoie
- CliAdrType
- CliAdrVille
- CliCA

numro du client (identifiant de l'entit)


nom du client
numro de la voie du client
nom de la voie o se trouve le client
type de la voie o se trouve le client
ville
Chiffre d'affaires cumul du client

L'entit "recherche" dcrit les recherches confies par les clients l'entreprise et comporte :
- RecRef
- RecSurMin
- RecSurMax
- RecPrix

la rfrence de la recherche
surface minimum
surface maximum
prix au maximum

L'entit "secteur" se rapporte aux secteurs gographiques sur lesquels l'entreprise exerce son activit. Elle comporte :
- SecRef
- SecLib
- SecStatPrix
- SecStatNbe
- SecStatNb1
- SecStatNb2
- SecStatNb3

rfrence du secteur (identifiant de l'entit)


libell du secteur
prix moyen au m2 du secteur
nombre de ventes dans ce secteur
information statistique relative au secteur
information statistique relative au secteur
information statistique relative au secteur

L'entit "Type" concerne les types de recherches ou d'offres (bureaux, magazins, etc.). Elle comporte :
- TypCode

code du type

ED Base de donnes - B6 CNAM page 11

- TypLib
- TypStatPrix
- TypStatNbe
- TypStatNb1
- TypStatNb2

libell du type
prix moyen au m2 des ventes de ce type
nombre de ventes de ce type
information statistique relative au type
information statistique relative au type

L'entit "offre" concerne les offres qui sont faites l'entreprise et comporte :
- OfrRef
- OfrSur
- OfrPrixMin
- OfrPrix

rfrence de l'offre (identifiant de l'entit)


la surface exacte
prix minimum souhait
prix souhait

L'association "Ventes" est porteuse des donnes relative la vente, savoir :


- VteDate
- VteMnt

la date de la vente
le montant exact de la transaction

L'association "Concerne" permet de savoir quels secteurs gographiques correspondent les recherches
L'association "Soumettre" associe les clients et leurs recherches
L'association "Etre 1" permet de connatre le type des offres
L'association "Etre 2" permet de connatre le type des recherches
Q2.1 Quel schma de base de donnes relationnelle proposez-vous ? Justifiez votre rponse en prsentant la dmarche
suivie.
Q2.2
L'entreprise est organise en fonction de ses mtiers selon les recherches qui peuvent tre de plusieurs types :
- bureaux
- magazins
- surfaces industrielles
- habitations en appartement
- habitations en maison
Les diffrentes divisions et services ont des tches clairement identifies :

Paris Opra sont gres les recherches sur les bureaux et les magazins
au sige sont gres les recherches sur les surfaces industrielles
Paris Clignancourt sont gres les recherches sur habitations en appartement
Versailles sont gres les recherches sur habitations en maison
le service tudes qui s'occupe de la vente et de faire des tudes de marchs fondes sur les statistiques et les
principaux indicateurs grs par le systme, se trouve la Dfense.
le service marketing s'occupe de suivre les clients ayant le plus important chiffre d'affaires pour les inviter
des manifestations de prestige. Ce service ainsi que les autres services de l'entreprise se trouve au sige.

Q2.2.1
Proposez et justifiez une bonne dcomposition de la base sur ces diffrents sites.
Pour cela on pourra utiliser la dcomposition (fragmentation horizontale et/ou verticale) ainsi que la rplication.
Pour chaque fragment obtenu, on donnera sa dfinition sous la forme d'un calcul de l'algbre relationnelle partir du
schma initial (global).
Inversement, on indiquera comment se calcul chaque relation de la base partir des fragments.

ED Base de donnes - B6 CNAM page 12

Partie VI : Administration des donnes


Exercice VI-1 :
Soit les tables suivantes :
SOC (

idsoc
libsoc
villesco
sigle
nbemp

CHAR(5)
CHAR(60)
CHAR(60)
CHAR(20)
NUMBER(4)

NOT NULL,
NOT NULL,
NOT NULL,
NOT NULL,
NULL

-- identifiant de lentreprise
-- Nom de lentreprise
-- Localit de lentreprise
-- Sigle de lentreprise
-- Nombre demployes

idemp
nom
prenom
danais
villedom
salaire
datemb
fonction
idsoc

CHAR(5)
CHAR(50)
CHAR(50)
DATE
CHAR(60)
NUMBER
DATE
CHAR(15)
CHAR(5)

NOT NULL,
NOT NULL,
NULL,
NOT NULL,
NULL,
NULL,
NOT NULL,
NULL,
NOT NULL

-- identifiant interne employ


-- Nom de lemploy
-- Prnom de lemploy
-- Date de naissance
-- Localit de rsidence
-- salaire en cours
-- date dembauche
-- Fonction dans lentreprise
-- entreprise de rattachement

)
EMP (

)
Les clefs primaires sont signales par des noms de colonne en gras/soulign.
idsoc : Clef trangre dans la table EMP vers la table SOC.
Questions
Q1) Une requte SQL doit retourner dans un programme le nom de lemploy le plus pay.
a) Parmi les quatre requtes suivantes, seules deux dentre elles donnent le rsultat souhait.
Indiquer lesquelles:
1/ select nom from emp where salaire=(select max(salaire) from emp)
2/ select nom,max(salaire) from emp
3/ select nom,max(salaire) group by nom from emp
4/ select nom from emp where salaire >= all (select salaire from emp)
b) Sachant quun index a t plac sur la colonne SALAIRE, indiquer parmi les deux requtes trouves
dans la question prcdente, laquelle est la plus performante.
Justifier votre rponse.
Q2) lattribut NBEMP concerne le nombre demploys pour la socit.
Sachant que ce compteur doit tre toujours cohrent par rapport lajout et la suppression demploys dans la
table EMP, proposer un mcanisme permettant de rpondre ce besoin.
Q3) Contrainte dintgrit
Il faut mettre en place les contrles de saisie sur la table EMP, tel que :
a. Lge lors de lembauche doit tre compris entre 18 et 65 ans , bornes incluses;
b. Le salaire doit dans tous les cas tre suprieur ou gal zro;
c. Le salaire ne doit pas tre suprieur au maximum des salaires des employs exerant la mme
fonction dans la mme entreprise.
Quelle solution proposer (uniquement les principes) pour les trois rgles de gestion prcdentes.
Justifier la rponse.
Q4) Cration de vues
a) Donner lordre de cration dune vue permettant dobtenir la masse salariale de lentreprise (somme de tous
les salaires des employs)
b) Donner lordre de cration dune vue permettant de lister les noms demploys avec le pourcentage de leur
salaire par rapport la masse salariale globale.

ED Base de donnes - B6 CNAM page 13

ED Base de donnes - B6 CNAM page 14

Exercice VI - 2
Dans une entreprise du secteur alimentaire, une application de gestion de rsultats d'analyses bactriologiques
sur des produits utilise une base de donnes relationnelle.
Le schma de la base est le suivant :
ANALYSE

(AN_ANNEE, AN_NUMERO, AN_DATE, LI_CODE, PR_CODE)

RESULTAT

(AN_ANNEE, AN_NUMERO, CR_CODE, RE_RESULTAT, RE_CONCLUSION)

CRITERE

(CR_CODE, CR_NOM)

STANDARD

(CR_CODE, PR_CODE, ST_VALEUR)

PRODUIT

(PR_CODE, PR_NOM)

LIEU

(LI_CODE, LI_NOM)

Remarques :

Seuls les index des cl primaires sont crs.


Le dtail de chaque zone est propos en annexe.

Les informations de volumtrie sont les suivantes :


TABLE

NOMBRE DE RANGEE

ANALYSE
RSULTAT
CRITERE
STANDARD
PRODUIT
LIEU

CROISSANCE/MOIS

l0000
50000
20
40000
2000
50

400
20
0
20
1
0

ADMINISTRATION (lexique)
ANALYSE
-

AN-ANNEE :
AN-NUMERO :
AN-DATE :
LI-CODE :
PR-CODE :

anne laquelle lanalyse a t ralise,


numro dordre de lanalyse lintrieur dune anne,
date laquelle lanalyse a t ralise,
code du lieu de ralisation de lanalyse,
code du produit analys,

RESULTAT
-

AN-ANNEE :
anne laquelle lanalyse a t ralise,
AN-NUMERO :
numro dordre de lanalyse lintrieur dune anne,
CR-CODE :
code du critre qui est analys (ex : BACO1 : bactrie N1),
RE-RESULTAT :
valeur rsultant de lanalyse pour un critre,
RE-CONCLUSION :
conclusion (conforme/non conforme) du rsultat en fonction des standards

CRITERE
-

CR-CODE :
CR-NOM :

code du critre qui est analys (ex : BACO1 : bactrie N1),


dsignation du critre,

ED Base de donnes - B6 CNAM page 15

STANDARD
-

CR-CODE :
PR-CODE :
ST-VALEUR :

code du critre qui est analys (ex : BACO1 : bactrie N1),


code du produit analys,
valeur standard pour un produit et un critre,

ED Base de donnes - B6 CNAM page 16

PRODUIT
-

PR-CODE :
PR-NOM :

code du produit analys,


dsignation du produit,

LIEU
-

LI-CODE :
LI-NOM :

code du lieu de ralisation de lanalyse,


dsignation du code,

Lutilisation de la base peut tre synthtis par le schma suivant :


LABORATOIRE

DIRECTION LABORATOIRE

DIRECTION QUALITE

4 x laborantins

1 directeur

1 directeur

BASE DE DONNEES

Remarque : Tous les programmes travaillant sur la base utilisent des transactions.

Vous venez d'tre nomm administrateur de cette base de donnes. Votre objectif est de rsoudre les problmes
gnant la bonne exploitation de l'application.
Les problmes perus par les diffrents utilisateurs sont les suivants :

Le directeur du laboratoire :
- Un problme matriel sur la machine supportant la base de donnes a entran la perte de jours de saisies car le
redmarrage de la base n'a pu se faire que sur une sauvegarde effectue en fin de semaine
- Des standards d'analyse ont t modifis sans l'accord pralable du directeur du laboratoire.
- Le directeur souhaite une accs facile touts les analyses de la journe en cours, avec leurs rsultats.
Le directeur de la qualit :
- Il dsire suivre l'volution de la qualit des produits en listant rgulirement touts les analyses dont la
conclusion est 'NON-CONFORME'.
- Actuellement le directeur de la qualit utilise des requtes SQL qui lui semblent compliques et dont il se
plaint de la lenteur.
Les laborantins :
- A chaque dition d'une analyse, il faut ajouter manuellement le numro de lot du produit sur le listing. Ce
numro n'est connu qu'au moment o un laborantin effectue l'analyse.
- Le traitement de saisie des rsultats faisant appel toutes les tables par jointure, a de mauvais temps de
rponse.
- Lors de la saisie du rsultat d'une analyse, il est possible de saisir par inadvertance un critre qui n'existe pas.
- Tous les vendredis, un programme purge la base des analyses dont la date est antrieure un AN? Ce
traitement est de plus en plus long.

ED Base de donnes - B6 CNAM page 17

ED Base de donnes - B6 CNAM page 18

Questions :
Q1) Identifiez les problmes en terme de base de donnes et proposez une liste (non dtaille) des
actions mener en les justifiant.
Q2) Pour chaque action propose prcdemment, dtaillez leur mise en uvre, au besoin en utilisant
des ordres SQL.
Q3) En prenant plusieurs scnarii catastrophes, expliquez les oprations de reprise.
Q4) Optimisation des requtes SQL A dvelopper en sance.

Exercice VI - 3
Supposons que nous ayons effectuer la jointure entre les tables R1 (10000 tuples) et R2 (1500 000 tuples)
selon les prdicats R1.A = R2.B o A est la cl primaire de R1 et B est une cl trangre dans R2. B dans R2
a 5000 valeurs distinctes. Exposer les diffrentes mthodes dexcution des jointures pouvant tre utilises
par les SGBDR et illustrer par un calcul simple la mthode que vous jugez la plus efficace (performante).

Exercice VI - 4

Concurrence d'accs :
Deux transactions T1 et T2 s'effectuent sur la base de donnes pounr modifier des informations contenues sans les tables.
Elles effectuent les oprations suivantes :
TRANSACTION T1
T11
T12
T13
T14
T15

Lire A
Lire B
Lire C
Ecrire A = B + C
Ecrire C = B

TRANSACTION T2
T21
T22
T23

Lire B
Lire A
Ecrire B = B + A

Questions :
Q1) En l'absence d'un mcanisme de contrle de concurrence d'accs, exposez les situations
d'incohrence pouvant survenir.
Montrez les rsultats possibles en prenant l'hypothse suivante : A=100, B=300 et C=500.
Q2) En cas de panne ou d'annulation d'une transition en cours, prsentez un droulement des
transactions qui mne une situation incohrente.
Q3) Avec un mcanisme de contrle de concurrence, quelles sont les valeurs prises par A, B et C
aprs la complte excution de ce deux transactions ?
Peut-il y avoir plus d'un rsultat possible pour A, B et C.
Q4) L'unit d'accs aux bases de donnes est la 'granule'. A votre avis, qu'elle est la meilleure taille de
cette unit ?

ED Base de donnes - B6 CNAM page 19

ED Base de donnes - B6 CNAM page 20

Partie VII : Rvision


Exercice VII-1
On souhaite grer le planning d'un centre de formation l'aide d'une base de donnes relationnelle.
On dispose des informations suivantes :
1- Numstagiaire = Numro du stagiaire
2- Nomstagiaire = Nom du stagiaire
3- Prestagiaire = Prnom du stagiaire
4- Datnastagiaire = Date de naissance du stagiaire
5- Numstage = Numro stage
6- Intstage = Intitul du stage
7- Domstage = Domaine du stage (I=Informatique, D=Droit international, O=Organisation)
8- Datdebstage = Date de dbut dune session d'un stage
9- Datfinstage = Date de fin dune session d'un stage (exemple : Stage no. 1234 d'intitul " Initiation la
micro-informatique pour cadres", dont une session dmarre le 29/03 et se termine le 12/04)
10- Numprof = Numro du professeur
11- Nomprof = Nom du professeur
12- Preprof = Prnom du professeur
13- Nummod = Numro module
14- Intmod = Intitul du module
15- Numsess = Numro session
16- Nbreheure = Nombre dheures denseignement effectu
17- Tauxhor = Taux horaire denseignement
Les informations ci-aprs sont en prendre en compte :
- un stagiaire suit une session d'un stage (et une seule),
- un module peut tre assur par un ou plusieurs professeurs,
- un module est un cours susceptible d'tre incorpor dans un ou plusieurs stages,
- un professeur peut enseigner plusieurs modules,
- une session de stage se compose d'une succession de modules, chacun de ces modules tant pris en charge
par un professeur entre une date de dbut et une date de fin,
- un stage peut tre ralis dans plusieurs sessions.
- lattribut Nbreheure correspond au nombre dheures denseignement effectu par un professeur donn,
pour un module donn et une session donne.
- le taux horaire denseignement (Tauxhor) est fonction du domaine de stage (Informatique = 500FFHT,
Droit international = 600 FFHT, Organisation = 550 FFHT)

Questions :
Q1) Dterminer le schma relationnel en troisime forme normale de cette base de donnes et expliquer la
dmarche suivie.
Q2) La direction du centre dcide de dcentraliser la gestion des stages sur trois agences Paris, Lille et
Nantes.
Proposer et justifier une bonne dcomposition de cette base de donnes sur ces trois sites. Pour cela on
pourra utiliser la dcomposition horizontale et/ou verticale ainsi que la rplication (duplication),
sachant que :
- Lagence de Paris est responsable de la planification des stages du domaine Informatique et de la
gestion administrative des intervenants enseignants (recrutement et paiement).
- Lagence de Lille est responsable de la planification des stages du domaine Droit International et de
la synchronisation des interventions des enseignants (un professeur peut intervenir sur plusieurs stages).
- Et enfin lagence de Nantes gre le planning des stages du domaine Organisation.
ED Base de donnes - B6 CNAM page 21

pour chaque fragment obtenu, on donnera sa dfinition sous la forme dun calcul de lalgbre relationnelle
partir du schma initial (cf. Q1).
Inversement, on indiquera comment se calcule chaque relation de la base partir des fragments.
Dterminer le schma relationnel en troisime forme normale par application des rgles de passage du
modle Conceptuel de Donnes v ers le modle Relationnel. Expliquer la dmarche suivie.
Q3) Doit-on dfinir pour cette base de donnes des contraintes d'intgrit rfrentielles ou autres
(dclaratives) ? si oui lesquelles ? Justifier votre rponse.
Q4) Indiquer les index dont la cration vous semble indispensable. Justifier votre rponse et dtailler le rle
des index.
Q5) Dceler de ce schma relationnel les diffrentes contraintes dintgrit (dclaratives et rfrentielle)
devant tre prises en compte lors de limplmentation physique de la base de donnes. Justifier votre
rponse et expliquer les diffrentes manires de programmer les contraintes dintgrit rfrentielles.

ED Base de donnes - B6 CNAM page 22