0

場所の営業時間と営業時間をDBテーブルに保存したいと思います。次のテーブルデザインのうち、より理想的なものはどれだと思いますか?私はMySQLまたは多分PostgreSQLを使用しています(それは重要ですか?)。

1日1レコード?(1〜7の結果を返します)

id, location_id, weekday, start_time, closing_time

または場所ごとに1つのレコード?(常に1つの結果を返します)

id, location_id, mon_start, mon_end, tue_start, tue_end, ... ... ... sun_start, sun_end

最も一般的なクエリは、次のようなコンテンツを表示するだけです(常に1週間全体)。

Location: blablabla
Operating Hours:
    Monday: 8 AM to 8 PM
    ... ...
    Sunday: 8 AM to 12 PM
4

2 に答える 2

3

最初の解決策は明らかに正しいです。2つ目は、正規化されておらず、プログラミングが難しく、拡張できません(休日、特別時間など)。

于 2012-10-09T18:53:30.023 に答える
0

間違いなく最初のものは、より適切に正規化されており、日数のルックアップテーブルとおそらくビューを使用して、2番目の形式でデータを簡単に生成できます。

最初のポスターが述べているように、最初のソリューションは休日などを含むように簡単に拡張できます。2番目のソリューションはそれほど柔軟ではありません。

于 2012-10-09T18:56:03.103 に答える