SQL Server 2005数据库应用技术(第二版)虞益诚 第5章数据完整性yu1001

上传人:E**** 文档编号:89399091 上传时间:2019-05-24 格式:PPT 页数:13 大小:351KB
返回 下载 相关 举报
SQL Server 2005数据库应用技术(第二版)虞益诚 第5章数据完整性yu1001_第1页
第1页 / 共13页
SQL Server 2005数据库应用技术(第二版)虞益诚 第5章数据完整性yu1001_第2页
第2页 / 共13页
SQL Server 2005数据库应用技术(第二版)虞益诚 第5章数据完整性yu1001_第3页
第3页 / 共13页
SQL Server 2005数据库应用技术(第二版)虞益诚 第5章数据完整性yu1001_第4页
第4页 / 共13页
SQL Server 2005数据库应用技术(第二版)虞益诚 第5章数据完整性yu1001_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《SQL Server 2005数据库应用技术(第二版)虞益诚 第5章数据完整性yu1001》由会员分享,可在线阅读,更多相关《SQL Server 2005数据库应用技术(第二版)虞益诚 第5章数据完整性yu1001(13页珍藏版)》请在金锄头文库上搜索。

1、SQL Server 2005数据库 应用技术(第二版),主讲: 虞益诚,E-mail:,教学课件,2019/5/24,2,SQL SERVER 2005 数据库应用技术构架,SQL Server 2005是一个 性能优越、 面向客户/服务器的关系型网络数据库管理系统支持多种操作系统平台广泛地应用于信息管理、电子商务、管理工程等诸多应用领域,15&16 VB/VB.Net访问SQL Server 2005,1&2 数据库基础与SQL Server 概述,4&5 数据库管理与数据完整性,6&7 表的管理与Transact-SQL 语言,10 存储过程与触发器,17&18 ASP/ASP.net访

2、问SQL 2005,19&20 Java/JSP访问SQL Server 2005,教参,3 SQLServer2005系统及服务器管理,8&9 数据的查询与更新和视图,11&12 游标与安全管理,14 SQL Server 2005的Web技术,13 数据转换及数据库加载备份管理,21 SQL 应用开发与课程设计实例,课程概要,第 一 章 数据库基础 第 二 章 SQL Server 2005概述 第 三 章 SQL Server 2005系统及服务器管理 第 四 章 数据库管理 第 五 章 数据完整性 第 六 章 表的管理与使用 第 七 章 Transact-SQL语言基础 第 八 章 数

3、据的查询与更新 第 九 章 视图管图 第 十 章 存储过程与触发器 第十一章 游 标 第十二章 SQL Server 2005安全管理 第十三章 数据转换及数据库加载备份管理 第十四章 SQL Server 2005的Web技术 第十五章 VB访问SQL Server 2005数据库 第十六章 VB.Net访问SQL Server 2005数据库 第十七章 ASP访问SQL Server 2005数据库 第十八章 ASP.net访问SQL Server 2005数据库 第十九章 Java访问SQL Server 2005数据库 第二十章 JSP访问SQL Server 2005数据库 第廿一章

4、 SQL Server2005 应用开发与课程设计实例,2019/5/24,4,第5章 数据完整性,5-1 数据完整性概述 5-2 数据完整性分类与实施 5-3 约束 本章主要介绍如何确保数据完整性,以便使数据库中的数据更加严谨。我们除了介绍数据完整性的基本概念之外,还将指导用户使用各种实施数据完整性的方法,主要包括:主键约束、外键约束、唯一性约束、检查约束、默认值约束。,2019/5/24,5,5-1 数据完整性概述,“数据完整性”是指存放在数据库中数据的一致性和准确性,通俗地将就是限制数据库表中可输入的数据。它是为了防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作

5、或错误信息而提出的。 保证数据库的数据完整性,在数据库管理系统中是十分重要的,它是衡量数据库中的数据质量的重要标志。满足数据完整性的数据具有以下特点:数据正确无误;数据的存放必须确保同一表格数据之间的和谐关系;数据的存放必须维护不同表格之间的和谐关系。 5-2 数据完整性分类与实施 5-2-1数据完整性分类 (1)实体完整性 (2)域完整性 (3)参照完整性 (4)用户定义完整性 5-2-2 数据完整性的实施 (1)声明式数据完整性(Declarative Data Integrity) (2)程序化数据完整性(Procedural Data Integrity),2019/5/24,6,5-

6、3 约束,5-3-1 约束概要 约束是SQL Server 提供的自动保持数据库完整性的一种方法,它是通过限制列中数据、行中数据和表之间数据来保持数据完整性。 1. 约束及约束机制 约束是独立于表结构的,作为数据库定义部分在CREATE TABLE语句中声明,可以在不改变表结构的基础上,通过ALTER TABLE语句添加或者删除。当表被删除时,表所带的所有约束定义也随之被删除。 在SQL Server 中主要有下列5 种约束: 主键约束(Primary Key Constraint) 外键约束(Foreign Key Constraint) 唯一性约束(Unique Constraint) 检

7、查约束(Check Constraint) 默认值约束(Default Constraint),2019/5/24,7,5-3 约束,2. 约束的语法格式 约束定义或设计的语法格式如下: CONSTRAINT constraint_name NULL | NOT NULL PRIMARY KEY | UNIQUE CLUSTERED | NONCLUSTERED (column ASC | DESC,.n) WITH FILLFACTOR=fillfactor WITH (, .n) ONpartition_scheme_name ( partition_column_name . ) | f

