网络数据库sql

上传人:j****9 文档编号:54238954 上传时间:2018-09-10 格式:PPT 页数:35 大小:884KB
返回 下载 相关 举报
网络数据库sql_第1页
第1页 / 共35页
网络数据库sql_第2页
第2页 / 共35页
网络数据库sql_第3页
第3页 / 共35页
网络数据库sql_第4页
第4页 / 共35页
网络数据库sql_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《网络数据库sql》由会员分享,可在线阅读,更多相关《网络数据库sql(35页珍藏版)》请在金锄头文库上搜索。

1、教学提示:数据库中的数据是从外界输入的,而数据的输入由于种种原因,会发生输入无效或错误的信息。那么保证数据正确性、一致性和可靠性,就成了数据库系统关注的重要问题。通过本章的学习,读者应该掌握数据完整性的概念以及如何实施数据完整性。,教学要求:应掌握: 数据完整性概念 各种约束管理技术 默认管理技术 使用规则,第7章 设计数据的完整性,1 数据完整性的概念2 使用约束实施数据完整性,实体完整性(Entity Integrity) 域完整性(Domain Integrity) 参照完整性(Referential Integrity) 用户定义的完整性( User-defined Integrity

2、) 数据完整性的实现方式,NOT NULL(非空)约束 PRIMARY KEY(主键)约束 UNIQUE(惟一性)约束 CHECK(检查)约束 DEFAULT(默认)约束 FOREIGN KEY(外键)约束,第7章 设计数据的完整性,3 默认管理技术4使用规则5使用IDENTITY(标识符)列,创建默认 绑定默认 解除绑定默认 删除默认,创建规则 绑定规则 解除绑定规则 删除规则,第7章 设计数据的完整性,创建IDENTITY列 使用 IDENTITY函数,第7章 设计数据的完整性,1数据完整性 2使用约束 3默认技术 4使用规则 5标识列 6实训 7小结,定义类型图示,数据完整性用于保证数据

3、库中数据的正确性、一致性和可靠性。,1数据完整性的概念,实体完整性(Entity Integrity)域完整性(Domain Integrity)参照完整性(Referential Integrity)用户定义完整性(User-defined Integrity),第7章 设计数据的完整性,1.1实体完整性(Entity Integrity),1数据完整性的概念(1),实体完整性用于保证数据库中数据表的每一个特定实体的记录都是唯一的,1数据完整性实体完整性域完整性参照完整性自定义完整性完整性实现 2使用约束 3默认技术 4使用规则 5标识列 6实训 7小结,第7章 设计数据的完整性,1.2 域

4、完整性(Domain Integrity),1数据完整性的概念(2),域完整性是指保证指定列的数据具有正确的数据类型、格式和有效的数据范围。,1数据完整性实体完整性域完整性参照完整性自定义完整性完整性实现 2使用约束 3默认技术 4使用规则 5标识列 6实训 7小结,第7章 设计数据的完整性,1.3 参照完整性(Referential Integrity),1数据完整性的概念(3),当增加、修改或删除数据库表中记录时,可以借助参照完整性来保证相关联表之间数据的一致性,1数据完整性实体完整性域完整性参照完整性自定义完整性完整性实现 2使用约束 3默认技术 4使用规则 5标识列 6实训 7小结,第

5、7章 设计数据的完整性,1.4用户定义完整性 (User- defined Integrity),1数据完整性的概念(4),这是由用户定义的完整性。 用户定义完整性可以定义不属于其他任何完整性分类的特定业务规则,1数据完整性实体完整性域完整性参照完整性自定义完整性完整性实现 2使用约束 3默认技术 4使用规则 5标识列 6实训 7小结,第7章 设计数据的完整性,1.5数据完整性的实现方式,1数据完整性的概念(5),声明数据完整性和过程数据完整性,1数据完整性实体完整性域完整性参照完整性自定义完整性完整性实现 2使用约束 3默认技术 4使用规则 5标识列 6实训 7小结,第7章 设计数据的完整性

