Académique Documents
Professionnel Documents
Culture Documents
ED
BASES DE DONNEES B6
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 :
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 ?
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
un employ identifi par son numro ne travaille dans un dpartement (identifi par son numro) et
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
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).
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)
: 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 ?
Q2)
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) ;
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
Strasbourg
Ambroise-Par
Colmar
Colmar
Rgional
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
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
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
L'entit "Type" concerne les types de recherches ou d'offres (bureaux, magazins, etc.). Elle comporte :
- TypCode
code du type
- 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
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.
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
)
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.
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
RESULTAT
CRITERE
(CR_CODE, CR_NOM)
STANDARD
PRODUIT
(PR_CODE, PR_NOM)
LIEU
(LI_CODE, LI_NOM)
Remarques :
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 :
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 :
STANDARD
-
CR-CODE :
PR-CODE :
ST-VALEUR :
PRODUIT
-
PR-CODE :
PR-NOM :
LIEU
-
LI-CODE :
LI-NOM :
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.
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 ?
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.