《Web数据库技术应用教程(第二版)》课件第2章_第1页
《Web数据库技术应用教程(第二版)》课件第2章_第2页
《Web数据库技术应用教程(第二版)》课件第2章_第3页
《Web数据库技术应用教程(第二版)》课件第2章_第4页
《Web数据库技术应用教程(第二版)》课件第2章_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

通过本章的学习,重点了解如下内容:了解数据库的发展历程和未来趋势认识并理解关系数据库深入理解数据库设计过程的各个阶段及其使用的工具及方法熟练使用E-R图进行规范化关系数据库设计本章主要内容数据库技术是20世纪60年代中期产生的,是数据管理的最新技术有关概念和术语。(1)数据(Data)。数据是描述事物的符号记录,是客观事物的属性值,反映了客观事物的特性。(2)数据库(DataBase)。所谓数据库就是存储在计算机内、有组织、可共享的数据集合。2.1数据库简介

2.1数据库简介(序)(3)数据库管理系统(DBMS)。数据库管理系统是在操作系统支持下运行的专门用于数据管理的大型软件。统一管理、统一控制数据库的建立、运行和维护,使用户方便地定义和操纵数据库,并能够保证数据的安全性和完整性,提供多个用户对数据库的并发使用,还要在数据库发生故障后进行系统恢复。(4)数据库系统(DBS)。数据库系统就是引入数据库后的计算机系统。DBS一般由计算机硬件、计算机软件、数据库、DBMS、开发工具、应用系统、数据库管理员(DBA,DataBaseAdministrator)和用户组成。2.1.1数据库的发展历程数据处理随着计算机的发展而发展的,它的发展经历了以下阶段。人工管理阶段:20世纪50年代以前,计算机主要用于科学计算。该阶段的特点是:数据不进行保存,不共享;没有专门的数据管理软件;数据面向应用;只有程序的概念。文件系统阶段:50年代后期到60年代中期,计算机的应用逐渐扩大到管理领域。该阶段的特点是:数据可以长期保存在磁盘上;文件系统提供了数据与程序之间的存取方法;但是数据共享性差,冗余度大,独立性低。数据库系统阶段:60年代后期,70年代初,随着计算机性能的提高和价格的下降,计算机用于管理超过了用于科学计算,进入了数据库管理阶段。该阶段的特点是:能够面向整个组织定义复杂的数据结构;数据冗余小,易扩充;数据独立性好,具有较高的数据和程序独立性;系统提供统一的数据控制功能。2.1.1数据库的发展历程(序)数据库系统具有如下特点:(1)数据的集成性(2)高共享性与低冗余性(3)数据独立性(4)数据统一管理与控制2.1.1数据库的发展历程(序)数据库系统内部的抽象结构体系由三级模式与两级映射组成。三级模式包括:外模式、概念模式、内模式;两级映射是指外模式到概念模式的映射,概念模式到内模式的映射。数据模式是数据库系统中数据结构的一种表示形式,它具有不同的层次与结构方式,分别是:概念模式:是数据库中全体数据的逻辑结构和特征的描述。一个数据库只有一个概念模式。它与具体硬件、软件环境无关。外模式:用户所见到的数据模式,即用户数据视图。是数据库局部数据的逻辑结构和特征的描述。一个概念模式可以有若干个外模式。内模式:给出了数据库的物理存储结构与物理存取方法,即数据在数据库内部的表示方式。一个数据库只有一个内模式。2.1.2关系数据库关系数据库系统是支持关系模型的数据库系统。其模型的组成有以下3部分:(1)关系数据结构。(2)关系操作集合。(3)关系完整性约束。2.2数据库设计数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。评判数据库设计结果好坏的主要准则有:(1)完备性:数据库应能表示应用领域所需的所有信息,满足数据存储需求,满足信息需求和处理需求,同时数据是可用的、准确的、安全的。(2)一致性:数据库中的信息是一致的,没有语义冲突和值冲突。尽量减少数据的冗余,如果可能,同一数据只能保存一次,以保证数据的一致性。(3)优化:数据库应该规范化和高效率,易于各种操作,满足用户的性能需求。(4)易维护:好的数据库维护工作比较少;需要维护时,改动比较少而且方便,扩充性好,不影响数据库的完备性和一致性,也不影响数据库性能。2.2.1设计方法和过程规范化设计方法需求分析概念结构设计逻辑结构设计物理结构设计实施和维护需求说明概念模型逻辑模型物理模式数据库图2-2数据库设计步骤2.2.2需求分析需求分析就是收集、分析用户的需求,是后续步骤的基础。(1)任务。需求分析通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)的工作概况,明确用户的各种需求,并在此基础上确定新系统的功能。(2)重点。需求分析的重点是调查、收集与分析用户在数据管理中的信息要求、处理要求、安全性与完整性要求。(3)难点。用户缺少计算机知识,无法一下子准确地表达自己的需求,他们所提出的需求往往不断地变化;设计人员缺少用户的专业知识,不易理解用户的真正需求,甚至误解用户的需求。(4)步骤与方法。进行需求分析首先要调查清楚用户的实际需求并进行初步分析,与用户达成共识后进一步分析与表达这些需求。2.2.2需求分析(序)调查与初步分析用户需求按照以下步骤进行:1)调查组织机构情况。主要是调查组织部门的组成情况以及各部门的职责等。2)调查各部门的业务活动情况。调查重点之一,包括各个部门输入和使用什么数据,如何加工处理这些数据,输出什么信息,输出到什么部门,输出结果格式是什么。3)在熟悉业务活动的基础上,协助用户明确对新系统的各种要求。对新系统的要求包括信息要求、处理要求、完全性与完整性要求。4)对前面调查的结果进行初步分析。2.2.2需求分析(序)常用的调查方法有:1)跟班作业2)开调查会3)问卷调查4)访谈询问以上的调查方法,可能同时采用,主要目的是为了全面、准确地收集用户的需求。用户的积极参与是调查能否达到目的的关键。当然,如果还有不够清晰的地方,可以查阅与原系统有关的数据记录,进一步获得相关信息。2.2.2需求分析(序)数据流图(DataFlowDiagram,DFD),数据流描述系统中数据流动的过程。其主要成分有四种:数据流:用箭头表示,箭头方向表示数据流向,箭头上标明数据流的名称,数据流由数据项组成。数据存储:用来保存数据流,可以是暂时的,也可以是永久的,用双划线表示,并标明数据存储的名称。数据流可以从数据存储流入或流出,可以不标明数据流名。加工:是对数据进行处理的单元,用园角矩形表示,并在其内标明加工名称。数据的源点和终点:表示数据的来源和去处,代表系统外部的数据,用方框表示。2.2.2需求分析(序)2.2.2需求分析(序)2.2.2需求分析(序)数据字典:各类数据描述的集合数据字典的内容主要有1)数据项:数据项是不可再分的数据单位,数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系}2)数据结构:数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}3)数据流:数据流是数据结构在系统内传输的路径。数据流描述={数据流名,说明,数据流来源,数据流去向,组成:{数据结构},平均流量,高峰期流量}4)数据存储:数据存储是数据结构停留或保存的地方,也是数据流来源和去向之一。数据存储描述={数据存储名,说明,编号,流入的数据流,流出的数据流,组成:{数据结构},数据量,存取方式}5)处理过程:处理过程的具体处理逻辑一般用判定表或判定树来描述。数据字典中只需要描述处理过程的说明性信息。处理过程描述={处理过程名,说明,输入:{数据流},输出:{数据流},处理:{简要说明}}2.2.3概念结构设计与E-R模型

