Vous êtes sur la page 1sur 9

DCG UE8 : Systèmes d'Information de Gestion Devoir n°1 du 30 Septembre 2009

Niveau L2 CORRIGE

Modèle de Données
Travail à faire
1. Exprimer précisément le sens de chacune des cardinalités (cardinalités minimales et
maximales) concernant l'association "PORTER SUR" du schéma conceptuel des données.
Une réservation peut porter sur aucun ou plusieurs appartements. Cette cardinalité minimale peut être
surprenante. Si la réservation ne porte pas sur un appartement, elle doit alors porter sur un Garage,
mais le modèle proposé n'indique pas de façon explicite cette contrainte.
Un appartement peut faire l'objet d'aucune ou d'une seule réservation. Lorsqu'un appartement est
réservé, il est bloqué pour d'éventuels d'autres acheteurs.
2. Présenter le schéma relationnel correspondant à ce modèle de données.
Le schéma relationnel est une vision tabulaire de la structure des données. Le nom des attributs doit
être codifié pour lever toute ambiguïté ; les clés primaires et les clés étrangères doivent apparaître de
façon explicite.
CLIENT (CLI_NO, CLI_NOM, CLI_PRENOM,CLI_ADR, CLI_COPOST, CLI_COMMUNE, CLI_TEL,
CLI_ANCIENNETE)
Clé primaire : CLI_NO

RESERVATION (RES_NO, RES_DATE, RES_NATURE, AGC_N0, CLI_NO)


Clé primaire : RES_NO
Clé étrangère : AGC_NO référence AGC_N0 dans AGENT_COMMERCIAL
Clé étrangère : CLI_NO référence CLI_N0 dans CLIENT

GARAGE ( GAR_NO, GAR_ETAT, RES_NO, RED_NO)


Clé primaire : GAR_NO
Clé étrangère : RES_NO référence RES_NO dans RESERVATION
Clé étrangère : RED_NO référence RED_NO dans RESIDENCE

RESIDENCE (RED_NO, RED_NOM, RED_RUE, RED_COPOST, RED_COMMUNE, RED_PRIX_P)


Clé primaire : RED_NO

AGENT_COMMERCIAL ( AGC_NO, AGC_NOM, AGC_PRENOM)


Clé primaire : AGC_NO

APPARTEMENT ( APT_NO, APT_SURFACE, APT_EXPOSITION, APT_TYPE, APT_ETAGE,


APT_PRIX_BASE, APT_ETAT, RES_NO, RED_NO)
Clé primaire : APT_NO
Clé étrangère : RES_NO référence RES_NO dans RESERVATION
Clé étrangère : RED_NO référence RED_NO dans RESIDENCE

PARKING (PAR_NO, PAR_ETAT, RED_NO)


Clé primaire : PAR_NO
Clé étrangère : RED_NO référence RED_NO dans RESIDENCE

Les appartements de chaque résidence construite par cette société sont numérotés séquentiellement
de 1 à x.
3. Le modèle de données précédent permet-il de prendre en compte ce type de numérotation?
Justifier votre réponse.
NON! Les appartements doivent tous avoir des numéros différents puisque leur numéro sert
d'identifiant. Pour prendre en compte la contrainte proposé, il faut mettre la cardinalité 1,1 entre
parenthèses et indiquer par là le caractère RELATIF de l'identifiant des Appartements. Pour localiser
(identifier) un appartement il faudra connaître le numéro de résidence et celui de l'appartement.
L'identifiant de l'appartement est qualifié d'identifiant FAIBLE, alors que celui de la résidence sera
considéré comme FORT.

Jacques Chambon 1/9


DCG UE8 : Systèmes d'Information de Gestion Devoir n°1 du 30 Septembre 2009
Niveau L2 CORRIGE
4. Présenter une vision en extension des tables « Appartement » et « Résidence » en tenant
compte de la numérotation pratiquée.
RESIDENCE APPARTEMENTS
RED_NO RED_NOM .... RED_NO APT_NO APT_SURFACE ... RES_NO
Cam Camélias ..... Ros 1 30 10
Ame Amérique Ros 2 50
Ros Rosiers Ros 3 120
Ros 4 50
Ros 5 30
Ros 6 120
Ros 7 70
Ros 8 65 11
Ros 9 30
Ros 10 165
Cam 1 60
Cam 2 100 12
Cam 3 110
Cam 4 30
Cam 5 30
Cam 6 60
Cam 7 100 13
Ame 1 65
Ame 2 70
Ame 3 125
Ame 4 140
Ame 5 140 14
Ame 6 40
Ame 7 220 12
Ame 8 150

Écrire en langage SQL les requêtes suivantes, permettant d'obtenir :


