《数据库逻辑结构及物理设计.ppt》由会员分享,可在线阅读,更多相关《数据库逻辑结构及物理设计.ppt(30页珍藏版)》请在三一办公上搜索。
1、逻辑结构设计,逻辑结构向关系模型的转换应用规范化理论优化逻辑模型设计用户子模式,逻辑结构向关系模型的转换,一个实体类型转换为一个关系模式实体的属性就是关系的属性,实体的关键字就是关系的关键字,学生,姓名,性别,学号,专业,年龄,学生(学号,姓名,性别,专业,年龄),联系一对一的联系(1:1)转换方法转换为一个独立的关系模式联系名为关系模式名,与该联系相连的两个实体的关键字及联系本身的属性为关系模式的属性。其中,每个实体的关键字均为该关系模式的候选键。与任意一端的关系模式合并。可将相关的两个实体转换为两个关系,并在任意一个关系的属性中加入另一个关系的主关键字采用哪种转换方法视情况而定。,管理员,
2、仓库,管理,1,1,实例:假设某工厂的每个仓库只配备一个管理员,管理员号,姓名,联系方式,面积,仓库号,管理员(管理员编号,姓名,联系方式)仓库(仓库编号,面积,管理员号),管理员(管理员编号,姓名,联系方式)仓库(仓库编号,面积)管理(仓库编号,管理员号),或,ER图,关系模式,一对多的联系(1:M)转换方式将一对多的联系(1:M)转换为一个独立的关系模式。联系名为关系模式名,与该联系相连的两个实体的关键字及联系本身的属性为关系模式的属性。关系模式的关键字为M端实体的关键字将一对多的联系(1:M)与M端关系合并1端的关键字及联系的属性并入M端的关系模式即可实例:“学生”与“专业”之间的联系为
3、:1:M,专业,学生,学习,学号,姓名,所属院系,专业名,专业号,ER模型,关系模式,专业(专业号,专业名,所属院系)学生(学号,姓名,专业编号),或,专业(专业号,专业名,所属院系)学生(学号,姓名)学习(专业编号,学号),M,1,多对多的联系(M:N)转换方法:将多对多的联系(M:N)转换为一个关系模式关系模式名为联系名,与该联系相连的两个实体的关键字及联系本身的属性为关系模式的属性关系模式的关键字为联系中各实体关键字的并集实例:学校中,“学生”实体和“课程”实体之间的联系为多对多的。见下图:,课程,学生,选修,学号,姓名,上课地点,指定教材,课程号,ER模型,关系模式,课程(课程号,指定
4、教材,上课地点)学生(学号,姓名,专业)选修(学号,课程号,成绩),N,M,专业,成绩,同一实体内部的联系可将该实体集分为相互联系的两个子集,然后根据它们相互不同的联系(1:1、1:M、M:N)按照上述规则处理。实例:职工实体集内部有领导和被领导的关系1:M,职工,领导,1,M,车间主任,职工,领导,1,M,三个或三个以上实体间的多元联系转换为一个关系模式与该联系相连的各实体的关键字及联系本身的属性为关系模式的属性关系模式的关键字为联系中各实体关键字的并集,项目,零件,供应商,零件名,供应商名,地址,供应商号,材料,颜色,电话,项目号,项目名称,开工日期,零件号,使用,P,N,M,供应商(供应
5、商号,供应商名,地址,电话)项目(项目编号,项目名称,开工日期)零件(零件号,零件名,材料,颜色)使用(供应商号,项目编号,零件号,用量),应用规范化理论优化逻辑模型,确定出每个关系模式内部属性之间的数据依赖和不同关系属性之间的数据依赖对各个关系模式之间的数据依赖进行极小化,消除冗余的联系按照数据依赖和规范化理论对关系模式逐一进行分析,考察是否存在部分函数依赖,传递函数依赖,多值依赖等,从而确定各关系模式分别属于第几范式。根据需求分析阶段所得的实际应用需求,确定是否对某个关系模式进行分解或者合并。对关系模式进行进一步的分解和合并,减低数据的冗余度和提高数据操作的效率。,设计用户子模式,子模式的
6、作用屏蔽逻辑模式,为应用程序提供了一定的逻辑独立性可以更好地适应不同用户对数据的需求为用户划定了访问数据的范围,由利于数据库的管理,子模式的设计内容子表的名字子表的组成子表的每个列分别来自哪张基本表DBMS的视图功能很容易实现子模式,物理设计,本阶段实现的是系统的 内模式,它的质量直接决定了整个系统的质量。,任务:根据具体计算机系统(DBMS和硬件等)的特点,为给定的数据库模型确定合理的存储结构和存取方法:使设计出的物理数据库占用较少的存储空间对数据库的操作具有尽可能高的速度设计数据库的物理结构,设计人员必须充分了解:所用DBMS的内部特征数据系统的实际应用环境,特别是数据应用处理的频率和响应
7、时间的要求外存设备的特征内容确定数据的存取方法确定数据的存储结构,影响物理设计的因素,设计之前,对数据库系统所支持的事务要进行仔细的分析,获得优化数据库物理设计的参数。对于数据库查询事务,需要得到如下信息要查询的关系查询条件(即选择条件)所涉及的属性连接条件所涉及的属性查询的投影属性,对于数据更新事务,需要得到如下信息:要更新的关系每个关系上的更新操作的类型删除和修改操作所涉及到的属性修改操作要更改的属性值知道每个事务在各关系上运行的频率,某些事务可能具有严格的性能要求(如时间要求)注意:在进行数据库物理设计时,通常并不知道所有的事务,确定关系模式的存取方法,确定建立哪些存储路径以实现快速存取
8、数据库中的数据。DBMS提供的存取方法索引方法HASH法,等索引:表中数据和相应存储位置的列表优点大大的减少数据的查询时间缺点占用存储空间。每个索引都将需要占用一定的存储空间降低数据的更新数度当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,在创建索引的时候,一般遵循以下的一些经验性原则:在经常需要搜索的列上建立索引在主关键字上建立索引在经常用于连接的列上建立索引在经常需要根据范围进行搜索的列上建立索引在经常需要排序的列上建立索引在经常成为查询条件的列上建立索引对于某些列不应该创建索引。应该考虑以下指导性原则:对于那些在查询中很少使用和参考的列不应该创建索引对于那些只有很少值的列属
9、性值分布严重不均的列过长的属性经常更新的属性或表,实例:学生学籍管理系统中,三个表如下:学生(学号、姓名、出生年月、些别、系名、班号)课程(课程名、课程号、教师、学分)成绩(学号、课程号、成绩)整个系统需要统计学生的平均分,某课程的平均分等。所以,学生表中的“学号”,课程表中的“课程号”,成绩表中的“学号”、“课程号”将经常出现在查询条件中,可以考虑在上面建立索引以提高效率。,确定数据库的存储结构,内容:确定数据的存放位置和存储结构包括:确定关系、索引、日志、备份等的存储安排及存储结构。确定系统存储参数配置确定数据存放位置:按照数据应用的不同将数据库的数据划分为若干类,并确定各类数据的存放位置
10、。分类:可依据数据的稳定性、存取响应速度、存取频率、数据的共享程度、数据保密程度、数据生命周期的长短、数据使用的频度等因素加以区分。,确定数据的存放位置:主要从提高系统性能的角度考虑。一些启发性的原则:在大型系统中,数据库的数据备份、日志文件备份等数据只在故障恢复时才使用,而且数据量很大,可以考虑放在磁带上对于拥有多个磁盘驱动器或磁盘阵列的系统,可以考虑将表和索引分别存放在不同的磁盘上,在查询时由于两个磁盘驱动器分别工作,因而可以保证物理读写数度比较快将比较大的表分别放在不同的磁盘上,可以加快存取速度,特别是在多用户的环境下将日志文件和数据库对象(表、索引等)分别放在不同的磁可以改进系统性能。
11、确定系统的存储参数配置现行的许多DBMS都设置了一些系统的配置变量,供设计人员和DBA(数据库管理员)进行物理的优化。SQL Server中如:同时使用数据库的用户数、同时打开数据库对象数,使用缓冲区长度、个数,数据库的大小,索引文件的大小,封装因子,锁的数量等。系统为这些变量都设置了一些合理的初值。但是这些值只是从产品本身特性出发,不一定能适应每一种应用环境。,在物理设计时对系统配置变量的调整只是初步的,在系统运行时还需要根据系统实际的运行情况做进一步的调整,以获得最佳的系统性能。,数据库的实施、运行和维护,实施运行和维护,数据库的实施,根据逻辑设计和物理设计的结果,在计算机系统上建立实际的
12、数据库结构、装入数据并进行程序的调试。建立数据库结构用具体的DBMS提供的数据定义语言(DDL),把数据库的逻辑设计和物理设计的结果转化为程序语句,然后经DBMS编译处理和运行后,实际的数据库便建立起来了。包括:数据库模式和子模式,以及数据库空间的描述。数据完整性描述数据安全性描述数据库物理存储参数描述,装入试验数据,调试应用程序分批装入小量的数据做调试试验数据可以是实际的数据,也可以是随机的数据。但是测试数据应尽可能能充分反映实际应用中的各种情况装入实际数据数据加载前,必须对数据进行整理数据加载分为手工录入和使用数据库转换工具两种。SQL Server中的转换工具:DTS,数据库的试运行除了对应用程序做进一步的测试外,重点执行对数据库的各种操作,实际测量数据库的各种性能,检测是否达到设计要求。数据库的运行和维护完成对数据库的日常维护。需要经验丰富的专业技术人员来完成工作人员需要掌握DBMS的存储、控制和数据恢复等基本操作经常性的涉及物理数据库、甚至逻辑数据库的再设计主要工作对数据库性能的监测、分析和改善数据库的转储和恢复维持数据库的安全性和完整性数据库的重组和重构,练习,根据上节的ER图设计出系统的关系模式和子模式,