NDep, NomDep Numéro et nom d’un dépositaire
AdrLiv, SecteurLiv Adresse et secteur de livraison d'un dépositaire
QtéSouhaitée Nombre d’exemplaires souhaités par un dépositaire pour un
hebdomadaire
QtéLivrée Nombre d’exemplaires effectivement livrés, compte tenu des ventes
du dépositaire
DateVente Date d’enregistrement d’une vente
QtéVendue Nombre d’exemplaires d’un hebdomadaire vendu dans la semaine par
un dépositaire
Quelques règles de gestion qui doivent être respectées :
1. A la fin de chaque semaine, un dépositaire doit enregistrer ses ventes pour tous les
hebdomadaire qui lui sont livrés.
2. Lorsqu'un dépositaire souhaite qu'on lui livre un nouvel hebdomadaire, il précise la quantité
souhaitée pour cet hebdomadaire. La quantité effectivement livrée au début est égale à la
quantité souhaitée par le dépositaire.
3. Si les quantités vendues une semaine par un dépositaire pour un hebdomadaire donné sont
inférieures à 70% des quantités livrées, la quantité effectivement livrée au dépositaire pour
l'hebdomadaire en question est réduite pour les semaines à venir à la dernière quantité
vendue.
Partie I : requêtes SQL (4 points)
Ecrire en SQL les deux requêtes suivantes :
1. Calculer pour chaque hebdomadaire le bénéfice total réalisé.
2. Liste des dépositaires qui n'ont pas enregistré leurs ventes le 29/11/2002
Partie II : programmation en PL/SQL (5 points)
Soit le formulaire représenté ci-dessous. Ce formulaire permet de demander d’afficher les
hebdomadaire qui rapportent le plus à un dépositaire donné, c'est à dire ceux qui lui permettent
de faire 50% de son chiffre d’affaire (CA) en les classant dans l’ordre décroissant du
pourcentage de CA rapporté. A titre d’exemple, si l’on suppose que le dépositaire n° 10 vend 5
hebdomadaires nommés h1, h2, h3, h4, h5 qui lui font réaliser respectivement 10%, 20%, 30%,
15%, 25% de son CA, on souhaite voir affiché comme réponse les deux hebdomadaires
suivants : (h3, 30%), (h5, 25%) qui permettent au dépositaire de réaliser à eux deux plus de
50% de son CA. Ce formulaire comporte deux blocs non basés. Un premier bloc permet de
formuler la question. Ce bloc est constitué d’un élément nommé NDEP permettant à l'utilisateur
de saisir le n° du dépositaire qui l’intéresse et d’un bouton permettant de lancer le calcul et
l’affichage. Le deuxième bloc permet d’afficher le résultat. Dix enregistrements sont affichées
pour ce bloc. Chaque enregistrement est constitué de trois éléments nommés NHEBDO, TITRE
et POURCENTAGE_CA permettant respectivement d’afficher le numéro, le titre et le
pourcentage du chiffre d’affaire réalisé pour un hebdomadaire.
Ecrire le programme PL/SQL qui doit être associé à ce bouton. Précisez à quel évènement vous
associez ce programme. Pour effectuer ce calcul, nous vous suggérons de commencer par
envoyer une requête permettant de sélectionner les hebdomadaires vendus par le dépositaire,
triés dans l’ordre décroissant du chiffre d’affaire qu’ils ont apporté, puis de boucler sur le
résultat obtenu à cette requête pour afficher les hebdomadaires jusqu'à ce que l’on ait atteint
50% du CA.