1、掌握关系数据库的基本概念、关系的规范化和关系代数掌握关系的完整性约束规则掌握数据库设计的基本过程学习目标2.2 关系的完整性2.3 数据库设计的基本过程目录2.1 关系数据库概述 关系数据库是采用关系模型作为数据的组织方式,是建立在数学集合概念基础之上的。2.1 关系数据库概述 常见的关系型数据库管理系统有DB2、ORACLE、SYBASE、INFOXMIX、ACCESS等2.1.1 基本术语 候选码(码、关键字):表中的某个属性或属性组合,其值可唯一确定一个元组。一个关系至少有一个候选码。主码(主关键字):从候选码中,选定的一个即为主码。一个关系只能有一个主码。如学生(学号,姓名,性别专业号
2、)。外码(外关键字):如果关系中的一个属性不是本关系的主码或候选码,而是另外一个关系的主码或候选码,则该属性称为外码。主属性:包含在主码中的属性称为主属性2.1.2 关系的规范化 规范化的基本思想是逐步消除数据依赖关系中不合适的部分,将一个不十分合理的关系模型转化为一个最佳的数据关系模型,它是围绕范式而建立的。主要的范式:1NF、2NF、3NF、BCNF、4NF和5NF。1NF:每一个字段都是原子数据项。2NF:在满足1NF的基础上,且关系中所有的非主属性完全依赖依赖于主码。学生(学号,姓名,性别,专业号,专业名)。3NF:在满足2NF的基础上,且消除了传递依赖。产品关系(产品代码,产品名、生
3、产厂、生产厂址)2.1.3 关系运算 在关系数据库中,经常需要对关系进行特定的关系运算操作。关系运算分成传统的关系运算和专门的关系运算。传统的关系运算有并、交、差和笛卡尔积等;专门的关系运算有选择、投影和连接。传统的关系运算中的并、交、差运算必须满足条件:参与运算的关系的属性个数相同,相应的属性值取自同一个域,即参与运算的关系必须具有相同的关系模式。2.1.3.1 传统的关系运算 并()由属于R或属于S的所有元组(去掉重复元组)组成的集合。记为RS。RS=t|tRtS例:交()由同时属于R和S的元组组成的集合。记为RS。RS=t|tRtS例:差(-)由只属于R而不属于S的元组组成的集合。记为R
4、-S。例:StRt|tS-R 笛卡尔积 设关系R有r个属性、n个元组,关系S有s个属性、m个元组,则它们的笛卡尔积运算定义为:|StRtttSRsrsr 其中,tr是R的元组,ts是S的元组,trts表示由R的元组和S的元组结合组成新的元组。RS 例:专门的关系运算包括选择、投影、连接和除运算。2.1.3.2 专门的关系运算选择运算是从关系中找出满足条件的元组(记录)。它可以根据用户的要求从关系中筛选出满足一定条件的元组,这种运算的结果是关系表中的元组的子集,其结构和原关系的结构相同。记作:选择运算)(|)(真tFRttRF例在学生关系ST中查询性别为男的全体学。)(ST男性别 投影运算是从关
5、系中选取若干个属性组成一个新的关系。它可以根据用户的要求从关系中选出若干属性(字段)组成新的关系。记作:投影运算|)(RtAtRA 例在学生关系ST中查询学生的学号和姓名,即对学生关系ST在学号和姓名两列进行投影。)(ST,姓名学号连接运算是将两个关系通过共同的属性名(字段名)连接成一个新的关系。连接运算可以实现两个关系的横向合并,在新的关系中反映出原来两个关系之间的联系。记作:连接运算其中,是比较运算符 等值连接:当为“=”时的连接运算,它是从关系R和S的笛卡尔积中选取A和B属性相等的那些元祖,记作:自然连接是一种特殊的等值连接,它要两个关系中进行比较的属性相同,属性值相等,并且在结果关系中
6、把重复的属性列去掉。记作:等值连接与自然连接的区别:自然连接要求相等的分量必须有相同属性名,等值连接则不必;自然连接要求把重复的属性列去掉,而等值连接不要求;例根据学生关系ST、专业关系SP对应,求等值连接和自然连接(专业号)2.2 关系的完整性 为了保证关系中数据的正确和有效,需建立数据完整性的约束机制来加以控制。关系的完整性是指关系中的数据及具有关联关系的数据间必须遵循的制约条件和依存关系,以保证数据的正确性、有效性和相容性。关系的完整性主要包括实体完整性、域完整性和参照完整性。实体完整性是指关系中的主属性值不能取空值(NULL)且不能有相同值,保证关系中的记录的唯一性,是对主属性的约束。
7、也可表述为:若属性A是关系R的主属性,则属性A不能取空值且不能有相同值。实体完整性 域完整性约束也称为用户自定义完整性约束,是用户对数据表中字段属性的约束,它包括字段的值域、字段的类型及字段的有效规则等约束。域完整性 参照完整性是对关系数据库中建立关联关系的数据表之间数据参照引用的约束,也就是对外关键字的约束。准确地说,参照完整性是指关系中的外关键字必须是另一个关系的主关键字的有效值,或者是NULL。参照完整性 也可表述为:若属性(或属性组)F是关系R的外码,它与关系S的主码Ks相对应,则R中每个元组在F上的值只能符合两种情况之一:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主
8、码值。参照完整性 学生(学号,姓名,性别,班级,专业号)专业(专业号,专业名,负责人,简介)参照完整性 数据库是信息管理软件的核心,数据库设计合理与否至关重要。规范的数据库设计方法是新奥尔良方法,将数据库设计分成了四个阶段:需求分析 概念结构设计 逻辑结构设计 物理结构设计2.3 数据库设计的基本过程 在新奥尔良法的指导下,结合数据库实际应用和开发需要,通常将数据库设计的过程分为六个阶段:需求分析阶段 概念结构设计 逻辑结构设计 物理结构设计数据库实施阶段数据库的运行和维护阶段 需求分析阶段主要任务就是获取用户的需求,了解相关领域的业务知识。需求分析是数据库设计的基础的,直接影响着系统的合理性
9、和实用性。需求分析阶段 需求分析主要工作:1、分析用户活动,产生业务流程图业务流程图 2、确定系统范围,产生系统范围图系统范围图 3、分析用户活动涉及的数据,产生数据流程图数据流程图 4、分析系统数据,产生数据字典数据字典需求分析阶段确定全部的用户需求是一件很困难的事情:第一,系统本身的需求是变化的,用户的需求必须不断调整,使之与这种变化一致。第二,由于用户缺少计算机信息系统设计方面的专业知识,要表达他们的需求很困难。特别是很难说清楚某部分工作的功能与处理过程。第三,要调动用户的积极性,使他们能积极参与系统的分析与设计工作相当困难。需求分析阶段 它是数据库设计的关键,形成信息世界中的概念模型。
10、一般常用E-R模型来表示。概念结构设计阶段 (1)能真实、充分地反映现实世界,包括事物和事物之间的联系,能满足用户对数据的处理要求。是对现实世界的一个真实模拟。(2)易于理解,从而可以用它和不熟悉计算机的用户交换意见,用户的积极参与是数据库的设计成功的关键。(3)易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。(4)易于向关系、网状、层次等各种数据模型转换。概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定。概念结构设计阶段 逻辑结构设计阶段就是将概念结构设计阶段形成的概念模型转换成DBMS所支持的数据模型即逻辑模型。逻辑结构设计阶段 设计逻辑结构
11、时一般要分三步进行:(1)将概念结构转换为一般的关系、网状、层次模型;(2)将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换:(3)对数据模型进行优化。逻辑结构设计阶段逻辑结构设计阶段概念模型向数据模型转化原则l 将实体型转换为关系模式 将E-R图中的每个实体型转换成一个关系模式,实体的属性成为关系的属性,实体的码成为关系的码。例将学生实体型E-R转换为学生关系模式。学生实体及其属性 该关系模式为:学生(学号,姓名,性别,年龄)l 将实体之间的联系转换为关系模式 1:1联系的转换:合并方式和独立方式。1:n联系的转换:独立方式和合并方式。m:n联系的转换:独立方式。l 将实体之
12、间的联系转换为关系模式 1:1联系的转换 独立方式:与该联系相连的各实体的码以及联系本身的属性均转换为新关系的属性,每个实体的码均是该关系的候选码;合并方式:可与联系关联的任一实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性 例将某学校的校长任职E-R图转换成关系模式独立方式转换后的关系模式有:学校(校名,地址,电话)校长(姓名,性别,年龄,职称)任职(校名,姓名,任职年月)合并方式转换后的关系模式有:学校(校名,地址,电话)校长(姓名,性别,年龄,职称,校名,任职年月)l 将实体之间的联系转换为关系模式 1:n联系的转换 独立方式:与该联系相连的各实体
13、的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。合并方式:可与n端对应实体的关系模式合并。与该联系相连1端实体的码以及联系本身的属性均并入n端实体的对应的关系模式,关系的码为n端实体的码。例将学生和班级E-R图转换成关系模式独立方式转换后的关系模式有:学生(学号,姓名,性别,年龄)班级(班级编号,所属专业)组成(学号,班级编号)合并方式转换后的关系模式有:学生(学号,姓名,性别,年龄,班级编号)班级(班级编号,所属专业)l 将实体之间的联系转换为关系模式 m:n联系的转换:独立方式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。例
14、学生选课的E-R图转换为关系模式转换后的关系模式有:学生(学号,姓名,性别,年龄,班级编号)班级(班级编号,所属专业)课程(课程号,课程名,学分)选修(学号,课程号,成绩)例学生选课管理的E-R图转换为关系模式转换后的关系模式有:学生(学号,姓名,性别,年龄,班级编号)班级(班级编号,所属专业)课程(课程号,课程名,学分)选修(学号,课程号,成绩)物理结构设计阶段是为逻辑模型选取一个最合适的应用环境的物理结构(存储结构和存取方法等)。物理结构设计阶段 数据库的物理设计通常分为两步:(1)确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;(2)对物理结构进行评价,评价的重点是时间和空
15、间效率。物理结构设计阶段 根据逻辑结构和物理结构设计的结果建立数据库,编写和调试应用程序,进行试运行。数据库实施阶段 数据库实施阶段包括两项重要的工作:(1)数据的载入,(2)应用程序的编码和调试。数据库的试运行 要实际运行数据库应用程序,执行对数据库的各种操作,测试应用程序的功能是否满足设计要求。数据库实施阶段 数据库应用系统经过试运行后可投入正式运行,运行过程中需要对应用系统进行必要的维护:系统调整修改、数据库的备份和恢复等。数据库运行和维护阶段 具体包括:1数据库的转储和恢复 2数据库的安全性、完整性控制 3数据库性能的监督、分析和改造 4数据库的重组织与重构造数据库运行和维护阶段 学校
16、有若干个系,每个系有若干名教师;每个教师可以教授多门课程,每个学生可以同时选修多门课程。根据第一章设计的教学管理E-R模型转换为关系模型。课后应用题课后应用题教学管理E-R简图课后应用题 步骤一:将实体型转换为关系模式学校(学校代码,学校,校址,)系(系号,系名,)教师(教师编号,姓名,性别,)课程(课程编号,课程名称,)学生(学号,姓名,性别,系号)课后应用题 步骤二:将实体型之间联系转换为关系模式 组成(学校代码,系号)构成(教师编号,系号)教授(教师编号,课程编号)选修(学号,课程号,成绩)课后应用题 步骤三:将教学管理系统的E-R模型转换关系模型的关系模式:学校(学校代码,学校,校址,
17、)系(系号,系名,)教师(教师编号,姓名,性别,)课程(课程编号,课程名称,)学生(学号,姓名,性别,系号)组成(学校代码,系号)课后应用题 步骤三:将教学管理系统的E-R模型转换关系模型的关系模式:构成(教师编号,系号)教授(教师编号,课程编号)选修(学号,课程号,成绩)设商场的商品销售中涉及的三个实体集:商品、员工和供应商。商品包括商品的编号、商品名称、型号、单位、单价、供应商等属性,员工包括员工编号、姓名、性别、职务、部门等属性,供应商包括供应商编号、供应商名称、地址、联系人、电话等属性。一个员工可以销售多种商品,一种商品可以有多个员工销售。销售业务发生时要记录业务序号、销售日期、数量和
18、金额。根据第一章设计E-R模型转换为关系模型。课后应用题课后应用题商品销售系统的完整的E-R图课后应用题 步骤一:将实体型转换为关系模式 商品(商品的编号,商品名称,型号,单位,单价,供应商)员工(员工编号,姓名,性别,职务,部门)供应商(供应商编号,供应商名称,地址,联系人,电话)课后应用题 步骤二:将实体型之间联系转换为关系模式 销售(商品的编号,员工编号,业务序号,销售日期,数量,金额)供应(供应商编号,商品编号)精品课件精品课件!精品课件精品课件!课后应用题 步骤三:将商品销售系统的E-R模型转换关系模型的关系模式:商品(商品的编号,商品名称,型号,单位,单价,供应商)员工(员工编号,姓名,性别,职务,部门)供应商(供应商编号,供应商名称,地址,联系人,电话)销售(商品的编号,员工编号,业务序号,销售日期,数量,金额)供应(供应商编号,商品编号)