(2)开调查会。通过与用户座谈来了解业务活动情况及用户需求。座谈时,参加者之间可以相互启发。
(3)请专人介绍。
(4)询问。对某些调查中的问题,可以找专人询问。
(5)设计调查表请用户填写。如果调查表设计得合理,这种方法是很有效,也很易于为用户接受的。
(6)查阅记录。即查阅与原系统有关的数据记录,包括原始单据、账簿、报表等。 需求分析的过程一般是:
(7)分析用户活动,产生业务流程图:了解用户当前的业务活动和职能,理清其处理流程。把用户业务分成若干个子处理过程,使每个处理功能明确、界面清楚,画出业务流程图
(8)确定系统范围,产生系统范围图:在和用户经过充分讨论的基础上,确定计算机所能进行数据处理的范围,确定哪些工作由人工完成,哪些工作由计算机系统完成,即确定人机界面。
(9)分析用户活动所涉及的数据,产生数据流图:深入分析用户的业务处理,以数据流图(Data Flow Diagram,DFD)形式表示出数据的流向和对数据所进行的加工。DFD有四个基本成分:数据流、加工或处理、文件、外部实体。DFD可以形象地表示数据流与各业务活动的关系,它是需求分析的工具和分析结果的描述手段。
(10)分析系统数据,产生数据字典:仅仅有DFD并不能构成需求说明书,DFD只表示出系统有哪几部分组成和各个部分之间的关系,并没有说明各个成分的含义。数据字典提供对数据库时间描述的集中管理,它的功能是存储和检索各种数据描述(元数据Metadata),数据字典是数据收集和数据分析的主要成果,在数据库设计中占有很重要地位。
(11)功能分析:数据库的设计是与应用系统的设计紧密结合的过程,离开一定的功能,数据库就失去其存在价值。数据库设计的一个重要特点是结构(数据)和行为(功能)的结合。用户希望系统能提供的功能必须有一个清晰的描述。功能分析可以采用软件结构图或模块图来表示系统的层次分解关系、模块调用关系。
5.4 评审在数据库设计中有什么作用?为什么允许设计过程中有多次的回溯与重复? 评审的作用在于确认某一阶段的任务是否全部完成,通过评审可以及早发现系统设计中的错误,并在生存期的早期阶段给予纠正,以减少系统研制的成本。 如果在数据库已经实现时再发现设计中的错误,那么代价比较大。因此应该允许设计过程的回溯与反复。设计过程需要根据评审意见修改所提交的阶段设计成果,有时修改甚至要回溯到前面的某一阶段,进行部分乃至全部重新设计。 5.5 数据字典的内容和作用是什么?
数据字典是将数据流程图中各个要素的具体内容和特征,以特定格式记录下来,所形成的文档。它主要包括:数据项、数据结构、数据流、加工、文件、外部实体等内容。在数据库设计过程中,数据字典被不断地充实、修改和完善。
对数据库设计来讲,数据字典是进行数据收集和数据分析所获得的主要成果,是各类数据描述的集合。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。
5.6 什么是数据库的概念结构?数据库的概念结构设计的特点和方法是什么?
将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。 对数据库概念模型有以下要求:
(1)有丰富的语义表达能力,能表达用户的各种需求。
31
(2)易于交流和理解,从而可以用它和不熟悉计算机的用户交换意见。
(3)要易于更改。当应用环境和应用要求改变时,概念模型要能很容易的修改和扩充以反映这种变化。
(4)易于向各种数据模型转换。 (1)集中式模式设计法
即首先定义全局概念结构的框架,然后逐步细化。例如,可以先确定几个高级实体类型,然后在确定其属性时,把这些实体类型分裂为更低一层的实体类型和联系。
(2)视图集成法
以各部分的需求说明为基础,分别设计各自的局部模式,这些局部模式相当于各部分的视图,然后再以这些视图为基础,集成为一个全部模式。视图是按照某个用户组、应用或部门的需求说明,用E-R数据模型设计的局部模式。
(3)混合方法
即将集中式模式设计法和视图集成法相结合,用集中式模式设计法设计一个全局概念结构的框架,以它为骨架集成由视图集成法中设计的各局部概念结构。 (4)由内向外法
首先定义最重要的核心概念结构,然后向外扩充,考虑已存在概念附近的新概念使得建模过程向外扩展。 使用该策略,可以先确定模式中比较明显的一些实体类型,然后继续添加其它相关的实体类型。
5.7 什么是视图集成?视图集成的方法是什么?
以各部分的需求说明为基础,分别设计各自的局部模式,这些局部模式相当于各部分的视图,然后再以这些视图为基础,集成为一个全部模式。视图是按照某个用户组、应用或部门的需求说明,用E-R数据模型设计的局部模式。
子视图的集成是一个非常复杂的过程,需要一个更加严格和系统化的方法。下面介绍一些用于视图合并的策略: 1)二元集成
首先对两个比较类似的模式进行集成。然后把结果模式和另外一个模式集成,不断重复该过程直到所有模式被集成。可以根据模式的相似程度确定模式集成的顺序。由于集成是逐步进行的,所以该策略适用于手工集成。
2)n元集成
对视图的集成关系进行分析和说明之后,在一个过程中完成所有视图的集成。对于规模较大的设计问题,这个策略需要使用计算机化的工具,目前有一些这种工具的原型,但还没有成熟的商业产品。
3)二元平衡策略
首先将模式成对地进行集成,然后再将结果模式成对地进一步集成,不断重复该过程直至得到最终的全局模式。
4)混合策略(mixed strategy)
首先,根据模式的相似性把它们划分为不同的组,对每个组单独地进行集成。然后对中间结果进行分组并集成,重复该过程直至集成结束。
5.8 视图集成时,分E-R图之间的冲突有哪些?解决这些冲突的方法是什么?
由于局部概念设计相对简单,因此简化了全局模式的设计。但是,在将局部视图合成为全局视图的时候,需要一个方法学在集成时具体地解决下列问题:
1)确定模式之间的对应和冲突
32
由于各子模式是分开进行设计的,因此有必要在集成之前确定各模式表示的是否是同一个现实世界的概念结构。在此过程中,模式间可能会发生如下的一些冲突:
①属性冲突
? 属性域冲突,即属性值的类型、取值范围或取值集合不同,如零件号,有的部门作
为整数对待,有的部门则使用字符串。不同部门对零件号的编码也可能不同。 ? 属性取值单位冲突:如零件重量,有的部门以公斤为单位,有的部门以克为单位。 ②命名冲突
包括同名异义和异名同义。如科研项目,财务科称为项目,科研处称为课题,生产管理处称为工程,这就是一个异名同义的例子。
③结构冲突
? 同一对象在不同应用中具有不同的抽象。如在教学管理中,职称是一个属性;而在
人事管理中,因为职称与工资、住房挂钩,因此是一个实体。 ? 同一实体在不同局部视图中所包含的属性不完全相同。
? 实体间的联系在不同分E-R图中为不同类型:如生产子系统分E-R图中,产品和零
件构成1:n联系。而物资子系统分E-R图中,产品、零件、供应商三者构成多对多联系。
2) 修改视图使得相互一致
对一些模式进行修改,以便于其它模式相符合。这一步可以解决上一步发现的冲突。 3)合并视图
通过创建单个子视图来创建全局视图。相应的概念在全局模式中只出现一次,并且要确定子视图和全局视图之间的映射关系。在涉及到数百个实体和联系的现实数据库中,这一步是最为困难的。因为牵扯到大量的人为干预和协商来解决冲突,并且要确定全局模式的一个最为合理并且能够接受的解决方案。
4)重构
该步骤是一个可选步骤,可能会对全局模式进行分析和重构,以删除任何冗余和不必要的内容。
5.9 试述数据库逻辑结构设计的步骤。
逻辑结构设计阶段需要完成的任务有:
(1)将E-R模型转换为等价的关系模式。 (2)按需要对关系模式进行规范化。 (3)对规范化后的模式进行评价。
(4)根据局部应用的需要,设计用户外模式。
5.10试述E-R图转换成关系模型的转换规则。
E-R图向关系模型的转换一般应遵循如下原则:
(1)一个实体型转换为一个关系模式。实体的属性就是关系的属性。实体的属性就是关系的属性。实体的码就是关系的码。
例如在例子中,学生实体可以转换为如下关系模式,其中学号为学生关系的码:学生(学号,姓名,出生日期,院系,专业,班级,宿舍) 同样宿舍、班级、专业、院系都分别转换为一个关系模式。
(2)一个联系转化为一个关系模式,与该联系相连的各实体的码以及联系的属性转化为关系的属性,该关系的码则有几种情况:
? 若联系为1:1,则每个实体的码均是该关系的后选码。
33
? 若联系为1:n,则关系的码为n端实体的码。 ? 若联系为m:n,则关系的码为诸实体码的组合。 ? 三个或三个以上实体间的多元联系。 同一实体集的实体间的联系,即自联系。 1)联系为1:1
一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。
2)联系为1:n
一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。如果与n端对应的关系模式合并,则在n端实体对应模式中加入1端实体所对应关系模式的码,以及联系本身的属性。而关系的码为n端实体的码。
3)联系为m:n
一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性。而关系的码为各实体码的组合。
4)三个或三个以上实体间的多元联系
三个或三个以上实体间的一个多元联系转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性。而关系的码为各实体码的组合。
5)同一实体集的实体间的联系,即自联系,也可按上述1:1、1:n和m:n三种情况分别处理。
(3)具有相同码的关系模式可合并。 为了减少系统中的关系个数,如果两个关系模式具有相同的主码,可以考虑将他们合并为一个关系模式。合并方法是将其中一个关系模式的全部属性加入到另一个关系模式中,然后去掉其中的同义属性(可能同名也可能不同名),并适当调整属性的次序。
5.11规范化理论对数据库设计有什么指导意义。
应用规范化理论对逻辑设计阶段产生的逻辑模式进行初步优化,以减少乃至消除关系模式中存在的各种异常,改善完整性、一致性和存储效率。规范化理论是数据库逻辑设计的指南和工具,规范化过程分为两个步骤:确定范式的级别和实施规范化处理(模式分解)。
5.12试述数据库中对逻辑结构设计结果进行优化的方法。
(1)确定范式级别
考察关系模式的函数依赖关系,确定范式等级。找出所有“数据字典”中得到的数据之间的依赖关系,对各模式之间的数据依赖进行极小化处理,消除冗余的联系。按照数据依赖理论对关系模式逐一进行分析,考察是否存在部分函数依赖、传递函数依赖和多值依赖等,确定各关系模式属于第几范式。
(2)实施规范化处理
确定范式级别后,根据应用需求,判断它们对于这样的应用环境是否合适,确定对于这些模式是否进行合并或分解。
对关系模式进行必要的分解,提高数据操作的效率和存储空间的利用率。常用的方法是水平分解和垂直分解两种分解方法。
34
5.13 试述数据库物理设计的内容和步骤。
数据库最终要存储在物理设备上。对于给定的逻辑数据模型,选取一个最适合应用环境的物理结构的过程,称为数据库物理设计。物理设计的任务是为了有效地实现逻辑模式,确定所采取的存储策略。此阶段是以逻辑设计的结果作为输入,结合具体DBMS的特点与存储设备特性进行设计,选定数据库在物理设备上的存储结构和存取方法。
数据库的物理设计可分为两步:
(1)确定物理结构,在关系数据库中主要指存取方法和存储结构; (2)对物理结构进行评价,评价的重点是时间和空间效率。
5.14 数据库实施阶段主要任务?
数据库实施是指根据逻辑设计和物理设计的结果,在计算机上建立起实际的数据库结构、装入数据、进行测试和试运行的过程。
数据库实施主要包括以下工作: ? 建立实际数据库结构; ? 组织数据入库
? 编制与调试应用程序 ? 数据库试运行
5.15 数据库系统投入运行后,有哪些维护工作?
在数据库运行阶段,对数据库经常性的维护工作主要是由DBA完成的,它包括: (1)数据库的转储和恢复
(2)数据库的安全性、完整性控制 (3)数据库性能的监督、分析和改进 (4)数据库的重组织和重构造
5.16 假设某超市公司要设计一个数据库系统来管理该公司的业务信息。该超市公司的业务
管理规则如下:
(1)该超市公司有若干仓库,若干连锁商店,供应若干商品。
(2)每个商店有一个经理和若干收银员,每个收银员只在一个商店工作。 (3)每个商店销售多种商品,每种商品可在不同的商店销售。
(4)每个商品编号只有一个商品名称,但是不同的商品编号可以有相同的商品名称。每种
商品可以有多种销售价格。
(5)超市公司的业务员负责商品的进货。
请根据以上规则,设计出适当的属性,画出E-R图,再将其转换成关系模型后进行规范化。 商店:商店编号,商店名称,商店地址,商店编号,联系方式 商品:商品编号,商品名称,单价,数量,类别 员工:编号,姓名,性别,出生日期,联系电话 仓库:仓库编号,名称,联系方式 本题对应的E-R图如图所示 商品 商品名 部门名 编号 经理 姓名 职工号 地址 1 员工 n 从属1 1 商店 m 销售n 单价 商品 类别 35
领导数量 存放 n m 仓库
名称 地址 36