您好,登錄后才能下訂單哦!
總結幾點體會:
第一點:統一。
最近參與的項目,其公共模塊(單位表、人員信息表等)全部使用的是代理主鍵,而集成進來的數據模型又使用的是邏輯主鍵。為了最大限度的使用已經寫好的存儲過程、函數等對象,公共模塊的數據必須按照一定規則映射一份到集成進來的模塊中,這就增加了數據庫維護的工作量和難度;java程序使用的持久層是hibernate,在設計javabean的時候也要考慮這種情況,是的java程序員在處理單位信息的時候不得不建立2各javabean,還需要在java程序中進行手動轉換,非常耗時。
針對這種現象,無論是使用代理主鍵還是使用邏輯主鍵,數據模型的設計必須要統一。混亂的主鍵策略會給數據庫開發人員、應用程序開發人員造成混亂。
第二點:應對數據模型的變更——代理主鍵。
從實際應用來說,任何一個實體屬性都是可能變化的。如:客戶信息表使用的是8位客戶編號作為主鍵,可是用戶業務擴展,8為編碼已經不夠使用,此時就要調整主鍵。試想如果使用的是代理主鍵,那么業務上的調整就不需要調整主鍵。
從這個角度來說,代理主鍵優于邏輯主鍵。
第三點:習慣。
在實際編寫SQL語句過程中,還是喜歡邏輯主鍵,因為它能幫助我盡快的過濾數據。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。