主键?外键
一、主码和主键的概念
主码和主键都是数据库中用来唯一标识每条记录的字段。主码是数据库表中的一列或一组列,其值对数据库中的每条记录都是唯一的。
主键是主码中的某个字段或字段组合,在实际操作中被用来标识和检索数据记录。主键必须唯一且非空,而主码则可以允许空值。主键是数据库设计中的关键概念,用于确保数据的完整性和唯一性,而主码则更广泛用于描述数据库表中的任何唯一标识。
二、主键和外键有什么区别
主键和外键都是用于维护数据库完整性的一种机制。
区别:
1、主键是唯一标识一条记录,不能重复,不允许为空;而外键可以重复,可以是空值;
2、主键是用来保持数据完整性,外键是用来建立与其他表联系用的;
3、主键只有一个,外键可以有多个。
三、什么叫“主键”
必然可以,首先要搞清楚主键和外键的定义是什么。主键说白了就是就是这个table的唯一标识,是针对单个table来说的,作为一个table可以设置多个主键,例如你创建了一个叫user_info的table,你可以设置一列user_id,比方说这个是身份证号,可以只设置这一个主键,就可以通过这一个主键去找到表中任何数据,唯一的。
你也可以设置user_name列和sex列当主键,这里只是简单举个例子,比方说两个人重名但性别不同,就可以通过这“个”主键来确定你所要查找的唯一数据。
而外键是针对多个table的定义,比方你还有一个salary的table,这里肯定要用到user_id,或者user_name在或者department之类的信息,这时你在建表的时候就要指定user_id是来自user_info表的user_id,这样在你修改user_info表的同时,salary中的信息也会随之改变,而不用管user_id是否为其原表主键。所以外键和主键其实在这种意义上来说,是没有任何关系的。