1、An Introduction to Database System,2008年11月14日,An Introduction to Database System,问题提出,数据库应用效益最高范围最广的,就是商业领域,因为企事业领域中需要记录相当多的数据,并且需要随时查询到所需的数据,因此数据库最大的市场就在企事业领域。 数据库设计与应用环境结合非常紧密,因此设计一个好的数据库并不是一件简单的事情。,An Introduction to Database System,课程简介,An Introduction to Database System,课程简介,重点: 难点:,An Introdu
2、ction to Database System,第十二章 数据库设计,12.2 需 求 分 析,12.3 概念结构设计,12.4 逻辑结构设计,12.7小结,12.5 物理结构设计,12.6 数据库实施与维护,An Introduction to Database System,1需求分析,获取用户需求,了解 相关领域的业务知识 ,包括应用系统的应 用环境和功能要求、 具体业务处理方式 等。,4物理结构设计,2概念结构设计,5数据库实施,3逻辑结构设计,6数据库运行和维护,12.1 数据库设计的步骤,归纳与抽象需求分析阶段的分析结果,进行必要的,形成独立于具体DBMS的概念结构。,将概念结构
3、转换为某个具体DBMS所支持的数据模型,并进行优化。,物理结构设计阶段为逻辑模型选取合适的物理结构。,根据逻辑结构,创建数据库。编写应用程序和SQL程序,组织数据迁移,进行试运行。,数据库运行阶段需要不断维护,分析数据库性能,调整性能参数。对数据库的运行数据进行备份、恢复和处理等。,An Introduction to Database System,数据流,数据字典,学籍管理需求分析,12.2 需求分析,An Introduction to Database System,12.2.1 需求分析的任务,需求分析就是分析用户的需要与要求,确定系统必须完成哪些工作,对系统提出完整、准确、清晰、具
4、体的要求。,An Introduction to Database System, 亲自参与业务活动,了解业务处理的基本情况。 请专人介绍。 通过与用户座谈、询问等方式来解决疑问。 设计调查表请用户填写。 查阅记录。 学习文件。 使用旧系统。,12.2.2 需求分析的方法,An Introduction to Database System,12.2.3 数据流图,数据流是数据在系统内的传输途径,数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的变换过程。数据流图是结构化系统分析的主要工具,它去掉了具体的组织机构、工作场所、物质流等,仅反映信息和数据存储、流动、使用以及加工的
5、情况。,An Introduction to Database System,1 数据流图基本元素,数据流图的基本元素包括数据流、加工、数据存取文件、输入数据的源点和输出数据的汇点4类。,An Introduction to Database System,2 数据流图,绘制数据流图时,应先找出系统的数据源点与汇点及对应的输出数据流与输入数据流,然后从输入数据流(即系统的源点)出发,按照系统的逻辑需要,逐步画出系列逻辑加工,直到所需的输出数据流(即系统的汇点),形成数据流的封闭。,数据流,数据流,数据 存储,信息要求,数据 来源,处理,数据 输出,处理要求,An Introduction to
6、 Database System,3 数据流图中常见的加工关系,An Introduction to Database System,4 分层数据流图 (1),较复杂的实际问题中,仅用一个数据流图很难表达数据处理过程和数据加工情况,需要按照问题的层次结构逐步分解,并以分层的数据流图反映这种结构关系。 首先确定顶层数据流图,把整个数据处理过程暂且看成一个加工,它的输入数据和输出数据实际上反映了系统与外界环境的接口,这就是顶层数据流图。 在顶层数据流图的基础上进一步细化。形成第一层数据流图,继续分解,可得到第二层数据流图。如此细化直到清晰地表达整个数据加工系统的真实情况。,An Introduct
7、ion to Database System,分层数据流图(2),图 10-1 顶层数据流,An Introduction to Database System,5 画数据流图的步骤和原则, 顶层数据流图上的数据流必须封闭在外部实体之间。 每个加工至少有一个输入数据流和一个输出数据流。 在数据流图中,需按层给加工进行编号。编号应表明该加工处在哪一层,以及与上下层的父图与子图的对应关系。 任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致,即父图与子图平衡。 图上每个元素都必须有名字。一般来说数据流和数据文件的名字应当表明流动的数据是什么,加工的名字应当表明做什
8、么事情。 数据流图中不可夹带控制流。,An Introduction to Database System,12.2.4 数据字典,数据字典的用途 进行详细的数据收集和数据分析所获得的主要结果数据字典的内容 数据项 数据结构 数据流 数据存储 处理过程 外部实体,数据字典,An Introduction to Database System,登记学生的基本信息(姓名、性别、班级等),并提供查询功 能,12.2.5 学籍管理需求分析,An Introduction to Database System,1 分析设计顶层数据流图,图 10-2 0层数据流,An Introduction to Da
9、tabase System,2 学籍管理的1层数据流图,图 10-3 1 层数据流,An Introduction to Database System,3 细化成绩管理,图 10-4 2层数据流,An Introduction to Database System,4 细化成绩录入,图 10-5 3 层数据流,An Introduction to Database System,5 数据字典,分析图10-5所示的成绩录入数据流图,该数据流图涉及学生名单、学号、姓名选定删除的学号姓名,选定修改的学号姓名等数据流,同时涉及学生信息、考试成绩、修改成绩、删除成绩、成绩查询等处理过程。,An Int
10、roduction to Database System,数据字典,(1)数据项的描述 在图 10-5的成绩录入数据流图中,包含学号、成绩、姓名等数 据项,这此数据项都是不可分的数据单位。下面描述学号“学号” 数据项为例: 数据项名称:学号 含义说明:唯一标识每个学生 别名:学号 类型:字符型 长度:5 取值范围:0000099999 取值含义:前2位标别该学生所在年级,后3位为顺序编号,An Introduction to Database System,数据字典,(2)数据流的描述 图10-5所示的成绩录入数据流图中,包含学生名单、变动成绩 要求、删除成绩要求、添加成绩要求、新增的成绩、原
11、成绩、删除的成绩、修改后的成绩等数据流。 “学生名单”数据流,其他数据流可能根据实际业务进行描述。 数据流的名称:学生名单 说明:某班全部学生的名单 数据流来源:学生信息 数据流的去向:班级学生名单显示 组成:班级、学号、姓名 平均流量: 高峰期流量:,An Introduction to Database System,数据字典,(3)数据存储的描述 成绩录入数据流图中,包含学生信息、考试成绩等数据存储。 数据存储“考试成绩”的描述,其他数据存储可以根据实际业务进行描述。 数据存储:考试成绩 说明:保存学生各门课的考试成绩 流入数据流:新增的成绩、修改后的成绩 流出数据流:原成绩 组成:学号
12、、姓名、成绩 数据量:3000(学生)15(课程) 存取方式:随机存取,An Introduction to Database System,数据字典,(4)处理过程的描述 在上图所示的成绩录入数据流中,包含班级学生名单查询、增加学生成绩、修改成绩、删除成绩、成绩查询等处理过程。 处理过程:“增加学生成绩”的描述,其他处理过程可以根据实际业务进行描述。 处理过程:增加学生成绩 说明:录入一个学生某门课程的考试成绩 输入:学生,课程、成绩 输出:考试成绩 处理在考试成绩数据存储中增加一个学生的考试成绩。,An Introduction to Database System,制定整理数据字典,分析
13、成绩录入数据流图,该数据流图涉及学生名单、学号姓名、选定删除的学号姓名、选定修改的学号姓名等数据流,同时涉及学生信息、考试成绩等数据存储,包括班级学生名单查询、班级学生名单显示、增加学生成绩、修改成绩、删除成绩、成绩查询等处理过程。,An Introduction to Database System,下课了。,休息一会儿。,研 究,An Introduction to Database System,概念结构设计,概念结构独立于数据库逻辑结构,也独立于支持数据库的DBMS。它能够充分反映现实世界中实体之间的联系,同时又易于向关系、网状、层次等各种数据模型转换。当现实世界需求改变时,概念结构又
14、可以很容易地作相应调整,,An Introduction to Database System,数据抽象与局部视图设计,概念结构设计可以采用自顶向下、自底向上、逐步扩张、混合策略等方法。 自顶向下在定义全局概念结构框架的基础上逐步细化; 自底向上先定义各局部应用的概念结构,然后进行集成,得到全局概念结构;逐步扩张在定义核心概念结构的基础上,逐步向外扩充,生成其他概念结构,直至得到总体概念结构; 混合策略采用自顶向下和自底向上的结合,自顶向下地设计一个全局概念结构,自底向上地设计各局部概念结构,在全局概念结构的基础上进行局部概念集成。 一般可以先抽象并设计局部视图,然后集成局部视图,形成全局的E
15、-R图。,An Introduction to Database System,数据抽象与局部视图设计 (2),需求分析阶段会产生不同层次的数据流图,这些数据流图是进行概念结构设计的基础。高层的数据流图能反映系统的概貌,但包含的信息不足以描述系统的详细情况,中层的数据流图能较好地反映系统中各局部应用的子系统的详细情况,因此中层数据流图经常作为设计分E-R图的依据。 每个局部应用都对应了一组数据流图与数据字典。将数据从数据字典中抽取出来,参照数据流图,确定局部应用中的实体、实体的属性、实体的码,确定实体之间的联系及其类型,An Introduction to Database System,确定
16、实体及属性, 属性必须是不可分的数据项,不能包含其他属性。 属性不能与其他实体具有联系,与其他实体有联系的属性一般应按照实体处理。 符合上述两条特性的事物一般作为属性对待。,An Introduction to Database System,视图集成,依据不同的局部应用数据流图设计的分E-R图,进行视图集成,将所有的分E-R图综合成一个系统的总E-R图。一般说来,视图的集成可以有两种方式。 多个分E-R图一次集成。 逐步集成,用累加的方式一次集成两个分E-R图。 其中第1种方法比较复杂,实现起来难度较大。第2种方法每次只集成两个分E-R图,可以降低复杂度。视图集成时需要进行分E-R图的合并、
17、修改、重构,解决各分E-R图之间的冲突,消除不必要的冗余,形成基本E-R图。,An Introduction to Database System,视图集成(2),1解决冲突,合并分E-R图,形成初步E-R图。分E-R图之间存在的不一致称为冲突,各分E-R图之间的冲突主要有3类 属性冲突 命名冲突 结构冲突 2消除不必要的冗余,设计基本E-R图。分E-R图经过合并生成的是初步E-R图,这种E-R图中可能会存在冗余,还需要对其进行消除冗余处理。冗余包括两种情况,数据冗余和联系冗余,其中冗余数据是可由基本数据导出的数据,冗余联系是指可由其他联系导出的联系。,An Introduction to D
18、atabase System,学籍管理概念结构设计,1数据抽象、确定实体及其属性与码 2确定实体间关系,设计分E-R图 3合并分E-R图,消除冗余,设计基本E-R图。,An Introduction to Database System,逻辑结构设计,概念结构独立于DBMS,需要将概念结构进一步转化为与特定DBMS产品所支持的数据模型相符合的逻辑结构。DBMS产品可以支持关系、网状、层次三种模型中的某一种,目前大多数应用系统都选用支持关系模型的DBMS。设计逻辑结构时首先要将概念结构转化为关系模型,然后对数据模型进行优化。关系模型的逻辑结构是一组关系模式的集合,E-R图则是由实体、实体属性和实
19、体之间的联系3个要素组成的。所以将E-R图转换为关系模型实际上就是将实体、实体属性和实体之间的联系转化为关系模式,并确定关系模式的属性和码。,An Introduction to Database System,将实体转换为关系模式,一般将E-R图中的实体转化为一个关系模式。实体的属性转化为关系的属性,实体的码就是关系的码。学生(学号,姓名,性别,出生日期)有时为了减少关系模式的数量,如果实体之间存在很大的相似性,而且数据量不大,可以考虑将这些实体转化为一个统一的关系模式,该关系模式具有其他实体的属性。为了区别不同的实体,可以增加实体类型的属性。如:学历、职称、课程类型编码等实体具有类似的属性
20、,即编码和描述,而且这类维护信息不会很多,因此可以将学历和职称实体合并为以下编码关系模式:(编码,编码类型,编码描述)。,An Introduction to Database System,将实体间的联系转化成关系模式,(1)11的联系11的联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。 如果转换为一个独立的关系模式,则与该11联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码都可以是该关系模式的候选码。 如果与某一端对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。例如,教师与班级的“管理”联系为11联系可以将
21、其转换为一个独立的关系模型:管理(教师编号,班级编号)也可以将“管理”联系与教师或班级的关系模式合并,如将“管理”联系与班级模式合并为:班级(班级编号,班级名称,教师编号)也可以将“管理”联系与教师关系模式合并,An Introduction to Database System,将实体间的联系转化成关系模式(2),(2)1n的联系1n的联系可以转换为一个独立的关系模式可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。 例如,学院与班级的“隶属”联系为1n联系,一种方法是使其转换为一个独立的关系
22、模式:隶属(班级编号,学院编号) 另一种方法是将其与班级关系模式合并,这时班级关系模式为: 班级(班级编号、班级名称、学院编号),An Introduction to Database System,将实体间的联系转化成关系模式(3),(3)mn的联系mn联系转换为一个关系模式,与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,关系的码为各实体码的组合。 例如,“选课”联系是一个mn联系,可以将其转化为一个关系模式: 选课(学号,课程编号,成绩)码是学号与课程编号的组合。,An Introduction to Database System,数据模型的优化,完成E-R图向关系数据模
23、型的转换之后,还需要对数据模型进行优化,修改、调整数据模型的结构,提高数据库的性能。 确定数据依赖。按需求分析阶段得到的语义,分别写出每个关系模式内部各属性之间的数据依赖以及不同关系模式属性之间的数据依赖。 对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。 按照数据依赖的理论对关系模式逐一进行分析,考查是否存在部分函数依赖、传递函数依赖、多值依赖等,确定各关系模式分别属于第几范式。 按照需求分析阶段得到的信息要求和处理要求,分析这些模式是否满足这些要求,确定是否要对某些模式进行合并或分解。,并不是规范化程度越高的关系就越优。当一个应用的查询中经常涉及两个或多个关系模式的属性时,系
24、统必须经常地进行连接运算,而连接运算的代价是相当高的,因此在这种情况下,2NF甚至1NF也许是最好的。,An Introduction to Database System,设计用户子模式,(1)使用更符合用户习惯的别名视图集成时,为了减少异义同名的冲突,规范了一些名称。规范后的名称与局部用户的习惯不一致,将影响用户的工作。设计用户的子模式时可以重新定义某些属性名,使其与用户习惯一致。 (2)针对不同级别的用户定义不同的视图不同的用户关心的实体及其属性不同,对这些实体与属性的访问权限也不同。例如学生允许查看课程的开设情况和任课教师的学历、职称等属性,但是没有权利查看教师的籍贯、工资等属性。为了
25、满足系统安全性要求,需要针对不同级别的用户定义不同的视图。 (3)简化用户对系统的使用某些局部应用中经常要使用一些很复杂的查询,为了方便用户,可以将这些复杂查询定义为视图,用户每次只对定义好的视图进行查询,方便用户使用系统。,An Introduction to Database System,物理结构设计,数据库是存储在物理设备上的,数据库在物理设备上的存储结构与存取 方法称为数据库的物理结构,物理结构依赖于给定的DBMS和计算机系统。逻辑数据库设计工作完成后,需要为给定的逻辑数据模型选取一个适合应用环境的物理结构,对物理结构进行时间(执行效率)和空间效率的评价。数据库物理设计的任务是对给定
26、的逻辑数据模型选取适合应用环境的物理结构,即在逻辑设计的基础上,为每个关系模式选择合适的存储结构和存取方法,使数据库的事务能够高效率地运行。数据库物理设计阶段主要包括以下4个过程。 分析影响物理数据库设计的因素。 为关系模式选择存取方法。 设计关系、索引等数据库文件的物理存储结构。 评价物理结构。,An Introduction to Database System,物理结构设计 (2),在进行数据库物理设计时需要注意以下问题。 确定数据的存储结构。需考虑存取时间、空间效率和维护代价间的平衡。如在引入冗余数据以加快存取速度时应兼顾系统的空间效率。 选择合适的存取路径。例如,确定应该为哪些关系模
27、式建立索引,索引关键字是什么等。 确定数据的存放位置。例如,确定数据存放在一个磁盘上还是多个磁盘上,什么数据该存放在高速存储器上,什么应存放在低速存储器上等。 确定存取分布。许多DBMS都提供了一些存储分配参数供设计者使用。例如,缓冲区的大小和个数、块的长度、块因子的大小等。设计者必须规定其中的一些参数设置。,An Introduction to Database System,分析影响数据库物理设计的因素,(1)与数据库查询事务有关的因素 查询的关系 查询条件所涉及的属性 连接条件所涉及的属性 查询的投影属性 (2)与数据库更新事务有关的因素 被更新的关系 每个关系更新操作的类型 删除和修改
28、操作条件所涉及的属性 修改操作要改变的属性值 (3)每个事务在各个关系上运行的频率和时间约束,An Introduction to Database System,关系模式存取方法选择,DBMS一般都提供多种存取方式:索引(index)HASHHASH方法是用HASH函数存储和存取关系记录的方法。具体地讲是,指定某个关系上的个(组)属性A作为HASH码,对该HASH码定义一个函数(称为HASH函数),关系记录的存储地址由HASH (a)来决定,a是该记录在属性A上的值。聚簇(cluster)为了提高某个属性(或属性组)的查询速度,把这个或这些属性(称为聚簇码)上具有相同值的元组集中存放在连续的
29、物理块上,这种方法称为聚簇。聚簇方法可以大大提高按聚簇码进行查询的效率。,An Introduction to Database System,关系模式存取方法选择(2),(1)索引方法 根据实际需要确定对哪些关系的哪些属性列建立索引、组合索引或唯一索引。是否需要建立索引,可以考虑以下原则。 如果一个(组)属性经常作为查询条件,可以考虑建立索引(组合索引)。 如果一个(组)属性经常使用聚集函数,可以考虑建立索引。 如果一个(组)属性经常需要作为连接条件,可以考虑建立索引。 由于系统维护索引是需要一定的空间的,而且数据表内容发生变化时系统也需要重新维护索引。因此索引并不是越多越好,设计时需要根据
30、具体情况来建立。如果一个关系的更新频率很高,这个关系上就不要定义的太多的索引。,An Introduction to Database System,关系模式存取方法选择 (3),(2)HASH方法 如果一个关系的属性主要出现在等连接条件中或相等比较的选择条件中,是否选择HASH存取方法的原则如下。 一个关系的大小可预知,而且不变,则此关系可以选择HASH存取方法。 如果DBMS支持动态HASH存取方式,即使关系大小动态可变,也可以采用HASH存取方法。,An Introduction to Database System,关系模式存取方法选择,(3)聚簇方法 需要建立多少个聚簇,每个聚簇中包
31、括哪些关系,可以参考以下原则。 经常在一起进行连接操作的关系可以建立聚簇。 如果一个关系的一组属性经常出现在相等比较条件中,则该单个关系可以建立聚簇。 如果一个关系的一个(组)属性上的值重复率很高,则此关系可以建立聚簇。 一个数据库可以建立多个聚簇,一个关系只能加入一个聚簇。 如果出现下列情况,建议不要建立聚簇。 经常需要进行全表扫描的关系。 更新操作频率高于访问和连接操作的关系。,An Introduction to Database System,确定系统配置,DBMS产品一般都提供了一些存储分配参数,供设计人员和数据库管理员对数据库进行物理优化。初始情况下,系统都为这些变量赋予了合理的缺
32、省值。但是这些值不一定适合每一种应用环境,在进行物理设计时,需要重新对这些变量赋值以改善系统的性能。通常情况下,这些配置变量包括:同时使用数据库的用户数,同时打开的数据库对象数,使用的缓冲区长度、个数,时间片大小、数据库的大小,装填因子,锁的数目等,这些参数值影响存取时间和存储空间的分配,在物理设计时就要根据应用环境确定这些参数值,以使系统性能最优。在物理设计时对系统配置变量的调整只是初步的,在系统运行时还要根据系统实际运行情况做进一步的调整,以期切实改进系统性能。,An Introduction to Database System,评价物理结构,物理设计过程中需考虑时间和空间效率、维护代价
33、和用户的要求等,对这些因素考虑的侧重点不同会产生多种物理设计方案。因此,数据库的物理结构应全面权衡这几个因素,对各种可能的设计方案进行评价,评价的重点是系统的时间和空间效率,并从多个方案中选出较优的物理结构。,An Introduction to Database System,数据库实施与维护,完成数据库物理设计之后,就可以根据逻辑结构和物理结构设计,采用符合DBMS提供的数据定义语言,建立数据库和数据库对象。数据定义语言可以通过手工编写脚本,也可以使用建模工具(如PowerDesigner)根据逻辑结构和物理结构设计自动生成。数据库建立之后,可以组织数据入库。经过调试、试运行之后可以正式运
34、行。正式运行时,还需要不断进行维护。 数据库试运行 数据库运行与维护,An Introduction to Database System,创建数据库,根据逻辑结构和物理结构设计,使用DBMS提供的命令,创建数据库、建立数据库中所包含的各种数据对象,包括表、视图、索引、触发器等。这部分的工作可以用 CREATE DATABASE、CREATE TABLE、CREATE VIEW等命令手工编写。这些SQL语句一般都需要保存形成建立数据库的脚本,一方面方便修改调式,另一方面可以在不同时间或计算机上多次创建数据库。数据库创建脚本也可以使用如PowerDesigner等CSAE工具生成。,An Int
35、roduction to Database System,组织数据入库,(1)手工(纸质)数据 用户以前没有使用任何计算机系统协助业务工作,所有的数据都存储在一些报表、档案、凭证、单据、台账中。组织这类数据入库的工作非常艰辛。一方面需要用户按照数据库要求配合整理手工数据,确保手工数据的正确性、一致性、完整性。另一方面需要提供简单有效的录入工具,通过手工录入的方式,将手工数据导入数据库。录入时,需要验证数据,确保数据录入的准确性。 (2)文件型数据数据保存在一些文档中,如Excel、Word文件中。这类数据也需要一些转换工具半自动或自动导入。导入之前也需要用户进行核对。 数据库数据数据库实施时,
36、需要在了解原系统的逻辑结构的基础上,进行数据迁移。,An Introduction to Database System,数据库试运行,数据库应用程序完成开发后,可以导入少量数据,进行试运行。试运行时需要测试应用程序的功能是否完备、是否能满足用户要求,数据的逻辑关系是否符合业务逻辑,执行效率是否达到设计要求。如果在试运行过程中出现一些问题,就需要进行针对性的修改。如对某些表的查询速度特别慢,就要首先考虑物理设计是否存在一些问题。如果不能很好地符合业务逻辑处理关系,如缺少一些必要内容的处理,就需要考虑需求分析中是否存在问题。数据库试运行期间的出现的种种问题都暴露某个阶段的设计问题,需要返回到相应
37、阶段进行修改,阶段越靠前,修改工作量越大。因此数据库设计一定要采用规范化的设计方法。,An Introduction to Database System,数据库运行与维护,随着数据库应用的不断进行,应用环境、物理存储、数据库性能会不断地变化。因此运行期间,数据库的维护工作是必须进行的,数据库维护工作大部分是由数据库管理员承担的。 数据库的维护工作如下。 (1)数据库性能的监督、分析和调整。 (2)数据备份与恢复。 (3)数据库的安全性、完整性控制。 (4)数据库的重组织与重构造。,An Introduction to Database System,数据库建模工具,PowerDesigner
38、是Sybase公司推出的企业级建模及设计工具,是一种图形化的易于使用的CASE工具集,使用它可以方便地进行数据库的分析与设计。从业务需求与信息流程的分析到物理模型的设计,它几乎包括了数据库设计的全过程。利用PowerDesigner可以设计业务处理模型、数据流程图、概念数据模型和物理数据模型。PowerDesigner提供多种功能,如将概念数据模型转换为物理模型,根据物理模型自动生成数据库创建脚本等。同时PowerDesigner提供方便团队开发的辅助控制功能,如概念模型的合并与分解功能。PowerDesigner支持许多主流的开发平台(包括关系数据库管理系统和应用程序开发平台),可以方便进行
39、应用程序开发。,为了便于数据库设计,不少软件厂商提供了数据库建模工具,如:PowerDesigner、ER-Win等。,An Introduction to Database System,PowerDesigner的设计模型,业务处理模型(Business Process Model,BPM)BPM表现用户的业务处理逻辑和规则,用于数据库设计的需求分析阶段,辅助设计人员表现实际业务处理逻辑和规则。包括层次结构图(Process hierarchy diagram )和业务处理图(Business process diagram)。前者用于分析组织实体之间的静态结构,后者分析业务活动的动态过程,类似数据流图。概念模型(Conceptual Data Model,CDM)CDM用于数据库的概念结构设计阶段,表现数据库的逻辑结构。类似数据库设计中的E-R图,CDM独立于DBMS与应用软件。,An Introduction to Database System,下课了。,休息一会儿。,研 究,An Introduction to Database System,0,学籍管理,教师,班主任,学生,管理人员,编码,学生基本信息,教师信息,课程信息,教学计划,考试成绩,学生基本情况汇总报表,学生考试成绩汇总报表,学生基本信息,课程基本信息,教师基本信息,教学计划信息,各类编码对应关系,