Stocker des Heures de travail dans une Base de données

Je suis en train d'essayer de travailler sur la meilleure façon de stocker une entreprise d'heures de fonctionnement dans une base de données.

Par exemple:

Entreprise a les heures de fonctionnement

  • Lundi: 9am - 5pm
  • Mardi: 9am - 5pm
  • Mercredi: 9am - 5pm
  • Jeudi: 9am - 5pm
  • Vendredi: 9am - 5pm
  • Samedi: 9 h - 12 h
  • Dimanche: Fermé

Actuellement, je suis un modèle de données semblable à la suivante

CREATE TABLE "business_hours" (
    "id" integer NOT NULL PRIMARY KEY,
    "day" varchar(16) NOT NULL,
    "open_time" time,
    "close_time" time
)

où le "jour" est limité à un choix de 7 jours de la semaine dans le code (par le biais de l'ORM). Pour tester si une entreprise est fermée sur un certain jour, il vérifie si le open_time et close_time sont NULLES. Il est lié à l'entreprise par le biais d'un intermédiaire de table (plusieurs-À-Plusieurs Relation).

Ce que quelqu'un a des suggestions pour cette base de données? Quelque chose ne semble pas juste pour moi.

  • Pourquoi avez-vous besoin d'une M-à-M de la relation entre la business_hours table et les entreprises table? Si vous vraiment l'intention de faire plusieurs entreprises partagent le même enregistrement dans business_hours, pourquoi? Du point de vue sémantique, le fait que "la société C œuvres de T1 à T2 sur le jour J" est plutôt une valeur de l'objet à celle de l'entité... La seule bonne (?) raison pour laquelle je peux imaginer l'entreposage, optimisation de la taille du RDB (version de Mouche motif, façon de parler) si le nombre d'entreprises devrait être énorme...
  • Ce sujet de la pause déjeuner? Quid des jours fériés?
InformationsquelleAutor user128000 | 2009-06-24