8、ilegroup | “default“ | FOREIGN KEY (column ,.n) REFERENCES referenced_table_name ( ref_column ,.n ) ON DELETE NO ACTION | CASCADE | SET NULL | SET DEFAULT ON UPDATE NO ACTION | CASCADE | SET NULL | SET DEFAULT NOT FOR REPLICATION | DEFAULT constant_expression FOR column WITH VALUES | CHECK NOT FOR R

9、EPLICATION ( logical_expression ) 2:,2019/5/24,8,5-3 约束,5-3-2 主键约束 主键约束指定表的一列或几列的组合的值在表中具有唯一性且能唯一地标识一行记录。通过它可以实施数据的实体完整性。 每表中只能有一列被指定为主键不允许为NULL。通常可用SQL Server 管理平台创建主键约束,也可使用Transact-SQL语句创建主键约束。 1使用SQL Server管理平台创建主键约束 2使用Transact-SQL语句创建主键约束 【例5-1】分别创建以学号为主键的学生表和以班级编号为主键的班级表,结果如图5-3。 CREATE TABLE

10、 学生 ( 学号 char(6) NOT NULL , 姓名 char(8) NOT NULL , 性别 char(2) NOT NULL , 出生日期smalldatetime NOT NULL , 班级编号 char(10) NOT NULL , 学分 numeric(8, 1) NOT NULL , 区域 char (4) NOT NULL , 校名 char (24) NOT NULL CONSTRAINT PK_student_id PRIMARY KEY (学号) ) ON PRIMARY CREATE TABLE 班级(班级编号 char(10) NOT NULL, 班级名称 c

11、har(10) NOT NULL,院系 varchar(30) NOT NULL, 辅导员varchar(8) NOT NULL, 学生数Numeric(8) CONSTRAINT PK_class_id PRIMARY KEY (班级编号) ) ON,2019/5/24,9,5-3 约束,5-3-3 外键约束 外键约束定义了表之间的关系.。 【例5-2】创建一个课程表,然后创建一个成绩表与前面创建的学生表和课程表建立关联。 CREATE TABLE 课程( 课程号char(12) NOT NULL,课程名char(12) NOT NULL,学时 char(10) NOT NULL,学分 ch

12、ar(10) NOT NULL,CONSTRAINT PK_course_id PRIMARY KEY(课程号) ) ON PRIMARY CREATE TABLE 成绩( 学号char(6) NOT NULL, 课程号char(12) NOT NULL,课程名char(12) NOT NULL, 成绩 int NOT NULL,补考成绩int NOT NULL CONSTRAINT PK_grade_id PRIMARY KEY (学号),CONSTRAINT FK_course_id FOREIGN KEY (课程号)REFERENCES 课程(课程号) ON PRIMARY,2019/5

13、/24,10,5-3 约束,5-3-4 唯一性约束 唯一性约束指定一个或多个列的组合的值具有唯一性,以防止在列中输入重复的值,可以通过它实施数据实体完整性。每个唯一性约束要建立一个唯一索引。 【例5-4】创建一个唯一性约束。 ALTER TABLE 课程 ADD CONSTRAINT u_course_name UNOQUE NONCLUSTERED (课程名) 在上面的示例中,在课程表中的课程名列上创建一个唯一性约束。这样就不能在表中插入课程名与已经存在的课程名相同的的数据了。 5-3-5 检查约束 检查约束限制输入到一列或多列中的可能值,只有符合特定条件和格式的数据才能存到字段中,从而保证

14、SQL Server数据库中数据的域完整性。,2019/5/24,11,5-5 默认值,【例5-5】为成绩表增加一个检查约束,成绩字段取值范围是1100。 ALTER TABLE 成绩 ADD CONSTRAINT ch_grade CHECK (成绩=0 AND 成绩=100) 除了使用T-SQL语言创建检查约束,尚可使用SQL Server管理平台创建CHECK约束。 5-3-6 默认值约束 使用默认值约束后,用户在插入新的数据行时,若没为某列指定数据,系统将默认值赋给该列。 默认值约束所提供的默认值可以是常量、函数、空值(NULL)等。 【例5-6】对学生表中的“性别”字段增加默认值约束

15、。 ALTER TABLE 学生 ADD CONSTRAINT sex DEFAULT 女 FOR 性别 该示例中对学生表中的性别字段增加了一个默认值约束,当没有为性别提供一个字段时,那么系统将自动采取默认值:“女”。,2019/5/24,12,本章小结,数据完整性工具的应用是SQL Server 的一大特点,它通过在数据库端使用特定的规定来管理输入与输出系统的信息。而不是由应用程序本身来控制信息的类型,这使得数据独立与应用程序成为开放的数据库系统。 数据完整性是指存放在数据库中数据的一致性和准确性,它是衡量数据库中的数据质量的重要标志,通俗地讲就是限制数据库表中可输入的数据。 SQL Ser

16、ver 2005中主要包括:主键、外键、唯一性、检查、默认值5 种约束。,2019/5/24,13,思考与练习,1:什么是数据完整性?实施数据完整性的方法由哪些以及它们之间的性能比较。 2:创建二个数据库表:产品(产品号,产品名称,供应商号,价格,库存量);供应商(供应商号,供应商名称,城市,电话)。产品表中关键字是产品号,外键供应商号,每个字段都非空,且库存量的默认值为0;供应商表中关键字是供应商号,每个字段都非空。 3:给产品表中的库存量字段绑定一个名称为“KUNCUN_RULE”的规则,限制库存量不能大于1000;给供应商表中的城市字段绑定一个名称为“CITY_RULE”的规则,限制城市只能是南京、上海、北京、苏州、广州中的一个。 4:给供应商表中的城市字段绑

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

最新文档


当前位置:首页 > 高等教育 > 大学课件

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