6、,2使用约束实施数据完整性,2.1 NOTNULL(非空)约束 2.2 PRIMARY KEY(主键)约束 2.3 UNIQUE(惟一性)约束 2.4 CHECK(检查)约束 2.5 DEFAULT(默认)约束 2.6 FOREIGN KEY(外键)约束,1数据完整性 2使用约束 3默认技术 4使用规则 5标识列 6实训 7小结,第7章 设计数据的完整性,2使用约束实施数据完整性(1),CREATE TABEL 数据表名 (列名 数据类型 CONSTRAIN 约束名 NULL | NOT NULL , ),说明:NULL和NOT NULL分别代表允许为空和不允许为空,不写为允许为空。,2.1

7、NOTNULL(非空)约束,【例7_1】创建学生信息表,同时设置NOT NULL约束 【例7_2】添加NOT NULL约束到表中,1数据完整性 2使用约束非空主键唯一性检查默认外键 3默认技术 4使用规则 5标识列 6实训 7小结,第7章 设计数据的完整性,2使用约束实施数据完整性(2),语法格式1: CREATE TABEL 数据表名 (列名 数据类型 CONSTRAIN 约束名 PRIMARY KEY CLUSTERED | NONCLUSTERED ,),说明:语法格式1定义单列主键,CLUSTERED和 NONCLUSTERED 分别代表聚集索引和非聚集索引。,2.2 PRIMARY

8、KEY(主键)约束,【例7_3】创建学生信息表并设置学号列为主键,1数据完整性 2使用约束非空主键唯一性检查默认外键 3默认技术 4使用规则 5标识列 6实训 7小结,第7章 设计数据的完整性,2使用约束实施数据完整性(3),语法格式2: CREATE TABEL 数据表名 (CONSTRAIN 约束名 PRIMARY KEY CLUSTERED | NONCLUSTERED (列名1,n) ,.),说明:语法格式2定义多列组合主键,CLUSTERED和 NONCLUSTERED 分别代表聚集索引和非聚集索引。,2.2 PRIMARY KEY(主键)约束,【例7_4】创建教学成绩表并设置组合主

9、键 【例7_5】 修改表添加组合主键约束,1数据完整性 2使用约束非空主键唯一性检查默认外键 3默认技术 4使用规则 5标识列 6实训 7小结,第7章 设计数据的完整性,2使用约束实施数据完整性(4),语法格式1:CREATE TABEL 数据表名 (列名 数据类型 CONSTRAIN 约束名 UNIQUE CLUSTERED | NONCLUSTERED ,.),说明:语法格式1定义单列唯一约束,2.3 UNIQUE(唯一性)约束,【例7_6】创建专业信息表并设置名称列为唯一约束,1数据完整性 2使用约束非空主键唯一性检查默认外键 3默认技术 4使用规则 5标识列 6实训 7小结,第7章 设

