当前位置:
文档之家› 数据库在物理设备上的存储结构与存取方法称为数据库的物
数据库在物理设备上的存储结构与存取方法称为数据库的物
存取时间 插入时间 删除时间 空间开销
数据库系统设计与开发
北京邮电大学 计算机科学与技术学院
有序索引
有序索引: 索引项按搜索键值的顺序有序存储. 主索引: 顺序文件的记录顺序正是索引搜索键的顺序.
也称为聚簇索引 主索引的搜索键通常是主键, 但并非必要. 索引顺序文件: 带有主索引的顺序文件.
数据库系统设计与开发
北京邮电大学 计算机科学与技术学院
1数据库逻辑模式调整
将与平台无关的描述数据库逻辑结构的关系模式及其 视图转换为所选定的具体DBMS平台可支持的基本表和 视图,并利用DBMS提供的完整性机制设计定义在基本 表上的面向应用的业务规则。
(1) 实现目标数据库基本表和视图
遵循目标数据库的语法规则或变通
数据库系统设计与开发
北京邮电大学 计算机科学与技术学院
• 聚簇
– 为了提高某个属性(或属性组)的查询速度,把这 个或这些属性(称为聚簇码)上具有相同值的元组 集中存放在连续的物理块称为聚簇
– 许多关系型DBMS都提供了聚簇功能 – 聚簇存放与聚簇索引的区别
聚簇索引:索引项顺序与表中元组的物理顺序一 致。
➢数据库数据备份、日志文件备份等由于只在 故障恢复时才使用,而且数据量很大,可以 考虑存放在磁带上。
➢应用数据、索引和日志使用频繁,要求响应 时间短,必须放在支持直接存取的磁盘存储 介质上。
数据库系统设计与开发
北京邮电大学 计算机科学与技术学院
➢ 如果计算机有多个磁盘,可以考虑将表和索引分别放 在不同的磁盘上,在查询时,由于两个磁盘驱动器分 别在工作,因而可以保证物理读写速度比较快。
可以将大的基本表划分多个分区,每个分区作为一个 数据文件分别Fra bibliotek储在不同的磁盘上。
➢根据时间、地点划分不同分区。
数据库系统设计与开发
北京邮电大学 计算机科学与技术学院
(3)派生属性数据分布 ➢将派生属性作为基表中单独一列; ➢派生属性不出现在基表中。
(4)关系模式的反规范化 模式规范化和查询效率之间的权衡。
(3)设计存取路径 •为数据库文件设计合理的物理存储位置
涉及数据分布 •为基本表设计索引机制
数据库系统设计与开发
北京邮电大学 计算机科学与技术学院
3 数据分布设计
(1)不同类型数据的物理分布
有基本表、索引、日志、数据库备份数据等,各类 数据在系统中作用不同,使用频率不同,应根据实 际情况放在合适的物理介质上。
search-key pointer
索引文件一般比原始文件小的多
两种基本索引:
有序索引: 搜索键按顺序存储
散列索引: 搜索键被“散列函数”一致地分配到若
干“桶”中.
数据库系统设计与开发
北京邮电大学 计算机科学与技术学院
索引评价度量
对索引技术的评价是基于: 有效支持的存取类型, 如
在某属性上具有特定值的记录 属性值落入指定范围的记录
(2)设计基本表业务规则
利用目标DBMS提供的Check、断言、触发器等完 成完整性约束
数据库系统设计与开发
北京邮电大学 计算机科学与技术学院
2文件组织与存取设计
(1)分析事务的数据访问特性
•使用事务/表交叉引用矩阵,分析系统內重要事务对 各基表的访问情况,确定事务访问哪些基本表,对哪 些基本表执行了何种操作,并进一步分析各操作涉及 到的基本属性表。
• 对已有关系建立聚簇,将导致关系中元组移动其 物理存储位置,并使此关系上原有的索引无效, 必须重建。
• 当一个元组的聚簇码改变时,该元组的存储位置
也要做相应移动。
数据库系统设计与开发
北京邮电大学 计算机科学与技术学院
• 聚簇的适用范围
1. 既适用于单个关系独立聚簇,也适用于多个关系组合聚 簇
2. 当通过聚簇码进行访问或连接是该关系的主要应用,与 聚簇码无关的其他访问很少或者是次要的时,可以使用 聚簇。
当仅访问表中的选定记录时,堆文件不合适。
数据库系统设计与开发
北京邮电大学 计算机科学与技术学院
HASH:(在下面情况下并不适合) 1)当记录是基于Hash字段值的模式匹配进行检索时。
(例如检索成员号以‘M2’开始的所有成员) 2)当记录是基于HASH字段值的范围进行检索时。 3)当记录是基于一个其他列而不是基于HSAH列检索 时。 4)当记录是基于HSAH字段的一部分进行检索时。 5)当HSAH列被经常更新时。
数据库系统设计与开发
北京邮电大学 计算机科学与技术学院
其他需考虑的问题: 目标DBMS支持的特性、功能和选项; 主机计算机系统的特性和能力; 磁盘存储配置; 数据量。
数据库系统设计与开发
北京邮电大学 计算机科学与技术学院
数据库物理设计步骤: 1. 数据库逻辑模式调整 2. 文件组织与存取设计 3. 数据分布设计 4. 安全模式设计 5. 确定系统配置 6. 物理模式评估
数据库系统设计与开发
北京邮电大学 计算机科学与技术学院
聚簇的用途
1. 大大提高按聚簇属性进行查询的效率 2. 节省存储空间
• 聚簇以后,聚簇码相同的元组集中在一起了,因 而聚簇码值不必在每个元组中重复存储,只要在
一组中存一次就行了
聚簇的局限性
1. 聚簇只能提高某些特定应用的性能
2. 建立与维护聚簇的开销相当大
DBMS产品一般都提供了一些存储分配参数
同时使用数据库的用户数 同时打开的数据库对象数 使用的缓冲区长度、个数 时间片大小 数据库的大小 装填因子 锁的数目 等等
数据库系统设计与开发
北京邮电大学 计算机科学与技术学院
➢ 系统都为这些变量赋予了合理的缺省值。但是这些值不 一定适合每一种应用环境,在进行物理设计时,需要根 据应用环境确定这些参数值,以使系统性能最优。
将所有事务路径映射到表中;
确定哪些表最常被事务访问;
分析选出的包含了这些表的事务。
数据库系统设计与开发
北京邮电大学 计算机科学与技术学院
• 估计各事务的执行频率,单位时间内事务的执行次 数,分析事务中的每个数据访问操作对各个基表的 相关属性的操作频率。
• 对每张基本表,汇总所有作用于该表的各事务的操 作频率信息,得到:该表是否被频繁访问、该表中 哪些属性列的访问频率较高和作用于这些属性上的 操作类型和查询条件类型。
位图 • 适合低基数的列 • 更新关键字列的费用非常昂贵 • 使用OR 谓词的查询效率高 • 对数据仓库有用
数据库系统设计与开发
北京邮电大学 计算机科学与技术学院
2.7 数据库实施
– 用DDL定义数据库结构 – 组织数据入库 – 编制与调试应用程序 – 数据库试运行
数据库系统设计与开发
北京邮电大学 计算机科学与技术学院
数据库系统设计与开发
北京邮电大学 计算机科学与技术学院
索引类型
•主索引( 聚集索引)/辅助索引; •稠密索引/稀疏索引 •唯一索引、非唯一索引 •位图索引
数据库系统设计与开发
北京邮电大学 计算机科学与技术学院
Bitmap索引
r o Name w 1 Joe 2 Jane 3 John 4 James
数据库系统设计与开发
北京邮电大学 计算机科学与技术学院
• 关系数据库物理设计的内容 –为关系模式选择存取方法(建立存取路径)
–设计关系、索引等数据库文件的物理存储结构
• 物理数据库设计所需参数 -数据库查询事务(查询的关系, 查询条件所涉及的 属性, 连接条件所涉及的属性, 查询的投影属性) -数据更新事务(被更新的关系,每个关系上的更新 操作条件所涉及的属性, 修改操作要改变的属性值) -每个事务在各关系上运行的频率和性能要求
次级索引: 索引搜索键的顺序与文件的记录顺序不同.
也称为非聚簇索引
数据库系统设计与开发
北京邮电大学 计算机科学与技术学院
选择索引:
目标是确定添加索引是否会改善系统性能。
索引选择的一般规则:
•主键的属性一般都要建索引; •经常用于连接操作的列; •经常作为最大最小值等聚集函数的参数的属性 •在表中经常按某列的顺序访问记录的列; •一般,属性值很少、在应用中很少用到、查询频率 很低或文件中的记录数很少、小表等情况不用建索 引。
➢ 在物理设计时对系统配置变量的调整只是初步的,在系 统运行时还要根据系统实际运行情况做进一步的调整, 以期切实改进系统性能。
数据库系统设计与开发
北京邮电大学 计算机科学与技术学院
6 物理模式评估
主要从定量估算各种方案的存储空间、存取时间和维护代 价入手,对估算结果进行权衡、比较,选择出一个较优 的合理的物理结构。
根据事务数据访问特性分析结果,可以对基本表设计成 更为有效的文件组织和索引方式。
数据库系统设计与开发
北京邮电大学 计算机科学与技术学院
(2)了解并选择数据库文件结构
每种DBMS平台都提供一种或若干种数据库文件结 构,设计者应当了解目标DBMS提供的各种数据库 物理结构的机制,根据应用系统的特点,为基本表 和数据库选择合适的文件结构。
数据库系统设计与开发
北京邮电大学 计算机科学与技术学院
ISAM(索引顺序存取方法): 支持基于准确键匹配、模式匹配、值的范围和制定的 部分码。
B+树: 支持基于准确键匹配、模式匹配、值的范围和指定的 部分键。其索引是动态的,随着表内容的增加而增加。
数据库系统设计与开发
北京邮电大学 计算机科学与技术学院
M_Status
Single Married Divorced Married
State
PA CA CA PA
Gender
M F M M
Select count(*) from customers where M_Status = married AND State = CA AND Gender = M