浅谈 GIS工程数据库概念设计
1、概念结构设计的目的
将需求分析得到的用户需求抽象为信息结构的过程就是概念结构设计。概念结构设计阶段的目标是通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。概念结构的设计方法有两种:
(1) 集中式模式设计法:这种方法是根据需求由一个统一机构或人员设计一个综合的全局模式。这种方法简单方便,适用于小型或不复杂的系统设计,由于该方法很难描述复杂的语义关联,而不适于大型的或复杂的系统设计。 (2) 视图集成设计法:这种方法是将一个系统分解成若干个子系统,首先对每一个子系统进行模式设计,建立各个局部视图,然后将这些局部视图进行集成,最终形成整个系统的全局模式。 2、概念结构设计的过程
数据库概念设计是使用E-R模型和视图集成设计法进行设计的。它的设计过程是:首先设计局部应用,再进行局部视图(局部E-R图)设计,然后进行视图集成得到概念模型(全局E-R图)。 视图设计一般有三种方法:
(1) 自顶向下。这种方法是从总体概念结构开始逐层细化。如教师这个视图可以从一般教师开始,分解成高级教师、普通教师等。进一步再由高级教师细化为青年高级教师与中年高级教师等。
(2) 自底向上。这种方法是从具体的对象逐层抽象,最后形成总体概念结构。 (3) 由内向外。这种方法是从核心的对象着手,然后向四周逐步扩充,直到最终形成总体概念结构。如教师视图可从教师开始扩展至教师所担任的课程,上课的教室与学生等。
视图集成的实质是将所有的局部视图合并,形成一个完整的数据概念结构。在这一过程中最重要的任务是解决各个E-R图设计中的冲突。 常见的冲突有以下几类:
(1) 命名冲突。命名冲突有同名异义和同义异名两种。如教师属性何时参加
工作与参加工作时间属于同义异名。
(2) 概念冲突。同一概念在一处为实体而在另一处为属性或联系。 (3) 域冲突。相同属性在不同视图中有不同的域。 (4) 约束冲突。不同的视图可能有不同的约束。
视图经过合并形成初步E-R图,再进行修改和重构,才能生成最后基本E-R图,作为进一步设计数据库的依据。 二、实例探讨
设计学生管理系统。包括学生的学籍管理子系统和课程管理子系统两个系统。
(1)学籍管理子系统包括学生、宿舍、班级、教室、辅导员。这些实体之间的联系有:一个宿舍可以住多个学生,一个学生只能住在一个宿舍中。 ① 一个班级有若干学生,一个学生只能属于一个班。
② 一个辅导员带若干个学生,一个学生只属于一个辅导员。一个辅导员带多个班级。
③ 一个班级在多个教室上课,一个教室有多个班级来上课。
(2)课程管理子系统包括学生、课程、教师、教室、教科书。这些实体之间的联系有:
① 一个学生选修多门课程,一门课程有若干学生选修。 ② 一个学生有多个教师授课,一个教师教授若干学生。 ③ 一门课程由若干个教师讲授,一个教室只讲一门课程。 ④ 一个教室开设多门课,一门课只能在一个教室上。
针对两个子系统分别设计出它们的E-R图。在E-R图中省去属性。学籍管理子系统的
E-R图如图1-1所示。课程管理子系统的E-R图如图1-2所示。
图 1-1
对应各个实体的属性分别为:
学生{学号,姓名,性别,出生日期,系别,何时入校,平均成绩} 班级{班级号,学生人数}
辅导员{职工号,姓名,性别,工作时间} 宿舍{宿舍编号,地址,人数} 教室{教室编号,地址,容量} 其中有下划线的属性为实体的码。
图 1-2
对应各个实体的属性分别为:
学生{学号,姓名,性别,年龄,入学时间 } 课程{课程号,课程名,学分}
教科书{书号,书名,作者,出版日期,关键字}
教室{教室编号,地址,容量} 教师{职工号,姓名,性别,职称} 其中有下划线的属性为实体的码。
下面将学籍管理子系统E-R图和课程管理子系统E-R图集成学生管理系统E-R图。集成过程如下:
(1)消除冲突。这两个子E-R图存在着多方面的冲突:
①辅导员属于教师,学籍管理中的辅导员与课程管理中的教师可以统一为教师。
②将辅导员改为教师后,教师与学生之间有两种不同的联系:指导联系和教学联系,
将两种联系综合为教学联系。 ③调整学生属性组成,调解结果为:
学生{学号,姓名,出生日期,年龄,系别,平均成绩} (2)消除冗余。
1) 学生实体的属性中的年龄可由初涉概念日期计算出来,属于数据冗余。调整为:学生{学号,姓名,出生日期,系别,平均成绩}
2) 教室实体与班级实体之间的上课联系可以由教室与课程之间的开设联系、课程与学
生之间的选修联系、学生与班级之间的组成联系三者推导出来,因此属于数据冗余,可以消去。
3) 学生的平均成绩可以从选修联系中的成绩属性推算出来。但如果学生的平均成绩经常查询,可以保留该数据冗余来提高效率。 这样,集成后的学生管理系统的E-R图见图1-3。
图 1-3
相关推荐: