- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQLServer关系数据库管理系统研讨
第六章 SQL Server关系数据库管理系统 一、T-SQL语言 Transact-SQL(T-SQL)是微软公司在SQL Server数据库管理系统中ANSI SQL-99的实现。 形式1: CASE WHEN 逻辑表达式1 THEN 结果表达式1 WHEN 逻辑表达式2 THEN 结果表达式2 ….. ELSE 结果表达式n+1 END 2、实现参照完整性要考虑的几个问题 (1)外码能够接受空值的问题 在实现参照完整性时,系统除了应该提供定义外码的机制,还应提供定义外码是否允许空值的机制。 (2)在被参照关系中删除元组的问题 当删除被参照关系的某个元组后,由于在参照关系中存在若干元组,它们的外码值可能与被参照关系删除元组的主码值相同,该参照完整性可能会受到破坏。要保持关系的参照完整性,就需要对参照表的相应元组进行处理,其处理策略有3种:级联删除、受限删除或置空值删除。 (3)在参照关系中插入元组时的问题 当向参照关系插入某个元组,而被参照表中不存在主码与参照表外码相等的元组时,为了保证关系的参照完整性,其处理策略有2种:受限插入、递归插入。 (4)修改表是被参照关系的问题 当修改被参照关系的某个元组时,如果参照关系存在若干个元组,其外码值与被参照关系修改元组的主码值相同,其处理策略有3种:级联修改、拒绝修改、置空值修改。 3、SQL Server 2008的数据库完整性及实现方法 (1)SQL Server的数据完整性的种类 SQL Server 2008的数据完整性有4种:域完整性、实体完整性、参照完整性和用户自定义完整性。 (2) SQL Server 2008数据完整性的实现方式 ① 声明数据完整性 声明数据完整性通过在对象定义中定义、系统本身自动强制来实现。声明数据完整性包括各种约束、默认和规则。 ② 过程数据完整性 过程数据完整性通过使用脚本语言(主语言或T-SQL)定义,系统在执行这些语言时,强制实现完整性。过程数据完整性包括触发器和存储过程等。 不同数据库对象,其DROP语句的语法形式不同 删除数据库或数据库对象 DROP 不同数据库对象,其ALTER语句的语法形式不同 对数据库或数据库对象进行修改 ALTER 不同数据库对象,其CREATE语句的语法形式不同 创建数据库或数据库对象 CREATE 说明 功能 语句 数据定义语言(DDL) 1、T-SQL概述 可根据条件删除指定的数据 从表或视图中删除数据 DELETE 既可修改表或视图的一行数据,也可修改一组或全部数据 修改表或视图中的数据 UPDATE ? 将数据插入到表或视图中 INSERT 是使用最频繁的SQL语句之一 从表或视图中检索数据 SELECT 说明 功能 语句 连接查询:INNER JOIN,LEFTJOIN,RIGHTJOIN 数据操纵语言 功能与REVOKE相似,不同之处:除收回权限外,还禁止从其他角色继承许可权限 收回权限,并禁止从其他角色继承许可权限 DENY 与GRANT的功能相反,但不影响该用户或角色从其他角色中作为成员继承许可权限 收回权限 REVOKE 可把语句许可或对象许可的权限授予其他用户和角色 授予权限 GRANT 说明 功能 语句 数据控制语言 2、T-SQL的语言元素 (1) 变量 ①全局变量 全局变量由系统提供且预先声明,通过在名称前加两个“@”符号区别于局部变量。 ② 局部变量 局部变量由用户自己定义的,用于保存单个数据值。例如,保存运算的中间结果,作为循环变量等。 1)局部变量的定义 用 DECLARE 语句声明局部变量,所有局部变量在声明后均初始化为NULL。 语法格式: DECLARE { @local_variable data_type}? ?[ ,...n] 2)用SET语句赋值 将DECLARE语句创建的局部变量设置为给定表达式的值。 语法格式:SET @local_variable=expression 3)用SELECT语句赋值 语法格式: SELECT {@local_variable=expression} [,…n] [FROM….] 例1 创建局部变量@var1、@var2,并赋值。 DECLARE @var1,@var2 char(20) SET @var1=’中国’ /*一个SET语句只能给一个变量赋值*/ SET @var2=@var1+’是一个伟大的国家’ Go
文档评论(0)