SQL SERVER 数据库主键
SQL SERVER 数据库主键
SQL SERVER 数据库主键
一、什么是主键
数据库主键是指表中一个列或者列的组合,其值能够唯一的标识表中的每一个行。这样的一列或者多列成为表的主键,通过它可以强制表的实体完整性。当创建或者更改表时可以通过定义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_S
go
--增加主键
alter table Stu_PkFk_S add constraint PK_S primary key (sno)
go
- python操作sql server数据库(Python 数据库操作 SQLAlchemy的示例代码)
- sqlserver 多实例怎么算许可(SQL Server使用row_number分页的实现方法)
- sqlservercount函数的用法(SQL Server中row_number函数的常见用法示例详解)
- Sql Server事件探查器的作用
- sql server删除曾经登录过的登录名
- sql server内外连接的作用(浅谈SQL Server交叉联接 内部联接)
- SQL SERVER与MySQL数据类型的对应关系
- SQL Server获取时间段内的所有月份
- sqlserver触发器循环条件(SQL Server 利用触发器对多表视图进行更新的实现方法)
- sql server操作方法(SQL Server 文件操作方法)
- sqlserver字段增加删减(关于SQL Server中bit类型字段增删查改的一些事)
- sqlserver替换脚本(SQL Server中对数据截取替换的方法详解)
- sql server中使用xp_readerrorlog查看错误日志
- SQL Server 2008中的时间数据类型
- SQL Server作业
- sql server2012自动备份(SQL SERVER 2012数据库自动备份的方法)
- 换代在即,现在是抄底 7.5代 高尔夫的最佳时机吗(换代在即现在是抄底)
- 2020年大众7.5代高尔夫R终结特别版 最后的呐喊(2020年大众7.5代高尔夫R终结特别版)
- 七年前的这部剧有毒,全剧只有女主红到发紫,男主至今无人认识(七年前的这部剧有毒)
- 宋轶除了演过于曼丽,原来还演过一个青楼女子(宋轶除了演过于曼丽)
- 赵丽颖第一部当女主的戏,主角配角个个都是实力演员(赵丽颖第一部当女主的戏)
- 乾隆为何这么喜爱白塔原因是什么(乾隆为何这么喜爱白塔原因是什么)
热门推荐
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9