這幾天對邏輯主鍵、業務主鍵和復合主鍵進行了一些思考,也在網上搜索了一下相關的討論,相關討論可以看最下面的參考鏈接。下面是自己基於 SQL Server 做的一些總結,其他數據庫(Oracle、MySQL、DB2、......)應該也類似吧。這個只是自己一時的思考,如有不當請告知,重新思考后再修正 ...
一般情況下,一張數據表必須要有一個主鍵字段,這樣這個主鍵字段就可以唯一標識這條記錄了。不過采用什么樣的字段來做為主鍵字段還是一個必須解決的問題,目前有兩種常用的主鍵策略:業務主鍵與邏輯主鍵。 業務主鍵是指采用業務數據中的某個字段做為主鍵,比如在員工檔案表中可以用工號來做為主鍵 在車輛管理系統中可以用車牌號做為主鍵字段。邏輯主鍵,也稱代理主鍵,是指不采用任何業務數據做為主鍵,而是采用一個沒有業務意義 ...
2018-10-22 02:35 0 1147 推薦指數:
這幾天對邏輯主鍵、業務主鍵和復合主鍵進行了一些思考,也在網上搜索了一下相關的討論,相關討論可以看最下面的參考鏈接。下面是自己基於 SQL Server 做的一些總結,其他數據庫(Oracle、MySQL、DB2、......)應該也類似吧。這個只是自己一時的思考,如有不當請告知,重新思考后再修正 ...
1業務主鍵(natrual key),有意義的字段。 2邏輯主鍵(surrogate key),無意義的字段,即自增長字段,即identity。這其中還有一個選擇GUID。 問題:到底業務單號作為主鍵 還是 邏輯主鍵做為主鍵好? 業務主鍵的如果保證不變性,其實是可以的。但是有時候很難 ...
**about業務主鍵和邏輯主鍵 1業務主鍵(natrual key),有意義的字段。 對前端可見2邏輯主鍵(surrogate key),無意義的字段,即自增長字段,即identity。這其中還有一個選擇GUID。 如果有業務主鍵,數據唯一性就能得到保證,邏輯主鍵存在的意義 ...
轉自於:http://blog.csdn.net/haizhongyun/article/details/8056578 關於本文一些詞的說明: 單一主鍵:邏輯主鍵復合主鍵:聯合主鍵,業務主鍵 今天在做項目的數據庫設計時,突然發現自己在表的主鍵設置方面太過片面,對於邏輯主鍵和聯合 ...
需求描述:自增主鍵的格式為 業務序列+當前日期+從00001開始自增 //redis實現按業務+日期+自增 //輸出結果為:biz2020021800001、biz2020021800002、biz2020021800003的形式 @Test public void testJedis ...
1、主鍵:用PRIMARY KEY修飾的列。 若只有一個主鍵,則其不能重復。 若存在兩個或多個主鍵,則為復合主鍵(也就是多個列可以組成復合主鍵);此時,只有當組成復合主鍵的所有列的值都相同時,才不允許(把多個列同時重復才視為重復)。2、唯一鍵約束:用UNIQUE KEY ...
今天電面被問到了一個復合主鍵的問題,擊中了自己的知識盲區,當時回答是用ALTER TABLE ADD PRIMARY KEY添加,后來查了下答的不對,正好借着機會把聯合主鍵也復習了下。 首先說一下聯合主鍵,聯合主鍵其實就是中間表。在多對多模型里,需要兩個表中的主鍵組成聯合主鍵 ...
復合主鍵和聯合主鍵 復合主鍵:主鍵含有一個字段以上 聯合主鍵:多個主鍵聯合形成一個主鍵 ★★★注意:主鍵A和主鍵B的數據可以完全一樣,但是它倆聯合的聯合主鍵,數據是唯一的 應用場景 復合主鍵出現是因為一個字段的數據不唯一,而復合主鍵,我個人認為 ...