IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Tables virtuelles dans un restaurant


Sujet :

Langage SQL

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Tables virtuelles dans un restaurant
    Bonjour,

    N'étant pas informaticienne de base, je vais essayer d'être claire sur mon pb.

    Voilà j'ai créé un projet informatique pour la restauration.
    Le projet a été développé avec SQL et vb, non pas par moi-même, mais avec deux informticiens.

    Nous bloquons depuis qques temps sur un point. Le souci de dvlpt est le suivant:

    Dans chaque restaurant, il y a des tables, les unes à coté des autres ou au contraire séparées. Elles ont chacune un numéro (soit T1, T2, T3, T4 etc... et un nombre min et max de personnes assises a été attribué). Nous avons créé graphiquement un plan de table, où elles sont toutes représentées indépendement les 1 des autres.

    Quand un client arrive, le concept est de lui proposer la meilleure table.
    C'est pourquoi nous paramétrons dans le logiciel par couvert, l'ordre de priorité des tables (ex: pour 2 pers = en 1er T3, si T3 est prise ce sera T4, si T3 et T4 sont prises alors ce sera T5 etc...).

    Le problème, c'est que nous aimerions avoir l'existance de la table T3/T4 (sachant que chacune de ses deux tables est pour 2 pers - par ex) et donc que cette nouvelle table devienne une table pour 4.

    Vous allez me dire que nous n'avons qu'à les paramétrer au départ, mais c'est très long et fastidieux, et j'aimerais savoir si quelqu'un a un conseil pour simplifier cette gestion (en gros que la requête reconnaisse que quand 2 tables de 2 personnes libres sont à coté, ça peut faire une table de 4).

    Je suis sure qu'il y a un tip dans le dvlpt sql pour simplifier ça... enfin je croise les doigts!

    Merci d'avance pour votre aide et à bienôt

  2. #2
    Membre éprouvé Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Points : 1 067
    Points
    1 067
    Par défaut
    et bien déjà il faut mettre dans la base qqpart une information qui dit quelles tables sont cote à cote.

    Après c'est plus un programme d'algorithmie, ça va se rêgler avec une petite procédure en VB j'imagine.

    C'est des stagiaires ou des informaticiens ?

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Re:
    ce sont des informaticiens, mais vraiment on se galère sur ce point...
    a titre d'exemple, pour lacer les tables dans le plan de salle, il faut calculer pour chacune abscice et ordonnées... quand c'est un resto à 200 tables = l'horreur!

    quelle info tu dois mettre pour faire comprendre qu'elles sont à coté?
    dans la BD, il existe une table qui s'apl t_table (je crois) avec l'id de la table, si elle est fumeur ou non, son nombre de couverts min, son nombre de couverts max, sa salle.

    Le souci, c'est que la table T3/T4 sera une table virtuelle.. tu es d'accord? et en fait, on a développé un programme pour permettre depuis internet de connaitre des disponibilités dans le resto.
    Il peut donc ne plus y avoir une vraie table de 4 personnes, mais 2 tables de 2. et apparement ils arrivent à trouver comment faire.

    As-tu une idée?

    Merci pour ta réponse

  4. #4
    Membre éprouvé Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Points : 1 067
    Points
    1 067
    Par défaut
    il suffit de faire une table (au sens BD) qui contient les id des tables (au sens resto) contigues

    table, table voisine
    1 , 2
    2 , 3
    5 , 8


    ...

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 920
    Points : 51 712
    Points
    51 712
    Billets dans le blog
    6
    Par défaut
    mathusalem
    c'est pas si simple que cela en a l'air... En fait c'est assez complexe. J'ai donné un tel exercice à mes élèves des arts et métiers et de l'ISEN à Toulon... Je me suis bien amusé car aucun n'a trouvé la solution à ce problème !

    En fait il n'y a pas qu'une seule contiguité (gauche, droite, haut, bas..) et le fait de réserver des tables contigues empêche le regroupement.
    Mais c'est tout à fait possible. C'est une affaire de modèle et de requête.
    Ce genre de requêtes sont de la famille des requêtes dites géographiques.

    A +

  6. #6
    Nouveau Candidat au Club
    Inscrit en
    Avril 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Re:
    Pourriez vous m'en dire plus quand aux requetes dites géographiques?
    Doit-on casser notre modèle de données?
    Pour pouvoir réserver en meme temps deux tables contigues de manière NON manuelle et que le logiciel propose directement 2 tables contigues, cela implique-t-il de devoir créer à l'avance cette nouvelle table "virtuelle"? Il existe peut etre un moyen plus simple...

    merci de votre aide

  7. #7
    Membre éprouvé Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Points : 1 067
    Points
    1 067
    Par défaut
    je ne suis pas super convaincu SQLPro : dans le cas du restaurant, pas besoin de savoir par quel bord les tables se touchent (mais là je suppose qu'elles sont toutes carrées c'est vrai).

Discussions similaires

  1. [MCD] Réservation de tables et de commandes dans la restauration
    Par eMarion dans le forum Schéma
    Réponses: 5
    Dernier message: 08/04/2011, 13h04
  2. Probleme de somme dans une table virtuelle
    Par backdraf dans le forum Développement
    Réponses: 3
    Dernier message: 24/07/2009, 10h44
  3. LIBPQ - Affichage requete dans table virtuelle
    Par Mike@Nestor dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 27/07/2005, 15h11
  4. Table vide dans une BD
    Par Riouxe21 dans le forum ASP
    Réponses: 2
    Dernier message: 06/07/2004, 20h48
  5. Création multiple table paradox dans le code
    Par scarabee dans le forum C++Builder
    Réponses: 8
    Dernier message: 30/10/2002, 11h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo