第二章-信息系统的技术基础.ppt
文本预览下载声明
E-R模型的设计方法 图符及含义: 1、实体 2、联系 3、属性 ·自底向上 即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构。这是最经常采用的策略是自底向上方法。即自顶向下地进行需求分析,然后再自底向上地设计概念结构。 ·逐步扩张 首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构。 ·混合策略 即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。 无论采用哪种设计方法,一般都以E-R模型为工具来描述概念结构。 1、设计分E-R图的步骤是: (1)选择局部应用 在需求分析阶段,通过对应用环境和要求进行详尽的调查分析,用多层数据流图和数据字典描述了整个系统。设计分E-R图的第一步,就是要根据系统的具体情况,在多层的数据流图中选择一个适当层次的(经验很重要)数据流图,让这组图中每一部分对应一个局部应用,我们即可以这一层次的数据流图为出发点,设计分E-R图。 (2)逐一设计分E-R图 每个局部应用都对应了一组数据流图,局部应用涉及的数据都已经收集在数据字典中了。现在就是要将这些数据从数据字典中抽取出来,参照数据流图,标定局部应用中的实体、实体的属性、标识实体的码,确定实体之间的联系及其类型(1:1、1:n、m:n)。 E-R图中实体的属性分别为: 学生:{学号,姓名,出生日期,} 档案材料:{档案号,……} 班级:{班级号,学生人数} 班主任:{职工号,姓名,性别,优秀班主任} 宿舍:{宿舍编号,地址,人数} 教室:{教室编号,地址,容量} 其中有下划线的属性为实体的码。 我们用同样的方法得到课程管理局部应用的分E-R图: 各实体的属性分别为: 学生:{姓名,学号,性别,年龄,所在系,年级,平均成绩} 课程:{课程号,课程名,学分} 教师:{职工号,姓名,性别,职称} 教科书:{书号,书名,价钱} 教室:{教室编号,地址,容量} 2、集成视图(E-R图) 集成局部E-R图时都需要两步: 1)合并; 2)修改与重构。 1)合并分E-R图,生成初步E-R图 ? 各分E-R图之间的冲突主要有三类: 1、属性冲突 属性域冲突,即属性值的类型、取值范围或取 值集合不同。 (2) 属性取值单位冲突。 2、命名冲突 (1) 同名异义。 (2) 异名同义(一义多名)。 3、结构冲突 同一对象在不同应用中具有不同的抽象。例如“课程”在某一局部应用中被当作实体,而在另一局部应用中则被当作属性。 同一实体在不同局部视图中所包含的属性不完全相同,或者属性的排列次序不完全相同。 实体之间的联系在不同局部视图中呈现不同的类型。例如实体E1与E2在局部应用A中是多对多联系,而在局部应用B中是一对多联系;又如在局部应用X中E1与E2发生联系,而在局部应用Y中E1、E2、E3三者之间有联系。 解决方法是根据应用的语义对实体联系的类型进行综合或调整。 例:下面我们来看看如何生成学校管理系统的初步E-R图。我们着重介绍学籍管理局部视图与课程管理局部视图的合并。这两个分E-R图存在着多方面的冲突: (1) 班主任实际上也属于教师,也就是说学籍管理中的班主任实体与课程管理中的教师实体在一定程度上属于异名同义,应将学籍管理中的班主任实体与课程管理中的教师实体统一称为教师,统一后教师实体的属性构成为: 教师:{职工号,姓名,性别,职称,是否为优秀班主任} (2) 将班主任改为教师后,教师与学生之间的联系在两个局部视图中呈现两种不同的类型,一种是学籍管理中教师与学生之间的指导联系,一种是课程管理中教师与学生之间的教学联系,由于指导联系实际上可以包含在教学联系之中,因此可以将这两种联系综合为教学联系。 (3) 在两个局部E-R图中,学生实体属性组成及次序都存在差异,应将所有属性综合,并重新调整次序。假设调整结果为: 学生:{学号,姓名,出生日期,年龄,所在系,年级,平均成绩} 解决上述冲突后,学籍管理分E-R图与课程管理分E-R图合并为初步E-R图。 2)修改与重构,生成基本E-R图 分E-R图经过合并生成初步E-R图,其中可能存在冗余的数据和冗余的实体间联系。冗余数据和冗余联系容易破坏数据库的完整性,给数据库维护增加困难,因此得到初步E-R图后,还应当进一步检查E-R图中是否存在冗余,消除冗余。 修改、重构初步E-R图以消除冗余主要采用分析方法。 除分析方法外,还可以用规范化理论来消除冗余。 在前面初步E-R图中存在着冗
显示全部