数据有什么作用 数据库原理是什么

2025-01-1906:33:34营销方案0

在数据库管理系统(DBMS)中,数据的存取过程遵循一定的流程:

  1. 应用程序通过数据操纵语言(DML)向DBMS发出数据存取请求,如使用SELECT语句;
  2. DBMS会对这些请求进行语法检查,确认无误后还将核查语义及用户权限,这些信息均来源于数据字典(DD);
  3. 完成检查后,DBMS会优化查询执行,将请求转换为一连串单独记录的存取操作序列;
  4. 接着,DBMS将执行这些存取操作序列;
  5. 在系统缓冲区中,DBMS会搜索记录,若找到则继续后续操作,若未找到则转入下一步;
  6. DBMS将根据存储模式决定从哪个文件以及以何种方式读取物理记录;
  7. 随后,根据读取结果,DBMS会向操作系统(OS)发出读取记录的指令;
  8. OS执行该指令,读取记录数据后,将数据传回给DBMS;
  9. 在OS的管控下,DBMS将读取的记录送入系统缓冲区,并根据查询命令和DD的内容导出用户所需的记录格式;
  10. 数据从系统缓冲区送至用户工作区后,DBMS会反馈执行状态信息(成功或失败)给应用程序;
  11. 应用程序则对工作区中的数据进行相应处理。

数据库采用文件方式存储数据,这些文件在逻辑上可视为记录序列,物理上则映射至磁盘块中。

当需要删除一条记录时,虽然传统方法是将后续记录移至删除记录位置进行填补,但这涉及大量记录的移动,效率较低。为此,DBMS常采用暂不移动删除记录的空间,留待后续插入操作复用此空间的方法。但仅做删除标记并不足够,因此需引入额外结构以管理这些空间。

在文件开始处,DBMS会预留一定数量的字节作为文件头。文件头中存储了关于文件的各种信息,并记录了第一条被删除的记录。随后被删除的记录会以链表形式进行记录,此链表即称为空闲链表。

存储记录的常用方法包括堆文件、顺序文件、多表文件、B+树文件以及散列文件等(后两者多用于索引记录)。记录在文件中并无固定位置,可随机存放,即文件中的记录是以堆积方式存在。

顺序文件是为高效处理按特定搜索码值顺序排列的记录而设计的。搜索码是某个属性或属性集合的值,它可能不是主码甚至是超码。为快速按搜索码值顺序获取记录,DBMS会通过指针将文件块逻辑上有序地连接起来。每个文件块的指针指向搜索码值顺序的下一个文件块。

虽然顺序文件对于某些特定查询非常有效,但在插入和删除记录时维护物理顺序却较为困难。对此,DBMS采取了以下改进措施:

  • 删除操作时,DBMS同样会在文件中定位待删除记录所在的文件块。删除记录后,若文件块内剩余记录过少,可能会考虑将其他文件块的记录移至该文件块或反之。

在小型的数据库管理系统中,通常会将一个关系的所有定长记录存储在单个文件中,以便利用操作系统提供的文件系统功能并简化DBMS的设计。大型数据库管理系统可能不直接依赖操作系统进行文件管理,而是自行管理一个由操作系统分配的大文件。

多表文件是一种特殊的文件结构,它在一个文件块中存储了两个或多个关系的相关记录。这种结构将多个关系的元组(行)混合在一起进行存储,从而支持高效的连接运算。

举例来说:

  • 版权说明:
  • 本文内容由互联网用户自发贡献,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 295052769@qq.com 举报,一经查实,本站将立刻删除。