3.1、关系数据库设计过程与各级模式
关系数据各级模式
3.2、概念模型的表示方法
E-R图的表示方法
- 1:1联系
- 1:N联系
- M:N联系
- 三个实体之间的一对多联系
- 三个实体之间的多对多联系
- 单个实体型内的一对多联系
局部信息结构设计
(1)确定局部范围:局部范围主要依据需求分析报告中标明的用户视图范围来确定 。
(2)选择实体:数据分类表是选择实体的直接依据。实体选择的最大困难是如何区别实体与属性。
(3)选择实体的关键字属性:实体的存在依赖于其关键字的存在。
(4)确定实体间联系:数据间的联系必须在概念设计时确定。
(5)确定实体的属性:属性分为标识属性和说明属性
**例:**局部信息结构设计-用户管理系统E-R图示例
- 部门与用户之间是一对多联系,表示每个部门包含多个用户,每个用户只在一个部门,其联系的名称定义为“包含”。
- 部门与用户之间是一对多联系,表示每个部门包含多个用户,每个用户只在一个部门,其联系的名称定义为“包含”。
- 用户组与权限之间是多对多联系,表示一种权限可以分配给多个用户组,每个用户组可以拥有多种权限,其联系的名称定义为“拥有”。
1)用户:用户ID、用户名、年龄、口令。
2)用户组:用户组ID、用户组名、用户组描述。
3)部门:部门ID、部门名、部门所在地、部门领导。
4)权限:权限ID、权限名、权限链接。
全局信息结构设计
全局信息结构设计是将上述步骤中产生的所有局部信息结构合并成为一个 全局信息结构。
各局部 E-R 图之间的冲突主要表现在三个方面
- 属性冲突:属性域冲突和属性取值单位冲突。
- 命名冲突:同名异义和异名同义。
- 结构冲突:三类冲突:同一对象在一个局部 E-R 图中作为实体,而在另一 个局部 E-R 图中作为属性;同一实体在不同的 E-R 图中属性个数和类型不同; 实体之间的联系在不同的 E-R 图中是不同的类型。
全局信息结构设计:
- 用户组与用户之间是一对多联系,表示每个用户属于一个用户组,一个用户组有多个用户,其联系的名称定义为“属于”。
- 部门与用户之间是一对多联系,表示每个部门包含多个用户,每个用户只在一个部门,其联系的名称定义为“包含”。
- 用户组与权限之间是多对多联系,表示一种权限可以分配给多个用户组,每个用户组可以拥有多种权限,其联系的名称定义为“拥有”。
3.3、逻辑结构设计方法
逻辑结构设计的任务是把在概念结构设计产生的概念模型转换为具体的 DBMS 所支持的逻辑数据模型,也就是导出特定的 DBMS 可以处理的数据库逻 辑结构。
通常包括三项工作:将 E-R 图转换为关系模型、对关系数据模型进行优化、 设计面向用户的外模式。
E-R 图向关系模型的转换
- 一个实体型转换为一个关系模式,实体的属性作为关系的属性,实体的码作为关系的码
- 一个一对一联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并
- 一个一对多联系可以转换为一个独立的关系模式,也可以与N端对应的关系模式合并
- 一个多对多联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性
- 三个或以上实体间的一个多元联系可以转换为一个关系模式
- 具有相同码的关系模式可合并
E-R图向关系模型的转换
(1)用户(用户ID,用户名,口令,年龄,用户组ID,部门ID)
(2)用户组(用户组ID,用户组名,用户组描述)
(3)部门(部门ID,部门名,部门所在地,部门领导)
(4)权限(权限ID,权限名称,权限链接)
(5)拥有(用户组ID,权限ID)
对关系数据模型进行优化
数据库逻辑设计的结果,不是唯一的。
(1)确定各属性间的函数依赖关系
(2)对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。
(3)判断每个关系模式的范式,根据实际需要确定最合适的范式。
(4)按照需求分析阶段得到的处理要求,分析这些模式对于这样的应用环境是否合适,确定是否要对某些模式进行合并或分解。
(5)对关系模式进行必要的分解,提高数据操作的效率和存储空间的利用率。
设计面向用户的外模式
(1)可以通过视图机制在设计用户视图时,重新定义某些属性的别名,使其更符合用户的习惯,以方便使用。
(2)可以对不同级别的用户定义不同的视图,以保证系统的安全性。
(3)简化用户对系统的使用。
3.4、物理设计方法
建立索引
静态建立索引
动态建立索引
建立聚集
聚集是将相关数据集中存放的物理存储技术。
数据聚集结构的一种有效方式是块结构方式。
数据聚集可在一个或多个关系上建立。
文章评论