在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/PHP  數(shù)據(jù)庫  網(wǎng)絡(luò)安全/ 日期不同而價格不同的數(shù)據(jù)庫設(shè)計,是不是不應(yīng)該用開始結(jié)束時間?

日期不同而價格不同的數(shù)據(jù)庫設(shè)計,是不是不應(yīng)該用開始結(jié)束時間?

現(xiàn)在做的酒店的價格,某個日期會把價格變動。數(shù)據(jù)庫結(jié)構(gòu)大長這個樣子。忽略大多數(shù)字段,room_type是房型的 id,價格是對他進行綁定。

+------------+------------------+------+-----+---------+----------------+
| Field      | Type             | Null | Key | Default | Extra          |
+------------+------------------+------+-----+---------+----------------+
| id         | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| hotel_id   | int(11)          | NO   |     | NULL    |                |
| room_type  | int(11)          | NO   |     | NULL    |                |
| price      | decimal(10,2)    | NO   |     | NULL    |                |
| start_date | date             | NO   |     | NULL    |                |
| end_date   | date             | NO   |     | NULL    |                |
+------------+------------------+------+-----+---------+----------------+

這個是插入時我認為會出現(xiàn)的情況:

https://i.loli.net/2018/08/29...
這是圖片地址, sf 會縮小地址
https://i.loli.net/2018/08/29/5b85f4c27ba5e.png

總共有四種可能(圖中的三種 + 查不到記錄,直接插入數(shù)據(jù)),每一個可能,因為區(qū)間貼合不貼合的問題又分出四種(貼合,左貼合右不貼合,右貼合左不貼合,兩邊都不貼合)??偣簿褪?3*4 + 1


是不是這種問題在數(shù)據(jù)庫就有更好的解決方法?望做過的朋友指點指點。


重新上傳了圖片,之前會被模糊掉


如果不在插入時做處理。

                                          130$   
                                 +-----------------+
                                 |                 |
                                 v                 v
                      150$
     +----------------------------------------------------------+
     |                                                          |
     v      120$                                                v
+-------------------+           
|                   |    
v                   v           
  +--------------------------------------------+
 開始日期                                      結(jié)束日期

我要查詢開始日期到結(jié)束日期的價格,實際上是,有三段分別是 120 ~ 150 ~ 130
如果不在插入的時候分別讓他們的開始到結(jié)束時間不沖突,你打算怎么做。

回答
編輯回答
懶洋洋
  1. 該表我覺得沒有必要加begin_date、end_date字段
  2. 對于價格隨時間變動的應(yīng)該吧pricebegin_date、end_date和相應(yīng)的房型組成一個新的表
  3. 查詢的時候根據(jù)當(dāng)前或者選中的時間查詢2中的表,命中則使用2表中的價格,未命中則使用1表中的默認價格。
  4. 這樣一個房型可以有多個價格區(qū)間,可以達到定制某個時間段的價格,甚至可以疊加,比如7月-10月價格100,但是七夕價格10,取最新的值就好了,或者標(biāo)記置頂?shù)闹怠?/li>
2018年4月13日 03:27
編輯回答
款爺

理論問題都不大

盡量抽出理論實體對象和根據(jù)業(yè)務(wù)形態(tài)做

比如,價格跟著房型,房型可以根據(jù)日期定價,最終用戶下單的價格是一條訂單記錄,都可以抽象成一個具體實體表!

訂單記錄完整記錄信息:
用戶信息,房型,房間號,下單日期,優(yōu)惠等等

具體查詢相關(guān)的,我就不就具體了,因為不了解你的實際業(yè)務(wù)

2018年7月6日 20:31