• Aucun résultat trouvé

INF3180Fichiers et bases de données

N/A
N/A
Protected

Academic year: 2022

Partager "INF3180Fichiers et bases de données"

Copied!
1
0
0

Texte intégral

(1)

Université du Québec à Montréal

Département d’Informatique Été 2006

INF3180

Fichiers et bases de données

Objectif

L’objectif de ce travail est la maitrise:

La création des bases de données;

L'utilisation des fonctions et des procédures en PL/SQL;

L'utilisation des déclencheurs;

Spécification du Problème

Le club de golf Gdebay Inc. désire informatiser la gestion de ses membres et leur offrir la possibilité d’utiliser le système pour enregistrer leurs performances et calculer leur handicap. Le club offre un parcours régulier de 18 trous (normale 72) et un parcours par 3 pour débutant de 9 trous (normale 27). Les membres peuvent également profiter de deux restaurants, d’un bar, d’une boutique ainsi que de leçons de golf.

Gestion des membres

1. Lorsqu’un individu ou une famille désire devenir membre du club, il choisit le type d’abonnement qu’il

désire, soit individuel, couple ou familial, avec le droit de jouer tous les jours ou seulement sur semaine. On ouvre alors un dossier comprenant entre autres les noms, adresse, téléphone, type d’abonnement et nombre d’individus membres de la famille.

Une famille peut être composée de plusieurs personnes, à condition que tous vivent à la même adresse et que les enfants soient âgés de moins de 18 ans au moment de l’abonnement.

Gestion des parties

2. Au cours de la saison, chaque membre doit entrer ses joutes : date, parcours, score (par trou). Lorsqu’il y a

suffisamment de parties entrées, le membre peut demander au système de calculer son handicap.

Un handicap consiste en un certain nombre de coups qui sépare un joueur qui joue régulièrement la normale (handicap nul) d’un joueur inexpérimenté. Plus le joueur est inexpérimenté, plus son handicap est élevé. Par exemple, si on calcule une moyenne des scores des plus récentes parties et qu’on obtient 98, le handicap sera de 26 (98-72). On se sert du handicap pour les compétitions entre joueurs de niveau différent, afin que chacun ait une chance de gagner.

Gestion des paiements et dépenses

3. Le paiement de l’abonnement doit se faire dans les 30 jours suivant l’ouverture du dossier sinon

l’abonnement est annulé. Un champ DatePaiement dans le dossier indique si oui ou non l’abonnement est payé.

4. Les dépenses courantes, reliées à la boutique, au restaurant, au bar ou aux leçons sont effectuées par les membres alors que la facturation est faite au membre principal. (N.B:pas besoin pour ce TP)

(2)

PARTIE A , FC_TYPE_MEMBRE:

Cette fonction valide le type de membre. Elle sera appelée par un déclencheur lors de l’insertion d’un membre. Elle utilise les paramètres suivants :

1) le numéro de dossier

2) le type de membre ('P',’C’ ou 'E')

Si le type est invalide, la fonction affiche un message approprié et retourne 1 sinon elle retourne 0;

Validations requises

On ne peut ajouter un membre principal à un dossier qui en a déjà un.

Si on insère un conjoint, le type d’abonnement ne doit pas être individuel, il ne doit pas y avoir de conjoint dans la base pour ce dossier et le membre principal du dossier doit déjà être dans la base.

Si on insère un enfant, le type d’abonnement doit être familial et le membre principal doit déjà être dans la base.

PARTIE B , FC_Traitement_Partie:

Cette fonction ajoute une nouvelle partie pour un joueur .

Si le type est invalide, la fonction affiche un message approprié et retourne 1 sinon elle retourne 0;

Validations requises

L’abonnement du membre n’est pas annulé.

Le type d’abonnement est valide cette journée.

PARTIE C , FC_Traitement_detailPartie:

Cette fonction ajoute les scores par trou pour une partie.

Si le type est invalide, la fonction affiche un message approprié et retourne 1 sinon elle retourne 0;

Validations requises

La valeur minimale du champ score doit être la moitié de la valeur Normaltrou.

Valider l'existence du trou selon le terrain.

PARTIE D, Procédure PROC_Calcul_Handicap:

Cette procédure utilise deux paramètres (le premier: le numéro de membre et le deuxième de type date sous la forme 'dd-mm-yy' )

La procédure nous permet de calculer la valeur de l’handicap du membre à partir de la date passé en paramètre.

PARTIE E, Déclencheur DECL_Membre :

Ce déclencheur prend le contrôle lorsqu'on insère une ligne dans la table G_membres. Ce déclencheur appelle la fonction FC_TYPE_MEMBRE et quitte l'ordre insert avec une erreur si le code de validation = 1. Si le code de validation est 0, il laisse l’ordre insert s’exécuter.

PARTIE F, Déclencheur DECL_Partie :

Ce déclencheur prend le contrôle lorsqu'on insère une ligne dans la table G_Partie. Ce déclencheur appelle la fonction FC_Traitement_Partie et quitte l'ordre insert avec une erreur si le code de validation = 1. Si le code de validation est 0, il laisse l’ordre insert s’exécuter.

PARTIE G, Déclencheur DECL_DetailPartie :

Ce déclencheur prend le contrôle lorsqu'on insère une ligne dans la table G_Details_Partie. Ce déclencheur appelle la fonction FC_Traitement_detailPartie et quitte l'ordre insert avec une erreur si le code de validation = 1. Si le code de validation est 0, il laisse l’ordre insert s’exécuter.

