数据库物理结构设计资料
教育教务系统
第一学期的课
电子教案6.6版
数据库技术
内容概要
教学过程
6.1物理结构设计内容
6.2选择访问方法
6.3存储结构设计
6.4确定存储位置
6.5选择存储介质
6.6物理结构评估
6.7 SQL Server 2005索引机制
6.1物理结构设计内容
物理结构是数据库访问存储介质的方式、存储结构和位置。
物理结构设计:根据逻辑结构设计结果,设计逻辑结构的最佳访问地点
通过法律、存储结构、位置、存储介质的合理选择等,设计相应的逻辑
结构的最佳物理环境—存储模式进程。
物理结构设计的内容:访问方法的选择、存储结构的设计、仓库的确定以及
选择存储介质,包括访问类型、访问时间、插入时间和删除时间
空间支出等。
(1)访问方法:指用户访问数据库数据的方法和技术。
(2)存储结构:基于逻辑结构指标和DBMS支持的数据类型,
确定的数据项的存储类型和长度、元组的存储结构等
即,是数据文件及其数据项在介质上的具体存储结构。
(3)存储位置:指根数据库文件和索引文件等介质上的具体存储位置。
(4) (存储介质)用于保存文件的物理存储装置。
包括磁盘、磁带、光盘、磁盘阵列、磁带库和光盘阵列。
具体包括介质容量、访问速度和费用等。
物理结构设计方法:
(1)选择访问方法。
)2)设计存储结构。
)3)确定保管场所。
)4)选择存储介质。
)5)评价物理结构。
结论:
通过合理的访问方法、存储结构、位置和存储介质设计,
最后,为逻辑模型设计满足APP应用需求的最佳存储模型。
6.2选择访问方法
实现快速访问数据库的最有效方法是使用索引机制。
索引机制是指对数据库中的数据表,根据查询数据表的需要
根据查询数据对应的重要属性,为数据表建立相应的使用方法
执行查询操作时,快速搜索到的索引文件首先位于索引文件中
查找查询的元组在数据表中的位置(地址),然后基于该位置
地址,去数据表直接取出元组数据。 第一个这样的查询索引文件是
从数据表中检索值的搜索机制称为索引机制。
索引表是指将主键等重要属性的值按升序(
降序)排序后,由与其对应的元组数据表中的位置构成
对照表。 即,索引表是索引属性值和元组的地址的对应表。
索引文件是存储索引表的文件。
提示:索引文件必须与数据文件一起使用
因为是高速检索,所以单独使用索引文件是没有意义的。
6.2选择访问方法
例如,词典由词典正文和词典索引的连接部分组成。 词典的索引相当于索引
引用,词典正文相当于数据表。 词典索引与词典正文一起使用来查找
咨询字的用法。 具体的查询流程如下。
)1)首先在词典索引中,查询词典中单词的页码。
)2)然后,根据页码,在词典正文中找到该字的用法。
参考问题1 :对于任何数据表,使用索引机制搜索或不使用索引机制搜索
与直接搜索数据表相比,前者肯定比后者快吗?
考题2 )在什么情况下,使用索引机制可以快速搜索?
常见的访问方法如下。
平衡树(Balance Tree,b树)、集群)、哈希索引。
其中,b树索引是最常用的访问方法,具体操作参考数据结构。
聚簇索引(确定) )
集群是指通过直接根据索引中关键属性的值找到数据的物理存储位置来实现高速化
以快速检索数据为目的,提高检索效率。
聚簇索引:根据重要属性对数据表编制索引时,按索引顺序进行对数化
根据表中相应元组的物理存储位置进行排序,以使索引顺序与数据表中相应的元相匹配
组的物理顺序始终保持一致的索引过程。
聚簇索引与非聚簇索引的区别:
1 )聚簇索引的顺序总是与数据的物理存储顺序一致; 非聚簇索引的顺序和
数据的物理排列顺序无关。
2 )未簇索引b树的叶节点仍然是索引,其中簇索引b树的叶节点是数据节点
节点。 指针指向相应的元组或数据块。
3 )一个数据表只能有一个簇索引; 有多个未群集的索引。
4 )创建和管理非聚集索引的开销相对较小,聚集索引的开销相当大。
5 )聚簇索引适合于不需要更新或很少更新的APP应用,而非聚簇索引更适合
新的APP应用程序。
6 )聚集索引灵活性较低,不建议频繁适配。 非聚簇索引比较灵活。
聚簇索引(确定) )
使用聚簇索引时的注意事项:
(1)频繁进行连接操作的数据表推荐使用集群索引。
)2)推荐属性组利用率高或重复率高的关系
聚簇索引。
职业院校
(4)在更新操作远远多于连接操作的关系中,不推荐使用聚簇索引。
提示:集群索引可以提高某些APP应用程序的性能,但可以更改
数据的物理存储位置将更改,数据表的原始索引将变为无效。
同时维护费用很大,需要慎重使用。
6.3存储结构设计
存储结构设计内容:存储关系模型; 关系模型中的数据项
数据项的类型、宽度、是否是主键、是否是外键、是否是索引键等。
【例6.8】:关系r(R1,R6,R7,R20 )中包含20个属性时,
但是前六个属性的利用率非常高,其他属性的利用率非常低
保存时可以用r(r1,…,R6 )、s ) r7、…、R20 )这2个关系进行
通过原始存储(垂直分割、逻辑模式/存储模式映像)创建
相应的调整。
考题:如果关系r(R1,…,R6,R7,…,R20 )包含60万个元组,则为、
但是,前6万个元组的利用率非常高,其他元组的利用率非常高
如果是,应该如何设计存储结构?
提示:建立两个同构关系(即水平分割)。
6.4确定存储位置
DBMS提供了数据库、索引文件、多日志文件和备份文件等文件的缺省文件
目录结构及其存储路径。 为了提高系统的性能,需要进一步设计保管。
例如,对于SQL 2005数据库,可以设置数据库和日志文件的存储路径等。
存储布局设计的基本原则:
1 )同类文件存储在同一目录中。
2 )易变部分和稳定部分应分开存放。
3 )接入频率高的部分和接入频率低的部分应分别存放在高速和低速设备上。
例如,在多磁盘计算机系统中,为了提高系统性能,可以采用以下方案。
方案1 )将数据表和索引文件放置在不同的磁盘上,使多个磁盘并行工作。
方案2 )将大型数据表放在不同的磁盘上,加快数据访问速度。
方案3 :将日志文件和数据库放在不同的磁盘上,并并行运行多个磁盘。
方案4 :将数据库放在高速磁盘上的备份,也就是将备份副本放在磁带上。
例如,例6.8的R(R1,R6 )存储在高速磁盘上,s ) R7,R20 )存储在磁盘上。
4 )根据APP应用系统的文件类型和APP应用需求,统一设计文件目录结构。 统筹考虑
汇总访问时间、存储空间、维护费用等数据文件。
6.6物理结构评估
通过对设计的多种物理结构进行评估,选择最佳的物理结构。
评价物理结构:包括评价内容、评价指标、评价方法。
评估内容:访问方法选择的正确性、存储结构设计的合理性、
文件位置规范化,存储介质选择标准化。
评估指标:存储空间利用率、数据访问速度和维护成本
等等。
评价方法:根据物理结构评价内容,统计存储空间的利用
率、数据访问速度、维护费用指标
结论通过比较各项指标,选择适合应用的合理最佳物理
结构。
6.7 SQL Server 2005索引机制
编制索引
修改索引
删除索引
1创建索引
格式: create [ unique ] [ cluster ]索引名称
ON表名(列名(顺序)、列名(顺序)…) )
功能:根据指定的属性列按升序或降序对指定的数据表编制索引。
说明:
1 )索引名称)索引的名称。 索引名称必须遵循标识符规则。
2 )表名)索引的基本表名。
3 )可以在表的一列或多列中创建索引。 各列名称之间用逗号隔开
4 )位次是指索引值的排列顺序,升序: ASC,降序: DESC。 默认值:自动存储。
5 ) UNIQUE )索引中的每个索引值仅对应于唯一记录。 也就是说,唯一的索引。
6 )聚类(编制聚类索引。 在数据表上创建聚簇索引后,表中的数据也将
按指定集群属性值的升序或降序存储。 即,聚簇索引索引项目的顺序和表
中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。
7 )索引维护由DBMS自动进行。
8 )使用索引选择DBMS是否自动使用索引以及要使用哪个索引。
【例6.10】
在 StudentTestDB中,在Student、Course、StudentCourse中创建电缆
引用。
(1) Student表按照学校号码的升序制作唯一的索引
)2) Course表按照课程编号的升序创建唯一的索引
)3) StudentCourse表按照学号的升序和课号的降序制作唯一的索引。
SQL Server 2005语句:
createuniqueindexstudentsnoonstudent (SnO ) )。
createuniqueindexcoursecnooncourse (cno )。
createuniqueindexscsnocnoonstudentcourse (SnO
ASC,CNo DESC )
提示:不能为已经包含重复值的属性列创建UNIQUE索引。 是的
在要创建UNIQUE索引的属性列中,DBMS在插入新记录时会自动检查新记录
记录此列中是否有重复值。 相当于向属性列添加UNIQUE约束。
中专专业
2005句如下。
createclusteredindexstudentsnameon
是student(sname )
提示:一个数据表最多只能创建一个集群索引。
6.7.2修改索引
格式: ALTER INDEX {索引名称| ALL }
ON表名{ REBUILD | DISABLE}
功能:修改现有数据表索引或视图索引。
说明:
(1)索引名称:更改索引的名称。
)2) ALL指定与表或视图相关的所有索引。
(3)表名)修改索引的基本表名。
(4)重新生成索引。
)5) DISABLE )禁用索引。 可以禁用任何索引。
【例6.17】重新生成索引。 在Employee中重新生成各个索引。
SQL Server 2005语句:
USE AdventureWorks
alterindexpk _ employee _ employeeid on
HumanResources.Employee
REBUILD
【例6.18】重新生成表的所有索引。 使用ALL关键字重新生成
与表相关联的所有索引。
SQL Server 2005语句:
USE AdventureWorks;
alterindexallonproduction.product
REBUILD
【例6.19】使索引无效。 禁用Employee的非聚集索引
IX_Employee_ManagerID。
SQL Server 2005语句:
USE AdventureWorks
alterindexix _ employee _ manager id on
HumanResources.Employee
禁用
【例6.20】启用索引。 启用Employee的非聚集索引
IX_Employee_ManagerID。
SQL Server 2005语句:
USE AdventureWorks
alterindexix _ employee _ manager id on
HumanResources.Employee
REBUILD
3删除索引
格式: DROP INDEX表名.索引名
功能:从当前数据库中删除索引。
说明:
(1)用索引名指定要删除的索引的名称。
)2)用表名指定要删除索引的基本表名。
提示:删除索引会将该索引从数据词典中删除
引用的说明。
【例6.21】删除Student的SName列的簇索引StudentSName。
SQL Server 2005语句:
DROP INDEX Student.StudentSName
【例6.22】删除ProductVendor的索引
IX_ProductVendor_VendorID。
SQL Server 2005语句:
USE AdventureWorks
dopindexix _ product vendor _ vendor id
ON Purchasing.ProductVendor
【例6.23】删除多个索引。 从一个事务中删除两个索引。
SQL Server 2005语句:
USE AdventureWorks
DROP INDEX
IX _ purchaseorderheader _ employeeid on
Purchasing.PurchaseOrderHeader,
IX_VendorAddress_AddressID ON
Purchasing.VendorAddress
6.8总结
本章介绍访问方法的选择、存储结构的设计、位置的确定、存储介质的选择和评估
价物理结构的五个方面详细介绍了物理结构设计的基本概念、基本内容和基础
在本方法中,其中重点介绍了索引机制,特别是b树及其使用方法,最后利用SQL
Servedr 2005提供的索引机制详细介绍了如何创建和修改数据库索引
方法和删除方法。
主要的知识点如下
(1)物理结构设计的基本概念、基本内容、基本方法。
)2)索引机制(特别是b树)及其用法。
)3)常用的访问方法。
)4)逻辑模式的存储结构设计。
)5)存储位置设计的基本原则。
)6)常用存储介质及其选择原则。
)7)物理结构评价方法。
(8)索引的编制方法、修改方法、删除方法。
习题
1 .什么是物理结构设计? 简述物理结构设计的主要内容。
2 .简述物理结构设计的方法步骤。
3 .什么是索引机制、索引表、索引文件? 简要说明索引机制的作用。
11 .简述什么是集群索引,集群索引和非集群索引的区别。
12 .简述集群索引的作用及其应用范围。
22 .利用student testdb.MDF对三个表分别建立默认引用、唯一性
需要索引和集群索引,具体是定制。
24 .利用student testdb.MDF分别修改第22题编制的索引
修改、禁用和启用操作。 具体需要定制。