今天首席CTO笔记来给各位分享关于django中主键是什么意思的相关内容,其中也会对django高级用法进行详细介绍,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
1、数据库里面的主键和外键及候选键是什么意思啊?2、什么是主键3、什么是主键?有什么作用?数据库里面的主键和外键及候选键是什么意思啊?
1、主键(primary
key)吧:一张表(关系)的一个列(属性)或多个列可以作为主键,但是前提是让这个列作主键,这个列就能保证该列下的各个行(元组)的值不能相同,比如说用姓名属性作主键的话,那么这个主键就不一定可以,如果有两个人是同样的名字的话,就不能做到该属性下的各个元组数据的值不同,如果用阿拉伯数字作主键就是一个很好的选择。
2、外键(foreign
key):一张表(关系)的列(属性)它同时存在表1和表2中,它不是表1的主键,而是表2的主键,就可以说他是表1的外键。
3、候选键(Candidate
Key):能唯一标识表(关系)中行(元组)的列(属性),则称该属性为候选键,也称
候选关键字
或
候选码;由此来看候选键可以不只一个,还看一看得出的就是主键同时它也是候选键。
什么是主键
主键,即主关键字,是被挑选出来,作表的行的唯一标识的候选关键字。
一个表只有一个主关键字。主关键字又可以称为主键。 主键可以由一个字段,也可以由多个字段组成,分别称为单字段主键或多字段主键。又称主码。并且它可以唯一确定表中的一行数据,或者可以唯一确定一个实体。
它的值用于唯一地标识表中的某一条记录。在两个表的关系中,主关键字用来在一个表中引用来自于另一个表中的特定记录。并且主关键字的列不能包含空值。主关键字是可选的,并且可在 CREATE TABLE 或 ALTER TABLE 语句中定义。
扩展资料:
遵循原则
1、主键应当是对用户没有意义的。如果用户看到了一个表示多对多关系的连接表中的数据,并抱怨它没有什么用处,那就证明它的主键设计地很好。
2、永远也不要更新主键。实际上,因为主键除了唯一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主键需要更新,则说明主键应对用户无意义的原则被违反了。
3、主键不应包含动态变化的数据,如时间戳、创建时间列、修改时间列等。
4、主键应当由计算机自动生成。如果由人来对主键的创建进行干预,就会使它带有除了唯一标识一行以外的意义。一旦越过这个界限,就可能产生人为修改主键的动机,这样,这种系统用来链接记录行、管理记录行的关键手段就会落入不了解数据库设计的人的手中。
参考资料来源:百度百科—主关键字
什么是主键?有什么作用?
1、主键就是被挑选出来,作表的行的唯一标识的候选关键字。主键可以由一个字段,也可以由多个字段组成,分别称为单字段主键或多字段主键。
2、一般来说,主键的作用有四个:
①可以保证实体的完整性;
②能够加快数据库的操作速度;
③在表中添加新记录时,ACCESS会自动检查新记录的主键值,不允许该值与其他记录的主键值重复;
④ACCESS自动按主键值的顺序显示表中的记录,但如果没有定义主键,则按输入记录的顺序显示表中的记录。
扩展资料
主键建立的注意事项
1、主键应当是对用户没有意义的。如果用户看到了表中的数据,并抱怨它没有什么用处,那就证明它的主键设计得很好。所以主键不包含动态变化的数据,如时间戳、创建时间列、修改时间列等。
2、永远也不要更新主键。因为主键除了唯一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主键需要更新,则说明主键应对用户无意义的原则被违反了。
3、主键应当由计算机自动生成。如果由人来对主键的创建进行干预,就会使它带有除了唯一标识一行以外的意义。一旦越过这个界限,就可能产生人为修改主键的动机。
参考资料:百度百科-主关键字
结语:以上就是首席CTO笔记为大家整理的关于django中主键是什么意思的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于django高级用法、django中主键是什么意思的相关内容别忘了在本站进行查找喔。