5. le nom et le prénom de l'agent commercial ayant procédé à la réservation du garage
numéro 45.
SELECT AGC_NO, AGC_NOM
FROM AGENT_COMMERCIAL, RESERVATION, GARAGE
WHERE RESERVATION.AGC.NO = AGENT_COMMERCIAL.AGC.NO
AND RESERVATION.RES_NO = GARAGE.RES_NO
AND GAR_ETAT like 'Reservé'
AND GAR_NO = 45;
6. Le nombre d'appartements de la résidence "Amérique" réservés par l'intermédiaire de
l'agent commercial « Hubert de la Parende ».
SELECT COUNT (APT_NO)
FROM AGENT_COMMERCIAL, RESERVATION, APPARTEMENT, RESIDENCE
WHERE RESERVATION.AGC.NO = AGENT_COMMERCIAL.AGC.NO
AND RESERVATION.RES_NO = APPARTEMENT.RES_NO
AND APPARTEMENT.RES_NO = RESIDENCE.RES_NO
AND RESIDENCE.RES_NOM like 'Amérique'
AND APT_ETAT like 'Reservé'
AND AGC_NOM like ' de la Parende
AND AGC_PRENOM like 'Hubert'';
7. Le nom et le prénom du client ayant réservé le parking numéro 153.
SELECT CLI_NOM, CLI_PRENOM
FROM RESERVATION, CLIENT, GARAGE, PARKING
WHERE CLIENT.CLI_NO = RESERVATION.CLI_NO
AND RESERVATION.RES_NO = GARAGE.RES_NO
AND PARKING.RES_NO = GARAGE.RES_NO
AND PAR_ETAT like 'Reservé'
AND PAR_NO = 153;

Jacques Chambon 2/9


DCG UE8 : Systèmes d'Information de Gestion Devoir n°1 du 30 Septembre 2009
Niveau L2 CORRIGE

Processus de réservation
8. Présenter le Schéma Conceptuel de Traitement

Jacques Chambon 3/9


DCG UE8 : Systèmes d'Information de Gestion Devoir n°1 du 30 Septembre 2009
Niveau L2 CORRIGE
Tableur
9. Présenter l'arbre de calcul de la remise.

10.Présenter l'algorithme associé.

Première Version
Algorithme Calcul remise
DEBUT
Ancienneté : Booléen
Total_AR, Taux, Montant_Remise : Numérique
Introduire (Ancienneté, Total_AR)
Montant_Remise ← 0
Si Ancienneté = « Nouveau » Alors
Si Total_AR > 200000 Alors
Montant_Remise ← (Total_AR – 200000)*1%
FinSi
Sinon
Si Total_AR > 200000 Alors
Si Total_AR < 300000 Alors
Montant_Remise ← (Total_AR – 200000)*2%
Sinon
Montant_Remise ← ( 300000 – 200000 ) * 2 % + (Total_AR – 300000)*3%
FinSi
FinSi
FinSi
Afficher (Remise)
FIN

Jacques Chambon 4/9


DCG UE8 : Systèmes d'Information de Gestion Devoir n°1 du 30 Septembre 2009
Niveau L2 CORRIGE

Deuxième version
Algorithme Calcul remise
DEBUT
Ancienneté : Booléen
Total_AR, Taux, Montant_Remise : Numérique
Borne_Nouveau ← 200000
Taux_nouveau ← 1%
Borne_Anc1 ← 200000
Borne_Anc2 ← 300000
Taux_anc1 ← 2%
Taux_anc2 ← 3%

Introduire (Ancienneté, Total_AR)


Montant_Remise ← 0
Si Ancienneté = « Nouveau » Alors
Si Total_AR > Borne_nouveau Alors
Montant_Remise ← (Total_AR – Borne_nouveau)* Taux_nouveau
FinSi
Sinon
Si Total_AR > Borne_Anc1 Alors
Si Total_AR < Borne_Anc2 Alors
Montant_Remise ← (Total_AR – Borne_Anc1)* Taux_anc1
Sinon
Montant_Remise ← ( Borne_Anc2 – Borne_Anc1 ) * Taux_anc1 + (Total_AR – Borne_Anc2) *
Taux_anc2
FinSi
FinSi
FinSi
Afficher (Remise)
FIN

Jacques Chambon 5/9


DCG UE8 : Systèmes d'Information de Gestion Devoir n°1 du 30 Septembre 2009
Niveau L2 CORRIGE
11.Comment dans un tableur peut-on paramétrer la liste déroulante correspondant aux codes
appartements?
Commande Données / validité ou Validation

