SQL SERVER数据完整性及约束
- 格式:ppt
- 大小:386.50 KB
- 文档页数:51
2022年北华大学软件工程专业《数据库原理》科目期末试卷B(有答案)一、填空题1、SQL Server中数据完整性包括______、______和______。
2、____________和____________一起组成了安全性子系统。
3、设有关系模式R(A,B,C)和S(E,A,F),若R.A是R的主码,S.A是S的外码,则S.A的值或者等于R中某个元组的主码值,或者______取空值,这是规则,它是通过______和______约束来实现的。
4、关系系统的查询优化既是关系数据库管理系统实现的关键技术,又是关系系统的优点。
因为,用户只要提出______,不必指出 ______。
5、若事务T对数据对象A加了S锁,则其他事务只能对数据A再加______,不能加______,直到事务T释放A上的锁。
6、设在SQL Server 2000环境下,对“销售数据库”进行的备份操作序列如下图所示。
①出现故障后,为尽可能减少数据丢失,需要利用备份数据进行恢复。
首先应该进行的恢复操作是恢复_____,第二个应该进行的恢复操作是恢复_____。
②假设这些备份操作均是在BK设备上完成的,并且该备份设备只用于这些备份操作,请补全下述恢复数据库完全备份的语句RESTORE_____FROM BKWITH FILE=1,_____;7、数据库系统在运行过程中,可能会发生各种故障,其故障对数据库的影响总结起来有两类:______和______。
8、____________、____________、____________和是计算机系统中的三类安全性。
9、数据库恢复是将数据库从______状态恢复到______的功能。
10、某事务从账户A转出资金并向账户B转入资金,此操作要么全做,要么全不做,为了保证该操作的完整,需要利用到事务性质中的_____性。
二、判断题11、并发执行的所有事务均遵守两段锁协议,则对这些事务的任何并发调度策略都是可串行化的。
第10章SQL server 2008 表数据完整性表数据完整性指的是数据库中表数据的准确性和一致性。
数据完整性是衡量数据库中数据质量好坏的一种标志,是确保数据库中数据一致、正确以及符合企业规则的一种思想。
可以使无序的数据条理化,确保正确的数据被存放在正确的位置的一种手段。
10.1 表主键表主键(PRIMARY KEY)通过表数据中的一个列或多个列组合的数据来惟一标识表中的每一行数据。
换句话说,表主键就是用来约束数据表中不能存在相同的两行数据。
而且,位于主键约束下的数据应使用确定的数据,不能输入NULL来代替确定的数值。
在管理数据时,应确保每一个数据表都拥有自己惟一的主键,从而实现数据的实体完整性。
在SQL Server 2008系统中,表的主键约束有以下几个特征和作用:●主键约束通常不允许一个或多个列输入重复的值,来保证一个表中所有行的惟一性,使所有行都是可区分的。
●一个表上只能有一个主键,且组成主键的列的数据都不能为空值。
●当定义主键约束时,SQL Server在主键列上建立惟一索引,这个索引在主键被查询时可以提高查询的速度。
当主键由多个列组成时,某一列上的数据可以出现重复,但是这几个列的组合值必须是惟一的。
并且IMAGE和TEXT类型的列不能被定义为主键。
在SQL Server 2008系统中,定义表的主键可以在创建表的同时定义主键,也可以给已有的表添加主键。
同时如果表中指定的主键不需要时,也可以通过Transact-SQL语句将其主键删除。
1.在创建表时定义主键在创建表时,定义主键(PRIMARY KEY)约束的语法如下:在上面语法中,各元素的具体意义如下:●constraint_name 主键约束的名称,他也是数据库对象,所以约束的命名也必须遵守数据库对象命名的规则。
●CLUSTERED 表示在该列上建立聚集索引。
●NONCLUSTERED 表示在该列上建立非聚集索引。
例如,在【工资管理系统】数据库中,新建一个【学历表】,定义【学历编号】列为主键约束,具体语句如下所示:2.给已有表添加主键如果某个表已经存在,但没有设置主键(PRIMARY KEY)约束,那么就可以使用下列语句向表中添加PRIMARY KEY约束。
[SQL]基本表的定义及其完整性约束在使⽤数据库时,绝⼤多数时间都是在使⽤基本表。
SQL Server数据类型创建基本表基本格式如下:create table <表名>(<列名1> <数据类型> [<列级完整性约束条件>],……<列名n> <数据类型> [<列级完整性约束条件>][, <表级完整性约束条件>])如果完整性约束涉及到多个属性列,则必须定义在表级上,否则可以定义在列级或表级。
如下创建⼀个Persons基本表:use test -- 在该数据库中创建基本表gocreate table Persons(Id_P int primary key, -- Id_P为主键LastName nvarchar(20),FirstName nvarchar(20),Address nvarchar(50),City nvarchar(10))go完整性约束完整性约束的⽤途是限制输⼊到基本表中的值的范围,SQL的完整性约束可分为列级完整性约束和表级完整性约束:列级完整性约束:针对关系属性值的限定条件,只能应⽤在⼀列上表级完整性约束:涉及关系中的多个属性的限制条件,可以应⽤在⼀个基本表中的多个列上。
如果完整性约束涉及到多个属性列,则必须定义在表级上,否则可以定义在列级或表级。
当创建完整性约束之后,它作为基本表定义的⼀部分,存⼊数据字典中。
pri m ary key约束主键(primary key)约束是实体完整性约束,primary key⽤于定义主键,它保证主键的唯⼀性与⾮空性。
⼀个基本表的主键由⼀列或者⼏列构成,可以定义在列级或者表级上,但是不能在两个级别上进⾏定义。
定义主键约束的⽅法如下:1. primary key之间写在列名及其数据类型之后。
例如:create table test(col_name int primary key,……)2. 按照语法在相应的列名及其数据类型后单独列出:constraint <约束名> primary key约束名就是主键的名字。