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

Schéma Discussion :

table horaire d'ouverture


Sujet :

Schéma

  1. #1
    Membre habitué
    Avatar de xenos
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 400
    Points : 197
    Points
    197
    Par défaut table horaire d'ouverture
    Bonjour,

    Je crée un système en php, html et SQL qui gère un certain nombre d'entreprises. Pour chacune de ces entreprises, il y a le nom, l'adresse, le téléphone, ...

    J'aimerais rajouter à celà, un champs horaire pour les heures d'ouverture. Pour lequel il y aurait plusieurs conditions :
    - chaque jour de la semaine doit pouvoir avoir ses propres heures d'ouverture,
    - les heures d'ouverture doivent pouvoir être inséré à la minute près et pas tranche de 10 ou 15min, c'est à dire que si l'entreprise ouvre à 8h37, c'est indiqué comme ça dans la table et pas arrondi à 8h40,
    - par jour, il peut y avoir plusieurs plage d'ouverture, comme une banque qui serait ouverte de 8h00 à 12h00, puis de 13h00 à 16h00,
    - on doit pouvoir faire facilement une recherche sur toutes les entreprises qui seraient ouverte par exemple de 9h30 à 11h00.

    J'ai déjà imaginé différents moyens, mais aucun d'eux ne me satisfait ... :
    - une table par heure. Pour 10h on a une table et on y insère le nom de toutes les entreprises qui s'ouvrent à cette heure là.
    - rajouter un champs horaire dans la table des entreprises,
    - faire une table avec des centaines de booleans ... chaque jour serait divisé par plus 1200 minutes ... et sur chaque minutes il y aurait un boolean. Si l'entreprise ouvre à 8h00, le champs 7h59 serait sur false et le champs 8h00 sur true,
    - ...

    Malheureusement comme vous pouvez vous en rendre compte, aucunes de ces idées ne coïncident avec toutes les conditions de départ ... ou alors est extrêmement lourd à gérer.

    Avez vous déjà dû faire une telle table, ou auriez vous une idée qui pourrait satisfaire les conditions de départ ?

    D'avance merci de vos réponses.

  2. #2
    vh
    vh est déconnecté
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 24
    Points : 25
    Points
    25
    Par défaut
    pour ça tu as besoin de deux tables
    une table "agence", avec ces champs :
    - agence_id (clé primaire)
    - nom_agence
    - adresse_agence
    - ...

    Et une table "horaire"
    - horaire_id (clé primaire)
    - agence_id
    - jour_de_la_semaine
    - heure_debut
    - heure_fin

    pour trouver les agences ouvertes le lundi à 15 heures, il suffit de faire la condition "WHERE jour_de_la_semaine = lundi AND heure_debut >= 15 heures AND heure_fin <= 15 heures"

    et pour trouver un agence ouverte de 9 h 30 à 12 h 00 sans intéruption : "WHERE heure_debut >= 9 h 30 AND heure_fin <= 12 h 00"

  3. #3
    Membre habitué
    Avatar de xenos
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 400
    Points : 197
    Points
    197
    Par défaut
    Merci pour ta réponse vh,

    J'ai donc retravaillé ton idée :
    - id_entreprises
    - jour
    - heure_debut
    - heure_fin

    En faisant de la sorte, toutes les conditions énumérées plus haut seront remplies.

    Il me reste cependant un doute. En effet pour chaque entreprise il y aura 14 entrées dans la table (2 entrées / jour * 7 jours). Comme très rapidement il pourrait y avoir 500 000 entreprises, cela donnera une table de 7 000 000 d'entrées !

    Il me semble que c'est un chiffre astronomique ! Que cela risque d'engendrer un temps de réponse très lent ...

    Qu'en pensez vous ? Ou peut-être auriez vous une autre façon de procéder pour cette table horaire ?

  4. #4
    vh
    vh est déconnecté
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 24
    Points : 25
    Points
    25
    Par défaut
    Citation Envoyé par xenos
    Il me semble que c'est un chiffre astronomique !
    je répondrai par une citation qui est une réponse à une remarque "Je développe [...] un projet dont la volumétrie sera énorme. "

    Citation Envoyé par SQLpro
    énome ne veut rien dire. Par exemple 100 millions de lignes contenant NOM (environ 12 caractères) + PRENOM (environ 8 caractères + DATE DE NAISSANCE et une clef numérique ne représente que 2,6 Go... AUjourd'hui les plus grosses bases de données acceptent plus de 100 To, soit la place pour accueillir 4 000 milliards de ligne de cette table
    ensuite avec les index, si tu interroges la base pour avoir les horaires d'une agence, tu auras le résultat très rapidement

  5. #5
    Membre habitué
    Avatar de xenos
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    400
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 400
    Points : 197
    Points
    197
    Par défaut
    Merci pour ta réponse vh.

    Je vais donc continuer dans ce sens.

    Bon développement à tous.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MCD] Horaire d'ouverture d'une entreprise
    Par Invité dans le forum Schéma
    Réponses: 1
    Dernier message: 08/07/2010, 00h27
  2. [PHP 5.3] Redirection URL en fonction des horaires d'ouverture
    Par KIK83 dans le forum Langage
    Réponses: 3
    Dernier message: 15/06/2010, 11h41
  3. Table grande problem ouverture
    Par chh2008 dans le forum Bases de données
    Réponses: 5
    Dernier message: 04/11/2009, 15h56
  4. Import d'une table temp et ouverture formulaire via VBA
    Par Access_ible dans le forum VBA Access
    Réponses: 4
    Dernier message: 01/09/2009, 11h44
  5. Table inconnu à l'ouverture de celle-ci
    Par Bernardtapis dans le forum Access
    Réponses: 2
    Dernier message: 30/01/2007, 17h09

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