什么是码,主码,主属性,非主属性

小弟很惭愧没学好,我想问问一个表中有多个候选码,从里面选择一个做为主码,这这种情况,主属性是不是作为主码的属性,那非主属性呢?是不是除了主码以外的属性。那其它的候选码算什么属性?
楼下的大哥解释的我知道了,就是问清楚,主属性和非主属性区别在哪、?
主属性 包含在任一候选关键字中的属性称主属性。

非主属性 不包含在主码中的属性称为非主属性。
非主属性是相对与主属性来定义的。

那候选码中除了主码以外的称不称为非主属性?

1、码:代表数目的符号(分有主码和候选码等)

2、主码:我们在建立数据库的时候,需要为每张表指定一个主码,主码也叫主键。所谓主码就是在实体集中区分不同实体的候选码。一个实体集中只能有一个主码,但可以有多个候选码。

注意:主码的选择应该是那些从不或极少变化的属性。人的姓名是不可以做主码的,因为可能有多个人重名,而身份证可以做主码。

3、主属性:包含在任一候选关键字中的属性称主属性。

4、非主属性:不包含在主码中的属性称为非主属性。 非主属性是相对与主属性来定义的。

例如:在关系——学生(学号,姓名,年龄,性别,班级)中,主码是“学号”,那么其他的“姓名”、“年龄”、“性别”、“班级”就都可以称为非主属性

扩展资料

主码也叫主键,建立主键应该遵循的原则

1、主键应当是对用户没有意义的。如果用户看到了一个表示多对多关系的连接表中的数据,并抱怨它没有什么用处,那就证明它的主键设计地很好。

2、 永远也不要更新主键。实际上,因为主键除了唯一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主键需要更新,则说明主键应对用户无意义的原则被违反了。

注:这项原则对于那些经常需要在数据转换或多数据库合并时进行数据整理的数据并不适用。

3、 主键不应包含动态变化的数据,如时间戳、创建时间列、修改时间列等。

4、主键应当由计算机自动生成。如果由人来对主键的创建进行干预,就会使它带有除了唯一标识一行以外的意义。一旦越过这个界限,就可能产生人为修改主键的动机,这样,这种系统用来链接记录行、管理记录行的关键手段就会落入不了解数据库设计的人的手中。

参考资料来源:百度百科—主关键字

参考资料来源:百度百科—属性

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2019-09-19

1、码:代表数目的符号(分有主码和候选码等)

2、主码:我们在建立数据库的时候,需要为每张表指定一个主码,主码也叫主键。所谓主码就是在实体集中区分不同实体的候选码。一个实体集中只能有一个主码,但可以有多个候选码。(注意:主码的选择应该是那些从不或极少变化的属性。人的姓名是不可以做主码的,因为可能有多个人重名,而身份证可以做主码。)

3、主属性  包含在任一候选关键字中的属性称主属性。

4、非主属性  不包含在主码中的属性称为非主属性。 非主属性是相对与主属性来定义的。

例如:在关系——学生(学号,姓名,年龄,性别,班级)中,主码是“学号”,那么其他的“姓名”、“年龄”、“性别”、“班级”就都可以称为非主属性

码的定义:

设K是关系模式R(U,F)中的属性或属性组,K’是K的任一子集。若K→U,而不存在K’→U,则K为R的候选码(Candidate Key)

Ø 若候选码多于一个,则选其中的一个为主码(Primary Key);

Ø 包含在任一候选码中的属性,叫做主属性(Primary Attribute);

Ø 不包含在任何码中的属性称为非主属性(Nonprime Attribute)或非码属性(Nonkey Attribute)

Ø 关系模式中,最简单的情况是单个属性是码,称为单码(Single Key);最极端的情况是整个属性组是码,称为全码(All-Key)。

扩展资料:

建立主键(主码)应该遵循的原则:

1. 主键应当是对用户没有意义的。如果用户看到了一个表示多对多关系的连接表中的数据,并抱怨它没有什么用处,那就证明它的主键设计地很好。

2. 永远也不要更新主键。实际上,因为主键除了唯一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主键需要更新,则说明主键应对用户无意义的原则被违反了。

注:这项原则对于那些经常需要在数据转换或多数据库合并时进行数据整理的数据并不适用。

3. 主键不应包含动态变化的数据,如时间戳、创建时间列、修改时间列等。

4. 主键应当由计算机自动生成。如果由人来对主键的创建进行干预,就会使它带有除了唯一标识一行以外的意义。一旦越过这个界限,就可能产生人为修改主键的动机,这样,这种系统用来链接记录行、管理记录行的关键手段就会落入不了解数据库设计的人的手中。

属性在编程中的运用:

属性(attribute)是编程语言结构的任意特性。属性在其包含的信息和复杂性等方面变化很大,特别是当它们能确定时翻译/执行过程的时间。属性的典型例子有:变量的数据类型、表达式的值、存储器中变量的位置、程序的目标代码、数的有效位数。

在编程中,可以在复杂的处理(甚至编译程序的构造)之前确定属性。例如,一个数的有效位数可以根据语言的定义确定(或者至少给出一个最小值)。属性也可以在程序执行期间才确定,如(非常数)表达式的值,或者动态分配的数据结构的位置。不同的属性变化,甚至不同语言的相同属性都可能有完全不同的联编时间。在执行之前联编的属性称作静态的,而只在执行期间联编的属性是动态的(dynamic)。

在面向对象的编程中,属性意为某个变量或者某个常量所对应的值。如:$this->aaa,那么$this的属性就是aaa。

参考资料:百度百科-主关键字百度百科-属性

本回答被网友采纳
第2个回答  推荐于2017-10-13
码:代表数目的符号
主码 我们在建立数据库的时候,需要为每张表指定一个主码,主码也叫主键。
所谓主码就是在实体集中区分不同实体的候选码。
一个实体集中只能有一个主码,但可以有多个候选码。
必须注意两点:
1.主码的选择必须慎重。
例如:人的姓名是不可以做主码的,因为可能有多个人重名,而身份证可以做主码。
2.主码的选择应该是那些从不或极少变化的属性。
例如:一个人的地址就不应该作为主码的一部分,因为它很可能变化

候选码 若关系中的某一属性组的值能唯一的标识一个元组,而其任何真子集都不能再标识,则称该属性组为候选码。
例如:在学生实体中,“学号”是能唯一的区分学生实体的,同时又假设“姓名”、“年龄”的属性组合足以区分学生实体,那么{学号}和{姓名,年龄}都是候选码

主属性 包含在任一候选关键字中的属性称主属性。

非主属性 不包含在主码中的属性称为非主属性。
非主属性是相对与主属性来定义的。
例如:在关系——学生(学号,姓名,年龄,性别,班级)中,主码是“学号”,那么其他的“姓名”、“年龄”、“性别”、“班级”就都可以称为非主属性本回答被提问者采纳
第3个回答  2009-06-26
主码是能表示惟一标识的属性
相似回答