第五讲. 数据库保护 数据库技术知识课件.pptVIP

第五讲. 数据库保护 数据库技术知识课件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五讲. 数据库保护 数据库技术知识课件.ppt

第五讲 数据库保护(数据完整性) 使用CHECK约束 添加CHECK约束 ALTER TABLE 表名 { ADD 列名 列定义 CHECK (逻辑表达式)| [WITH CHECK | WITH NOCHECK] ADD CONSTRAINT CHECK约束名 CHECK (逻辑表达式)[,… n] }[,…] 删除CHECK约束 ALTER TABLE 表名 DROP {[CONSTRAINT] CHECK约束名}[,…n] 使CHECK约束无效 ALTER TABLE 表名 { CHECK | NOCHECK } CONSTRAINT {ALL | 约束名}[,…n]} 例:使authors表上的所有约束无效 USE pubs GO ALTER TABLE authors NOCHECK CONSTRAINT ALL 例:创建一个订货表,其中定货量必须不小于10 create table orders( order_id char(8), p_id char(8), p_name char(10) , quantity smallint, constraint pk_order_id primary key (order_id), constraint chk_quantity check (quantity=10) ) 使用企业管理器完成CHECK约束 进入”设计表“窗口,在要添加CHECK约束的列上单击右键,从快捷菜单中选择”属性“命令 进入”CHECK约束“选项卡,单击”新建“按钮,在”约束表达式“文本框中,输入检查约束的逻辑表达式 可在”约束名“文本框中输入约束名 可选择”创建中检查现存数据“对现存数据进行检查 可设置”对INSERT和UPDATE强制约束“为空,使插入或修改数据时检查约束无效 可设置”对复制强制约束“为空,使数据复制时检查约束无效 使用FOREIGN KEY(外键)约束 维护两个表之间的一致性关系 定义主键约束的表中更新列值时其它表中有与之相关联的外键约束的表中的外键列也将被相应地做相同的更新 当向含有外键的表插入数据时,如果与之相关联的表的列中无与插入的外键列值相同的值时,系统会拒绝插入数据 定义外键约束 CONSTRAINT 约束名 FOREIGN KEY 列名1[, 列名2,…,列名16] REFERENCES 关联表名 [(关联列1[, 关联列2,…, 关联列16])] [ ON DELETE { CASCADE | NO ACTION } ] [ ON UPDATE { CASCADE | NO ACTION } ] ] [ NOT FOR REPLICATION ] 指定要建立关联的表的信息 SQL Server 会产生一个错误并将父表中的删除、更新操作回滚.为缺省值 使用FOREIGN KEY(外键)约束 ON DELETE CASCADE( ON UPDATE { CASCADE ):指定在删除(更新)表中数据时,对关联表所做的相关操作在子表中有数据行与父表中的对应数据行相关联的情况下,如果指定了值CASCADE 则在删除(更新)父表数据行时,会将子表中对应的数据行删除(更新) 例: 创建一个订货表与前面创建的产品表相关联 create table orders( OrderID char(8),ProductID char(8),ProductName char(10) , constraint pk_order_id primary key (OrderID) , foreign key(ProductID,ProductName) references products(ProductID, ProductName) ) 未给外键命名,系统赋予缺省名 * * 索引 建立索引的作用 用户对数据库最频繁的操作为数据查询,为提高检索数据的能力,数据库引入索引机制 保证数据记录的唯一性 实现表间的参照完整性 减少ORDER BY、GROUP BY查询的排序和分组时间 第五讲 数据库保护 数据完整性 索引的定义 一个单独的、物理的数据库结构。 是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针表。 依赖于表建立,提供了数据库中编排表中数据的内部方法。 表存储由两部分组成 用来存放表的数据页面 存放索引页面 索引存放在索引页面上,通常索引页面相对于数据页面来说小得多。 当进行数据检索时,系统先搜索索引页面从中找到所需数据的指针,再直接通过指针从数据页面中读取数据。 从某种程度上可以把数据库看作一本书,把索引看作书的目录,通过目录查找书中的信息显然较没有目录的书方便快捷。 索引的分类(按存储结构的不同) 簇索引(Clust

文档评论(0)

yuzongxu123 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档