- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
、约束、同义词、缺省值、自定义数据类型、规则
约束、同义词、缺省值、自定义数据类型、规则 学习目标 掌握数据完整性 掌握DEFAULT、CHECK、主键、外键和唯一约束的创建方法 了解默认值对象与默认值约束的区别 了解自定义数据类型的使用 了解规则与CHECK约束的区别 掌握同义词 一、数据库完整性 如何保证存入数据库的数据都是正确的,那么就需要用数据完整性来实现了。 例如: 如果输入了 employee_id 值为 123 的职员,那么该数据库不应允许其他职员使用同一 ID 值。 如果计划将 employee_birthdate 列的值范围设定为从不能大则数据库不应接受 大于这个日期的值。 如果表有一 dept_id 列,该列存储职员的部门编号,则数据库应只允许接受公司中的有效部门编号。 共分为:实体完整性、域完整性、引用完整性和用户自定义完整性 1.1、实体完整性 实体完整性简单的说,就是将表中的每一行看作一个实体。 实体完整性要求表的标示符列或主键的完整性。可以通过建立唯一索引、PRIMARY KEY约束、UNIQUE约束,以及列的IDENTITY属性来实施实体完整性 1.2、域完整性 域完整性是指给定列的输入有效性。 域完整性通过 FOREIGN KEY 约束、CHECK 约束、DEFAULT 定义、NOT NULL 定义和规则来实现 1.3、引用完整性 引用完整性又称参照完整性。 引用完整性维持被参照表和参照表之间的数据一致性,他通过主键(PRIMARY KEY)约束和外键(FOREIGN KEY)约束来实现。 例如,对于 pubs 数据库中的 sales 和 titles 表,引用完整性基于 sales 表中的外键 (title_id) 与 titles 表中的主键 (title_id) 之间的关系。 如下图: 1.4、用户自定义完整性 用户定义完整性使您得以定义不属于其它任何完整性分类的特定业务规则。 比如:一个公司里面只能有10个员工 用户自定义完整性要靠触发器来实现。 二、约束 约束通过限制列中数据、行中数据和表之间的数据,确保将有效数据添加到列中,并维护表与表之间的特定关系,约束是保证数据完整性的有效手段之一。 约束包括:DEFAULT约束、CHECK约束、主键约束、外键约束和唯一约束 2.1 DEFAULT约束 使用DEFAULT约束,如果用户在插入新行是没有显示为列提供数据,系统会将默认支赋给该列。 例如,在一个表的某一个列中,可以让数据库服务器在用户没有输入时填上”???”或者”fill in later”。 默认值约束的定义格式为: [CONSREAINT constraint_name] DEFAULT constant_expression 使用默认值约束需要注意如下几点: DEFAULT约束只能应用于INSERT语句,且定义的值必须与该列的数据类型和精度一致 每一列只能有一个DEFAULT约束,因为如果有多个的话,系统将无法确定在该列上使用哪一个约束。 DEFAULT约束不能定义在指定IDENTITY属性或数据类型为TIMESTAMP的列上,因为对于这些列,系统会自动提供数据。 DEFAULT约束值允许使用一些系统函数提供的值,如GETDATE()。 使用DEFAULT约束实现域完整性。 在Management Studio中创建DEFAULT约束 2.2 CHECK约束 CHECK约束的主要作用是限制输入到一列或多列中的可能值,从而保证SQL Server数据库中数据的域完整性。 比如,定义sex列只能输入’男’,’女’。 再比如: 新加入一列ZIP_CODE及其相应的CHECK约束: ALTER Table TB_CHECK_CONSTRAINTADD ZIP_CODE char(6) null CONSTRAINT CH_ZIP_CODE check (ZIP_CODE like ‘[0-9] [0-9] [0-9] [0-9] [0-9] [0-9]’) 通过ALTER Table TB_CHECK_CONSTRAINT NOCHECK CONSTRAINT CH_ZIP_CODE关闭约束。 在Management Studio中创建CHECK约束 2.3 主键约束 在数据库的每个表中,经常有通过一列或者多个列,唯一的标识表中的每一行。就好像我们平时使用的身份证,能够唯一的标识每个人一样。这样的一列或者多个列,被称为主键,通过主键,可以强制表的实体完整性。 如果在PRIMARY KEY约束中未指定索引类型时,默认情况下所建立的索引为聚合索引。该索引只能通过删除PRIMARY KEY约束或其相关表的方法来删除,而不能使用DROP INDEX语句删除。当PRIMARY
您可能关注的文档
- §微分方程的基本概念.PPT
- §定积分的应用(弧长).PPT
- §6系统的特性和分类.PPT
- §定积分与微积分基本定理.PPT
- §方程组与高阶方程的情形.PPT
- _材料的形变和再结晶.PPT
- §波函数和电子云的图形表示结构化学课件.PPT
- §次函数与元次方程元次方程的图象解法.PPT
- §6电通量高斯定理.PPT
- §系统的特性和分类.PPT
- CNAS-CL63-2017 司法鉴定-法庭科学机构能力认可准则在声像资料鉴定领域的应用说明.docx
- 12J7-3 河北《内装修-吊顶》.docx
- 12N2 河北省12系列建筑标准设计图集 燃气(油)供热锅炉房工程.docx
- 内蒙古 12S8 排水工程 DBJ03-22-2014.docx
- 山西省 12S10 12系列建筑标准设计 管道支架、吊架.docx
- 16J601-木门窗标准图集.docx
- 12J8 河北省12系列《 楼梯》.docx
- CNAS-GL37 2015 校准和测量能力(CMC)表示指南.docx
- CNAS-RL02-2016 能力验证规则.docx
- 津02SJ601 PVC塑料门窗标准.docx
文档评论(0)