概念结构设计产生整体数据库的概念结构(概念模式)具有如下的特点:(1)能真实的反映现实世界,是现实世界的一个真实模型。(2)易于理解,是不熟悉计算机的用户与数据库设计者之间交换意见的桥梁,引导用户积极参与数据库的设计。(3)易于更改和扩充。(4)易于向关系等各种数据模型转换。2.2.3概念结构设计与E-R模型概念模型中用到的基本概念有:(1)实体(Entity)。客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念和联系。(2)属性(Attribute)。实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。例如,学生实体可以由学号、姓名、性别、年龄、所在系等属性来描述。(3)码(Key)。惟一标识实体的属性集称为码。例如,学生实体的学号、教师实体的工作证号等。(4)实体型(EntityType)。用实体名及其属性名集合来抽象和刻画的同类实体称为实体型。从而具有相同属性的实体必然具有相同的特征。(5)实体集(EntitySet)。相同类型的实体的集合称为实体集。例如,全体学生就是一个实体集,全体教师的集合也是一个实体集。2.2.3概念结构设计与E-R模型(序)(6)联系(Relationship)。现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系。实体型间的联系可以分为三类,如图2-4所示。2.2.3概念结构设计与E-R模型(序)1)一对一联系(1:1)。如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:1。2)一对多联系(1:n)。如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系;反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系。记为1:n。3)多对多联系(m:n):如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系;反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体B具有多对多联系,记为m:n。2.2.3概念结构设计与E-R模型(序)2.2.3概念结构设计与E-R模型(序)2.E-R模型:最常用的概念模型的表示方法简单的学生系统的E-R模型2.2.3概念结构设计与E-R模型(序)3.概念结构设计的方法和步骤设计概念结构一般有4种方法:(1)自顶向下。首先定义全局概念结构的框架,然后逐步细化。(2)自底向上。首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构。(3)逐步扩张。首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构。(4)混合策略。将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。2.2.3概念结构设计与E-R模型(序)设计概念结构,一般又分成两步:第一步:利用抽象机制对需求分析阶段收集的数据进行分类、组织形成实体、实体的属性、标识实体的码、确定实体之间的联系类型,设计分E-R图。第二步:概念设计的第二步是集成局部设计:各个局部视图即分E-R图建立好以后,需要对它们进行合并,集成为一个整体的数据概念结构即总E-R图。2.2.3概念结构设计与E-R模型(序)利用抽象机制设计分E-R图的步骤如下:(1)选择局部应用。需求分析阶段,已用多层数据流图和数据字典描述了整个系统。在多层的数据流图中的选择一个适当层次的数据流图,让这组图中每一部分对应一个局部应用,然后以这一层次的数据流图为出发点,设计分E-R图。(2)逐一设计分E-R图。将各局部应用涉及的数据分别从数据字典中抽取出来,参照数据流图,标定各局部应用中的实体、实体的属性、标识实体的码,确定实体之间的联系及其类型。2.2.3概念结构设计与E-R模型(序)集成局部E-R图的基本步骤如下:(1)合并。合并分E-R图。合理消除各分E-R图的冲突。(2)修改与重构。在初步E-R图中有可能存在一些冗余的数据与联系,冗余数据和冗余联系容易破坏数据库的完整性,给数据库维护增加困难,所以要消除不必要的冗余。并不是所有的冗余数据与冗余联系都必须加以消除,有时为了提高某些应用的效率,不得不以冗余信息作为代价。冗余一般根据用户的整体需求来确定。2.2.3概念结构设计与E-R模型(序)冲突的种类有如下几种:1)属性冲突:属性冲突包括属性域冲突和属性取值单位冲突。所谓属性域冲突就是属性值的类型、取值范围或取值集合不同。属性冲突的解决途径通常用讨论、协商等行政手段加以解决。2)命名冲突:命名冲突包括同名异义和异名同义。同名异义就是不同意义的对象在不同的局部应用中具有相同的名字。异名同义(一义多名)就是同一意义的对象在不同的局部应用中具有不同的名字。3)结构冲突:结构冲突有三种类型。第一类:同一对象在不同应用中具有不同的抽象。第二类:同一实体在不同局部视图中所包含的属性不完全相同;由于不同的局部应用关心的是该实体的不同侧面。第三类:实体之间的联系在不同局部视图中呈现不同的类型。2.2.4逻辑结构设计图2-12逻辑设计的设计步骤2.2.4逻辑结构设计(序)逻辑结构设计一般分成三步,步骤如下:(1)将概念结构转换为一般的关系模型、网状模型、层次模型。(2)将转换来的关系模型、网状模型、层次模型向特定的DBMS支持下的数据模型转换(加入DBMS的特点和限制)。(3)对数据模型进行优化。2.2.4逻辑结构设计(序)1.将E-R图转换为数据模型2.数据模型的优化3.设计用户子模式2.2.4逻辑结构设计(序)1.将E-R图转换为数据模型转换原则如下:(1)一个实体型转换为一个关系模式。实体型的属性转化为关系的属性,实体型的码转化为关系的码。(2)一个m:n联系转换为一个关系模式。关系的属性是与该联系相连的各实体的码以及联系本身的属性,关系的码是各实体码的组合。选修(学号,课程号,成绩)(3)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。若转换为一个独立的关系模式,则关系的属性是与该联系相连的各实体的码以及联系本身的属性,关系的码是n端实体的码。若与n端对应的关系模式合并,则合并后关系的属性是在n端关系中加入1端关系的码和联系本身的属性,合并后关系的码不变。这种方法可以减少系统中的关系个数。2.2.4逻辑结构设计(序)(4)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。若转换为一个独立的关系模式,则关系的属性就是与该联系相连的各实体的码以及联系本身的属性,关系的候选码就是每个实体的码。若与某一端对应的关系模式合并,则合并后关系的属性就是加入对应关系的码和联系本身的属性,合并后关系的码不变。(5)三个或三个以上实体间的一个多元联系转换为一个关系模式。关系的属性就是与该多元联系相连的各实体的码以及联系本身的属性,关系的码是各实体码的组合。(6)同一实体集的实体间的联系,即自联系,也可按上述1:1、1:n和m:n三种情况分别处理。(7)具有相同码的关系模式可以合并,目的是减少系统中的关系个数。2.2.4逻辑结构设计(序)2.数据模型的优化关系数据模型的优化通常以规范化理论为指导。为了研究规范化理论,我们首先来看几个定义:定义1:设R(U)是属性集U上的关系模式。X,Y是U的子集。若对于R(U)的任意—个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y或Y函数依赖于X,记作X→Y。2.2.4逻辑结构设计(序)下面介绍一些记号和术语。X→Y,但Y不属于X,则称X→Y是非平凡的函数依赖。若不特别声明,我们总是讨论非平凡的函数依赖。若X→Y,则X叫做决定因素(Determinant)。若X→Y,Y→X,则记作X←→Y。若Y不函数依赖于X,则记作X!→Y。2.2.4逻辑结构设计(序)定义2:在R(U)中,如果X→Y,并且对于X的任何—个真子集X',都有X'!→Y,则称Y对X完全函数依赖,记作:X完全→Y。若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作X部分→Y。定义3:在R(U)中,如果X→Y,(Y不属于X),Y!→X,Y→Z,则称Z对X传递函数依赖。2.2.4逻辑结构设计(序)1NF:作为一张二维表,如果每一个分量都是不可分的数据项。满足了这个条件的关系模式就属于1NF。2NF:若R∈1NF,且每一个非主属性完全函数依赖于码,则R∈2NF。3NF:若关系模式R中不存在这样的码X,属性组Y及非主属性组Z(Z!∈Y)使得X→Y,Y→Z,Y!→Z成立,则称R∈3NF。BCNF:在关系模式R中,若X→Y且Y!∈X时X必含有码,则R∈BCNF。也就是说,关系模式R中,若每一个决定因素都包含码,则R∈BCNF2.2.4逻辑结构设计(序)优化数据模型的方法如下:(1)确定数据依赖。按需求分析阶段所得到的语义,分别写出每个关系模式内部各属性之间的数据依赖以及不同关系模式属性之间的数据依赖。(2)对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。(3)按照数据依赖的理论对关系模式逐一进行分析,考查是否存在部分函数依赖、传递函数依赖、多值依赖等,确定各关系模式分别属于第几范式。例如:经过分析可知,课程关系模式属于BC范式。(4)按照需求分析阶段得到的各种应用对数据处理的要求,分析对于这样的应用环境这些模式是否合适,确定是否要对它们进行合并或分解。(5)按照需求分析阶段得到的各种应用对数据处理的要求,对关系模式进行必要的分解或合并,以提高数据操作的效率和存储空间的利用率。2.2.4逻辑结构设计(序)3.设计用户子模式(1)使用更符合用户习惯的别名。合并各分E-R图时曾做了消除命名冲突的工作,以使数据库系统中同一关系和属性具有惟一的名字。(2)针对不同级别的用户定义不同的外模式,以满足系统对安全性的要求。(3)简化用户对系统的使用。如果某些局部应用中经常要使用某些很复杂的查询,为了方便用户,可以将这些复杂查询定义为视图。2.2.5数据库物理设计设计物理数据库结构时要做好准备工作,准备工作主要有以下两点:(1)充分了解应用环境,详细分析要运行的事务,以获得选择物理数据库设计所需的参数。(2)充分了解所用RDBMS的内部特征,特别是系统提供的存取方法和存储结构。2.2.5数据库物理设计(序)选择物理数据库设计所需参数,对于数据库查询事务,要得到如下信息:1)查询的关系。2)查询条件所涉及的属性。3)连接条件所涉及的属性。4)查询的投影属性。2.2.5数据库物理设计(序)数据更新事务,要得到如下信息:1)被更新的关系。2)每个关系上的更新操作条件所涉及的属性。3)修改操作要改变的属性值。4)每个事务在各关系上运行的频率和性能要求。2.2.5数据库物理设计(序)通常关系数据库物理设计的内容如下:(1)为关系模式选择存取方法(建立存取路径)。(2)设计关系、索引等数据库文件的物理存储结构。2.2.5数据库物理设计(序)索引方法;聚簇(Cluster)方法:(1)索引存取方法的选择。选择索引存取方法主要根据应用要求确定对哪些属性列建立索引,对哪些属性列建立组合索引,对哪些索引要设计为惟一索引。选

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论