記錄開發過程當中碰見的問題。訂單數據屬於歷史數據,做爲之後的參考查詢使用,不該當直接做爲業務數據使用,要是歷史數據要使用在業務邏輯中,進行相應的增刪改查,那歷史數據就應當流進業務數據之中。程序員
舉個開發中的例子來說: 開發
有課程 , 課件 , 用戶 三個實體 ,其中一個課程包含多個課件。 那麼在用戶購買課程的產生的訂單數據中 , 就應該包含兩部分數據。 訂單(用戶 , 課程) , 訂單課件(訂單,課件)。 程序
1----》訂單中,必須包含課件的會變更屬性,例如課程的價格 , 課程的名稱 等等, 做爲歷史數據存在 , 訂單數據必定是不隨着課程的變化而變化的。這一點在一些剛入手項目的程序員中常常會犯錯誤, 認爲只是關聯上課程ID就萬事大吉。數據
2----》訂單課件 是爲了記錄當時的課程包含課件狀況。在生活中很明顯, 你買了電腦500G硬盤, 不會由於廠家事後把該型號硬盤改爲750G , 你的機器也變爲750G。 可是在開發中確實會出問題, 尤爲是對於剛入手項目的開發人員 , 對業務不很熟悉。項目
以上內容僅供參考, 在此寫出, 確有其事。 但願有用。查詢