- 1、本文档共49页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 实现数据完整性 数据完整性的类型 约束 禁用约束 默认值和规则 决定使用何种强制方法 推荐操作 数据完整性的类型 数据完整性的类型 数据完整性 指的是数据库中存储的数据的一致性和准确性 数据完整性的类型:域完整性、实体完整性、引用完整性 域完整性 域(或列)完整性是指对列指定一组有效的值并决定是否可为空值 实体完整性 实体(或表)完整性要求表中的所有行都有一个惟一的标识符,称为主键值 引用完整性 引用完整性确保主键(在被引用表中)和外键(在引用表中)之间的关系得到保持 第5章 实现数据完整性 数据完整性的类型 约束 禁用约束 默认值和规则 决定使用何种强制方法 推荐操作 约束 决定使用何种约束 约束的类型 决定使用何种约束 创建约束 使用 CREATE TABLE 或者 ALTER TABLE CREATE TABLE 是在创建表时创建约束 ALTER TABLE 是在一个已有的表上创建约束 可以添加约束到已有数据的表上 可添加单列或多列约束 若约束应用于单列,称为列级约束 若约束引用了多列,称为表级约束,即使它并没有引用表中的所有列 使用约束的注意事项 可直接在表上创建、更改和删除约束,而不必删除并重建表 应该在应用程序和事务内建立错误检查逻辑,以测试是否违反了某个约束 SQL Server 里的约束只是“最后防线” 当给一个表添加约束的时候,SQL Server 将检查现有数据是否违反约束 建议创建约束的时候指定名称,否则系统将为约束自动产生一个复杂的名称 名称必须惟一,且符合 SQL Server 标识符的规则 查看约束的信息 系统存储过程:sp_helpconstraint、sp_help 信息模式视图:check_constraints、referential_constraints、table_constraints 系统表:syscomments、sysreferences、sysconstraints 约束的类型 DEFAULT 约束 CHECK 约束 PRIMARY KEY 约束 UNIQUE 约束 FOREIGN KEY 约束 级联引用完整性 PRIMARY KEY 约束 PRIMARY KEY 约束在表中定义了一个惟一标识每一列的主键 语法:[CONSTRAINT 约束名 ] PRIMARY KEY [CLUSTERED | NONCLUSTERED ] { (列[,...n])} DEFAULT 约束 如果一个列的值在 INSERT 语句中没有指定,DEFAULT 约束将自动输入一个值,可以是预先指定的常量、NULL 或者一个系统函数运行时的值 语法: [CONSTRAINT 约束名] DEFAULT 约束表达式 创建 DEFAULT 约束的两种方法 创建一个默认对象(CREATE DEFAULT),然后使用存储过程 sp_bindefault 将默认绑定到一个列 CREATE TABLE 或 ALTER TABLE 时使用 DEFAUTL 约束 DEFAULT 约束(续) 在创建表时使用default属性 DEFAULT 约束(续) 应用 DEFAULT 约束的注意事项 允许使用常量、函数、系统提供的值:USER、CURRENT_USER、SESSION_USER、SYSTEM_USER 及 CURRENT_TIMESTAMP 例如: ① DEFAULT USER ② DEFAULE (getdate()) 有可能会和 CHECK 约束冲突 常量值外面可以加或者不加括号,字符或者日期常量必须加上单引号或双引号 CHECK 约束 限制输入到指定列的值只能为某些特定值 语法: [CONSTRAINT 约束名] CHECK (逻辑表达式) 两种强制域完整性的方法:CHECK 约束和规则 CHECK 约束定义了一个表达式,若数据修改语句使得表达式值为 FALSE 的话,将拒绝语句执行 规则的功能和 CHECK 约束基本相同,除了语法不同,能力稍弱。 规则可定义一次,然后对多个列分别绑定;而 CHECK 约束则需要对每个列定义。但 CHECK 约束的功能略强一些(例如引用同行中其他列的值和调用系统函数等) CHECK 约束(续) 应用CHECK约束的几种情况 CHECK 约束(续) 应用CHECK 约束的注意事项 一个表可以定义多个CHECK约束,一个列上只允许创建一个列级CHECK约束。 列级 CHECK 约束只能引用被约束的列,表级 CHECK 约束只能引用同一表中的列。 当列上存在规则和一个或多个 CHECK 约束时,将验证所有限制。 UNIQUE 约束 UNIQUE 约束指明列中的任意两行不能有相同的值 语法:[CONSTRAINT 约束名] U
您可能关注的文档
- 数据结构与算法-第1章 数据库基本原理.ppt
- 数据结构与算法-第1章(中科大) 基础算法思想.ppt
- 数据结构与算法-第2章 SQL Server概述.ppt
- 数据结构与算法-第2章 简单数据结构.ppt
- 数据结构与算法-第3章 创建和管理数据库.ppt
- 数据结构与算法-第3章 复杂数据结构(中科大).ppt
- 数据结构与算法-第3章 复杂数据结构.ppt
- 数据结构与算法-第4章 创建数据类型和表.ppt
- 数据结构与算法-第6章 数组与广义表.ppt
- 数据结构与算法-第6章 数学问题.ppt
- 2022-2023学年江苏省常州市溧阳市四年级下学期期中数学真题及答案.pdf
- 2022-2023学年江苏盐城建湖县五年级上册语文期末试卷及答案.pdf
- 2021-2022学年河南省卫辉市人教版三年级上册期末考试数学试卷及答案.pdf
- 2022-2023学年浙江杭州萧山区五年级下册语文期中试卷及答案.pdf
- 2022-2023学年江苏省淮安市二年级下学期数学月考试题及答案.pdf
- 2021年山西公务员申论考试真题及答案-乡镇.pdf
- 2021年普通话考试内容题库最新版.pdf
- 2021-2022年江苏苏州太仓市六年级上册期中语文试卷及答案(部编版).pdf
- 2022-2023学年山东省滨州市博兴县四年级下学期期末数学真题及答案.pdf
- 2021年四川内江小升初语文真题及答案.pdf
最近下载
- 2025-2030中国靛蓝染料行业市场发展趋势与前景展望战略研究报告.docx
- DGTJ08-2299-2019 型钢混凝土组合桥梁设计规范.pdf VIP
- 班主任带班育人方略PPT课件.pptx VIP
- 2024年山东省日照市中考生物真题卷(含答案与解析).pdf VIP
- 小学六年级上学期美术《第12课 走向明天》教学课件.pptx VIP
- 科斯定理_反思与拓展_兼论中国农地流转制度改革与选择_罗必良.pdf VIP
- catia电气设计操作手册.pdf VIP
- 八下《卖炭翁》选择题专练-冲刺2024年中考语文古代诗歌课内篇目常考题型专练(统编版六册)(解析版).docx VIP
- 2025年国开电大机考网考-经济学基础-真题(2).docx
- 广东省深圳市南山区2024-2025学年上学期期末教学质量监测七年级英语试题(含答案).pdf VIP
文档评论(0)