關(guān)于刪除字段
1 刪除數(shù)據(jù)是不可查出來的.
2 表加上刪除字段,會導(dǎo)致唯一索引創(chuàng)建麻煩,所以我的方案表是不加刪除字段,如果要保留刪除數(shù)據(jù),就放到刪除數(shù)據(jù)表.
3 如果要刪除數(shù)據(jù),則應(yīng)考慮數(shù)據(jù)是否被引用,如果被引用則不應(yīng)被刪除,如果實(shí)在要刪除,則需要做快照表.
ps 如果數(shù)據(jù)涉及到跨系統(tǒng)數(shù)據(jù)同步,則要考慮加上刪除字段,方便做數(shù)據(jù)同步.
pps 數(shù)據(jù)能不能刪,以及要不要做快照,還是要以業(yè)務(wù)為準(zhǔn).
關(guān)于表更新關(guān)聯(lián)關(guān)系
1 關(guān)聯(lián)關(guān)系不可變更,比如teammember里的personid->原因是如果更新teammember里的personid變更,
會導(dǎo)致找不到teammember里產(chǎn)生業(yè)務(wù)數(shù)據(jù)的那個成員.
2 那么要變更關(guān)聯(lián)關(guān)系,則需要先刪除這條成員,再新增關(guān)聯(lián)關(guān)系.
關(guān)于項(xiàng)目和服務(wù)的一對多還是一對一問題
1 最好還是一個項(xiàng)目,可以在多個服務(wù)中.這樣從產(chǎn)品的角度,才好管理和更新項(xiàng)目.
那么就需要服務(wù)表,項(xiàng)目表,服務(wù)項(xiàng)目關(guān)聯(lián)表3個表.
2 那么更新的時候就要注意,如果服務(wù)已被引用,則不能更新服務(wù)和所關(guān)聯(lián)的項(xiàng)目.
關(guān)于使用枚舉還是配置表
1 要看這些數(shù)據(jù)是否容易變動,容易變動就用配置表,反之則用枚舉.
2 不用使用constants類把所有配置堆一起,不好維護(hù).
關(guān)于基礎(chǔ)數(shù)據(jù)來源其他部門的表
1 不要用他們的id作為我們的主鍵,因?yàn)閿?shù)據(jù)來源id如果發(fā)生變更,我們庫反而要清洗數(shù)據(jù).