当前位置:文档之家› 数据库逻辑结构及物理设计

数据库逻辑结构及物理设计

川 大 工 商 : 向 晓 林
逻辑结构设计
➢逻辑结构向关系模型的转换 ➢应用规范化理论优化逻辑模型 ➢设计用户子模式




逻辑结构向关系模型的转换
: 向


一个实体类型转换为一个关系模式
➢实体的属性就是关系的属性,实体的关键字 就是关系的关键字
性别 姓名
学号 学生
专业 年龄
学生(学号,姓名,性别,专业,年龄)

确定关系模式的存取方法
: 向


确定建立哪些存储路径以实现快速存取数据库
中的数据。
➢ DBMS提供的存取方法
✓ 索引方法 ✓ HASH法,等
索引:表中数据和相应存储位置的列表
➢ 优点
✓ 大大的减少数据的查询时间
➢ 缺点
✓ 占用存储空间。
o 每个索引都将需要占用一定的存储空间
✓ 降低数据的更新数度
o 当对表中的数据进行增加、删除和修改的时候,索引也要动 态的维护
课程号 指定教材
课程
上课地点
M 成绩
选修
N 学生 专业
姓名 学号
ER模型
川 大 工 商 : 向 晓 林
课程(课程号,指定教材,上课地点) 学生(学号,姓名,专业) 选修(学号,课程号,成绩)
关系模式


➢同一实体内部的联系
工 商

✓可将该实体集分为相互联系的两个子集,然后根 据它们相互不同的联系(1:1、1:M、M:N)
ER模型
关系模式
川 大 工 商 : 向 晓 林
➢多对多的联系(M:N)
✓转换方法:
o 将多对多的联系(M:N)转换为一个关系模式
▪ 关系模式名为联系名,与该联系相连的两个实体 的关键字及联系本身的属性为关系模式的属性
▪ 关系模式的关键字为联系中各实体关键字的并集
o 实例:学校中,“学生”实体和“课程”实体之间的 联系为多对多的。见下图:
▪ 1端的关键字及联系的属性并入M端的关系模式即 可
✓实例:“学生”与“专业”之间的联系为: 1: M


专业号 专业名
工 商



专业
所属院系

专业(专业号,专业名,所属院系)
1
学生(学号,姓名,专业编号)
学习

M 学生
姓名 学号
专业(专业号,专业名,所属院系) 学生(学号,姓名) 学习(专业编号,学号)

在创建索引的时候,一般遵循以下的一些经验
大 工
性原则:
商 :
➢ 在经常需要搜索的列上建立索引
向 晓
➢ 在主关键字上建立索引

➢ 在经常用于连接的列上建立索引
➢ 在经常需要根据范围进行搜索的列上建立索引
➢ 在经常需要排序的列上建立索引
➢ 在经常成为查询条件的列上建立索引
对于某些列不应该创建索引。应该考虑以下指 导性原则:
✓ 需要经验丰富的专业技术人员来完成
o 工作人员需要 ▪ 掌握DBMS的存储、控制和数据恢复等基本操作 ▪ 经常性的涉及物理数据库、甚至逻辑数据库的再设计
➢ 主要工作
✓ 对数据库性能的监测、分析和改善 ✓ 数据库的转储和恢复 ✓ 维持数据库的安全性和完整性 ✓ 数据库的重组和重构




练习
: 向
的特点,为给定的数据库模型确定合理的存储
: 向
结构和存取方法:
晓 林
➢ 使设计出的物理数据库占用较少的存储空间
➢ 对数据库的操作具有尽可能高的速度
设计数据库的物理结构,设计人员必须充分了 解:
➢ 所用DBMS的内部特征
➢ 数据系统的实际应用环境,特别是数据应用处理的 频率和响应时间的要求
➢ 外存设备的特征
➢ 对于那些在查询中很少使用和参考的列不应该创建 索引
➢ 对于那些只有很少值的列
➢ 属性值分布严重不均的列
➢ 过长的属性
➢ 经常更新的属性或表
川 大 工 商 : 向 晓 林
实例:
➢ 学生学籍管理系统中,三个表如下:
✓ 学生(学号、姓名、出生年月、些别、系名、班号) ✓ 课程(课程名、课程号、教师、学分) ✓ 成绩(学号、课程号、成绩)
o 系统为这些变量都设置了一些合理的初值。但是这些值只是 从产品本身特性出发,不一定能适应每一种应用环境。
川 大 工 商 : 向 晓 林
在物理设计时对系统配置变量的调整只
是初步的,在系统运行时还需要根据系
统实际的运行情况做进一步的调整,以
获得最佳的系统性能。
川 大 工 商 : 向 晓 林
数数据库空间的描述。 ✓ 数据完整性描述 ✓ 数据安全性描述 ✓ 数据库物理存储参数描述


