若要做一個預約系統,這個預約系統要分時段
早上8點 ~ 10點 (1個時段)
早上10點 ~ 12點 (1個時段)
下午13點 ~ 15點 (1個時段)
下午15點 ~ 17點 (1個時段)
我個人是把每個時段做一個資料表(這個資料表在同一個資料庫※只是不同資料表)↓
例如:
myDatabase(資料庫) 裡面有↓
time8to10(資料表),
time10to12(資料表),
time13to15(資料表),
time15to17(資料表)
這樣在後期使用上是不是會比較不方便呢?
目前我在一個View上用
@foreach(...)
{
...
}
只能叫出一個資料表(目前還找不到叫出兩個以上資料表)
一般大家如果做一個預約系統,這個時段的紀錄會放在同一個資料表裡面嗎?
還是也會每個時段弄成一個資料表呢?
上面是我在某網站看到的↑
是否放在同一個資料表再用條件去判斷調出即可?
先謝謝大家的回答
若要做一個預約系統,這個預約系統要分時段
早上8點 ~ 10點 (1個時段)
早上10點 ~ 12點 (1個時段)
下午13點 ~ 15點 (1個時段)
下午15點 ~ 17點 (1個時段)
沒有這樣設計的啦....
正常都是分2張表, 然後在JOIN
是我的話會這樣設計
TimeType
id | Name |
---|---|
1 | 早上8點 ~ 10點 |
2 | 早上10點 ~ 12點 |
3 | 下午13點 ~ 15點 |
Order
| id | TimeType | ProductName | Date |
| ---- | ---- |
| 1 | 1 | Test1 | 2021-08-21 |
| 2 | 1 | Test2 | 2021-01-03 |
| 3 | 2 | Test3 | 2021-02-16 |
Select * From Order o
Join TimeType t On o.TimeType = t.id
Where t.TimeTpye = 1 -- 找出某個時段
請問這樣設計的話是不是資料表就會要有每一天的比數
假設一天有7個時段 假設2021/01/01 * 7
這個資料表就會有
時段:9 日期:2021/01/01
時段:10 日期:2021/01/01
時段:11 日期:2021/01/01
時段:12 日期:2021/01/01
時段:13 日期:2021/01/01
時段:14 日期:2021/01/01
時段:15 日期:2021/01/01
時段:16 日期:2021/01/01
時段:9 日期:2021/01/02
時段:10 日期:2021/01/02
時段:11 日期:2021/01/02
時段:12 日期:2021/01/02
時段:13 日期:2021/01/02
時段:14 日期:2021/01/02
時段:15 日期:2021/01/02
時段:16 日期:2021/01/02
依此類推...
每一天都要提供給會員預約的話 這個設計方式就會是這樣對嗎?
rong105100313
是啊
如果你想要一次顯示成一筆需要另外語法整合成一筆
建議在一個資料表內
建立兩個欄位
分別為預約日期(date)與預約時間(time)
這樣要找特定日期範圍
SELECT * FROM reservation WHERE order_date BETWEEN '2021-08-01' AND '2021-08-31';
或不限日期、但特定時段都可以方便查詢
SELECT * FROM reservation WHERE order_time BETWEEN '08:00:00' AND '10:00:00';
偷懶用datetime就沒那麼方便了...
這樣做的好處是如果以後要調整區段
比如
早上8點 ~ 9點
早上9點 ~ 10點
早上10點 ~ 11點
早上11點 ~ 12點
......
只要調整語法就好
一般大家如果做一個預約系統,這個時段的紀錄會放在同一個資料表裡面嗎?
會
「預約主表」只記錄「代碼」(例:1,2,3..)
對應資料(時段)放在「參考檔」(例:時段)
還是也會每個時段弄成一個資料表呢?
不會
如果是我我會設計
一對多的概念
預約主檔(orders)
1.ReservNO(預約單號)(key)
2.MemberName(預約姓名)
3.TermDate(使用者預約日期)
4.TermTime(使用者預約時間)
5.MobilPhone(手機號碼)
預約明細(ordersDetail)
1.ReservNO(預約單號)(key)
2.ItemNO(預約項目)(key)
2.CurriculumNo(課程編號)
預約課程檔(curriculum)
1.CurriculumNo(課程編號)(key)
2.ClassDate(課程日期)
3.BeginTime(課程開始時間)
4.EndTime(課程結束時間)