鍍金池/ 問答/Java  數(shù)據(jù)庫/ mysql時間段的存儲策略

mysql時間段的存儲策略

現(xiàn)有場景:存儲一個店鋪/超市的營業(yè)時間段(可以有多個),例如:9:00-13:00 , 18:00-22:00 等等時間段,時間段之間互不相交.在DB層面如何處理這種設(shè)計呢?用JSON?或者另外一張表單獨處理時間嗎?請大佬們賜教

回答
編輯回答
遺莣

不知道實際場景,描述很模糊,你所說的需求只有存儲營業(yè)時間的需求,當(dāng)然新建個表來存。開始時間,結(jié)束時間分開存,方便查詢,而且你的需求應(yīng)該是要存日期的。

2017年12月6日 16:19
編輯回答
病癮

如果 美團(tuán)要查詢當(dāng)前時間 營業(yè)的餐廳,json ·····你怎么處理
門店營業(yè)時間表
門店ID 開始時間 結(jié)束時間 (1個門店可以有多條記錄)
我感覺新建表的好

2017年3月14日 04:48
編輯回答
玩控

店鋪/超市 一對多 時間,
按你說的建表和json都可以;
建表處理起來方便,就是得多寫一條sql,
json方式按時間查詢的時候不方便。
我喜歡建一張表

2017年2月23日 12:05
編輯回答
純妹

建議新建一個表,除了上面說的查詢當(dāng)前正在營業(yè)的餐廳需求,還有就是統(tǒng)一修改所有營業(yè)時間,春秋2季、工作日和周末不同營業(yè)時間,新建表更好操作一些

2018年1月6日 16:27
編輯回答
你好胸

我理解你的需求是:
一個店鋪A營業(yè)時間是9:00開始,13:00結(jié)束,18:00點開始,22:00結(jié)束。
那么數(shù)據(jù)庫設(shè)計應(yīng)該是:
一個店鋪的營業(yè)時間段一般不會超過三個,所以可以有三個字段來存時間段

店鋪table
id, name, duration_id1, duration_id2(可空), duration_id3(可空)

然后時間段的表設(shè)計:

時間段table
id, start_time, end_time

店鋪表的duration_id是時間段表的外鍵。
時間段表相當(dāng)于是reference data,而店鋪表的數(shù)據(jù)是會更改的。

2017年11月2日 11:14