装入试验数据,调试应用程序
工 商

➢分批装入小量的数据做调试
向 晓

➢试验数据可以是实际的数据,也可以是随机
的数据。
➢但是测试数据应尽可能能充分反映实际应用 中的各种情况
装入实际数据
o 将日志文件和数据库对象(表、索引等)分别放在不同的磁 可以改进系统性能。
➢ 确定系统的存储参数配置
✓ 现行的许多DBMS都设置了一些系统的配置变量,供设计 人员和DBA(数据库管理员)进行物理的优化。
o SQL Server中如:同时使用数据库的用户数、同时打开数据 库对象数,使用缓冲区长度、个数,数据库的大小,索引文 件的大小,封装因子,锁的数量等。
根据需求分析阶段所得的实际应用需求,确定 是否对某个关系模式进行分解或者合并。
对关系模式进行进一步的分解和合并,减低数 据的冗余度和提高数据操作的效率。




设计用户子模式
: 向


子模式的作用
➢屏蔽逻辑模式,为应用程序提供了一定的逻 辑独立性
➢可以更好地适应不同用户对数据的需求
➢为用户划定了访问数据的范围,由利于数据 库的管理
供应商名
电话
供应商号
地址
供应商 M
项目号
P 项目
项目名称 开工日期
使用 零件号
N 零件
零件名
川 大 工 商 : 向 晓 林
颜色
材料
川 大 工 商 : 向 晓 林
供应商(供应商号,供应商名,地址,电话)
项目(项目编号,项目名称,开工日期)
零件(零件号,零件名,材料,颜色)
使用(供应商号,项目编号,零件号,用量)
川 大 工 商 : 向 晓 林
子模式的设计内容
➢子表的名字
➢子表的组成
➢子表的每个列分别来自哪张基本表
DBMS的视图功能很容易实现子模式
川 大 工 商 : 向 晓 林
物理设计
➢本阶段实现的是系统的 内模式,它的质量直接决 定了整个系统的质量。


任务:根据具体计算机系统(DBMS和硬件等)
工 商
✓ 采用哪种转换方法视情况而定。


实例:假设某工厂的每个仓库只配备一个管理员
工 商

管理员号 姓名
向 晓

联系方式
管理员
管理员(管理员编号,姓名,联系方式)
1
仓库(仓库编号,面积,管理员号)
管理
1 仓库号
仓库
面积

管理员(管理员编号,姓名,联系方式) 仓库(仓库编号,面积) 管理(仓库编号,管理员号)
ER图
关系模式
川 大 工 商 : 向 晓 林
➢一对多的联系(1:M)
✓转换方式
o 将一对多的联系(1:M)转换为一个独立的关系模式。
▪ 联系名为关系模式名,与该联系相连的两个实体 的关键字及联系本身的属性为关系模式的属性。
▪ 关系模式的关键字为M端实体的关键字
o 将一对多的联系(1:M)与M端关系合并
向 晓 林
按照上述规则处理。
✓实例:职工实体集内部有领导和被领导的关系1: M
职工
车间主任 1
1
M
领导
领导 M 职工
川 大 工 商 : 向 晓 林
➢三个或三个以上实体间的多元联系
✓转换为一个关系模式
o 与该联系相连的各实体的关键字及联系本身的属性为 关系模式的属性
o 关系模式的关键字为联系中各实体关键字的并集
内容
➢ 确定数据的存取方法
➢ 确定数据的存储结构




影响物理设计的因素
: 向


设计之前,对数据库系统所支持的事务 要进行仔细的分析,获得优化数据库物 理设计的参数。
➢对于数据库查询事务,需要得到如下信息
✓要查询的关系 ✓查询条件(即选择条件)所涉及的属性 ✓连接条件所涉及的属性 ✓查询的投影属性
➢数据加载前,必须对数据进行整理
➢数据加载分为手工录入和使用数据库转换工 具两种。
✓SQL Server中的转换工具:DTS



数据库的试运行
商 :
➢ 除了对应用程序做进一步的测试外,重点执行对数
向 晓
据库的各种操作,实际测量数据库的各种性能,检 林
测是否达到设计要求。
数据库的运行和维护
➢ 完成对数据库的日常维护。
➢实施 ➢运行和维护




数据库的实施
: 向


根据逻辑设计和物理设计的结果,在计算机系 统上建立实际的数据库结构、装入数据并进行 程序的调试。
建立数据库结构
➢ 用具体的DBMS提供的数据定义语言(DDL),把数据 库的逻辑设计和物理设计的结果转化为程序语句, 然后经DBMS编译处理和运行后,实际的数据库便建 立起来了。包括:
相关主题