第1个回答 2022-11-27
问题一:数据库中为何要设置主键呢?有什么作用? 主键:
概念
主关键字(主键,primary key)是被挑选出来,作表的行的惟一标识的候选关键字。一个表只有一个主关键字。主关键字又可以称为主键。 主键可以由一个字段,也可以由多个字段组成,分别成为单字段主键或多字段主键。
作用
1)保证实体的完整性;
2)加快数据库的操作速度
3) 在表中添加新记录时,ACCESS会自动检查新记录的主键值,不允许该值与其他记录的主键值重复。
4) ACCESS自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。
特点
1) 一个表中只能有一个主键。如果在其他字段上建立主键,则原来的主键就会取消。在ACCESS中,虽然主键不是必需的,但最好为每个表都设置一个主键。
2)主键的值不可重复,也不可为空(NULL)。
问题二:数据库中为何要设置主键呢?有什么作用? 主键: 概念 主关键字(主键,primary key)是被挑选出来,作表的行的惟一标识的候选关键字。一个表只有一个主关键字。主关键字又可以称为主键。 主键可以由一个字段,也可以由多个字段组成,分别成为单字段主键或多字段主键。 作用 1)保证实体的完整性; 2)加快数据库的操作速度 3) 在表中添加新记录时,ACCESS会自动检查新记录的主键值,不允许该值与其他记录的主键值重复。 4) ACCESS自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。 特点 1) 一个表中只能有一个主键。如果在其他字段上建立主键,则原来的主键就会取消。在ACCESS中,虽然主键不是必需的,但最好为每个表都设置一个主键。 2)主键的值不可重复,也不可为空(NULL)。
问题三:sql server为什么要设置主键? 10分 一、主键定义
数据库主键是指表中一个列或者列的组合,其值能够唯一的标识表中的每一个行。这样的一列或者多列成为表的主键,通过它可以强制表的实体完整性。当创建或者更改表时可以通过定义PRIMARY KEY约束来创建主键,一个表只能有一个主键约束,而且主键约束中的列不能是空值,由于主键约束确保唯一数据,所一经常来定义标识列。
二、主键的作用
1、 主键是用于唯一标识数据库表中一行数据的。
2、 作为一个可以被外键有效引用的对象。
三、主键的设计原则
1、 主键应当是对用户没有意义的,比如说用户登陆一个系统的时候的登录id;而这种情况就不可能了:“学生表”需要支持这样的需求“学生注销后,可以重新激活自己的信息,而且还要保持自己的号码跟原来的一直”,这样的话主键就不能满足要求了。
2、 唯一性。
3、 非空性:主键的值是不可重复的,也不可以为空。
4、尽量不要更新主键。实际上,因为主键除了惟一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主键需要更新,则说明主键应对用户无意义的原则被违反了。注意:这项原则对于那些经常需要在数据转换或多数据库合并时进行数据整理的数据并不适用。
5、主键不应包含动态变化的数据,如时间戳、创建时间列、修改时间列等。
6、主键应当有计算机自动生成。如果由人来对主键的创建进行干预,就会使它带有除了惟一标识一行以外的意义。一旦越过这个界限,就可能产生认为修改主键的动机,这样,这种系统用来链接记录行、管理记录行的关键手段就会落入不了解数据库设计的人的手中。
四、创建主键
--在创建表时就可以对字段加上约束:create table Student(StudentNo int PRIMARY KEY IDENTITY(1,1), --加主键约束,还有标识列属性(两者构成实体完整性)StudentName nvarchar(15) not null, --加非空约束,不加not null 默认为:可以为空StudentSchool text(20) FOREIGN KEY REFERENCES SchoolTable(SchoolName), --加外键约束,格式:FOREIGN KEY REFERENCES 关联的表名(字段名)StudentAge int DEFAULT ((0)), --加默认值约束StudentSex nvarchar(2) CHECK(StudentSex=N'男' or StudentSex=N'女') --加检查约束,格式:check (条件表达式))
五、测试添加删除主键
--删除主键alter table Stu_PkFk_S drop constraint PK_Sgo--增加主键alter table Stu_PkFk_S add constraint PK_S primary key (sno)go
问题四:数据库表中的主键有什么作用?设和不设有什么区别? 楼上的几位都解释了主键的作用,我主要说下设和不设有啥区别:
比如:
张三的身份证号为123456
李四的身份证号为012345
设置身份证号为主键后,那么数据库就约穿你身份证号不能重复,不能为空,那么:
你向数据库表插入王五的身份证号为123456,则提示你主键不能重复之类的错误;
也许你要问,那就是保证不重复吗?主键可以保证不重复,并且不能为空,如果仅仅保证不重复的效果,可以只设置为索引就行了;
最后,主键可以是单字段主键,也可以2个或多个字段合并在一起形成联合主键。
问题五:SQL中的每一张表都必须设有主键吗 当然不一定咯。。
设置不设置主键嘛。。。要看你的业务或者需求来说。。。
如果你就是简单的对单表操作的话,实在没有必要。
对多张没有关联的表操作的话,不设置也没有什么影响
主键只是说对一种表和表关系的关联而已,还有就是在建主键的时候会自动添加个索引,某些情况下可以增加查询速度
问题六:设置什么为主键 以为一个学生可以选择多门课,一门课有多个学顶选择。
就你上边的这个表,主键应该是:学号+课程号。
问题七:数据库题目:为什么要设置主键?不设置会有什么后果 主键用于表示数据(记录)的唯一性, 不设置主键会导致数据表中可能存在完全相同的数据, 因此在对数据进行操作时, 数据库无法区分这些相同的数据, 因而会产生不想要的操作结果
另外, 主键还有助于提高数据的检索速度
问题八:sql 2008中建表为什么要设置主键 表通常具有包含唯一标识表中每一行的值的一列或一组列。 这样的一列或多列称为表的主键 (PK),用于强制表的实体完整性。 由于主键约束可保证数据的唯一性,因此经常对标识列定义这种约束。
如果为表指定了主键约束,数据库引擎将通过为主键列自动创建唯一索引来强制数据的唯一性。 当在查询中使用主键时,此索引还允许对数据进行快速访问。 如果对多列定义了主键约束,则一列中的值可能会重复,但来自主键约束定义中所有列的值的任何组合必须唯一。
参考文档:msdn.microsoft/zh-/library/ms179610.aspx
问题九:在access中怎么设置主键 如果您有一个表,其中每条记录都有一个唯一的标识号(如 ID 号、序列号或编码),则该字段可以作为一个不错的主键。要使主键正常工作,该字段必须唯一标识每一行,决不包含空值或 Null 值,并且很少(理想情况下永不)改变。
要显式设置主键,必须使用设计视图。
单击“Office 按钮” ,然后单击“打开”。 在“打开”对话框中,选择并打开数据库。 在导航窗格中,右键单击要设置主键的表,然后在快捷菜单上,单击“设计视图”。 选择要用作主键的一个或多个字段。 要选择一个字段,请单击所需字段的行选择器。
要选择多个字段,请按住 Ctrl,然后单击每个字段的行选择器。
在“设计”选项卡上的“工具”组中,单击“主键”。
键指示器添加到您指定为主键的一个或多个字段的左
问题十:mysql建表时为什么要设置主键 确定数据的唯一性,有时候数据重复插入就会出错,设置主键就能避免一下。同时根据主键查询也会提高查询效率。