10、计数据的完整性,2使用约束实施数据完整性(5),语法格式2:CREATE TABEL 数据表名 (CONSTRAIN 约束名 UNIQUE CLUSTERED | NONCLUSTERED (列名1,n) ,.),说明:语法格式2定义多列组合唯一约束,2.3 UNIQUE(唯一性)约束,【例7_7】修改表设置唯一约束,1数据完整性 2使用约束非空主键唯一性检查默认外键 3默认技术 4使用规则 5标识列 6实训 7小结,第7章 设计数据的完整性,2使用约束实施数据完整性(6),语法格式: CREATE TABEL 数据表名 (列名 数据类型 CONSTRAINT 约束名 CHECK(逻辑表达式)

11、 ,.),说明:如果是在现有表中添加检查约束,可以设置WITH NOCHECK ,对现有数据强制约束约束检查,2.4 CHECK(检查)约束,【例7_8】创建学生信息表并定义CHECK约束 【例7_9】在学生信息表表上添加CHECK约束,限定联系电话列的输入长度和取值范围,对现有数据不检查,即原有的电话号码依然有效,1数据完整性 2使用约束非空主键唯一性检查默认外键 3默认技术 4使用规则 5标识列 6实训 7小结,第7章 设计数据的完整性,2使用约束实施数据完整性(7),语法格式1:CREATE TABEL 数据表名 (列名 数据类型 CONSTRAINT 约束名 DEFAULT 默认值 ,

12、.) 语法格式2: CREATE TABEL 数据表名 (CONSTRAINT 约束名 DEFAULT 默认值 FOR 列,.),2.5 DEFAULT(默认)约束,【例7_10】创建学生信息表并设置默认约束 【例7_11】在学生信息表上添加默认约束,1数据完整性 2使用约束非空主键唯一性检查默认外键 3默认技术 4使用规则 5标识列 6实训 7小结,第7章 设计数据的完整性,2使用约束实施数据完整性(8),语法格式1: CREATE TABEL 数据表名 (列名 数据类型 CONSTRAIN 约束名 FOREIGN KEY REFERENCES 参照主键表 (参照列) ON DELETE C

13、ASCADE | ON UPDATE CASCADE ,.),说明:语法格式1定义单列外键约束 。ON DELETE CASCADE表示级联删除,即父表中删除被引用行时,也将从引用表中删除引用行; ON UPDATE CASCADE表示级联更新,即父表中更新被引用行时,也将在引用表中更新引用行。,2.6 FOREIGN KEY(外键)约束,【例7_12】创建表并定义外键,1数据完整性 2使用约束非空主键唯一性检查默认外键 3默认技术 4使用规则 5标识列 6实训 7小结,第7章 设计数据的完整性,2使用约束实施数据完整性(9),语法格式2:CREATE TABEL 数据表名 (CONSTRAI

14、N 约束名 FOREIGN KEY (列,n) references 参照主键表 (参照列,n) ON DELETE CASCADE | ON UPDATE CASCADE,.),说明:语法格式2定义多列组合外键约束 。,2.6 FOREIGN KEY(外键)约束,【例7_13】在教学成绩表中添加外键约束,参照表为学生信息表,1数据完整性 2使用约束非空主键唯一性检查默认外键 3默认技术 4使用规则 5标识列 6实训 7小结,第7章 设计数据的完整性,3默认管理技术,3.1 创建默认 3.2 绑定默认 3.3 解除绑定默认 3.4 删除默认,1数据完整性 2使用约束 3默认技术 4使用规则 5

15、标识列 6实训 7小结,第7章 设计数据的完整性,3默认管理技术(1),语法格式:CREATE DEFAULT 默认名称 AS 常数表达式,说明:默认值名称必须符合标识符的规则。常数表达式是指只包含常量值的表达式(不能包含任何列或其他数据库对象的名称)。可以使用任何常量、内置函数或数学表达式。,3.1 创建默认,【例7_14】在教学成绩管理数据库中创建一个默认对象,1数据完整性 2使用约束 3默认技术创建绑定解除删除 4使用规则 5标识列 6实训 7小结,第7章 设计数据的完整性,3默认管理技术(2),语法格式: sp_bindefault defname = 默认名称 , objname =

16、 对象名 , futureonly = futureonly_flag ,说明:可以绑定到列或用户自定义类型。futureonly_flag仅在将默认值绑定到用户定义的数据类型时才使用,将此参数设置为 futureonly 时,只有当包含用户定义数据类型的新表创建时,这个默认值才生效。 。,3.2 绑定默认,【例7_15】将上一节所创建的默认df_学历绑定到教师信息表的学历列 【例7_16】将默认值绑定到用户定义的数据类型。 【例7_17】使用 futureonly_flag。,1数据完整性 2使用约束 3默认技术创建绑定解除删除 4使用规则 5标识列 6实训 7小结,第7章 设计数据的完整性,3默认管理技术(3),语法格式:sp_unbindefault objname = 对象名 , futureonly = futureonly_flag,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号