1、主码:保证实体的完整性;加快数据库的操作速度;在表中添加新记录时,ACCESS会自动检查新记录的主键值,不允许该值与其他记录的主键值重复;ACCESS自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。
2、外码:主码和外部码提供了一种表示不同关系之间相互关联的手段。如关系模式供应商和供应之间的关系就是通过供应商名称来体现的。
建立主码应该遵循的原则
1、主键应当是对用户没有意义的。如果用户看到了一个表示多对多关系的连接表中的数据,并抱怨它没有什么用处,那就证明它的主键设计地很好。
2、永远也不要更新主键。实际上,因为主键除了唯一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主键需要更新,则说明主键应对用户无意义的原则被违反了。
注:这项原则对于那些经常需要在数据转换或多数据库合并时进行数据整理的数据并不适用。
3、主键不应包含动态变化的数据,如时间戳、创建时间列、修改时间列等。
4、主键应当由计算机自动生成。如果由人来对主键的创建进行干预,就会使它带有除了唯一标识一行以外的意义。一旦越过这个界限,就可能产生人为修改主键的动机,这样,这种系统用来链接记录行、管理记录行的关键手段就会落入不了解数据库设计的人的手中。
以上内容参考:百度百科-主关键字、百度百科-外部码
主码的作用是保证实体的完整性;加快数据库的操作速度;在表中添加新记录时,ACCESS会自动检查新记录的主键值,不允许该值与其他记录的主键值重复;ACCESS自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。
外码是相对于内码而言的辞汇。在计算机科学及相关领域中,外码指的是“外在的‘经过学习之后,可直接了解的编码形式(例如:文字或语音符号)’”。
中文输入法对汉字的编码即属外码。常见的中文外码有仓颉码、行列码、大易码、呒虾米码、注音码、拼音码。
扩展资料:
主码的原则
1、主键应当是对用户没有意义的。如果用户看到了一个表示多对多关系的连接表中的数据,并抱怨它没有什么用处,那就证明它的主键设计地很好。
2、永远也不要更新主键。实际上,因为主键除了唯一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主键需要更新,则说明主键应对用户无意义的原则被违反了。
3、主键不应包含动态变化的数据,如时间戳、创建时间列、修改时间列等。
4、主键应当由计算机自动生成。如果由人来对主键的创建进行干预,就会使它带有除了唯一标识一行以外的意义。一旦越过这个界限,就可能产生人为修改主键的动机,这样,这种系统用来链接记录行、管理记录行的关键手段就会落入不了解数据库设计的人的手中。
主码,我们在建立数据库的时候,需要为每张表指定一个主码,主码也叫主键。
所谓主码就是在实体集中区分不同实体的候选码。
一个实体集中只能有一个主码,但可以有多个候选码。
必须注意两点:
1.主码的选择必须慎重。
例如:人的姓名是不可以做主码的,因为可能有多个人重名,而身份证可以做主码。
2.主码的选择应该是那些从不或极少变化的属性。
例如:一个人的地址就不应该作为主码的一部分,因为它很可能变化。
“外码”在数据库中是相对主码而言的,即外键(用于建立和加强两个表数据之间的链接的一列或多列)!
属性或属性组X不是关系模式R的码(既不是主码也不是候选码),但X是另一个关系模式的码,则称X是R的外部码,也称外码。主码与外部码提供了一个实现关系间联系的手段,也是在计算机世界描述现实世界实体间联系的手段。
主码在关系中用于唯一确定一个元组
说下我的理解吧
主码是最小的候选码
外码是关联2个以上实体的字段