辅导3第3章数据库规范化与完整性文档格式.docx

上传人:b****5 文档编号:18769343 上传时间:2023-01-01 格式:DOCX 页数:7 大小:18.90KB
下载 相关 举报
辅导3第3章数据库规范化与完整性文档格式.docx_第1页
第1页 / 共7页
辅导3第3章数据库规范化与完整性文档格式.docx_第2页
第2页 / 共7页
辅导3第3章数据库规范化与完整性文档格式.docx_第3页
第3页 / 共7页
辅导3第3章数据库规范化与完整性文档格式.docx_第4页
第4页 / 共7页
辅导3第3章数据库规范化与完整性文档格式.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

辅导3第3章数据库规范化与完整性文档格式.docx

《辅导3第3章数据库规范化与完整性文档格式.docx》由会员分享,可在线阅读,更多相关《辅导3第3章数据库规范化与完整性文档格式.docx(7页珍藏版)》请在冰豆网上搜索。

辅导3第3章数据库规范化与完整性文档格式.docx

表中的一列即为一个属性,也称为字段;

  (4)域:

属性的取值范围;

  (5)主关键字:

指表中的一个或多个属性组,它可以惟一确定一个元组,也称主键、主码(PrimaryKey),主关键字可以是多个属性的结合体,即属性组。

  (6)外关键字:

也称外键、外码(ForeignKey)。

如果一个关系(R1)中的属性或属性组是另一个关系(R2)的主键,那么我们称这个属性或属性组为R1的外关键字,简称外键。

  2.关系模式

  关系模式是对关系的描述,一般表示为:

关系名(属性1,属性2,…)。

  关系实际上就是关系模式在某一时刻的状态或内容。

也就是说,关系模式是型,关系是它的值。

关系模式是静态的、稳定的,而关系是动态的、随时间不断变化的,因为关系操作在不断地更新着数据库中的数据。

1.2关系操作

1.2.1关系操作概述

  关系模型中常用的关系操作包括:

选择、投影、连接、除、并、交、差等。

  关系代数和关系演算两种语言在表达能力上是完全等价的。

1.2.2传统的集合运算

  传统的集合运算包括并、交、差和笛卡尔积等四种运算,对应的运算符分别用∪、∩、―和×

表示。

  1.并运算(unin)

  两个关系的并运算是指,将第一个关系的记录加到第二个关系中,生成新关系的过程。

假设有两个关系R和S,它们具有完全相同的结构,那么R和S的并仍是一个关系,这个新关系的结构与R或S的结构相同,它的值是R中所有记录与S中所有记录共同组成的集合。

R和S的并记作R∪S。

  对应的SQL语句

  SELECT*FROM篮球爱好者

  UNION

  SELECT*FROM足球爱好者

  2.交运算(intersect)

  两个关系的交运算是指,把第一和第二个关系中相同的记录提取出来,形成新关系的过程。

假设两个关系R和S具有完全相同的结构,那么R和S的交仍是一个关系,这个新关系的结构与R或S的结构相同,它的值是R和S中共同具有的记录的集合。

R和S的交记作R∩S。

  INTERSECT

  注意:

SQLServer2000不支持上述操作。

  3.差运算(difference)

  两个关系的差是指,在第一个关系中出现,而在第二个关系中不出现的记录组成的新关系。

假设两个关系R和S具有完全相同的结构,则R和S的差仍是一个关系,这个新关系的结构与R或S的结构相同,它的值是从R中去掉在S中同时出现的记录后,由R中剩余记录所组成的集合。

R和S的差记作R―S。

  EXCEPT

  4.笛卡尔积(cartesianproduct)

  两个关系的积是指,一个关系中每条记录和第二个关系的每条记录的连接。

假设有一个具有n个属性的关系R和另一个具有m个属性的关系S,则它们的笛卡尔积仍是一个关系,这个新关系的结构是R和S的结构之连接,即前n个属性来自R,后m个属性来自S,属性个数等于n+m,该关系的值是由R中的每条记录连接S中的每个元组所构成记录的集合。

R和S的笛卡尔积记作R×

S。

  SELECT*FROM篮球爱好者,足球爱好者

1.2.3专门的关系运算

  专门的关系运算包括选择、投影、连接和除四种。

  1.选择运算(select)

  选择运算是指,从一个关系R中选择出满足给定条件的所有记录。

这些被选择出的记录组成了一个新的关系,新关系同R具有相同的结构。

选择运算实际上是一种横向划分(或称分割)关系的手段。

它对应的SQL语句是:

  SELECT*FROM表名WHERE条件

  2.投影运算(project)

  投影运算是指,从一个关系R中按所需顺序选取若干个属性构成新关系。

这个新关系的记录数必然小于等于原关系R中的记录数,因为要从中去掉在新关系模式下重复的记录。

选择运算实际上是一种纵向划分(或称分割)关系的手段。

  SELECT列1,列2,...FROM表名

  3.连接运算(join)

  连接运算是指,把两个关系R和S按相应属性值的比较条件连接起来,它是R和S的笛卡尔积的一个子集。

比较条件就是比较运算表达式,运算符一般包括大于连接、小于等于连接、等于连接等。

1.3关系完整性

1.3.1关系完整性概述

  关系完整性就是关系模型中数据的正确性、一致性和有效性。

关系完整性又包括实体完整性、参照完整性和用户定义的完整性三个方面。

  1.实体完整性(entityintegrity)

  主键惟一标识相应的对象,它绝对不能取空值。

