主键,即主关键字,是被挑选出来,作表的行的唯一标识的候选关键字。
一个表只有一个主关键字。主关键字又可以称为主键。 主键可以由一个字段,也可以由多个字段组成,分别称为单字段主键或多字段主键。又称主码。并且它可以唯一确定表中的一行数据,或者可以唯一确定一个实体。
它的值用于唯一地标识表中的某一条记录。在两个表的关系中,主关键字用来在一个表中引用来自于另一个表中的特定记录。并且主关键字的列不能包含空值。主关键字是可选的,并且可在 CREATE TABLE 或 ALTER TABLE 语句中定义。
扩展资料:
遵循原则
1、主键应当是对用户没有意义的。如果用户看到了一个表示多对多关系的连接表中的数据,并抱怨它没有什么用处,那就证明它的主键设计地很好。
2、永远也不要更新主键。实际上,因为主键除了唯一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主键需要更新,则说明主键应对用户无意义的原则被违反了。
3、主键不应包含动态变化的数据,如时间戳、创建时间列、修改时间列等。
4、主键应当由计算机自动生成。如果由人来对主键的创建进行干预,就会使它带有除了唯一标识一行以外的意义。一旦越过这个界限,就可能产生人为修改主键的动机,这样,这种系统用来链接记录行、管理记录行的关键手段就会落入不了解数据库设计的人的手中。
参考资料来源:百度百科—主关键字
商品表存放商品,包含商品的名称、描述、链接等等,存储商品的属性。
类目表有类目id,类目名字。一个类目下有多个商品,每件商品又归属到某个类目。因此类目表和商品表是一对多的关系。
订单详情表存放的是一个订单的具体内容,比如买了什么商品,每件商品买了多少件订单主表包括买家信息,订单总额,是否已支付。与订单详情表是一对多的关系,假如一个订单买了两种商品,那么详情表里面会有两条记录。外键是参照关系的意思,只要表内一个字段是其它表中的主键不管他是不是本表的主键都可以定义为外键,其实,外键的定义在逻辑上需要是合理的。A表必须有记录,B表才能有,这个时候A表是主键表,B表外键表。(A表里面的记录可以随便录入,但一般必须唯一,是主键;B表里面录入的东西就不是乱录了,必须A表里面有的记录,才能录入到B表中。B表里面出现的任何一条记录都必须在A表中找到与之对应的记录,当然它可以重复出现,如果是1:N的话)
例如:学生表,成绩表。学生表里面必须有某个学生的信息,成绩表里面才可能有这个学生的成绩。这个时候学生表示主键表,成绩表示外键表。如果学生表中一个学生都没有,成绩表里面也不能有,但是反之则可以。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)