(3)

Attention:

x0 pour clé primaire.

Le champs NO_TROU dans la table D_Details_Parties est de type Number (2)

Exemple:

Table G_Type Abonnements:

TYPE DESCRIPTION ---- --- COU couple FAM FAMILIALE IND INDIVIDU

G_Couts_Abonnements:

TYPE DROITS MONTANT ---- --- --- COU 5 1530

FAM 5 2040 IND 5 816 COU 7 2080 FAM 7 2600 IND 7 1248 Table G_Dossiers:

(4)

--- --- --- --- --- -- --- --- --- ---- --- 1 06-04-15 Pigeon 2205 Jarry est Montréal Qc H6M4T5 5146681222 06-04-15 COU 7

2 06-04-15 Martel 129 Berri Laval Qc H8M3JR 4506691277 06-04-18 FAM 5 Table G_Membres

NOMEMBRE TYPEMEMB NOM PRENOM S DATENAIS C HANDICAPDONNE NODOSSIER --- --- --- --- - --- - --- ---

901 P Sicotte Louis M 32-05-22 A 12 3 802 C Pigeon Adèle F 38-08-12 C 25 1 902 P Pigeon Henri-Paul M 40-06-03 B 17 1 932 P Martel Normand M 62-09-14 D 2 Table G_Parcours

NOTERRAIN NOM_DU_TERRAIN NORMALE ANNEEOUVERTURE --- --- --- --- 2 La pineraie 27 1999

1 Le massif 72 1985 Table G_details_Parcours:

NOTERRAIN NOTROU NORMALETROU DISTANCEROUGE DISTANCEBLANC DISTANCEBLEU --- --- --- --- --- ---

2 1 5 442 515 525 2 2 4 296 386 401 2 3 4 322 357 371 2 4 3 113 140 152 2 5 5 422 510 526 2 6 3 116 155 166 2 7 4 336 360 387 2 8 3 133 164 175 2 9 5 420 497 511 1 1 5 442 515 525 1 2 4 296 386 401 1 3 4 322 357 371 1 4 3 113 140 152 1 5 5 422 510 526 1 6 3 116 155 166 1 7 4 336 360 387 1 8 3 133 164 175 1 9 5 420 497 511 1 10 5 412 516 534 1 11 4 336 363 376 1 12 4 327 350 364 1 13 3 122 152 161 1 14 5 451 521 532 1 15 3 145 164 178 1 16 5 479 518 537 1 17 3 127 167 175 1 18 4 275 366 385 Table G_parties

IDPARTIE DATEPART SCORETOTAL NOMEMBRE NOTERRAIN --- --- --- --- ---

1 06-08-25 82 701 1 2 06-08-27 83 701 1 3 06-08-28 91 701 1 4 06-08-25 90 791 1 5 06-09-27 771 1 6 06-08-28 901 1 7 06-08-29 901 1 8 06-08-30 901 1 9 06-08-31 901 1

(5)

10 06-09-20 901 1 11 06-09-21 901 1 12 06-09-22 901 1 13 06-08-23 90 908 1 14 06-09-24 908 1 15 06-07-28 94 911 1 Table G_Details_Partie

IDPARTIE NO_TROU SCORE --- --- --- 3 1 5

3 2 6 3 3 5 3 4 4 3 5 5 3 6 3 3 7 10 3 8 4 3 9 6

Table G_type transactions

CODE_TRANSAC DESC_TRANSAC --- ---

1 BAR

2 RESTAURANT 3 COURS 4 BOUTIQUE 5 SURCHARGE 6 PAIEMENT

Remise du tp:

Veuillez remettre par voie électronique les fichiers dans un seul fichier compressé nommé (inf3180_e06_tp2.zip). Cette remise se fera via la commande rendre_tp (vous trouverez les instructions sur la commande rendre_tp au http://www.labunix.uqam.ca/prive/ ).

1. Répertoire de remise : /usagers/k26750/inf3180/inf3180_e06_tp2

Un document composé de:

Une page de garde

le script contient :

La création des tables

Insertion des enregistrements dans les tables

Les fonctions.

La procédure.

Les déclencheurs.

Date de remises:

mercredi 28 juin 2006 avant 17:00.

Références

Documents relatifs

Aussi si vous avez choisi de venir ici pour aider l’humanité, pour remplir votre mission d’éveil de conscience tout autour de vous, chacun et chacune à votre

1) a) Commencer par télécharger et installer Algobox. Algobox est gratuit, tapez « Algobox » dans n'importe quel moteur de recherche pour le trouver ou allez

dossier de soins infirmiers, il a le devoir d’établir correctement les documents qui sont nécessaires au patient. Le dossier infirmier engage la responsabilité

Il est question à travers cette étude de faire un diaporama de la gouvernance de la forêt Boucher dans la ville de Gatineau, en s’intéressant particulièrement

Résultats : vitesse au dernier palier complété Tests Triangulaires.. ➢ Il existe deux protocoles

plus pauvres. Stimuler l’application des technologies dans une optique de réduction des coûts. Accroître les services dans les zones rurales, reculées et peu peuplées. Renforcer

Pour qu’il puisse reconnaître mardi que ce changement a été rationnel, il doit être en mesure d’avancer une raison en faveur de ce changement, et une raison dont il

Ton document doit être enregistré dans le fichier réservé à ta classe sous la forme suivante : nom_prénom (ex. Lessard_Evelyne).. Le titre doit