18143453325 在线咨询 在线咨询
18143453325 在线咨询
所在位置: 首页 > 营销资讯 > 信息时代 > 数据库系统目录结构(数据库)

数据库系统目录结构(数据库)

时间:2022-11-19 04:30:02 | 来源:信息时代

时间:2022-11-19 04:30:02 来源:信息时代

    数据库系统目录结构 : 数据库的元数据,也称为数据字典或名册(dictionary或directory),它是数据库系统的缩影,是数据库的数据库。例如,关系系统中的关系模式的定义、属性值的分布、存取路径信息等。所有数据库系统的活动,包括外部操作,如定义数据对象和查询、添加、删除及修改数据对象,以及数据库系统的内部运作,如用户事务的编译、授权检查、存取数据、并发控制和故障恢复等是须臾也离不开目录的。在整个数据库系统的运行过程中无时无刻不在和目录打交道。
例如,用户定义一个关系时,需将所定义的关系造表,将外部名映射为内部名,记录属性的类型等,这些关系的模式信息亦即元信息要存储在目录中,以后存取该关系时首先必须查询目录以获得相应的信息。在删除一个关系时,除了需将数据库中该关系的所有元组删除掉,还需将目录中该关系的模式信息删除。目录从本质上是和数据库系统同样复杂的,它也有定义、查询、添加、删除、修改等操作,以及并发控制,故障恢复等问题。因此,目录结构的设计是一个十分重要的课题,不仅涉及数据库系统的正确运行,更涉及数据库系统的效率。
由于目录和数据库十分类似,因此,在目录结构的设计中有相当多的系统采用将目录数据视为关系数据,从而目录的存储结构、存取结构、并发控制、存取控制、故障恢复等机制都可以借助数据库管理系统的相应功能子系统来统一管理。这种策略的显而易见的优点是使整个系统整齐划一。由于目录的建立和管理均借用整个系统的相应功能子系统来进行,因而整个系统的设计和开发的开销大大降低。把目录数据和用户数据都表示为简单的关系,这种单纯和划一的表示形式体现了整个系统的一种数学的美。
但是以上的设计考虑其缺陷也是十分明显的,即整个系统的效率的低下。在数据库系统的运行过程中时时都要访问目录,于是经常要调用整个系统的相应子系统。这种调用体现为一种进程切换,而进程切换的开销是十分昂贵的,动辄上万条指令,从而导致整个系统的效率太低,无法使用。为了让系统的效率能为实际的系统所接受,必须对目录结构进行精细的分析和设计。对目录的访问可定义为一种目录事务,它与一般的用户事务是不同的。由于目录的登记项或数据项是一种内部表格中的项,它比较简单和整齐划一,不同于用户的数据,因而易于组织和管理。它也不需要像用户关系的并、交、差、连接和投影等那样的操作,因而结构大为简化,可以做得更为小巧和精致。
数据库系统的整个运行,即编译、执行等过程中要不断访问目录,相应的目录事务可以列举如下:
(1)数据库管理员为用户注册,为用户建立或更新口令。
(2)数据库管理员为了解数据库的状态而对系统目录中的各种信息包括统计信息的查询。
(3)用户进入数据库系统时对其注册名及口令的核查。
(4)数据录入前对关系模式的查询。
(5)编译时申请关系内部名、通用存取路径名和断言内部名。
(6)定义关系模式或扩充关系。
(7)定义或删除用户权利矩阵。
(8)定义或删除完整性断言。
(9)为用户事务查取关系模式、完整性断言、通用存取路径和权利矩阵等信息,建立程序状态表。
(10)查取关系的势(cardinality)、属性值的分布信息和非重复属性值的个数等信息。
(11)删除关系。
(12)定义或删除通用存取路径。
(13)查询存取路径。
(14)查询关系的描述信息。
(15)查询目录的版本号。
(16)为建立封锁表对目录的查询。
为了精致化目录设计,应对上述目录事务进行分类,例如第1种事务不会妨碍其他事务读数据库,不必进行并发控制,但两个第1种事务需进行并发控制,第11种事务删除关系则要禁止其他事务访问数据库。不同种类的目录事务相互之间和自身之间具有不同的相容关系,需进行不同的并发控制,从而减少全局封锁的情况,提高系统的并发度和系统的效率。

74
73
25
news

版权所有© 亿企邦 1997-2022 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