關(guān)于SQL Server數(shù)據(jù)庫主鍵與索引的幾點(diǎn)區(qū)別
我們在使用SQL Server數(shù)據(jù)庫的時候常常會創(chuàng)建主鍵和索引,那么主鍵和索引到底有什么樣的不同呢?本文我們主要介紹了主鍵和索引的區(qū)別。
主鍵和索引的區(qū)別如下:
主鍵是索引,但索引不一定是主鍵。
主鍵具有唯一性,而只有唯一性索引才具有唯一性;主鍵的值不能為空,不能重復(fù)。 索引可以在程序中動態(tài)創(chuàng)建刪除。也可以是任何有序的字段。
如果在一個表中,列A、B、C 被設(shè)為主鍵的情況下,當(dāng)需要將A,B,C 設(shè)為索引時,A,B,C被設(shè)為主鍵,數(shù)據(jù)庫自動會建立索引,不需要再建索引;另外需要對列A,B,C,D,E建立索引時,不能只對D,E建立索引,必須在索引中包含所有的索引列即:A,B,C,D,E。
主鍵、外鍵、索引:
索引只是為了排序與加快瀏覽度!也可對表數(shù)據(jù)作證!一個表只能有一個主鍵,外鍵與主鍵差不多!兩者都能將表聯(lián)系起來,定義規(guī)則!
主鍵,每一張表中必須有的,它是唯一的,唯一能標(biāo)識每一條記錄。
外鍵,一張表中的外鍵在另一張表中只能是主鍵,一般情況下,要刪除一張表中的主鍵必須首先要確保其它表中的沒有相同外鍵(即該表中的主鍵沒有一個外鍵和它相關(guān)聯(lián))
索引只是加快查詢,排序速度,主鍵和外鍵定義后可保證數(shù)據(jù)完整性,省去編寫某些觸發(fā)器。主鍵最好每張表上都定義,小數(shù)據(jù)庫用唯一索引也可以。
每個表最好有主鍵,用來保證數(shù)據(jù)完整性。表的外鍵是另一表的主鍵,外鍵將兩表聯(lián)系起來。 索引只是提高查詢排序的速度。
關(guān)于SQL Server數(shù)據(jù)庫主鍵和索引的區(qū)別就介紹到這里,希望能夠帶給您一些收獲。
【編輯推薦】