Le contenu des cellules B44 à H100 sont liées à la base de données de la société par une requête
SQL qui est déclenchée automatiquement dès que le commercial demande une actualisation de cette
partie de la feuille de calcul.
12.Écrire en SQL la requête permettant d'obtenir les données contenues dans la Base.
SELECT CONCAT(RESIDENCE.RED_NO,RESIDENCE.APT_NO), RED_NOM,
RESIDENCE.APT_NO, APT_ETAGE, APT_TYPE, APT_SURFACE, APT_PRIX_BASE)
FROM RESIDENCE, APPARTEMENT
WHERE APPARTEMENT.RED_NO = RESIDENCE.RED_NO
AND APT_ETAT like 'Reservé'
ORDER BY CONCAT(RESIDENCE.RED_NO,RESIDENCE.APT_NO);
13.Quelles modifications proposez-vous dans la base de données pour obtenir toutes les
informations nécessaires à cette simulation? Présentez -les sur le modèle de données fourni
en annexe.
Il faut ajouter l'étage, le type et le prix de base comme attributs de l'entité « Appartement ». Il faut
prendre en compte la nature des revêtements et ajouter le prix des parkings et Garages.

Jacques Chambon 6/9


DCG UE8 : Systèmes d'Information de Gestion Devoir n°1 du 30 Septembre 2009
Niveau L2 CORRIGE
14.Écrire les formules de calcul des plages de cellules suivantes :
Nom Référence Formule
Résidence C11 : C15 =SI(ESTVIDE(B11);"";RECHERCHEV($B11;$B$45:$H$93;2;0))
Prix Base G11 : G15 =SI(ESTVIDE(B11);"";RECHERCHEV($B11;$B$45:$H$93;7;0))
Tarif Revêtement K11 : K15 =SI(ESTVIDE(J11);"";RECHERCHEV(J11;$J$52:$K$54;2;0))
Total Revêtement L11 : L15 =SI(ESTVIDE(B11);"";(K11+I11)*F11)

Total Parking N11 : N15 =SI(ESTVIDE(M11);"";RECHERCHEV(C11;$J$59:$K$61;2;0))*M


11
Total Garage Q11 : Q15 =SI(ESTVIDE(B11);"";SI(O11="Simple";RECHERCHEV(C11;$J$
59:$L$61;3;0);SI(O11="Double";RECHERCHEV(C11;$J$59:$M$
61;4;0);"")))*P11
Recap Appartement D20 =G16

Total avant remise D24 =SOMME(D20:D23)

Remise D25 =SI(ESTVIDE(D7);0;SI(D7="Non";SI(D24>Paramètres.C4;(D24-


Paramètres.C4)*Paramètres.C5;0);SI(D24>Paramètres.F5;(D24-
Paramètres.F5)*Paramètres.F7+(Paramètres.F5-
Paramètres.F4)*Paramètres.F6;SI(D24>Paramètres.F4;(D24-
Paramètres.F4)*Paramètres.F6;0))*-1))
Montant à payer D26 =D24+D25

En utilisant des noms

Jacques Chambon 7/9


DCG UE8 : Systèmes d'Information de Gestion Devoir n°1 du 30 Septembre 2009
Niveau L2 CORRIGE

Extension de la Base de Données


15.Compléter le schéma conceptuel des données en annexe, pour prendre en compte le suivi
des règlements clients.

Questions diverses
16.Qu'est ce que le Web?
Le World Wide Web, littéralement la « toile (d’araignée) mondiale », communément appelé le Web,
parfois la Toile ou le WWW, est un système hypertexte public fonctionnant sur Internet et qui permet
de consulter, avec un navigateur, des pages mises en ligne dans des sites. L’image de la toile
d'araignée vient des hyperliens qui lient les pages web entre elles. (source : Wikipédia)
http://public.web.cern.ch/public/fr/About/Web-fr.html

Jacques Chambon 8/9


DCG UE8 : Systèmes d'Information de Gestion Devoir n°1 du 30 Septembre 2009
Niveau L2 CORRIGE
17.Quelles sont les services du Web 1? Vous préciserez pour chacun d'entre eux, leur but.

18.Quels sont les services du Web 2.0? Vous préciserez pour chacun d'entre eux, leur but.

19.Synthétisez les fonctions des Web 1 et 1 dans une carte heuristique.

Quelques erreurs
Si ancien client ET montant total >300000 Alors
3% ← partie du total > 300000
Sinon Si Ancien client ET montant >200000 Alors
2% ← partie du total > 200000
Sinon Si nouveau client ET montant > 200000 Alors
1% ← partie du total > 200000
Sinon
0
Fsi
Fsi
Fsi

Jacques Chambon 9/9

Vous aimerez peut-être aussi