现在有一张记录客流的表,因为md门店,rq日期,xingqi星期都不是唯一的(同一天多个店有多条记录),我也没有设置主键。按数据库表要求来说,每张表都要设置主键,我没明白这个设不设主键,到底有什么差异。我可以加个自增的INT 加个字段当主键,但没明白加了和不加有什么区别?请大神指点一下
以该张记录客流的表为例,如果设置了门店、日期、星期几为主键的话,就表示数据库里面 一天一个门店就只能存储一条数据;但当设置自增id当主键的话 就可以出现一天一个门店有多条信息
数据库主键,指的是一个列或多列的组合,其值能唯一地标识表中的每一行,通过它可强制表的实体完整性。
主键可以用来表示一个精确定位的特定的行,如果没有主键,你就无法精准定位一条记录是否就是你要的相关行记录,这样就会导致更新或删除表中特定的行很困难。
而如果我们有主键来约束行记录的唯一性后,就可以利用主键来解决这个问题。
主键的作用:
1)保证实体的完整性;
2)加快数据库的操作速度。
3) 在表中添加新记录时,DBMS会自动检查新记录的主键值,不允许该值与其他记录的主键值重复。
4) DBMS自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。