時(shí)間:2024-02-07 12:09作者:下載吧人氣:25
在SQL Server中,有3種不同類(lèi)型的約束。
在學(xué)習(xí)約束之前,首先來(lái)了解下為約束命名需要注意哪些地方。
SQL Server在我們不提供名稱(chēng)時(shí),會(huì)自動(dòng)創(chuàng)建名稱(chēng),但是由系統(tǒng)自動(dòng)創(chuàng)建的名稱(chēng)并不是特別有用。
例如,系統(tǒng)生成的主鍵名稱(chēng)可能是這樣的:PK_Employees_145C0A3F。
PK代表主鍵(primary key),Employees代表在Employees表中,而剩下的“145C0A3F”部分是為了保證唯一性而隨機(jī)生成的值。只有通過(guò)腳本創(chuàng)建才會(huì)得到這種值,如果是通過(guò)Managerment Studio創(chuàng)建表,那么就直接是PK_Employees。
對(duì)于系統(tǒng)自動(dòng)生成的Check約束名稱(chēng)如:CK_Customers_22AA2996。CK代表這是一個(gè)Check約束,Customers代表是在Customers表中,后面的22AA2996還是一個(gè)隨機(jī)數(shù)。如果一個(gè)表中有多個(gè)Check約束,則命名可能如下:
CK_Customers_22AA2996
CK_Customers_25869641
CK_Customers_267ABA7A
如果你需要修改這些約束其中的一個(gè),那么你很難分辨這些約束到底是哪一個(gè)。
因此,為了能夠一眼看上去就知道這個(gè)約束是用來(lái)干什么的,我們應(yīng)該使用一種簡(jiǎn)單明了的短語(yǔ)來(lái)進(jìn)行命名。
例如要確保某一列電話號(hào)碼格式正確的約束,我們可以使用命名CK_Customers_PhoneNo這樣的短語(yǔ)來(lái)命名。
總之命名要做到以下幾點(diǎn):
主鍵是每行的唯一標(biāo)識(shí)符,僅僅通過(guò)它就能準(zhǔn)確定位到一行,其中主鍵列在整個(gè)表中不能有重復(fù),必須包含唯一的值(不能為NULL)。由于主鍵在關(guān)系數(shù)據(jù)庫(kù)中的重要性,因此它是所有鍵和約束中最重要的。
下面來(lái)說(shuō)說(shuō)主鍵的創(chuàng)建方式
網(wǎng)友評(píng)論