第7章 数据完整性
- 格式:ppt
- 大小:1.27 MB
- 文档页数:92


1 第六章 保证数据的完整性
理论学习(教学)目标:
1.了解数据完整性的概念。
2.了解数据完整性的各种类型。
3.掌握各种约束的使用特点。
技能学习(教学)目标:
1.熟练掌握各种约束的设置方法。
2.掌握各种约束的管理办法。
在对数据库中数据操作的过程中,数据的添加、修改、删除都有可能造成数据的破坏或者出现表间数据的不一致,如何能保证输入数据的准确无误呢?在SQL Server2008中,系统本身提供了维护机制,通过约束、默认值、规则、触发器等维护机制来保证数据库中数据的正确性和一致性。
6.1 数据完整性的概念
数据完整性就是指存储在数据库中的数据正确无误并且相关数据具有一致性。例如,在“学生”表中,每个学生的信息应该是唯一的,不能存在两位学生的信息完全一致;学生的学号应具有唯一性;学生所在的系,专业,班级必须是存在的。根据完整性的机制不同,数据完整性可分为:实体完整性、域完整性、参照完整性和用户定义完整性4种类型。
6.1.1 实体完整性
这里的实体即表中的记录。实体完整性要求在表中不能存在完全相同的记录,即表中的每一条必须是唯一的。实体完整性可以通过设置主键约束、唯一性约束、标识列(IDENTITY)等多种方法来实现。例如,“学生”表的学生编号可设为主键,则每条记录的学号唯一,并且不能为空,这样就能保证学生记录的唯一性。
6.1.2 域完整性
域完整性也称为列完整性,要求向表中输入的数据必须具有正确的类型、格式及有效的数据范围。例如,在“成绩”表中,成绩字段的值应在0-100之间;在“学生”表中,性别字段的值应为“男”或“女”,如果输入了超出此范围的数据,系统就会拒绝接受。域完整性的实现可使用用默认值(DEFAULT),检查约束(CHECK)、外键约束(FOREIGN)和规则(RULE)等方法来实现。
6.1.3 参照完整性
参照完整性又称为引用完整性。参照完整性是指作用于有关联的两个或两个以上的表,通过使用主键和外键的关系,使表中的数据与其相关表中数据保持一致。设置参照完整性后,在用户插入、删除、更新记录时,系统将保持表间已定义的关系,确保相关表中数据的一致性。
第一章:
1、订单管理系统的功能有哪些?
答:订单管理系统的功能主要有客户查询商品信息、客户预订商品并提交订单、销售人员处理客户的订单信息、销售人员管理商品信息、客户信息等。
2、说明ER模型的作用?
答:ER模型(实体关系模型)是描述概念世界,建立概念世界的工具,ER方法把管理系统所要描述的问题划分为单个的实体,通过实体间的联系实现有效、自然地模拟现实世界。
3、什么是关系模型?关系的完整性包括哪些内容?
答:关系模型就是用二维表格结构来表示实体及实体之间联系的模型,关系模型包括四类完整性:域完整性、实体完整性、参照完整性和用户定义的完整性。
4、按照功能,SQL语言分为哪4部分?
答:按照功能,SQL语言分为数据定义语言、查询语言、数据操纵语言、数据控制语言。
5、规范化范式是依据什么来划分的?它与一事一地的原则有什么联系?
答:规范化范式根据一个关系满足数据依赖的程度不同,可规范化为第一范式(1NF)、第二范式(2NF)、第三范式(3NF)。规范化范式遵循一事一地的原则,将描述一个独立事物的属性组成一个关系。
第二章:
1、SQL Server 2005有哪些新增特性?
答:SQL Server 2005的新特性主要体现在企业数据管理、开发人员生产力、商务智能三个方面。企业数据管理体现在高可用性、管理工具、安全性和可伸缩性;开发人员生产力体现在Common Language Runtime集成、集成XML、Transact-SQL增强和SQL服务代理;商务智能体现在分析服务、数据转换服务、报表服务和数据挖掘。
2、SQL Server 2005安装的软件和硬件环境是什么?
答:SQL Server 2005安装的软件和硬件环境参见教材表2-3、2-4、2-5、2-6。
3、SQL Server 2005有哪些版本?有哪些服务组件?
答:SQL Server 2005包括企业版、标准版、工作组版、开发版和简易版五个版本,服务组件主要有SQL Server 数据库引擎、Analysis Services、Reporting Services、Notification
v1.0 可编辑可修改
1 实验七:数据完整性实验
实验目的:
加深对数据完整性的理解。
实验内容:
数据库的完整性设置。
实验步骤:
可视化界面的操作方法:
一、实体完整性
1.将student表的“sno”字段设为主键:在表设计界面中,单击左边的行选定块,选定“sno”字段,单击工具按钮设置主键。如图1所示:
图1
1. 将“sc”表的“sno”和“cno”设置为主键:在表设计界面中,单击并按住Ctrl键拖动左边的行选定块,选定sno和cno字段,单击工具按钮设置主键。如图2所示: v1.0 可编辑可修改
2
图2
二、域完整性
3. 将“ssex”字段设置为只能取“男”,“女”两值:在表设计界面,点击鼠标右键——CHECK约束,——添加约束,添加CK_student_sex名称,然后在约束表达式框中输入“ ssex in ('男','女') ”。如图3所示。
v1.0 可编辑可修改
3
图3
三、参照完整性
4. 将“student”表和“sc”表中的“sno”字段设为参照: 打开“sc”表的设计界面, 点击工具栏按钮, 在弹出的属性(properties)对话框中点击“新建”按钮,在“主键表(Primary key table)”下拉框中选择“student”表,在其下的字段选择框中选择“sno”,在“外键表(Foreign key table)”下拉框中选择“sc”表,在其下的字段选择框中选择“sno”,单击关闭即可。见图4。
v1.0 可编辑可修改
4
图4
命令方式操作方法:
一、实体完整性
1.将“student”表的“sno”字段设为主键:
当“student”表已存在则执行:
当“student”表不存在则执行: v1.0 可编辑可修改
5
注:可用命令“drop table student”删除“student”表
2. 添加一身份证号字段,设置其惟一性.(注: 操作前应删除表中的所有记录)
第七章网络安全
7-01 计算机网络都面临哪几种威胁?主动攻击和被动攻击的区别是什么?对于计算机网
络的安全措施都有哪些?
答:计算机网络面临以下的四种威胁:截获(interception),中断(interruption),篡改
(modification),伪造(fabrication)。
网络安全的威胁可以分为两大类:即被动攻击和主动攻击。
主动攻击是指攻击者对某个连接中通过的PDU 进行各种处理。如有选择地更改、删除、
延迟这些PDU。甚至还可将合成的或伪造的PDU 送入到一个连接中去。主动攻击又可进一步
划分为三种,即更改报文流;拒绝报文服务;伪造连接初始化。
被动攻击是指观察和分析某一个协议数据单元PDU 而不干扰信息流。即使这些数据对
攻击者来说是不易理解的,它也可通过观察PDU 的协议控制信息部分,了解正在通信的协议
实体的地址和身份,研究PDU 的长度和传输的频度,以便了解所交换的数据的性质。这种被
动攻击又称为通信量分析。
还有一种特殊的主动攻击就是恶意程序的攻击。恶意程序种类繁多,对网络安全威胁 较大的主要有以下几种:计算机病毒;计算机蠕虫;特洛伊木马;逻辑炸弹。
对付被动攻击可采用各种数据加密动技术,而对付主动攻击,则需加密技术与适当的
鉴别技术结合。
7-02 试解释以下名词:(1)重放攻击;(2)拒绝服务;(3)访问控制;(4)流量分析;
(5)恶意程序。
答:(1)重放攻击:所谓重放攻击(replay attack)就是攻击者发送一个目的主机已接收
过的包,来达到欺骗系统的目的,主要用于身份认证过程。
(2)拒绝服务:DoS(Denial of Service)指攻击者向因特网上的服务器不停地发送大量
分组,使因特网或服务器无法提供正常服务。
(3)访问控制:(access control)也叫做存取控制或接入控制。必须对接入网络的权限
加以控制,并规定每个用户的接入权限。