sql主键的作用
‘壹’ sql中设置主键的作用
主键是唯一的,一个表通过一个主键可以确定一条记录,
‘贰’ SQL中主键的使用
主键是数据完整性的保障之一,具体说是实体完整行,主键不允许为空也不能知重复。
假如你做了一个员工表格
有一列是身份证号
如果这个人没有身份证号,那么你就是雇黑工,如果有两个人身份证号相同,那么一个人是伪造的身份。哈道哈
所以正常情况下这两种情况都不允许出现。这是你只要给身份号这一列设置了主键,那么你插入或者修改数据时,数据库管理系统就会自动要求他们不版能为空也不能有两条记录的号码相同。
这就是主键的作用
你那个id
是个标识列,dbms会自动为他赋值,而且保证其唯权一性,所以你就不用给他赋值了
‘叁’ sql中设置主键的作用
联合主键就是用2个或2个以上的字段组成主键。用这个主键包含的字段作为主键,这个组合在数据表中是唯一,且加了主键索引。
可以这么理解,比如,你的订单表里有很多字段,一般情况只要有个订单号bill_no做主键就可以了,但是,现在要求可能会有补充订单,使用相同的订单号,那么这时单独使用订单号就不可以了,因为会有重复。那么你可以再使用个订单序列号bill_seq来作为区别。把bill_no和bill_seq设成联合主键。即使bill_no相同,bill_seq不同也是可以的。
‘肆’ SQL中的主键约束有什么作用请举例说明
表有唯一的主键约束。表的主键可以保护一个或多个列,主键约束可与NOT
NULL约束共同作用于每一数据列。NOT
NULL约束和唯一性约束的组合将保证主键唯一地标识每一行。像唯一性约束一样,主键由B-tree索引增强。
创建主键约束使用CREATE
TABLE语句与表一起创建,如果表已经创建了,可以使用ALTER
TABLE语句。
CREATE
TABLE
policies
(policy_id
NUMBER
CONSTRAINT
pk_policies
PRIMARY
KEY,
holder_name
VARCHAR2(40),
gender
VARCHAR2(1),
marital_status
VARCHAR2(1),
date_of_birth
DATE
);
与唯一性约束一样,如果主键约束保护多个数据列,那么必须作为一个表约束创建。
CREATE
TABLE
insured_autos
(policy_id
NUMBER,
vin
VARCHAR2(40),
coverage_begin
DATE,
coverage_term
NUMBER,
CONSTRAINT
pk_insured_autos
PRIMARY
KEY
(policy_id,vin)
USING
INDEX
TABLESPACE
index
STORAGE
(INITIAL
1M
NEXT
10M
PCTINCREASE
0)
);
禁用或删除主键必须与ALTER
TABLE
语句一起使用
ALTER
TABLE
policies
DROP
PRIMARY
KEY;
或
ALTER
TABLE
policies
DISABLE
PRIMARY
KEY;
‘伍’ sql server为什么要设置主键
一、主键定义
数据库主键是指表中一个列或者列的组合,其值能够唯一的标识表中的每一个行。这样的一列或者多列成为表的主键,通过它可以强制表的实体完整性。当创建或者更改表时可以通过定义PRIMARY KEY约束来创建主键,一个表只能有一个主键约束,而且主键约束中的列不能是空值,由于主键约束确保唯一数据,所一经常来定义标识列。
二、主键的作用
1、 主键是用于唯一标识数据库表中一行数据的。
2、 作为一个可以被外键有效引用的对象。
三、主键的设计原则
1、 主键应当是对用户没有意义的,比如说用户登陆一个系统的时候的登录id;而这种情况就不可能了:“学生表”需要支持这样的需求“学生注销后,可以重新激活自己的信息,而且还要保持自己的号码跟原来的一直”,这样的话主键就不能满足要求了。
2、 唯一性。
3、 非空性:主键的值是不可重复的,也不可以为空。
4、尽量不要更新主键。实际上,因为主键除了惟一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主键需要更新,则说明主键应对用户无意义的原则被违反了。注意:这项原则对于那些经常需要在数据转换或多数据库合并时进行数据整理的数据并不适用。
5、主键不应包含动态变化的数据,如时间戳、创建时间列、修改时间列等。
6、主键应当有计算机自动生成。如果由人来对主键的创建进行干预,就会使它带有除了惟一标识一行以外的意义。一旦越过这个界限,就可能产生认为修改主键的动机,这样,这种系统用来链接记录行、管理记录行的关键手段就会落入不了解数据库设计的人的手中。
四、创建主键
--在创建表时就可以对字段加上约束:
createtableStudent
(
(1,1),--加主键约束,还有标识列属性(两者构成实体完整性)
StudentNamenvarchar(15)notnull,--加非空约束,不加"notnull"默认为:可以为空
StudentSchooltext(20)(SchoolName),--加外键约束,格式:FOREIGNKEYREFERENCES关联的表名(字段名)
StudentAgeintDEFAULT((0)),--加默认值约束
StudentSexnvarchar(2)CHECK(StudentSex=N'男'orStudentSex=N'女')--加检查约束,格式:check(条件表达式)
)
五、测试添加删除主键
--删除主键
altertableStu_PkFk_SdropconstraintPK_S
go
--增加主键
altertableStu_PkFk_SaddconstraintPK_Sprimarykey(sno)
go
‘陆’ 请问SQL server 中的主键和外键的作用
主键:唯一标识一条记录,不能有重复的,不允许为空;外键:表的外键是另一表的主键,
外键可以有重复的,
可以是空值。
主键的作用是用来保证数据完整性,主键只能有一个。比如,一条记录包括身份正号,姓名,年龄。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。
外键的作用是用来和其他表建立联系用的,一个表可以有多个外键。比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。
‘柒’ 举例说明SQL中的主键约束有什么作用
其实很简单,你就知道一下几点就可以了,在以后的工作中就足够了。
1,主键非空,也就是说被设定为主键的列在插入数据的时候就不能为空,如果为空SQL就会报错。
2,主键是唯一的,一个表通过一个主键可以确定一条记录,有一条记录的主键是SF110如果你再向里面插入SF110的记录SQL就会报错。
3,有时可以用两个字段来建立主键,这叫联合主键。这种情况出现在当一个字段无法唯一的时候要借助另一个字段来确保唯一性的时候。
答复:
主键一般都是挑选能够唯一表示一条记录的字段来做,你比如说现在有一个“学生表”里面有“学生编号”“学生姓名”“学生年龄”等
根据原则肯定要以“学生编号”为主键。
还有一个原则就是不经常被修改的字段也可以做主键。“学生编号”在对表操作的时候肯定不会被修改所以也比较符合。
主键没有什么随便不随便设,一个表最好有一个主键,因为这是个好习惯而且如果你不设置主键在SQL的企业管理器中无法对他进行添加删除等操作。不知道这些补充可不可以?
‘捌’ SQL中主键的作用是什么外键的作用是什么
主键是唯一标示这一行的,就好像你的身份证号一样,每个人只有一个,也是唯一能证明你是你的东西。外键是别人执行你的东西。也就是说如果一个人想和你有点关系怎么办,那就要关联起来,怎么关联起来,就通过外键啊