简单地说,关系中的主键不能取空值就是实体完整性规则。

  2.参照完整性(refrenceintegrity)

  参照完整性规则就是指:

在两个参照和被参照关系中,参照关系中每条记录的外键或者为空,或者等于被参照关系中某条记录的主键。

  3.用户定义的完整性(used-definedintegrity)

1.3.2使用约束实施完整性

  SQLServer根据不同的用途提供了多种约束,主要包括:

PrimaryKey约束、ForeignKey约束、Default约束、Unique约束、Check约束等。

  1.PrimaryKey约束

  PrimaryKey约束也称主键约束,它有以下特征:

  

(1)创建PrimaryKey约束时,SQLServer会自动创建一个惟一的聚集索引;

  

(2)定义了PrimaryKey约束的字段的取值不能重复,并且不能取NULL值;

  (3)每个表只能定义一个PrimaryKey约束;

  (4)如果表中已经有了聚集索引,那么在创建PrimaryKey约束之前,要么指定所创建的是非聚集索引,要么删除已有的聚集索引。

  2.ForeignKey约束

  ForeignKey也称外键约束,指某列的取值必须参照另外表的主键值,它的主要特征如下:

  

(1)一旦ForeignKey约束定义了某个字段,则该字段的取值必须参照(References)同一表或另一表中的PrimaryKey约束或Unique约束。

  

(2)ForeignKey约束不能自动建立索引。

  3.DEFAULT约束

  DEFAULT约束也称默认约束,主要作用是当用户没有为定义了Default约束的字段输入数据时,由Default约束提供默认数据。

它的主要特征是:

  

(1)每一个字段只能有一个Default约束;

  

(2)Default约束不能放在Identity字段上或者TimeStamp字段上。

因为这两种字段都能够自动插入数据。

  4.UNIQUE约束

  具有Unique(惟一)约束的字段的值不能重复。

主要特征是:

  

(1)任何两条记录的相同字段的值不能重复,这是Unique约束最主要的特征。

NULL值是最容易重复的值,因此最好将被定义了Unique约束的列定义为非空。

  

(2)一个表可以有多个Unique约束;

  (3)创建Unique约束时,系统自动创建了非聚集索引。

  5.CHECK约束

  CHECK约束限制了字段的取值范围,比如人的性别只能是“男或女”两个取值,此时可以使用CHECK约束。

其主要特征是:

  

(1)限制了向特定的字段列输入数据的类型

  

(2)表级定义的CHECK约束可以对多个字段列进行核查

  6.删除约束

  如果需要将某个约束删除,可以使用ALTERTABLE语句,其语法格式是:

  ALTERTABLE表名

  DROPCONSTRAINT约束名

1.4关系的规范化

1.4.1关系规范化的必要性

  关系规范化理论的基本思想是,每个关系都应满足一定的规范,才能使关系模式设计合理,达到减少冗余,提高查询效率的目的。

  看下面的关系模式:

学生(学号,姓名,所在系,系主任姓名,课程名,成绩)。

表1学生表

学号

姓名

所在系

系主任姓名

课程名

成绩

刘峰

计算机

杨光

数据库原理

83

张丽

VB语言

87

张新

自动化

李冰

软件工程

90

李伟

70

钱红

会计

史新

财务会计

  在这个学生关系模式中至少存在以下4个问题:

  数据冗余、更新异常、插入异常、删除异常>

1.4.2函数依赖关系

  1.函数依赖与函数决定

  设一个关系为R,X和Y是它的两个属性集。

若对于X上的每个值都有Y上的一个惟一值与之对应,则称X和Y具有函数依赖关系,并称X函数决定Y,或称Y函数依赖于X,称X为决定因素。

  2.部分函数依赖

若X函数决定Y,同时X的一个子集X’也能够函数决定Y,则称X部分函数决定Y,或Y部分函数依赖于X。

换句话说,只需拿出X属性集的一部分,就可以函数决定Y了,根本不需要全部属性。

  3.传递函数依赖

  一个关系为R,X,Y和Z是它的三个属性集,其中X→Y,Y→Z(但Y不包含Z,X也不函数依赖Y),则存在X→Z,称此为传递函数依赖,即X传递函数决定Z,Z传递函数依赖于X。

1.4.3范式与规范化

  规范化致力于解决关系模式中不合适的数据依赖问题,以便使其成为“好”的关系。

  1.第一范式(FirstNormalForm)

  

(1)定义

  设一个关系为R,如果它的每个属性都是不可再分的,则称这个关系是符合第一范式的,简称为1NF

  

(2)规范化方法

  达到第一范式的方法非常简单,只需把每个子属性提升为一般属性,就能变为满足第一范式的规范化关系。

  2.第二范式(SecondNormalForm)

  设一个关系为R,它是满足第一范式的,若R中不存在非主属性对主键的部分函数依赖,则称该关系是符合第二范式的,简称为2NF。

  

(2)规范化的方法

  一般可通过关系分解的方法,消除部分函数依赖,达到第二范式。

  3.第三范式(ThirdNormalForm)

  设一个关系为R,它是满足第二范式的,若R中不存在非主属性对主键的传递函数依赖,则称该关系是符合第三范式的,简称为3NF。

若一个数据库中所有关系都达到的第三范式则称该数据库是符合第三范式的。

  消除关系中的传递依赖也是通过不断的关系分解的方法来实现的。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 其它语言学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1