REMARQUES SUR LA CONSULTATION DE CE DOCUMENT
PAR LES ETUDIANTS DES ANNEES SUIVANTES:

  1. Les questions sont en noir, les réponses sont en vert.
  2. Les réponses ci-dessous sont représentatives d'un devoir de qualité moyenne. Il est possible de faire mieux !
  3. Le niveau de cet examen n'est pas très élevé. Il est à prévoir une élévation de ce niveau pour les années à venir.

 

SUJET DE L'EXAMEN PARTIEL DU COURS SGDB

MSG 2

Amphi JOSSERAND

25 janv. 2001

horaire : 14h30 - 17h30

Mr Collin

Tous les documents sont autorisés


Première partie notée sur 10 points .

Les boutiques Carchan (*) commercialisent des aliments pour chiens et chats. Il existe une trentaine de points de vente dans la région Rhones-Alpes. Deux fois par semaine, chaque boutique passe commande par télécopie à une centrale d'achat qui assure l'approvisionnement des points de ventes. Cette centrale d'achat doit enregistrer les commandes des boutiques, assembler les lots de marchandises (sur palette), charger les camions et livrer. Un même camion pourra livrer plusieurs boutiques.

(*) Cette chaîne est imaginaire mais le système existe bien

La centrale d'achat veut s'équiper d'un système informatique qui devra permettre :

  1. L'enregistrement des commandes des boutiques.

  2. L'affectation de chaque commande à une tournée.

  3. L'impression d'un bordereau de chargement du camion

Travail à faire

  1. Description complète des tables nécessaires au stockage de l'information. Justifier le choix des champs.

Points de vente : Il y a une trentaine de points de vente. Donc il faut une table des points de vente.

PointsDeVente

champ

type

commentaire

#CptPointDeVente

NuméroAuto

Clé primaire

LibPointDeVente

Texte (50 car)

Adresse nécessaire à la livraison

Adr1

Texte (50 car)

Adr2

Texte (50 car)

CP

Texte (5 car)

Ville

Texte (50 car)

Téléphone

Texte (10 car)

 

Télécopie

Texte (10 car)

 

 

Articles : Les articles commandés par les points de vente sont choisis dans le catalogue de la centrale d'achat. Donc il faut une table des articles.

Articles

champ

type

commentaire

#CptArticle

NuméroAuto

Clé primaire

LibArticle

Texte (50 car)

 

PU_FRF

Monétaire

Prix unitaire de l'article en francs

PU_EUR

Monétaire

Prix unitaire de l'article en euros

 

Commandes : Chaque point de vente doit pouvoir passer plusieurs commandes. Nous avons donc une table des commandes séparée de la table des points de vente (relation de un vers plusieurs). Par ailleurs cette table est dépendante de la table des points de vente. En effet, il ne doit pas exister de commande sans le numéro de la boutique qui a passé cette commande (intégrité référentielle).

Commandes

champ

type

commentaire

#CptCommande

NuméroAuto

Clé primaire

CptPointDeVente#

Entier long

Clé externe table point de vente

DateCommande

Date/Heure

 

(attention, il manque encore un champ à cette table - voir plus loin)

 

Contenu des commandes : Chaque commande contient un certain nombre de lignes d'articles commandés. Nous avons donc une table des lignes de commande séparée de la table des commandes (relation de un vers plusieurs). Par ailleurs cette table est dépendante de la table des commandes. En effet, il ne doit pas exister de ligne de commande sans le numéro de la commande (intégrité référentielle).

Par ailleurs, les articles sont choisis dans la table des articles. Nous avons alors le même type de relation avec cette table.

LignesDeCommandes

champ

type

commentaire

#CptLigCommande

NuméroAuto

Clé primaire

CptCommande#

Entier long

Clé externe table Commandes

CptArticle#

Entier long

Clé externe table Articles

Quantité

Entier long

 

PU_EUR

Monétaire

recopiés de la table article (*)

PU_EUR

Monétaire

(*) Le prix constaté au moment de la commande ne doit plus varier. C'est pour cela qu'il est enregistré dans la table des lignes de commande. Une variation ultérieure des prix dans la tables des articles n'affectera pas les prix enregistrés des commandes.

Ce système de tables permet d'enregistrer les commandes passées par les boutiques.

