主键(primary key) 能够唯一标识表中某一行的属性或属性组。一个表只能有一个主键,主键常常与外键构成参照完整性约束,防止出现数据不一致。主键可以保证记录的唯一性。
P_Id int NOT NULL PRIMARY KEY
命名 PRIMARY KEY 约束,并定义多个列的 PRIMARY KEY 约束
CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
只有一个主键 PRIMARY KEY(pk_PersonID)。然而,pk_PersonID 的值是由两个列(P_Id 和 LastName)组成的。
外键(foreign key)是用于建立和加强两个表数据之间的链接的一列或多列。外键约束主要用来维护两个表之间数据的一致性。简言之,表的外键一般是另一表的主键,外键将两表联系起来。
FOREIGN KEY (P_Id) REFERENCES Persons(P_Id)命名 FOREIGN KEY 约束,并定义多个列的 FOREIGN KEY 约束
CONSTRAINT fk_PerOrders FOREIGN KEY (P_Id)REFERENCES Persons(P_Id)
索引是一种特殊的查询表,可以被数据库搜索引擎用来加速数据的检索。简单说来,索引就是指向表中数据的指针。
三者比较:名称 | 作用 | 个数 |
---|---|---|
主键 | 用来保证数据完整性 | 主键只能有一个 |
外键 | 用来和其他表建立联系用 | 一个表可以有多个外键 |
索引 | 用来提高查询排序的速度 | 一个表可以有多个索引 |