第4章 实现数据完整性

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第4章实现数据完整性

本章概述

保证数据库中的数据遵循范式的同时不会在数据的添加删除和修改等操作中产生矛盾或者缺失,是数据库程序员的一项重要任务。本章介绍了数据完整性的概念,包括可用于强制数据完整性的方法。本章重点介绍了确保数据完整性的主要方法——约束,并介绍了各种约束类型。本章还详细讨论了如何创建和实现约束以及在必要时禁用约束的方法。同时,本章还讨论了默认值和规则,并概括了几种不同方法的比较。学习完本章后,学生能够理解数据完整性的重要性,并可以通过各种手段保证企业数据完整。

教学目标

●了解数据完整性类型

●掌握强制数据完整性的方法

●掌握如何确定使用哪种约束并创建该约束

●了解定义和使用DEFAULT、CHECK、PRIMARY KEY、UNIQUE和FOREIGN KEY

约束

●掌握禁用约束检查

●了解及使用默认值和规则

●掌握确定使用哪种方法保证数据完整性

教学重点

●数据完整性的概念,考试中也经常出现概念题。

●约束的类型,以及何时使用何种约束的原则。

●创建和使用约束。

教学难点

●数据完整性概念,如何同企业场景结合起来。

●不同约束类型的比较。

●何时使用哪种保证数据完整性的强制方法。

数据库程序设计—SQL Server 2000 数据库程序设计教师参考手册教学资源

2

第4章实现数据完整性先修知识

在正式开始学习本章内容以前,学生须具备下列知识基础。

建议学时

课堂教学(4课时)+实验教学(3课时)

教学过程

4.1数据完整性的类型

教学提示:

本节主要达到一个目的。

●掌握数据完整性的3种类型:域完整性、实体完整性和引用完整性。保证了数据完整

性,才能使企业数据库在应用中更加健壮。(略讲)

3

数据库程序设计—SQL Server 2000 数据库程序设计教师参考手册

4.2强制数据完整性

教学提示:

本节主要达到一个目的。

●了解保证数据完整性的两种途径:通过声明和通过代码。这两种方法企业中被广泛应

用。(略讲)

4

第4章实现数据完整性

4.3定义约束

教学提示:

本节主要达到三个目的。

●了解各种约束在不同场合的作用,如何根据企业场景选择约束。(略讲)

●掌握创建约束的方法。(精讲+演示)

●了解使用约束的注意事项。(略讲)

5

数据库程序设计—SQL Server 2000 数据库程序设计教师参考手册4.4约束的类型

教学提示:

本节主要达到两个目的。

●掌握约束的类型,定义约束的语法。(精讲+演示)

●掌握各种约束的区别和应用场景。(精讲)

6

第4章实现数据完整性

7

数据库程序设计—SQL Server 2000 数据库程序设计教师参考手册

8

第4章实现数据完整性

9

数据库程序设计—SQL Server 2000 数据库程序设计教师参考手册

10

11

4.5禁用约束

4.6使用默认值和规则

12

4.7决定使用何种强制方法

4.8推荐操作

总结

经过本章的学习,我们了解了下列的知识和内容。

●数据完整性类型

●强制数据完整性的方法

●如何确定使用哪种约束并创建该约束

●定义和使用DEFAULT、CHECK、PRIMARY KEY、UNIQUE和FOREIGN KEY约束●禁用约束检查

●使用默认值和规则

●确定使用哪种方法保证数据完整性

13

在前面四章的学习中,我们已经大量用到了SQL语句对数据库对象进行操作。下面一章中,我们将详细学习Transact-SQL语言。

随堂练习

1.在一个SQL Server 2000中创建一个医院管理系统中的护士(Nurses)和病人(Patients)两个数据表,一个护士可以照看多个病人,而一个病人必须由两个护士共同负责。在下列四个选项中SQL语句选出正确的选项。

A.CREATE TABLE Nurses

{

NursesID int NOT NULL PK_Nurses PRIMARY KEY CLUSTERED,

Name varchar(20) NOT NULL,

}

GO

CREATE TABLE Patients

{

PatientsID int NOT NULL PK_Nurses PRIMARY KEY CLUSTERED,

Name varchar(20) NOT NULL,

NurseID1 int NOT NULL,

NurseID2 int NOT NULL

}

B.CREATE TABLE Nurses

{

NursesID int NOT NULL PK_Nurses PRIMARY KEY CLUSTERED,

Name varchar(20) NOT NULL,

}

GO

CREATE TABLE Patients

{

PatientsID int NOT NULL PK_Nurses PRIMARY KEY CLUSTERED,

Name varchar(20) NOT NULL,

14

相关文档
最新文档