辅导3-第3章数据库规范化与完整性.doc

上传人:jian****018 文档编号:9060506 上传时间:2020-04-02 格式:DOC 页数:10 大小:31KB
返回 下载 相关 举报
辅导3-第3章数据库规范化与完整性.doc_第1页
第1页 / 共10页
辅导3-第3章数据库规范化与完整性.doc_第2页
第2页 / 共10页
辅导3-第3章数据库规范化与完整性.doc_第3页
第3页 / 共10页
点击查看更多>>
资源描述
第3章数据库规范化与完整性学习目标本章从理论上讲解关系数据库的规范化和完整性理论。具体包括1理解关系模型、关系模式的基本概念2理解关系运算的基本方法3理解数据库完整性的概念4掌握关系规范化理论1.1 关系模型与关系模式1关系模型关系模型是建立在严格的数学概念的基础上的,其最大的优点是概念单一,是目前应该最广泛的数据模型。一个关系模型的逻辑结构就是一张二维表,它由行和列组成。(1)关系:对应通常所说的二维表,关系是笛卡尔积的一个子集;(2)元组:表中的一行即为一个元组,也称为记录;(3)属性:表中的一列即为一个属性,也称为字段;(4)域:属性的取值范围;(5)主关键字:指表中的一个或多个属性组,它可以惟一确定一个元组,也称主键、主码(Primary Key),主关键字可以是多个属性的结合体,即属性组。(6)外关键字:也称外键、外码(Foreign Key)。如果一个关系(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的并记作RS。对应的SQL语句SELECT * FROM 篮球爱好者UNIONSELECT * FROM 足球爱好者2. 交运算(intersect)两个关系的交运算是指,把第一和第二个关系中相同的记录提取出来,形成新关系的过程。假设两个关系R和S具有完全相同的结构,那么R和S的交仍是一个关系,这个新关系的结构与R或S的结构相同,它的值是R和S中共同具有的记录的集合。R和S的交记作RS。对应的SQL语句SELECT * FROM 篮球爱好者INTERSECTSELECT * FROM 足球爱好者注意:SQL Server 2000不支持上述操作。3. 差运算(difference)两个关系的差是指,在第一个关系中出现,而在第二个关系中不出现的记录组成的新关系。假设两个关系R和S具有完全相同的结构,则R和S的差仍是一个关系,这个新关系的结构与R或S的结构相同,它的值是从R中去掉在S中同时出现的记录后,由R中剩余记录所组成的集合。R和S的差记作RS。对应的SQL语句SELECT * FROM 篮球爱好者EXCEPTSELECT * FROM 足球爱好者注意:SQL Server 2000不支持上述操作。4. 笛卡尔积(cartesian product)两个关系的积是指,一个关系中每条记录和第二个关系的每条记录的连接。假设有一个具有n个属性的关系R和另一个具有m个属性的关系S,则它们的笛卡尔积仍是一个关系,这个新关系的结构是R和S的结构之连接,即前n个属性来自R,后m个属性来自S,属性个数等于n+m,该关系的值是由R中的每条记录连接S中的每个元组所构成记录的集合。R和S的笛卡尔积记作RS。对应的SQL语句SELECT * FROM 篮球爱好者, 足球爱好者1.2.3专门的关系运算 专门的关系运算包括选择、投影、连接和除四种。 1. 选择运算(select) 选择运算是指,从一个关系R中选择出满足给定条件的所有记录。这些被选择出的记录组成了一个新的关系,新关系同R具有相同的结构。选择运算实际上是一种横向划分(或称分割)关系的手段。它对应的SQL语句是:SELECT * FROM 表名 WHERE 条件2.投影运算(project)投影运算是指,从一个关系R中按所需顺序选取若干个属性构成新关系。这个新关系的记录数必然小于等于原关系R中的记录数,因为要从中去掉在新关系模式下重复的记录。选择运算实际上是一种纵向划分(或称分割)关系的手段。它对应的SQL语句是:SELECT 列1,列2,. FROM 表名3. 连接运算(join)连接运算是指,把两个关系R和S按相应属性值的比较条件连接起来,它是R和S的笛卡尔积的一个子集。比较条件就是比较运算表达式,运算符一般包括大于连接、小于等于连接、等于连接等。1.3 关系完整性 1.3.1关系完整性概述 关系完整性就是关系模型中数据的正确性、一致性和有效性。关系完整性又包括实体完整性、参照完整性和用户定义的完整性三个方面。 1. 实体完整性(entity integrity)主键惟一标识相应的对象,它绝对不能取空值。简单地说,关系中的主键不能取空值就是实体完整性规则。2. 参照完整性(refrence integrity)参照完整性规则就是指:在两个参照和被参照关系中,参照关系中每条记录的外键或者为空,或者等于被参照关系中某条记录的主键。3. 用户定义的完整性(used-defined integrity)1.3.2使用约束实施完整性SQL Server根据不同的用途提供了多种约束,主要包括:Primary Key约束、Foreign Key约束、Default约束、Unique约束、Check约束等。1Primary Key约束Primary Key约束也称主键约束,它有以下特征:(1)创建Primary Key约束时,SQL Server会自动创建一个惟一的聚集索引;(2)定义了Primary Key约束的字段的取值不能重复,并且不能取NULL值;(3)每个表只能定义一个Primary Key约束;(4)如果表中已经有了聚集索引,那么在创建Primary Key约束之前,要么指定所创建的是非聚集索引,要么删除已有的聚集索引。2Foreign Key约束Foreign Key也称外键约束,指某列的取值必须参照另外表的主键值,它的主要特征如下:(1)一旦Foreign Key约束定义了某个字段,则该字段的取值必须参照(References)同一表或另一表中的Primary Key约束或Unique约束。(2)Foreign Key约束不能自动建立索引。3. DEFAULT约束DEFAULT约束也称默认约束,主要作用是当用户没有为定义了Default约束的字段输入数据时,由Default约束提供默认数据。它的主要特征是:(1)每一个字段只能有一个Default约束;(2)Default约束不能放在Identity字段上或者TimeStamp字段上。因为这两种字段都能够自动插入数据。4UNIQUE约束具有Unique(惟一)约束的字段的值不能重复。主要特征是:(1)任何两条记录的相同字段的值不能重复,这是Unique约束最主要的特征。NULL值是最容易重复的值,因此最好将被定义了Unique约束的列定义为非空。(2)一个表可以有多个Unique约束;(3)创建Unique约束时,系统自动创建了非聚集索引。5. CHECK约束CHECK约束限制了字段的取值范围,比如人的性别只能是“男或女”两个取值,此时可以使用CHECK约束。其主要特征是:(1)限制了向特定的字段列输入数据的类型(2)表级定义的CHECK约束可以对多个字段列进行核查6删除约束如果需要将某个约束删除,可以使用ALTER TABLE语句,其语法格式是:ALTER TABLE 表名DROP CONSTRAINT 约束名1.4 关系的规范化1.4.1关系规范化的必要性关系规范化理论的基本思想是,每个关系都应满足一定的规范,才能使关系模式设计合理,达到减少冗余,提高查询效率的目的。看下面的关系模式:学生(学号,姓名,所在系,系主任姓名,课程名,成绩)。表1 学生表学号姓名所在系系主任姓名课程名成绩2007001刘峰计算机杨光数据库原理832007002张丽计算机杨光VB语言872007003张新自动化李冰软件工程902007004李伟自动化李冰数据库原理702007005钱红会计史新财务会计83在这个学生关系模式中至少存在以下4个问题:数据冗余、更新异常、插入异常、删除异常1.4.2函数依赖关系1.函数依赖与函数决定设一个关系为R,X和Y是它的两个属性集。若对于X上的每个值都有Y上的一个惟一值与之对应,则称X和Y具有函数依赖关系,并称X函数决定Y,或称Y函数依赖于X,称X为决定因素。2.部分函数依赖设一个关系为R,X和Y是它的两个属性集。若X函数决定Y,同时X的一个子集X也能够函数决定Y,则称X部分函数决定Y,或Y部分函数依赖于X。换句话说,只需拿出X属性集的一部分,就可以函数决定Y了,根本不需要全部属性。3.传递函数依赖一个关系为R,X,Y和Z是它的三个属性集,其中XY,YZ(但Y不包含Z,X也不函数依赖Y),则存在XZ,称此为传递函数依赖,即X传递函数决定Z,Z传递函数依赖于X。1.4.3范式与规范化规范化致力于解决关系模式中不合适的数据依赖问题,以便使其成为“好”的关系。1.第一范式(First Normal Form)(1)定义设一个关系为R,如果它的每个属性都是不可再分的,则称这个关系是符合第一范式的,简称为1NF(2)规范化方法达到第一范式的方法非常简单,只需把每个子属性提升为一般属性,就能变为满足第一范式的规范化关系。2. 第二范式(SecondNormal Form)(1)定义设一个关系为R,它是满足第一范式的,若R中不存在非主属性对主键的部分函数依赖,则称该关系是符合第二范式的,简称为2NF。(2)规范化的方法一般可通过关系分解的方法,消除部分函数依赖,达到第二范式。3.第三范式(Third Normal Form)(1)定义设一个关系为R,它是满足第二范式的,若R中不存在非主属性对主键的传递函数依赖,则称该关系是符合第三范式的,简称为3NF。若一个数据库中所有关系都达到的第三范式则称该数据库是符合第三范式的。(2)规范化的方法消除关系中的传递依赖也是通过不断的关系分解的方法来实现的。
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文书 > 方案规范


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!