- 1、本文档共49页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL第06章表的创建与管理(续)
2004-10-1 第6章 表的创建与管理 第6章 表的创建和管理 6.1 创建表 6.2 表结构的修改 6.3 表的重命名与删除 6.4 向表中添加、更新、删除数据 6.5 数据完整性的概念与实施方法 练习 6.5 数据完整性的概念与实验方法 6.5.1 数据完整性概念 数据完整性是指数据的正确性、完备性和一致性,是衡量数据库质量好坏的重要标准。 在用INSERT、DELETE、UPDATE语句修改数据库内容时,数据的完整性可能会遭到破坏。可能会存在下列情况:无效的数据被添加到数据库的表中。如:将学生考试成绩输入成负数; SQL Server提供了对数据库中表、列实施数据完整性的方法。对表进行设计数据完整性有两个重要内容:标识列的有效值和确定如何强制列中的数据完整性。 1. 域完整性 域完整性是指一个列的输入有效性,是否允许空值。强制域完整性的方法有:限制类型(通过设定列的数据类型)、格式(通过CHECK约束和规则)或可能值的范围 通过 FOREIGN KEY 约束、CHECK 约束、DEFAULT定义、NOT NULL定义和规则。 2. 实体完整性 实体完整性是指保证表中所有的行唯一。实体完整性要求表中的所有行都有一个唯一标识符。这个唯一标识符可能是一列,也可能是几列的组合,称之为主键。也就是说,表中主键在所有行上必须取值唯一。 强制实体完整性的方法有:索引、UNIQUE约束、PRIMARY KEY约束或 IDENTITY属性 。 3. 参照完整性 参照完整性也叫引用完整性。参照完整性总是保证主关键字(被引用表)和外部关键字(引用表)之间的参照关系。 它涉及两个或两个以上表数据的一致性维护。 6.5.2 数据完整性实施方法 1. 声明型数据完整性 声明型数据完整性一般在对象创建时定义,由SQL Server强制实施,通常使用约束、缺省值和规则来实现。实现基本数据完整性的首选方法是使用声明型数据完整性。 声明型数据完整性作为数据库对象说明的一部分在语法中实现,在CREATE TABLE和ALTER TABLE定义中使用CONSTRAINT、DEFAULT等语句限制表中的值。 6.5.2 数据完整性实施方法 2. 过程型数据完整性 过程型数据完整性是指由某个过程引发而实施的数据完整性。一般先写出实施数据完整性的条件,再写出强制该条件所执行的用于保证数据完整性的脚本。 通常由触发器和存储过程实现。过程型数据完整性也可以在客户机和服务器上使用其它编程语言和工具实现。 6.5.3 约束 1.约束的定义和类型 约束是SQL Server提供的自动保持数据库完整性的一种方法 。 列级约束:列级约束是行定义的一部分,只能够应用在一列上。 表级约束:表级约束的定义独立于列的定义,可以应用在一个表中的多列上。 6.5.3 约束 1.约束的定义和类型 约束有六种类型:非空约束、缺省约束、检查约束、主键约束、唯一约束、外键约束(参照约束)。 非空约束(NOT NULL):表中的某些列必须存在有效值,不允许有空值出现。这是最简单的数据完整性约束,可在建表时将该列声明为NOT NULL即可。 缺省约束(DEFALUT CONSTRAINTS):当向数据库中的表插入数据时,如果用户没有明确给出某列的值,SQL Server自动为该列输入指定值。 检查约束(CHECK CONSTRAINTS):限制插入列中的值的范围。 主键约束(PRIMARY KEY CONSTRAINTS):要求主键的列上没有两行具有相同值,也没有空值。 唯一约束(UNIQUE CONSTRAINTS):要求表中所有行在指定的列上没有完全相同的列值。 外键约束(FROEIGN KEY CONSTRAINTS):要求正被插入或更新的列(外键)的新值,必须在被参照表(主表)的相应列(主键)中已经存在。 不同的约束强制不同类型的数据完整性。表6-2 给出了两者的对应关系。P10 2.使用T-SQL语言创建、管理约束 (1)使用CREATE TABLE语句创建约束 使用CREATE TABLE语句创建约束的一般语法如下: CREATE TABLE table_name (column_name data_type [[CONSTRAINT constraint_name] {PRIMARY KEY [CLUSTERED | NONCLUSTERED] | UNIQUE [CLUSTERED | NONCLUSTERED] | [FOREIGN KEY] REFERENCES ref_table [(ref_column) ] | DEFAULT constant_expression | CHECK(logical_expression)} ] [,
您可能关注的文档
- 设备使用管理规定.doc
- 教案——五彩池.doc
- 浙江大学历年概率论考研试卷.doc
- 新工人岗前安全教育试卷及答案.doc
- 实验五(组合逻辑电路).ppt
- 高校联盟试卷.doc
- 龙湾中学教学工作计划.doc
- 下综掘机措施.doc
- 古代诗歌修辞手法.ppt
- 2008~2010精麻药品使用情况小结.doc
- 浙江省临海市白云高级中学2025届高三历史3月月考试题.doc
- 云南拾谷县第一中学2024_2025学年高二物理上学期10月月考试题.doc
- 2025版高考生物总复习第13讲基因的分离定律教案苏教版.doc
- 湖北省黄石实验高中2024_2025学年高一历史下学期期末考试模拟卷.doc
- 通史版2025版高考历史大一轮复习专题七近代化的曲折发展__中日甲午战争至五四运动前4第4讲从维新思想到新文化运动课后达标检测含解析新人教版.doc
- 2024年高考数学考试大纲解读专题04导数及其应用含解析文.doc
- 河南省许汝平九校联盟2024_2025学年高一语文上学期期末考试试题扫描版无答案.doc
- 江西省吉安市吉水县第二中学2024_2025学年高一历史上学期第二次月考试题.doc
- 北京市平谷区2025届高三政治一模考试试题含解析.doc
- 2025届中考物理第四讲物态变化专项复习测试无答案新人教版.docx
文档评论(0)