主码就是主关键字,能唯一标示字段属性在关系数据库中应用比较广泛,你可以参考相关的Visual Foxpro教程或者是数据库教程,里面有很更详细的解答!
希望这个对你有点用:
举例说明什么是主码它的作用是什么
例如,学生关系S(SNO,SNAME,AGE,SEX)
其中学号SNO是主码,它能惟一标识S中的一行,即每行中SNO上的值确定后,这行中其他属性上的值就确定下来了。所以主码实现关系定义中“表中任意两行(元组)不能相同”的约束。另外,主码实现关系完整性规则,即实体完整性约束(要求主码上的值不能取空值)和参照完整性约束(要求外码值必须是另一个表的主码的有效值或者是一个空值,即通过主码和外码实现表与表之间的联系)。所以,关系S中任一行上的SNO属性上的值不允许为空值。
1、非主属性
不包含在任何一个候选码中的属性称为非主属性。非主属性是相对与主属性来定义的。
2、主属性
在一个关系中,如果一个属性是构成某一个候选关键字(候选码)的属性集中的一个属性,则称它为主属性(Primeattribute)。
3、候选码
若关系中的一个属性或属性组的值能够唯一地标识一个元组,且他的真子集不能唯一的标识一个元组,则称这个属性或属性组做候选码。
4、关键码
关键码在数据结构中关键码指的是数据元素中能起标识作用的数据项,例如,书目信息中的登陆号和书名等。其中能起唯一标识作用的关键码称为“主关键码”,如登陆号;反之称为“次关键码”。
扩展资料
求解候选码基本算法的具体步骤:
第1 步,求关系模式R< U,F > 的最小函数依赖集F。
第2步,按照上面的定义,分别计算出UL,UR,UB(UL表示仅在函数依赖集中各依赖关系式左边出现的属性的集合;UR表示仅在函数依赖集中各依赖关系式右边出现的属性的集合;另记UB=U-UL-UR)。
第3步,若UL≠Φ,计算UL的闭包,若UL+=U,则UL为R的唯一的候选码,算法结束;若UL+≠U,转第4步,若UL=Φ,转第5步。
第4步,将UL依次与UB中的属性组合,利用上述的定义4判断该组合属性是否是候选码;找出所有的候选码后,算法结束。
第5步,对UB中的属性及属性组合利用上述的定义4依次进行判断;找出所有的候选码后,算法结束.。
1、候选码:若关系中的一个属性或属性组的值能够唯一地标识一个元组,且他的真子集不能唯一的标识一个元组,则称这个属性或属性组做候选码。
2、主码:主码指主关键字。主关键字(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。在两个表的关系中,主关键字用来在一个表中引用来自于另一个表中的特定记录。主关键字是一种唯一关键字,表定义的一部分。一个表的主键可以由多个关键字共同组成,并且主关键字的列不能包含空值。主关键字是可选的,并且可在 CREATE TABLE 或 ALTER TABLE 语句中定义。
3、全码:All-key关系模型的所有属性组组成该 关系模式的 候选码,称为全码。即所有属性当作一个码。若关系中只有一个候选码,且这个候选码中包含全部属性,则该候选码为全码
4、外码:外码是相对于内码而言的辞汇。在计算机科学及相关领域中,外码指的是“外在的‘经过学习之后,可直接了解的编码形式(例如:文字或语音符号)’”。
中文输入法对汉字的编码即属外码。常见的中文外码有仓颉码、行列码、大易码、呒虾米码、注音码、拼音码。
5、内码:内码是指计算机汉字系统中使用的二进制字符编码,是沟通输入、输出与系统平台之间的交换码,通过内码可以达到通用和高效率传输文本的目的。如ASCII
扩展资料:
主码的作用
1、保证实体的完整性;
2、加快数据库的 *** 作速度;
3、在表中添加新记录时,ACCESS会自动检查新记录的主键值,不允许该值与其他记录的主键值重复;
4、ACCESS自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。
参考资料来源:百度百科-候选码
参考资料来源:百度百科-全码
参考资料来源:百度百科-主码
参考资料来源:百度百科-外码
参考资料来源:百度百科-内码
数据库是以某种数据模型所确定的数据结构方式来组织和存储某个组织(或部门)相互关联的数据集。数据库管理系统是一种帮助用户建立、使用、管理和维护数据库的计算机系统软件。或者说,数据库管理系统是开发一个实际应用数据库的工具并支撑其运行的平台。数据库管理系统必须与其管理的数据库的数据模型相一致。 1数据模型数据模型是对现实世界数据特征进行抽象的工具,用来描述和处理现实世界中的数据和信息。数据模型要能较真实地模拟现实世界,既要便于人们理解,又要便于在计算机上实现。数据模型主要由数据结构、数据 *** 作、数据完整性规则三个部分组成。数据结构描述了组成数据库的基本成分;数据 *** 作描述了对数据结构允许执行的 *** 作集合;完整性规则描述了对数据结构所具有的约束和存储规则。2关系数据模型关系数据模型的数据结构是人们日常事务处理中常见的二维表结构(如工资发放表)。关系数据模型将数据看成是二维表中唯一的行号和列号确定的一个表中元素,即关系数据模型是用二维表的方式来组织、存储和处理数据和信息的。从应用的角度来看,任何一个组织(或部门)的关系数据库的基本组成成分是二维表,或者说某个组织(或部门)的数据库是由若干张相互关联的二维表组成。由于二维表结构清晰、简单、易于理解,也易于计算机实现(存储、 *** 作、控制),加上关系数据模型有数学理论基础(集合论、关系代数),因此现在的数据库管理系统软件都是基于关系数据模型研发的,如SQL SERVER、ORACLE、DB2、SYBASE、ACCESS、FOXPRO等等。也就是说,用这些关系数据库管理系统软件为某个组织开发的会计数据库系统必须按关系数据模型来组织数据。那么,关系数据模型中的二维表与数据库中的数据文件之间有何联系?下面我们通过会计科目代码表来介绍关系数据模型的基本概念及其与数据库中的数据文件之间的对应关系:(1)关系、二维表、数据文件:关系数据模型中用关系来表述现实世界中能够相互区别的要管理的数据对象集。每一个关系都有一个关系名和一组表述其特征的属性集,人们就是通过这些属性集区别不同的关系。如记账凭证、会计科目、总账都可以称之为关系,它们都是要管理的数据对象集,都有各自的属性集。一个关系用一张二维表表示,表名对应关系名。二维表由有限个不重复的行组成,表中的每一列不可再分。一张二维表在关系数据库中用一个数据文件存储。如“会计科目代码表”在会计数据库中用一个数据文件存储,文件名可以用表名“会计科目代码”,使计算机中存储的文件内容与现实世界管理的数据对象相联系。(2)记录:二维表中的每一行称为一个记录,描述了关系中一个具体的个体,在数据文件中是一个记录值。如表1中第一行为现金账户的记录,描述了现金账户在会计科目代码文件中所有属性的取值(特征)。(3)属性、列、字段:二维表中的每一列是一个属性,描述了关系的一个特征。一个二维表的所有列构成了一个关系的属性集,通过它可以区别不同的二维表(关系)。二维表中的每一列的数据属于同一类型。每一列的列名对应关系的属性名,同时对应数据文件中的字段名。如表1用6个列表示会计科目代码的属性,其中第三列表示属性“科目性质”,当某条记录取值为1时,表示是资产类科目。(4)主码、主关键字:指二维表中的某个列(属性)或某几个列(或属性组),它们的值能够唯一确定表中或数据文件中的一个记录。如表1中的“科目代码”属性可以作为主码(或主关键字),用来唯一识别表中的每一个会计科目。(5)域:描述二维表中每一列属性或数据文件的某一字段的取值类型和范围。如表1中每一列的列名下面的括号中的内容表示该列的取值类型和范围,其中第四列“底层明细标志”表示某个科目是不是最底层明细科目(不再有下层科目),只有两种取值T(真)和F(假)。(6)关系模式:一个关系模式由一个关系名及它所有的属性构成,它对应一个二维表的表名和表头栏目行(列的集合),构成了一个二维表的框架,同时也是设计该二维表的数据文件结构的依据。至此,我们直观地介绍了关系数据库中的关系、二维表、数据文件之间各个概念的对应关系。由于二维表中的行与数据文件的记录、二维表的列(属性)与数据文件的字段之间相互对应,因此,审计人员只要掌握了会计账务数据库的二维表结构及表之间的关联也就能够分析电子账的结构。例如,将会计科目代码表(表1)转换成关系数据库中的数据文件结构:3关系数据模型的数据 *** 作从数学的角度看,关系数据模型的数据 *** 作是基于集合的 *** 作, *** 作对象和 *** 作结果都是集合。从数据处理的角度看,数据 *** 作的对象和结果都是二维表。对二维表的 *** 作主要有:(1)对表中的行(记录)进行 *** 作:指对一张表中指定范围的记录进行有条件的 *** 作, *** 作的结果组成一张新表。例如,从“会计科目代码表”中筛选出资产类科目组成新的“资产类科目代码表”, *** 作的范围是整个“会计科目代码表”,条件是“科目性质等于1”。对表中的行进行 *** 作后的结果表的结构与原表相同,记录数小于或等于原表。(2)对表中的列(属性)进行 *** 作:指对一张表中指定的列进行有条件的 *** 作, *** 作的结果组成一张新表。例如,从“会计科目代码表”中选出“科目代码”、“科目名称”两列,组成新的科目代码对应表,新表只有“科目代码”和“科目名称”两列。显然,列 *** 作后的结果表的结构与原表不同,结果表小于或等于原表。(3)连接:对两张表或多张表进行有条件的连接 *** 作,生成一张新表。连接 *** 作后的结果表大于等于 *** 作前的表。从应用的角度看,对二维表中的数据 *** 作功能主要包括更新(增加、修改、删除)数据和检索(查询)数据,即对二维表填入和修改数据,并从表中检索出数据进行加工应用。4关系数据模型的数据完整性规则数据完整性是指数据库中存储的数据是有意义的或正确的。关系数据模型中的数据完整性规则是指对二维表的定义和 *** 作过程中要遵循的某些约束条件。主要包括:(1)实体完整性:指每张表都必须有主码,而且表中不允许存在无主码值的记录和主码值相同的记录。如表1中的每一个记录都必须有科目代码,并且不能有相同科目代码的记录和无科目代码的记录。(2)参照完整性:指一张表的某列的取值受另一张表的某列的取值范围约束,描述了多张表之间的关联关系。例如,记账凭证表中的“科目代码”列的取值受到会计科目代码表的“科目代码”取值范围的限定。(3)用户定义完整性。指针对某一具体应用定义的数据库约束条件,反映某一具体应用所涉及的数据必须满足应用语义的要求。即限制属性的取值类型及范围,防止属性的值与应用语义矛盾。如表1中,“科目性质”的取值只能是1(资产)、2(负债)、3(权益)、4(成本)、5(损益)。5从关系数据模型得到的启示(1)基于关系数据模型的会计账务数据库是以二维表为基本部件构建的,数据库中的每一个数据文件对应一张二维表,数据文件之间的关联也可以用二维表之间的关联来表示,对二维表的定义和数据 *** 作必须满足数据完整性约束条件。构建一个会计账务数据库首先要将会计账务管理的对象,如会计科目、记账凭证、日记账、明细账、总账及它们之间的关系抽象成二维表的形式,弄清了它们的二维表结构也就弄清了它们的数据文件结构,即电子账结构。因此,会计账务数据库结构设计可以转变成会计账务数据的二维表及二维表之间的关联设计,而一张二维表的表头栏目(属性集)反映了表的结构特征,是设计数据文件结构的依据。(2)依据关系数据模型研发的关系数据库管理系统是开发和管理会计数据库系统的工具软件,也是支持所开发的会计数据库系统运行的平台,任何一个会计账务数据库都必须在某一个关系数据库管理系统的在线管理下运行。由于不同的数据库软件公司提供的关系数据库管理系统软件的各个版本的功能强弱、所适应的计算机系统的运行环境(单机、网络等)、所提供的对表的 *** 作命令等都有所不同,因此,审计人员要审查电子账,首先要了解被审单位的电子账的数据库管理系统软件的名称(例如是SQL SERVER或ORACLE)、版本(单机、网络,第几版)、打开数据库(表)以及对表 *** 作的命令格式和命令等。尽管各种关系数据库管理系统软件版本有差异,但通过以上对关系数据模型的 *** 作可以了解到:表的主要 *** 作类型和功能基本一致。审计人员仅需要掌握最基本的打开、检索、汇总数据库(表)等 *** 作命令就能进行审查会计账务数据库的基本工作,并非深不可测。
本文来自CSDN博客,转载请标明出处: >
你好,他们俩是有区别的,主键就是能够唯一标识表中某一行的属性或属性组,一个表只能有一个主键,但可以有多个候选索引,当有多个候选码时,可以选定一个作为主码,选定的候选码称主键
而主码可以有多个。
以上就是关于请问什么是主码全部的内容,包括:请问什么是主码、数据库中的非主属性和主属性、以及候选码和关键码分别指什么、什么是候选码、主码、全码、外码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)