我想到的第一件事:由 「記錄」 表連接
三個靜態表:
店鋪:
| id | Name |
~~~~~~~~~~~~~
| 1 | A |
-------------
| 2 | B |
-------------
| 3 | C |
-------------
...and so on...
時限(日/時限連擊):
| id | Day | StartTime | EndTime|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 1 | Mon | 2:00pm | 3:00pm |
---------------------------------
| 2 | Mon | 7:00pm | 8:00pm |
---------------------------------
| 3 | Sun | 2:00pm | 3:00pm |
---------------------------------
... and so on...
分類:
然後是你的記錄表:
| id | Shops_ids | Timeframe_ids | Category_ids |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
在這個表格裏面,你存儲arrays (possible in PostreSLQ)。這使你避免擁有這麼多幾乎重複的行。
例如:「商店A和B是上週一和週日類別2和3,從下午2時至下午3時這兩個產品的交易」可以存儲爲:
| id | Shops_ids | Timeframe_ids | Category_ids |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 1 | [1,2] | [2,3] | [1,3] |
-------------------------------------------------
然而,一個點關係數據庫是後端的數據可能很複雜,而且計算機能夠很快找到數據。因此,如果我是你,我將創建帶有單個值的表,你可以爲最有可能搜索的列編制索引,這對於數組值是很難做到的。 記錄表將會很大且雜亂,但更容易查詢。
例
1)商店A至週五給出了關於從下午4點至在星期一下午5點的類別1和3的協議
2.)B鋪給出類別1和3的協議星期四和星期六從下午1點到6點
鑑於:商店和類別已在各自的表格中。
讓我們調整我們的 '天' 的定義,以適應以下幾點:
M =週一
T =週二
W =週三
H =週四
一=星期六
U =星期日
(此字符串可以從一系列的複選框來生成表單上,以保持格式化)
時限
| id | Day | StartTime | EndTime|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 1 | M | 2:00pm | 3:00pm |
----------------------------------
| 2 | M | 7:00pm | 8:00pm |
----------------------------------
| 3 | FAU | 2:00pm | 3:00pm | *(Friday, Sat, Sunday)
----------------------------------
| 4 | MTWHF| 4:00pm | 5:00pm | *Shop A's sale.
----------------------------------
| 5 | HA | 1:00pm | 6:00pm | *Shop B's sale.
----------------------------------
記錄
| id | Shops_ids | Timeframe_ids | Category_ids |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| 1 | [1,2] | [2,3] | [1,3] |
-------------------------------------------------
| 2 | 1 | 4 | [1,3] | *Shop A's sale
-------------------------------------------------
| 3 | 2 | 5 | [1,3] | *Shop B's sale
-------------------------------------------------
希望有所幫助。
這個問題似乎是脫離主題,因爲它是一個需求描述。 –
我認爲尋求幫助確定數據庫地圖的範圍是非常合理的。海報提供了大量的例子和細節。他們不只是說「爲我映射我的關係」。他們說「幫我想辦法」。 – Chiperific
@MitchWheat爲什麼這個問題脫離主題時,這種類型的問題有一個很大的先例。看到這裏:http://stackoverflow.com/questions/2617711/should-this-database-table-be-normalized?rq=1在這裏:http://stackoverflow.com/questions/2397916/what-is-the -best-database-design-for-this-table-when-you-have-two-type-of-recor?rq = 1這裏:http://stackoverflow.com/questions/8302054/database-schema-pattern -for-grouping-records?rq = 1實際上可以看到相關部分中的幾乎所有問題 - >>。 – Chiperific