すべてのカテゴリ » インターネット・パソコン » 技術・プログラミング

質問

終了

データベースの正規化についての質問です。
飲食店のデータベースを作るときに、営業時間のデータを含めようと思っています。
しかし営業時間というのは曜日ごとに異なる場合があるため、単一のカラムでは管理しづらいと思います。
なので店のテーブルとは別に営業時間テーブルを作って、月曜から日曜までのカラムに営業時間を入れようかと思うのですが、営業時間は曜日ごとにすべて変わるわけではなく、一部の曜日だけ変わるという場合が多いと思うので、多くのデータが重複してしまい非常に無駄な気がします。
こういった場合に理想的とされるデータの管理方法はどういったものなのでしょうか。
営業時間を管理する目的としては、曜日と時間帯を指定して、営業しているお店のリストアップをするというものです。

  • 質問者:匿名
  • 質問日時:2009-04-11 18:43:20
  • 0

並び替え:

私なら
営業店(営業店番号)-営業年月日-営業曜日-開始時間-終了時間

曜日ごとでも簡単に検索できるし、時間帯指定でも検索可能だと思います。
データの重複はしょうがない、というか、営業店と営業年月日がキーになってしまうと思います。

  • 回答者:あしかくん (質問から2日後)
  • 0
この回答の満足度
  

私なら、正規化して必ず7レコード必要になるのなら、
項目を7つにして1レコードで管理します。

  • 回答者:GG (質問から3時間後)
  • 0
この回答の満足度
  

店名-曜日-開店時間-閉店時間-備考
でしょうか。
ひとつの店に対して7つのデータができますが、これはやむをえないでしょう。
備考には、夏季休業など、臨時の営業時間などイレギュラーに対応するためにはいいかもしれません。

理想的なデータ管理は、重複していてもきちっと全て入力していることであると思います。また、カラムは極力増やさないほうがいいと思います。
厳密に言えば、年月日もほしいところですが、ここは備考欄で対応すれば事足りるのではないかと思います。

この回答の満足度
  

あくまで私の設計思想なので、ご参考まで。
もし、私が設計するならば曜日だけではなく年月日も追加して管理します。
また月曜から日曜までのカラムを作るのは正規化できないので、あまりお勧めしません。

営業店-年月日-曜日-営業時間

データを簡単に抽出するには、この形式が一番簡単です。データの重複はやむを得ませんが・・・

  • 回答者:げん (質問から11分後)
  • 0
この回答の満足度
  
とても参考になり、非常に満足しました。回答ありがとうございました。
お礼コメント

回答ありがとうございます。
なるほど。
やはりデータの重複はしてしまうのですね。

関連する質問・相談

Sooda!からのお知らせ

一覧を見る