数据库的主键指的是一个列或多个列组合,其值能唯一标注表中的每一行,通过他可以强制表的实体完整性。主键可以用来表示一个精确定位的特定行,如果没有主键,无法精准定位一条记录是否就是你要的相关行记录,这样就会导致更新或者删除表中特定的行很困难。如果有主键来约束行记录的唯一性后,就可以用主键来解决问题。
主键可以用来表示一个精确定位的特定行,如果没有主键,无法精准定位一条记录是否就是你要的相关行记录,这样就会导致更新或者删除表中特定的行很困难。如果有主键来约束行记录的唯一性后,就可以用主键来解决问题。
主键作用:
1、保证实体的完整性;
2、加快数据库的 *** 作速度;
3、在表中添加记录时,DBMS会自动检查记录的主键值,不允许该值与其他值重复。
扩展资料
主码=主键=主关键字,关键字=候选码 候选关键字=候选码中除去主码的其他候选码。
码:唯一标识实体的属性或属性组合称为码。
候选码(关键字):某一属性组的值能唯一标识一个元组而其子集不能(去掉任意一个属性都不能标识该元组),则称该属性组为候选码(补充元组:表中的一行即为一个元组)
主属性:候选码包含的属性(一个或多个属性)。
主码(主键、主关键字):若一个关系有多个候选码,选择其中一个为主码。
关键字就是为了方便编程人员在打开数据库的时候知道每个表所代表的值是什么。主要起到注释作用。
索引可以提高查询的速度。
其实主键和索引都是键,不过主键是逻辑键,索引是物理键,意思就是主键不实际存在,而索引实际存在在数据库中,主键一般都要建,主要是用来避免一张表中有相同的记录,索引一般可以不建,但如果需要对该表进行查询 *** 作,则最好建,这样可以加快检索的速度 。
1、码:代表数目的符号(分有主码和候选码等)
2、主码:我们在建立数据库的时候,需要为每张表指定一个主码,主码也叫主键。所谓主码就是在实体集中区分不同实体的候选码。一个实体集中只能有一个主码,但可以有多个候选码。
注意:主码的选择应该是那些从不或极少变化的属性。人的姓名是不可以做主码的,因为可能有多个人重名,而身份z可以做主码。
3、主属性:包含在任一候选关键字中的属性称主属性。
4、非主属性:不包含在主码中的属性称为非主属性。 非主属性是相对与主属性来定义的。
例如:在关系——学生(学号,姓名,年龄,性别,班级)中,主码是“学号”,那么其他的“姓名”、“年龄”、“性别”、“班级”就都可以称为非主属性
扩展资料
主码也叫主键,建立主键应该遵循的原则
1、主键应当是对用户没有意义的。如果用户看到了一个表示多对多关系的连接表中的数据,并抱怨它没有什么用处,那就证明它的主键设计地很好。
2、 永远也不要更新主键。实际上,因为主键除了唯一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主键需要更新,则说明主键应对用户无意义的原则被违反了。
注:这项原则对于那些经常需要在数据转换或多数据库合并时进行数据整理的数据并不适用。
3、 主键不应包含动态变化的数据,如时间戳、创建时间列、修改时间列等。
4、主键应当由计算机自动生成。如果由人来对主键的创建进行干预,就会使它带有除了唯一标识一行以外的意义。一旦越过这个界限,就可能产生人为修改主键的动机,这样,这种系统用来链接记录行、管理记录行的关键手段就会落入不了解数据库设计的人的手中。
参考资料来源:百度百科—主关键字
参考资料来源:百度百科—属性
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)