主鍵和索引的區別:
主鍵是索引,但索引不一定是主鍵。
主鍵具有唯一性,而只有唯一性索引才具有唯一性;主鍵的值不能為空,不能重複。 索引可以在程式中動態建立刪除。也可以是任何有序的字段.
如果在乙個表中,列a、b、c 被設為主鍵的情況下,當需要將a,b,c 設為索引時,a,b,c被設為主鍵,資料庫自動會建立索引,不需要再建索引;另外需要對列a,b,c,d,e建立索引時,不能只對d,e建立索引,必須在索引中包含所有的索引列即:a,b,c,d,e.
主鍵、外來鍵、索引:
索引只是為了排序與加快瀏覽度!也可對錶資料作證!乙個表只能有乙個主鍵,外來鍵與主鍵差不多!兩者都能將表聯絡起來,定義規則!
主鍵,每一張表中必須有的,它是唯一的,唯一能標識每一條記錄.
外來鍵,一張表中的外來鍵在另一張表中只能是主鍵,一般情況下,要刪除一張表中的主鍵必須首先要確保其它表中的沒有相同外來鍵(即該表中的主鍵沒有乙個外來鍵和它相關聯)
索引只是加快查詢,排序速度,主鍵和外來鍵定義後可保證資料完整性,省去編寫某些觸發器。主鍵最好每張表上都定義,小資料庫用唯一索引也可以。
每個表最好有主鍵,用來保證資料完整性。表的外來鍵是另一表的主鍵,外來鍵將兩表聯絡起來。 索引只是提高查詢排序的速度。
例子:create table sh_cpzd
( f_cpbh char(13) not null,
f_cpmc char(30) not null,
f_jldw char(4) not null,
f_sslb char(1) ,
f_cpjs integer not null,
f_sjbh char(13) ,
f_sfmc char(1) not null,
primary key (f_cpbh, f_cpmc)
); comment on table sh_cpzd is '產品字典';
comment on column sh_cpzd.f_cpbh is '產品編號';
comment on column sh_cpzd.f_cpmc is '產品名稱';
那麼primary key (f_cpbh, f_cpmc)是什麼意思?該錶的主鍵是啥?
rimary key (f_cpbh, f_cpbh)表示用f_cpbh和f_cpbh建立聯合主鍵.
聯合主鍵是每個記錄的兩列都一樣時出錯
還在對這些進一步驗證才能確保其正確性...
索引 主鍵 外來鍵
參 索引的優點 加快查詢表記錄的速度。索引的缺點 會減慢寫的速度 如 insert update 占用物理儲存空間。2 簡述普通索引與主鍵的約束規則。參 1 index普通索引 乙個表中可以有多個index欄位 欄位的值允許有重複,且可以賦null值 經常把做查詢條件的字段設定為index欄位 in...
主鍵 外來鍵 索引
1 主鍵 外來鍵 索引 主鍵外來鍵 索引定義 唯一標識一條記錄,不能重複,不能為空 表的外來鍵是另一張表的主鍵,外來鍵可以重複,也可以為空值 索引沒有重複,可以有乙個空值 作用用來保證資料的完整性 用來和其他表建立聯絡 提高資料查詢的速度 個數主鍵只能有乙個 乙個表可以有多個外來鍵 乙個表可以有多個...
SQL主鍵 外來鍵 索引
主鍵 唯一區分出不同的記錄的字段。常見可作為id欄位的型別 自增整數型別 全域性唯一guid型別 guid演算法通過網絡卡mac位址 時間戳和隨機數生成的字串 外來鍵 實現一對多 多對多和一對一的關係。可以通過資料庫來約束,也可以不設定約束,僅靠應用程式的邏輯來保證。一對多 學生表 students...