php数据库超键和外键 php数据库超键和外键区别
超键,候选键,主键和外键的区别
a.超键:在关系模式中,能唯一标识元组的属性集称为超键。
龙华网站制作公司哪家好,找成都创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站开发等网站项目制作,到程序开发,运营维护。成都创新互联公司从2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联公司。
b.候选键 :如果一个属性集能唯一标识元组,且有不包含多余属性,那么这个属性集称为候选键;也即:候选键是没有多余属性的超键。
那么超键可以看作是带有其他有多余属性的候选键,也即候选键带上任意个其他属性可被视为超键。
c.主键:关系模式中用户正在使用的候选键称主键(primary key)。一般,如不加说明,键是指主键。
举例:
1.(假设姓名无重复)
姓名,学号,年龄
a,1,20
b,2,30
c,3,23
姓名唯一,是个超键
学号唯一,是个超键
(姓名,年龄)唯一 ,是个超键
(学号,努力)唯一,是个超键
姓名唯一,且没有其他多余属性,是个候选键
学号唯一,且没有其他多余属性,是个候选键
考虑方便查询,我们使用学号作为主键;也可以根据习惯,使用姓名作为主键;即选中的候选键就是主键
d.外键
在关系模式R中,如果某属性集是其他模式的候选键,那么该属性集对模式R来说就是外键。
超键(super key)、候选键(candidate key)和主键(primary key) 外键(foreign key)的区别
超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键
候选键(candidate key):不含有多余属性的超键称为候选键
主键(primary key):用户选作元组标识的一个候选键程序主键
比如一个小范围的所有人,没有重名的,考虑以下属性
身份证 姓名 性别 年龄
身份证唯一,所以是一个超键
姓名唯一,所以是一个超键
(姓名,性别)唯一,所以是一个超键
(姓名,性别,年龄)唯一,所以是一个超键
--这里可以看出,超键的组合是唯一的,但可能不是最小唯一的
身份证唯一,而且没有多余属性,所以是一个候选键
姓名唯一,而且没有多余属性,所以是一个候选键
--这里可以看出,候选键是没有多余属性的超键
考虑输入查询方便性,可以选择 身份证 为主键
也可以 考虑习惯 选择 姓名 为主键
--主键是选中的一个候选键
超键,候选键和主键,外键的区别是什么?
超键(super key):在关系中能唯一标识元组的属性集称为关系模式的超键\x0d\x0a候选键(candidate key):不含有多余属性的超键称为候选键\x0d\x0a主键(primary key):用户选作元组标识的一个候选键程序主键\x0d\x0a\x0d\x0a比如一个小范围的所有人,没有重名的,考虑以下属性\x0d\x0a\x0d\x0a身份证 姓名 性别 年龄\x0d\x0a\x0d\x0a身份证唯一,所以是一个超键\x0d\x0a姓名唯一,所以是一个超键\x0d\x0a(姓名,性别)唯一,所以是一个超键\x0d\x0a(姓名,性别,年龄)唯一,所以是一个超键\x0d\x0a--这里可以看出,超键的组合是唯一的,但可能不是最小唯一的\x0d\x0a\x0d\x0a身份证唯一,而且没有多余属性,所以是一个候选键\x0d\x0a姓名唯一,而且没有多余属性,所以是一个候选键\x0d\x0a--这里可以看出,候选键是没有多余属性的超键\x0d\x0a\x0d\x0a考虑输入查询方便性,可以选择 身份证 为主键\x0d\x0a也可以 考虑习惯 选择 姓名 为主键\x0d\x0a--主键是选中的一个候选键
网站栏目:php数据库超键和外键 php数据库超键和外键区别
本文路径:http://pwwzsj.com/article/hicged.html