第11讲数据完整性学案.pptVIP

  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文档。上传文档
查看更多
* * 回顾 索引 索引的作用是提高查询速度,但索引会降低更新速度。 聚集索引与非聚集索引,唯一索引与非唯一索引,单列索引与复合索引,主键索引。 视图 视图是一个虚表,只存储查询定义,不存储数据。 在视图上可以进行增、删、改、查。增删改等操作有一定限制。 数据库原理与应用 第11讲 数据完整性 * * 提纲 重点 分析数据完整性要求 使用约束来强制完整性 难点: 外键约束与检查约束 1.数据完整性概述 关键词:实体完整、参照完整、自定义完整. * * 数据完整性有3种类型 实体完整性(Entity Integrity)、 参照完整性(Referential Integrity)、 用户定义的完整性(User-defined Integrity)。 * * 在SQL Server中保障数据完整性的办法 规则(Rule) 默认(Default)-------略 约束(Constraint)-----重点学习 触发器(Trigger) ------单独的章节介绍 * * 规则(Rule) 规则(Rule)只能通过T_sql语句建,不能使用管理平台工具建。规则是单独存储的独立的数据库对象,可以多次被绑定。 语法如下: CREATE RULE语句用于在当前数据库中创建规则,其语法格式如下: CREATE RULE rule_name AS condition_expression 使用sp_helptext 系统存储过程可以查看规则的文本信息。 sp_helptext (规则/黙认值/触发器/未加密的存储过程或视图) 使用sp_bindrule绑定规则 sp_bindrule 规则名,‘表名.字段名‘ 使用sp_unbindrule解除规则 sp_unbindrule employee.hire_date 删除规则。 DROP RULE hire_date_rule * * 规则在管理台查看。 * * 约束(Constraint) 约束定义了一列数据或一行数据表的的限制条件。使用约束优先于使用触发器、规则和默认值。 约束在表定义中声明。 SQL Server中有6种约束: 主键约束 外键约束 惟一性约束 检查约束 默认约束 非空值约束 * * 工号 商品号 数量 销售日期 工号 姓名 性别 身份证号 生日 入职日期 移动电话 商品号 商品名 单位 单价 员工表 销售表 商品表 数据完整性要求: (1)实体完整,不能有重复行,用主键约束,员工表中的身份证不能出现同号,用唯一约束。 (2)参照完整,销售表中的工号取值必须来自员工表,商品号取值必须来自商品表,用外键约束 (3)姓名不能为空,用非空约束。 (4)性别只能取‘男’或‘女’,入职日期不能比生日大18年,移动电话必须为“1?????????”,用检查约束。 (5)当性别没有输入值时,默认为‘男’,当单位没有输入值时,默认为‘个’用默认约束。 分析实例 * * 案例表 --新建雇员表employee CREATE DATABASE Sales Go use sales go CREATE TABLE employee (Employee_ID char(4)NOT NULL, Employee_Name char(8)NOT NULL, Sex char(2)NOT NULL, Birth_Date datetime NOT NULL, Hire_Date datetime NOT NULL,--雇佣日期 Address varchar(50), Telephone char(8), Wages money, Department_id char(4)NOT NULL, Resume text NOT NULL) --简历 --向雇员表employee中插入数据 insert into employee values(E01,钱达理,男,1970-12-12,2002-5-12,东风东路号,7785232,4000,D001,1992年华中科技大学) insert into employee values(E02,东方牧,男,1975-12-12,2005-6-11,五一北路号,7585232,5000,D001,1998年华师) insert into employee values(E03,郭文斌,男,1972-12-12,2001-5-12,公司集体宿舍,8695232,6500,D002,2000年中国科大) insert into employee values(E04,肖海燕,女,1971-12-12,2001-5-12,公司集体宿舍,7785450,7800,D003,2000年中国科大) insert

文档评论(0)

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

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

1亿VIP精品文档

相关文档