6.5 数据字典" k* c& V# S1 {& D
1、 数据字典(系统目录)中存储了数据库对象的各类描述信息和DBMS所需的控制信息,全称数据库元数据;2 Z+ x1 {5 `- k% R; ?5 j5 p
2、 数据库对象的各类描述信息:包括外模式、模式、内模式以及它们之间的映射的描述;& x2 `, `. P5 y; H, p' L5 w1 E6 \
3、 DBMS所需的控制信息:包括查询优化、安全性检查、用户权限验证等;
8 h% M6 K3 o' \. j! H; |4、 数据字典主要包括:
3 m7 f# l( j1 T1 n3 N: ?" w8 I5 B- ~(1) 关系模式信息;
4 S0 ~% ^5 S- `, H; z(2) 与视图描述有关的信息;# r: n# w* z% l
(3) 关系的存储结构和存取方法信息;
# V" g4 t$ Y' O$ \( q9 O" |0 u6 [(4) 完整性约束信息;; W8 G% O' p. |0 k- }1 Z
(5) 安全性有关信息;& A8 J; d z8 ]; t0 U" i/ t) h% u, |$ o
(6) 数据库运行统计信息;
! ?, n- r' V, V6.6 数据库物理设计; G' _7 j H, F' d7 i9 L
6.6.1 设计步骤和内容
a2 a2 v7 F. ~" {- G9 p" h1、 数据库物理结构设计:在具体的硬件环境、OS、DBMS约束下,根据数据库逻辑设计结果,设计合适的数据库物理结构。目标是存储空间占用少、访问效率高和维护代价低;
8 p( e6 G! h$ U5 V+ B6 B2、 一旦选定了硬件平台、OS和DBMS,数据库的数据存储和存取方式等可用的物理模式也就随之确定了; m- U, F4 e( B+ h) a
3、 数据库物理设计主要包括以下步骤:8 b4 A+ `- G; F- @
(1) 数据库逻辑模式调整:将数据库逻辑模式及其视图转换为DBMS支持的基本表和视图,并利用DBMS提供的完整性机制设计业务规则;% I6 A7 K3 m7 K! l
(2) 文件组织与存取设计:配置基本表的文件组织形式,据实际情况为基本表设计合适的存取方法和路径;4 T$ ]+ }1 j; c8 y) N
(3) 数据分布设计:3 Y& f6 z/ T0 f- d7 r. k2 u( \" x
(4) 安全模式设计:( x" {4 X6 C# w! z; w+ l7 B4 @
(5) 确定系统配置:
7 v' f1 z4 {+ @/ R% l(6) 物理模式评估:5 X I* g& r$ M) G' Z$ M
6.6.2 数据库逻辑模式调整
. g. r; b& C, X, i% d: T: E1、 物理数据库设计首先需要根据数据库逻辑结构信息,设计目标DBMS平台支持的基本表的模式信息,这些模式信息代表了所要开发的具体目标数据库的结构,这个过程称为数据库逻辑模式调整,主要包括如下设计内容:, n9 B; A+ U/ p2 t7 G$ F
(1) 实现目标数据库基本表和视图:采用目标DBMS所支持的建表方法,设计基本表及其面向模型的完整性约束;
1 G2 t3 ]2 k) r3 i. J( Y7 X(2) 设计基本表业务规则;
- g1 s! S( N) {2 N" X" e- t% b6.6.3 DB文件组织与存取设计
% w% o# T7 K/ G" z1、分析事务的数据访问特性
7 a/ R+ k: d8 P% s0 i(1) 使用事务-基本表交叉引用矩阵,分析系统内数据库事务对各个基本表的访问情况,确定事务访问了哪些基本表,对这些基本表执行了何种操作,并进一步分析各操作涉及到的基本表属性;) u- s5 V' h7 ^- t( h
(2) 估计各事务的执行频率;
# d6 Z' r1 K3 J! N \- T# W(3) 对每张基本表,汇总所有作用于该表上的各事务的操作频率信息;
' Q9 l3 |6 v2 l* X9 K9 h2、 了解并选择数据库文件结构$ S$ i% U& K, I( u2 [( O
(1) 如果数据库中的一个基本表中的数据量很少,并且操作非常频繁,该基本表可采用堆文件组织方式;
; G9 ~0 x3 t! B6 d, |. J9 h' z(2) 顺序文件支持基于查找码的顺序访问,也支持快速二分查找;
1 {: P( Y7 z% }1 @& L(3) 如果用户查询是基于散列域值的等值匹配,特别是如果访问顺序是随机的,散列文件比较合适。但散列文件组织不适合以下情况:
9 I" u# R, x' B6 j W/ J) s, p: f(A) 基于散列值域的非精确查询;) h+ X! ~$ ~5 n+ Y4 p5 o% j
(B) 基于非散列域进行查询时;5 U& s! H5 x3 U+ @' N
(4) B-树和B+树文件是实际数据库系统中使用非常广泛的索引文件结构,适合于定义在大数据量基本表上、基于查找码的等值查询等;
# e( E# G) R3 J5 P9 c(5) 如果某此重要而频繁的用户查询经常需要进行多表连接操作,可考虑将这些基本表组织为聚集文件;
# H8 [. L; G& ^( t3、 设计存取路径:
; u0 m$ l7 d+ k" e8 A0 r8 c(1) 为数据库文件设计合理的物理存储位置;
% A% |# O4 ~ V9 @, l(2) 为基本表设计索引机制:索引可以提高文件存取速度,改善访问性能,但索引由DBMS管理,它的建立、维护需要一定的系统开销,数据的操作会引起索引的重新调整,还占用一定的存储空间,可根据如下原则决定是否为一个基本表建立索引:
- \% F: p2 A( g1 k: W(A) 对于经常需要查询、连接、统计操作,且数据量大的基本表可考虑建立索引,而对于经常执行插入、删除、更新操作或小数据量的基本表应尽量不建立索引;
6 }6 Z; b- B v" X(B) 一个基本表上除了可以建立一个聚集索引外,还可以建立多个非聚集索引,但索引越多,对表内数据更新所需的开销越大,对于一个更新频繁的表应少建或不建索引;
2 b5 Z* }- { f& s/ O(C) 索引可以由用户根据需要随时创建或删除,以提高数据查询性能; |