SQL Server 2008数据库完整性的应用探索
- 格式:pdf
- 大小:233.20 KB
- 文档页数:3
SQL Server 2008数据库完整性的应用探索摘要:随计算机技术和网络应用的普及,数据库技术在据计算机领域作用日益突出,SQL标准使用一系列的概念来描述完整性,包括关系模型的实体完整性、参照完整性、用户定义完整性等。
本文基于SPJ数据库系统的开发,阐述了数据库完整性的理论和实践,并对数据库完整性问题进行探讨。
关键词:SQL Server;数据完整性;SPJ数据库系统;1 引言数据库完整性是指数据库中数据的正确性和相容性,而合理的数据完整性既能减少数据冗余,又能在测试中尽早发现错误,提高系统效率。
而SQL Server数据库系统是一种关系数据库系统,扩张性非常强,性能也很高,在实现数据库的完整性方面有充分体现。
关系数据库的实体完整性在CREATE TABLE 中通过PRIMARY KEY定义实现,参照完整性在CREATE TABLE 中利用FOREIGN KEY短语确定哪些列为外码,REFERENCES短语指明外码参照哪些表的主码。
而用户定义的完整性是根据应用要求,来定义属性的约束条件。
完整性约束条件包括NOT NULL、CHECK等语句。
断言,则利用数据定义语言中的CREATE ASSERTION 语句,通过声明性断言指定更具一般性的约束。
触发器是对表进行插入,更新,删除时会自动执行的特殊存储过程。
采取一系列方案,保证了数据库的完整性。
2 SPJ数据库管理系统简介设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNANE,CITY);SPJ(SNO,PNO,JNO,QTY)。
其中:供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表J 由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量组成(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。
sql server 2008 实验报告SQL Server 2008 实验报告引言:SQL Server 2008 是微软公司开发的一种关系型数据库管理系统(RDBMS),广泛应用于企业级应用程序和大规模数据存储。
本实验报告将探讨 SQL Server 2008 的一些关键特性和使用案例,以及在实验过程中的观察和结果。
一、SQL Server 2008 的特性1. 支持多种数据类型:SQL Server 2008 提供了丰富的数据类型,包括整数、浮点数、日期时间、字符串等。
这些数据类型的灵活性使得开发人员可以更好地满足不同应用程序的需求。
2. 强大的查询和操作功能:SQL Server 2008 提供了强大的查询和操作功能,包括 SELECT、INSERT、UPDATE 和 DELETE 等语句。
这些功能使得开发人员可以轻松地从数据库中检索和修改数据。
3. 支持事务处理:SQL Server 2008 支持事务处理,这意味着在数据库中的一系列操作可以作为一个单独的单元进行处理。
如果在事务处理期间发生错误,可以回滚到事务开始之前的状态,确保数据的完整性。
4. 数据库安全性:SQL Server 2008 提供了多层次的安全性控制,包括用户认证、权限管理和数据加密等。
这些功能可以保护数据库中的敏感信息,防止未经授权的访问。
5. 高可用性和容错性:SQL Server 2008 提供了高可用性和容错性功能,包括数据库镜像、故障转移和备份恢复等。
这些功能可以确保数据库在发生故障时能够快速恢复并保持可用状态。
二、SQL Server 2008 的使用案例1. 企业级应用程序:SQL Server 2008 是一种理想的数据库管理系统,可用于支持企业级应用程序的数据存储和处理。
它可以处理大量的数据,支持高并发访问,并提供了可靠的数据保护和安全性。
2. 数据仓库和商业智能:SQL Server 2008 提供了强大的数据仓库和商业智能功能,可以帮助企业从大量的数据中提取有价值的信息。
第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约束。
sqlserver2008数据库的完整性约束⼀、数据库完整性概述1.数据库的完整性:①数据库的完整性是指数据的正确性和相容性②数据库完整性是防⽌不合语义或不正确的数据进⼊数据库③完整性体现了是否真实地反映现实世界例:学⽣的年龄必须是整数,取值范围为14-29;学⽣的性别只能是男或⼥;学⽣的学号⼀定是唯⼀的;学⽣所在的系必须是学校开设的系;2.DBMS维护数据库完整性的机制:①提供定义完整性约束条件的机制DBMS应提供定义数据库完整性约束条件,并把它们存⼊数据库中。
②提供完整性检查的⽅法检查数据是否满⾜完整性约束条件的机制称为完整性检查。
⼀般在INSERT、UPDATE、DELETE语句执⾏后开始检查。
3.违约处理DBMS若发现⽤户的操作违背了完整性约束条件,就采取⼀定的动作以保证数据的完整性,如拒绝执⾏该操作,或级联执⾏其他操作。
⼆、缺省(默认值)和规则缺省和规则来源于由Sybase开发的S默认值QL Server,在⽼版本的SQL Server或者升级版本中都有缺省和规则的使⽤。
缺省是为列提供数据的⼀种⽅式,如果⽤户进⾏INSERT操作时不为列输⼊数据,则使⽤缺省值。
规则是当⽤户进⾏INSERT或uPDATE操作时,对输⼊列中的数据设定的取值范围,是实现域完整性的⽅式之⼀。
缺省与规则有以下特点:(1)缺省与规则是数据库对象,它们是独⽴于表和列⽽建⽴的。
(2)缺省与规则建⽴后与列或数据类型产⽣关联,列和数据类型就具有了缺省与规则的属性。
(3)缺省与规则定义后,可以重复使⽤,可以绑定到多个列或数据类型上。
(4)缺省与规则不随表同时调⼊内存,当⽤到时才被调⼊内存,这可能会使程序执⾏出现延时。
缺省和规则对象通常只在它所创建的数据库中有效,不是ANSI标准,⼀般不提倡使⽤。
应尽可能使⽤约束,任何可以使⽤缺省与规则的地⽅都有可以使⽤约束。
1. 缺省在SQL Server中,有两种使⽤默认值的⽅法:①在创建表时,指定默认值。
sql server 2008 实验报告SQL Server 2008 实验报告引言SQL Server 2008 是微软公司推出的一款关系型数据库管理系统,它具有强大的数据管理和处理能力,被广泛应用于企业和组织的数据管理工作中。
本实验报告将对SQL Server 2008进行实验并进行详细的分析和总结。
实验目的本次实验的目的是通过对SQL Server 2008的实验,掌握其基本的安装、配置和使用方法,了解其在数据管理和处理方面的优势和特点,为日后的数据库管理工作打下基础。
实验内容1. SQL Server 2008的安装和配置首先,我们需要进行SQL Server 2008的安装和配置工作。
在安装过程中,需要注意选择合适的安装选项和配置参数,以确保系统能够正常运行并满足实际需求。
2. 数据库的创建和管理接下来,我们将学习如何在SQL Server 2008中创建数据库、表和索引,以及对数据进行增删改查等操作。
这些操作是数据库管理工作中的基本内容,掌握这些操作方法对于日后的实际工作至关重要。
3. 数据备份和恢复数据库的备份和恢复是数据库管理工作中的重要环节,也是保障数据安全的关键。
在本次实验中,我们将学习如何使用SQL Server 2008进行数据备份和恢复操作,以确保数据的安全性和完整性。
实验结果通过本次实验,我们成功完成了SQL Server 2008的安装和配置工作,并学习了数据库的创建和管理、数据备份和恢复等操作方法。
在实验过程中,我们深刻体会到SQL Server 2008在数据管理和处理方面的优势和特点,以及其在实际工作中的重要作用。
结论SQL Server 2008作为一款强大的关系型数据库管理系统,具有优秀的性能和稳定性,广泛应用于企业和组织的数据管理工作中。
通过本次实验,我们对SQL Server 2008有了更深入的了解,掌握了其基本的安装、配置和使用方法,为日后的数据库管理工作打下了坚实的基础。
SQL sever 2008 数据库备份
完整+差异
1、打开sqlsever2008数据库客户端,选择管理-维护计划-维护计划向导,如下图:
2、点击下一步
3、制定计划名称,填写说明,选择没想任务单独计划,如下图:
4、选择维护计划项(这里选择检查完整性、备份完整数据库及差异数据库),如下图:
5、此处点击下一步即可:
6、这里选择要检查完整性的数据库(数据库完整性重要性也是很高的,如何修复请查阅资料)
7、选定后点击下一步即可
8、选择完整备份数据库
9、选择备份路径及验证完整性(备份完不能用更头疼,最好定期还原一个检查下)
10、差异备份与完整备份基本一致,如下图:
11、日志报告路径,可以查看备份结果及命令:
12、点击下一步
13、所有项都成功,点击关闭即可
14、双击设置好的计划,选择最左边制定执行时间
15、最好选择服务器使用频率最小时候进行完备,完整性和差异可以每天执行一次,选择好了点击确定,如下图:
16、在维护计划中点击执行,会报错,需要在sqlsever代理中执行。
17、如下图一次执行作业开始步骤:
18、执行成功
19、日志、完整备份、差异备份展示
20、数据库还原操作,需还原两次,第一次完整备份,第二次完整+差异,如下图:。
实验五SQL SERVER 完整性与安全性一、实验目的掌握SQL SERVER数据访问控制策略和技术,SQL SERVER数据库管理系统使用安全帐户认证控制用户对服务器的连接,使用数据库用户和角色等限制用户对数据库的访问。
二、实验内容1.在服务器级别上创建三个以SQL Server身份验证的登录名,登录名称自定。
2.分别为三个登录名在“gongcheng”数据库映射三个数据库用户,数据库用户名为Tom,Mary和John,使这三个登录名可以访问“gongcheng”数据库。
3.授予用户John创建表和视图的权限。
grant create table,create viewto John在“gongcheng”下,安全性—John—属性,选择安全对象,搜索特定对象,选择“gongcheng”表,在权限中选择“创建表”和“创建视图”,如图:即可赋予John“创建表”和“创建视图”的权限。
4.完成以下授权:(1)把对表S的INSERT权力授予用户Tom,并允许他再将此权限授予其他用户。
grant inserton Sto tomwith grant option(2)用户Mary对S,P,J三个表有SELECT和INSERT权力grant select,inserton Sto Marygrant select,inserton Pto Marygrant select,inserton Jto Mary(3)用户Tom对SPJ表有DELETE权力,对QTY字段具有UPDA TE权力。
grant delete,update(qty)on spjto Tom(4)把对用户Tom授予的所有权力收回revoke inserton Sfrom Tom cascaderevoke delete,update(qty)on SPJfrom Tom(5)对用户Mary增加SPJ表的SELECT权力。
grant selecton spjto Mary5.两个同学为一组(自由搭配),在自己的数据库服务器上分别为对方创建一个登录名,并授予一定权力,然后用对方为自己创建的登录名和对方的数据库服务器建立连接,进行登录,对对方的数据库服务器进行操作。
信息工程学院实验报告课程名称:《数据库原理》实验项目名称:数据库的完整性和安全性一、实 验 目 的:(1)掌握数据库约束的概念;(2)熟悉SQL SERVER 的完整性约束技术。
(3)了解SQL SERVER 的违反完整性处理措施。
(4)了解登录账户的管理理念与具体方法。
(5)了解数据库用户的管理的要则。
(6)了解用户权限管理的内涵与方法。
二、实 验 设 备 与 器 件 Win7 +Sql server 2008 三、实 验 内 容 与 步 骤(一)测试完整性运行附录中的SQL 语句,理解SQL 语句中包含的完整性定义。
然后执行下面的SQL 语句,看是否能正常运行,若无法执行,请说明原因。
1.对dept 表进行数据增删改,并检查完整性规则 Dept 已存在的完整性规则如下: dno CHAR(2)PRIMARY KEYdnameV ARCHAR(20) NOT NULL,UNIQUE(1)增加数据INSERT INTO dept V ALUES('D1','计科系');----正常插入INSERT INTO dept V ALUES('D2','电信系');----正常插入INSERT INTO dept V ALUES(NULL,'机械系'); ----违反dno 主键(NOT NULL )规则INSERT INTO dept V ALUES('D2','机械系'); ----违反dno 主键(UNIQUE )INSERT INTO dept V ALUES('D3',NULL); ----违反dname 的NOT NULL 规则INSERT INTO dept V ALUES('D3','计科系'); ----违反dname 的UNIQUE 规则INSERT INTO dept V ALUES('D3','机械系');----正常插入(2)删除数据DELETE FROM dept WHERE dno='D3';----正常删除(3)修改数据UPDA TE dept SET dname='计算机科学系' WHERE dno='D1';----正常修改UPDA TE dept SET dname='电信系' WHERE dno='D1'; ----违反dname的UNIQUE规则UPDA TE dept SET dname=NULL WHERE dno='D1'; 违反dname的UNIQUE规则2.对student表进行数据增删改,并检查完整性规则Student已存在完整性规则如下:sno CHAR(2) PRIMARY KEYsname V ARCHAR(20) NOT NULL,ssex CHAR(2) NOT NULL, CHECK(ssex in('男','女'))sage INT NOT NULL,dno CHAR(2) NOT NULL, FOREIGN KEY REFERENCES dept(dno)ON DELETE CASCADE ON UPDATE CASCADE(1)增加数据INSERT INTO student V ALUES('S1','张刚','男',20,'D1');----正常插入INSERT INTO student V ALUES('S2','李梅','女',21,'D2');----正常插入INSERT INTO student V ALUES('S2','吴敏','男',20,'D1'); ----正常插入INSERT INTO student V ALUES(NULL,'吴敏','男',20,'D1'); ----违反sno 的主键(NOT NULL)规则INSERT INTO student V ALUES('S3','吴敏','男',NULL,'D1'); 违反sage 的主键(NOT NULL)规则INSERT INTO student V ALUES('S3','吴敏','M',20,'D1'); 违反ssex 的CHECK规则INSERT INTO student V ALUES('S3','吴敏','男',20,'D3'); ----正常插入INSERT INTO student V ALUES('S3','吴敏','男',20,'D1');----正常插入(2)删除数据DELETE FROM student WHERE sno='S3'; ----正常删除(3)修改数据UPDA TE student SET sname='赵强',dno='D2' WHERE sno='S1'-----正常修改UPDA TE student SET ssex='F' WHERE sno='S1'; -----违反ssex的CHECK 规则UPDA TE student SET sno='S2' WHERE sno='S1'; -----违反sno的主键(UNIQUE)规则UPDA TE student SET dno='D3' WHERE sno='S1'; 违反dno 的外键规则UPDA TE dept SET dno='D3' WHERE dno='D1';----检查dno的外键ON UPDATE规则,观察运行后效果DELETE FROM dept WHERE dno='D2';----检查dno的外键ON DELETE规则,观察运行后效果(二)使用规则实现数据完整性(1)在查询分析器中,利用命令(CREATE RULE),创建一个关于年龄(sage)约束的规则,将“sage”列的值约束在0~200之间;然后将所创建的规则绑定到“sage”列(提示:用命令Sp_bindrule)。
SQL Server 2008数据库完整性的应用探索发表时间:2019-07-29T11:42:00.673Z 来源:《基层建设》2019年第14期作者:宋龙坤王杰陈梅[导读] 摘要:随计算机技术和网络应用的普及,数据库技术在据计算机领域作用日益突出,SQL标准使用一系列的概念来描述完整性,包括关系模型的实体完整性、参照完整性、用户定义完整性等。
山东协和学院山东济南 250107摘要:随计算机技术和网络应用的普及,数据库技术在据计算机领域作用日益突出,SQL标准使用一系列的概念来描述完整性,包括关系模型的实体完整性、参照完整性、用户定义完整性等。
本文基于SPJ数据库系统的开发,阐述了数据库完整性的理论和实践,并对数据库完整性问题进行探讨。
关键词:SQL Server;数据完整性;SPJ数据库系统;1 引言数据库完整性是指数据库中数据的正确性和相容性,而合理的数据完整性既能减少数据冗余,又能在测试中尽早发现错误,提高系统效率。
而SQL Server数据库系统是一种关系数据库系统,扩张性非常强,性能也很高,在实现数据库的完整性方面有充分体现。
关系数据库的实体完整性在CREATE TABLE 中通过PRIMARY KEY定义实现,参照完整性在CREATE TABLE 中利用FOREIGN KEY短语确定哪些列为外码,REFERENCES短语指明外码参照哪些表的主码。
而用户定义的完整性是根据应用要求,来定义属性的约束条件。
完整性约束条件包括NOT NULL、CHECK等语句。
断言,则利用数据定义语言中的CREATE ASSERTION 语句,通过声明性断言指定更具一般性的约束。
触发器是对表进行插入,更新,删除时会自动执行的特殊存储过程。
采取一系列方案,保证了数据库的完整性。
2 SPJ数据库管理系统简介设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式: S(SNO,SNAME,STATUS,CITY); P(PNO,PNAME,COLOR,WEIGHT); J(JNO,JNANE,CITY); SPJ(SNO,PNO,JNO,QTY)。
其中:供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表J 由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量组成(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。
3 数据库完整性的实现方法 3.1实体完整性关系数据库的实体完整性在CREATE TABLE 中用PRIMARY KEY定义。
以上述P表中的Pno设为主键为例:(1)在列级定义的主键 CREATE TABLE P ( PNO CHAR(9) PRIMARY KEY, /*在列级定义主键*/ PNAME CHAR(20) NOT NULL, COLOR CHAR(9), WEIGHT CHAR(9));(2)在表级定义的主键 CREATE TABLE P ( PNO CHAR(9), PNAME CHAR(20) NOT NULL, COLOR CHAR(9), WEIGHT CHAR(9), PRIMARY KEY(pno) /*在表级定义主码*/ );3.2参照完整性参照完整性在CREATE TABLE 中用FOREIGN KEY短语定义哪些列为外码,REFERE短语指明这些外码参照哪些表的主码。
以定义SPJ 中的参照完整性为例: CREATE TABLE SPJ (SNO CHAR(4) NOT NULL, PNO CHAR(4) NOT NULL, JNO CHAR(4) NOT NULL, QTY INT, primary key(Sno,Pno,JNO) foreign key sno references s(sno); foreign key pno references p(pno); foreign key jno references j(jno))3.3用户定义的完整性用户定义的完整性是在CREATE TABLE 中定义属性的同时,根据应用要求定义属性上的约束条件,即属性值限制,包括:列值非空(NOT NULL);列值唯一(UNIQUE);检查列值是否满足一个条件表达式(CHECK短语)。
(1)不允许为空。
CREATE TABLE SPJ中的SNO、PNO、JNO均是。
(2)列值唯一。
以简化建立P表,要求Pname列取值唯一,Pno列为主码为例:CREATE TABLE P,(PNO NUMERIC(2),PNAME CHAR(9)UNIQUE NOT NULL,/* Pname唯一,且不能取空值*/PRIMARY KEY(Pno));其中,NUMERIC表示数字;UNIQUE表示唯一的。
(3)用CHAR短语指定列值应该满足的条件。
以P表的Weight 必须大于0为例:CERATE TABLE P(PNO CHAR(9) PRIMARY KEY,/*在列级定义主码*/PNAME CHAR(8)NOT NULL, /*Pname属性不允许取空值*/COLOR CHAR(20),WEIGHT CHAR(2)CHECK(Weight >0));3.4完整性约束(1)命名子句:CONSTRAINT <完整性约束条件名><完整性约束条件>。
<完整性约束条件>包括NOT NULL、UNIQUE、PRIMARY KEY、FOREIGN KEY、CHECK短语等。
例如:CONSTRAINT C1 CHECK(Pno BETWEEN 12 AND 40)用于检查零件重量是否位于12—40之间,CONSTRAINT C2 NOT NULL用于控制零件名为非空,CONSTRAINT PKey PRIMARY KEY(Pno)即为主键约束。
(2)表中的完整性限制是可以修改的,可通过使用ALTER TABLE 语句实现。
以修改P中的约束条件,要求零件重量改在0—50之间可先删除原来的约束条件,再增加新的约束限制。
ALTER TABLE P DROP CONSTRAINT C1;ALTER TABLE P ADD CONSTRAINT C1 CHECK(Weight BETWEEN 0 AND 50);3.5域中的完整性限制<1>以建立一个颜色域,且限制其中的命名为例:代码:CREATE DOMAIN Colorr CHAR(2)CONSTRAINT GO CHECK(V ALUE IN(‘红’,‘绿’));<2>以删除域Colorr 的限制条件GD为例:代码:ALTER DOMAIN ColorrDROP CONSTRAINT GD;<3>以在域Colorr上增加性别限制条件GDD为例:代码:ALTER DOMAIN ColorrADD CONSTRAINT GDD CHECK(V ALUE IN(‘1’,’0’));3.6触发器SQL使用CERATE TRIGGER 命令触发器,一般格式:CREATE TRIGGER<触发器名>{BEFORE|AFTER}<触发事件>ON<表名>REFERENCING NEW|OLD ROW AS <变量>FOR EACH {ROW|STATEMENT}[WHEN <触发条件>]<触发动作体>(1)一个触发器当对表SPJ的QTY属性进行修改时,若供应数量增加了10%,则将此次操作记录到另一个表PJ-U(Pno,Jno,Oldqty,Newqty)中,其中,Oldqty是修改前的供应数量,Newqty是修改后的供应数量。
CREATE TRIGGER PJ_TAFTER UPDATE OF QTY ON SPJREFERENCINGOLDROW AS OLDQTY,NEWROW AS NEWQTY,FOR EACH ROW /*行级触发器,即每执行一次QTY的更新,下面的规则就行一次*/WHEN(NEW TUPLE.QTY>=1.1* OLDTUPLE.QTY)/*触发条件,只有该条件为真时才执行*/INSERT INTO SC_U(PNO,JNO,OLDQTY,NEWQTY)V ALUES(OLDQTY.PNO,OLDQTY.JNO,OLDQTY.QTY,NEWQTY.QTY)其中,PJ_T是触发器的名字,UPDATE OF QTY ON PJ是触发事件,AFTER是触发的时机,表示对当时SPJ的QTY属性修改完后再触发下面的规则。
REFERENCING指出引用的变量,如果触发时间是UPDATE操作并且有FOR EACH ROW子句,则可以引用的变量有OLDROW和NEWROW分别修改之前的原则和修改后的元组。
若没有FOR EACH ROW子句,则可以引用的变量有OLDTABLE(指表原来的样子)和NEWTABLE(表中变化后的部分)。
(2)同一个表,多个触发器激活时,应遵循的执行顺序执行该表的BEFORE触发器(若同时有多个,遵循“谁先创建谁先执行”原则);激活触发器的SQL语句;执行该表的AFTER触发器。
(3)删除触发器DROP TRIGGER <触发器名>ON<表名>4 结语本文主要讲述SQL Server 2008通过SQL的数据库定义语句实现数据库完整性,剖析了实体完整性、参照完整性和用户自定义完整性的定义、维护方法,域中完整性限制和断言的作用以及数据库触发器使用、删除、激活等各种基本功能。
参考文献:[1]周旺红.SQL Server 2012 数据库T-SQL查询方法及实例解析[J].信息与电脑(理论版),2018(24):144-145.[2]徐博龙.基于SQL Server 2012 数据库参照完整性的应用探索[J].信息与电脑(理论版),2019(03):167-168.[3]陈洁,薛恒威.SQL Server数据库中数据完整性的分析与实践[J].河北软件职业技术学院学报,2018,20(01):4-6.[4]何南,张桂芬.SQL Server数据库完整性的综合设计与实现[J].桂林航天工业高等专科学校学报,2010,15(04):458-460. [作者简介]宋龙坤,男,山东协和学院计算机科学与技术专业在读本科生。