索引视图数据完整性绪论.ppt

  1. 1、本文档共71页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例: 使用Transact-SQL语句在student数据库中创建名为UnsureDefault的默认值,表示“待定”,然后将其绑定到Course表的’课程内容’列。 在查询分析器中运行如下命令: USE student GO CREATE DEFAULT UnsureDefault AS ’待定’ GO EXEC sp_bindefault UnsureDefault, ‘Course.课程内容’ GO 3.约束 约束(Constraint)是数据库服务器强制用户必须遵从的业务逻辑。 它定义了列允许的取值,限制用户可能输入指定列的值,从而强制引用完整性。 约束是强制完整性的标准机制。 SQL Server 2008中的约束机制包括以下5种。 (1)非空约束(NOT NULL) (2)检查约束(CHECK约束) (3)唯一约束(UNIQUE约束) (4)主键约束(PRIMARY KEY约束) (5)外键约束(FOREIGN KEY约束) 【例7-2】 针对表中字段使用CHECK约束。 图7.8 CHECK约束 图7.9 CHECK约束表达式 创建check约束语法形式 ALTER TABLE 表名 ADD CONSTRAINT 约束名 CHECK (列的布尔表达式) 例:ALTER TABLE Student ADD CONSTRAINT CK_StuNo CHECK (年龄=15 AND 年龄=25) 小  结 本章介绍了索引、视图的建立、删除、分析与维护,以及4种数据完整性。 读者在了解索引概念的前提下,可以使用SQL Server Management Studio或者SQL语句来建立和删除索引,进而对索引进行分析和维护,以优化对数据的访问。 7.2.5 更新视图 1.更新视图的含义:指通过视图来插入(INSERT)、删除(DELETE)和修改(UPDATE)数据。由于视图是虚拟表,并不实际存储数据的,因此对视图的更新,系统将自动转换为对基本表的更新。 2.更新视图的限制:由于有些视图的更新操作不能唯一地转换成对基本表有意义的更新操作。用视图完成数据的更新操作有以下限制规则: 7.2.5 更新视图 用视图完成数据的更新操作有以下限制规则: ⑴不允许的情况:如果一个视图是从多个表通过连接操作导出的。 ⑵不允许的情况:如果在导出视图的过程中,使用了分组和集函数。 ⑶允许的情况:如果一个视图是从单个基本表使用选择和投影操作导出,且视图的属性集包含了基本表的一个候选键(这种视图称为“行列子集视图”)。 1、将系别为数学的学生视图C_Student中学号为S05的学生姓名改为”黄海”. Update C_Student set Sname=‘黄海’ where Sno=‘S05’ 2、向系别为数学的学生视图C_Student中插入一个新的学生记录,其中学号为“S09”,姓名为“王海”,系别为“数学” insert into C_Student values(‘ S09 ’,‘王海’, ‘数学’) 3、删除系别为数学的学生视图C_Student中学号为“S09”的记录 Delete from C_Student where Sno=‘S09’ 7.2.6 管 理 视 图  查看和修改视图信息 创建视图后可以查看和修改视图信息。 图7.16 选择“修改”视图命令 图7.17 修改视图  删除视图 用户可以删除视图。 删除视图时,底层数据表不受影响,但会造成与该视图关联的权限丢失。 图7.18 删除视图 通过视图修改基本表中的数据 在视图上使用UPDATE语句更新基本表中的数据时,也应该符合在视图中添加数据的相关规则。 同时需要遵守以下规则。 (1)Update语句不能在SET子句中将Default关键字指定为值,即使列在相应的表中定义Default值。 (2)不能更改具有标识属性的列的值。 (3)如果基表中包含timestamp列,则不能进行更新。 (4)同一视图或成员表如果存在自连接,则不能进行更新。 自身联接 一个表与其自己进行联接,称为表的自身联接。 使用别名区别属性名。 [例4-29] 查询每一门课程的间接先修课(即先修课的先修课)。 SELECT FIRST.kch, SECOND.xxk FROM course AS FIRST,

文档评论(0)

舞林宝贝 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档