其他主要文件组织
混合记录文件
在DBMS中,文件组织的设计用于处理单一类型的数据记录。然而,在大多数现实世界的应用程序中,多种类型的实体以各种方式相互关联。为了表示不同文件中记录之间的关系,字段是连接的。例如,一个学生记录可能有一个连接字段`Major_dept`,其值给出学生主修的系的名称。`Major_dept`字段引用一个系实体,该实体应该由系文件中它自己的记录来表示。检索两个相关记录的字段值需要首先检索其中一个记录,然后使用其连接字段值来检索另一个文件中的相关记录。不同文件中记录之间的逻辑字段引用实现了这些关系。
对象DBMS以及像层次和网络DBMS这样的遗留系统使用通过相关记录的物理连续性或聚类或物理指针实现的物理关系来实现记录之间的关系。这些文件组织分配一个磁盘区域来存储多种类型的数据记录,以便不同类型的数据记录可以物理地聚类在磁盘上。对象DBMS使用对象类型的物理聚类将相关的对象一起存储在一个混合文件中。
为了区分混合文件中的记录,每个记录都包含一个记录类型字段,该字段除了其字段值外,还指定记录的类型。该字段通常是每个记录中的第一个字段,系统软件使用它来确定它即将处理的记录类型。DBMS可以使用目录信息来确定该记录类型的字段及其大小,以便解释记录中的数据值。
B树和其他数据结构作为主要组织
在DBMS中,可以使用各种数据结构来实现主要文件组织。除了我们已经讨论的内容之外,一些DBMS提供了使用B树数据结构作为主要文件组织的选项,前提是记录大小和记录数量足够小。B树数据结构通常用于索引。任何可以适应磁盘设备特征的数据结构都可以用作存储磁盘上记录的主要文件组织。
此外,基于列的存储最近被提出作为在关系数据库中存储关系的替代方法。这种方法以列的方式存储数据,而不是传统的行方式存储。
结论
总之,文件组织是数据库管理系统的一个重要方面,它决定了记录如何在磁盘上存储和访问。虽然大多数文件组织的设计都是为了处理单一类型的数据记录,但现实世界的应用程序通常需要多种类型的实体,这些实体以各种方式相互关联。为了表示不同文件中记录之间的关系,使用不同文件中记录之间的逻辑字段引用来连接字段。
像层次和网络DBMS这样的遗留系统使用物理关系来实现记录之间的关系,而对象DBMS使用相关记录的物理连续性或聚类或物理指针。此外,各种数据结构可以用作主要文件组织,包括通常用于索引的B树。基于列的存储也被提出作为在关系数据库中存储关系的替代方法,它以列的方式存储数据。文件组织的选择取决于被存储数据的特定特征和应用程序的要求。