主要是看你的意图是什么。现在看你手头有三个表:单位表,类别表,文档表。按你之前的设计,单位表的主键是单位编号,类别表的主键是单位编号加上类别编号,文档表的主键是单位编号加上类别编号加上文档编号。单位编号是类别表的外键,单位编号加上类别编号是文档表的外键。修改之后的设计,单位表的主键是单位编号,类别表的主键是类别编号,文档表的主键是文档编号。单位编号是类别表的外键,单位编号加上类别编号是文档表的外键。这样的话,实际上改变的只是类别表的主键和文档表的主键而已,其他的表之间的关联关系都没有改变。需要注意的是,无论是主键还是外键,如果是由多个列组成的话,那把他们区别开来是没有任何意义的。所以,正是由于楼主把他们区别开来去分析某一列是主键还是外键,才会越来越混乱。
数据库的主键指的是一个列或多个列组合,其值能唯一标注表中的每一行,通过他可以强制表的实体完整性。主键可以用来表示一个精确定位的特定行,如果没有主键,无法精准定位一条记录是否就是你要的相关行记录,这样就会导致更新或者删除表中特定的行很困难。如果有主键来约束行记录的唯一性后,就可以用主键来解决问题。
主键可以用来表示一个精确定位的特定行,如果没有主键,无法精准定位一条记录是否就是你要的相关行记录,这样就会导致更新或者删除表中特定的行很困难。如果有主键来约束行记录的唯一性后,就可以用主键来解决问题。
主键作用:
1、保证实体的完整性;
2、加快数据库的 *** 作速度;
3、在表中添加记录时,DBMS会自动检查记录的主键值,不允许该值与其他值重复。
扩展资料
主码=主键=主关键字,关键字=候选码 候选关键字=候选码中除去主码的其他候选码。
码:唯一标识实体的属性或属性组合称为码。
候选码(关键字):某一属性组的值能唯一标识一个元组而其子集不能(去掉任意一个属性都不能标识该元组),则称该属性组为候选码(补充元组:表中的一行即为一个元组)
主属性:候选码包含的属性(一个或多个属性)。
主码(主键、主关键字):若一个关系有多个候选码,选择其中一个为主码。
关键字就是为了方便编程人员在打开数据库的时候知道每个表所代表的值是什么。主要起到注释作用。
索引可以提高查询的速度。
其实主键和索引都是键,不过主键是逻辑键,索引是物理键,意思就是主键不实际存在,而索引实际存在在数据库中,主键一般都要建,主要是用来避免一张表中有相同的记录,索引一般可以不建,但如果需要对该表进行查询 *** 作,则最好建,这样可以加快检索的速度 。
sql的键值类型的主属性怎么设置?sql要怎么设置主键呢?本文以sql server数据库为例,讲解几种设置方式:
1)新建表时设置主键
2)修改表主键
3)sql语句删除主键
4)sql语句添加主键
5)sql语句修改主键
方法/步骤分步阅读
1
/8
打开SQL Server Management Studio管理工具,连接数据库
2
/8
新建表时设置主键- 打开新建表界面
1)展开要新建表的数据库
2)右键表菜单,依次选择新建->表
3
/8
新建表时设置主键- 设置主键
1)在“新建表界面”,加入两个测试列的行
2)选择任何一行,右键选择设置主键
3)联合主键设置:按住ctrl键,配合鼠标左键,可以多选几行,然后右键选择设置主键
4)添加列后,点击保存按钮,在d出框中输入“表名称”,点击确定按钮即可
4
/8
修改表主键- 打开设计表界面
右键选择要修改的表,选择设计菜单,即可打开此表的设计界面,此时,可以修改列名、列类型、长度等等
5
/8
修改表主键- 修改主键
1)在“表设计”界面,右键任何一行,选择“设置主键”
2)调整好表属性后,点击“保存”按钮即可
3)联合主键设置:按住ctrl键,配合鼠标左键,可以多选几行,然后右键选择设置主键
4)对于有数据的表,如果修改后的主键存在数据重复行,则会提示修改失败,此时,需要视具体业务场景删除重复记录或者更改另外的列作为主键
6
/8
sql语句删除主键
1)点击sql server管理工具的菜单新建查询,打开查询窗口
2)在查询窗口中输入截图的命令删除主键
ALTER TABLE 表名 DROP CONSTRAINT [键名];
7
/8
sql语句添加主键
1)点击sql server管理工具的菜单新建查询,打开查询窗口
2)在查询窗口中输入截图的命令添加主键
ALTER TABLE 表名 ADD CONSTRAINT 键名 PRIMARY KEY ( 列名,多个列名用逗号分隔 );
3)添加主键之前,如果该表原来有主键,需要先删除主键,再添加,就等同于修改主键了
8
/8
sql语句修改主键
1)点击sql server管理工具的菜单新建查询,打开查询窗口
2)在查询窗口中输入截图的命令修改主键
3)如果表存在主键,需要先删除原主键。
什么是主要的属性??
在建立之前规划好各个表,比如学生表存学号,姓名、年龄、性别、班级等。成绩表,学号、语文、数学、英语。成绩表中不要再出现姓名,因为通过学号就可以找到,也就是所谓的主外键
二维表中,能够惟一确定记录的一个字段或几个字段的组合被称为“超关键字”。“超关键字”虽然能唯一确定记录,但是它所包含的字段可能是有多余的。
如果一个超关键字去掉其中任何一个字段后不再能唯一地确定记录,则称它为“候选关键字。候选关键字既能唯一地确定记录,它包含的字段又是最精炼的。也就是说候选关键字是最简单的超关键字。
主关键字(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。
比如在一张成绩表中,有字段:学号,科目,成绩,任课老师。
学号+科目+任何其他字段就是超关键字,但是如果去掉学号或者科目中的一个就无法确定成绩,所以学号和科目是两个候选关键字。
只有知道了学号和科目你才能确定一条记录,所以学号和科目两个字段组成了主关键字。
以上就是关于关系数据库中 主属性与主键有什么概念上的区别吗全部的内容,包括:关系数据库中 主属性与主键有什么概念上的区别吗、我想知道数据库中设置主键的作用、sql的键值类型的主属性怎么设置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)