Tournées : Pour organiser les livraisons, il faut ajouter une table des tournées des camions. Chaque camion charge les articles destinés à un ou plusieurs points de vente.

Afin de simplifier la structure de la base, on supposera qu'aucun article commandé n'est en rupture de stock (sinon il faudrait créer une table de quantités réellement livrées par ligne de produit commandé pour calculer les reliquats).

Ceci permet de dire que chaque commande sera affectée à une tournée existante, et qu'une tournée "contiendra" plusieurs commandes (relation de un vers plusieurs).

Tournées

champ

type

commentaire

#CptTournée

NuméroAuto

Clé primaire

DateTournée

Date/Heure

 

Modification de la table des commandes : Pour affecter une commande à une tournée, la table des commandes doit être modifiée pour recevoir le numéro de tournée :

Commandes

champ

type

commentaire

#CptCommande

NuméroAuto

Clé primaire

CptPointDeVente#

Entier long

Clé externe table point de vente

DateCommande

Date/Heure

 

CptTournée#

Entier long

Clé externe table Tournées

 

  1. Schéma des relations entre ces tables.

 

 

  1. Liste et contenu des écrans de saisie.

Il faut des écrans de saisie pour les ajouts, modifications et suppressions de :

La solution d'indiquer la tournée directement sur la commande est une petite solution de facilité pour l'examen. Ce n'est pas la solution la plus ergonomique.

Il sera, naturellement intéressant de faire un formulaire de menu général permettant de se déplacer facilement dans l'application.

 

  1. La migration de ce système sur Internet apporterait-elle un avantage ? Justifier votre réponse.

Le système actuel de transmission par télécopie présente certains problèmes :

Installer cette application sur internet permettra de résoudre ces deux problèmes en autorisant la consultation du catalogue et la saisie directe des commandes par les boutiques. En outre, il est alors possible de proposer des services supplémentaires aux boutiques :


Seconde partie notée sur 10 points (chaque question valant 2 points)

RECOMMANDATIONS :

  1. Quelles sont les différences d'usage entre un traitement de texte, un tableur et une base de données (à quoi sont principalement destinés chacun de ces logiciels ?)
  1. Dans Access, qu'est-ce qu'une requête de type "action" ?

    C'est une requête d'ajout, de modification, de suppression d'enregistrement ou de création de table. Par exemple une requête qui modifie globalement les prix d'une table d'articles est une requête action.

  2. Avec quel objet Access fait-on habituellement un écran d'accueil ? Quel est l'intérêt de faire un menu ?

    Avec un formulaire. Cela permet à l'utilisateur de se déplacer facilement dans l'application. Par exemple dans l'application de la société Carchan, l'utilisateur pourra passer facilement de la saisie des tournées à l'affectation des commandes aux tournées.

  3. Dans le cas d'une application de facturation dont les données sont partagées entre plusieurs utilisateurs sur un réseau local, décrire comment les objets de cette application (base et programme) doivent être installés sur ce réseau. Justifier votre description.

    La base de données doit être installée dans un répertoire partagé sur le serveur. Les applications sont installées sur les postes de travail. Ce système permet de ne pas encombrer le trafic du réseau local avec le chargement d'objets (formulaires, états, requêtes). Seules les données transitent sur le réseau.

  4. Quelles sont les différences principales entre un SGBD de type Access et une base de données "Oracle" ou "SQL serveur" ? À votre avis, dans quels cas utilise-t-on l'un plutôt que l'autre ?

Access permet de développer très rapidement une base de moyenne importance (1,2 Go théorique). La partie "application cliente" d'access permet de développer des applications couvrant les besoins des organisations.
Les bases "Oracle" ou "SQL serveur" permettent de stocker des volumes beaucoup plus importants et supporter un plus grand nombre d'utilisateurs. Ces bases ont un langage de programmation "coté serveur" (trigger et procédure stockée) qui permet de maintenir facilement des contrôles de cohérence intelligent, des calculs (niveau de stock, solde de compte, etc ...) directement sur le serveur sans intervention de poste client. En revanche, ces bases n'ont pas de possibilité de programmation "coté client" comme Access. Il faut donc obligatoirement ajouter un développement qui sera installé sur les postes de travail.