数据库系统简介

举报
slx_share 发表于 2024/03/29 11:31:24 2024/03/29
【摘要】 数据库是有一定组织结构、可长期存储的、可共享的数据集合。

1       基本概念

  • 数据库(DB):有一定组织结构、可长期存储的、可共享的数据集合
  • 关系型数据库:数据按照关系模型进行组织的数据库。
  • 非关系型数据库(NoSQL):数据按照key-value、图模型等非关系型模型组织的数据库。
  • 数据库管理系统(DBMS):对数据库进行管理(增删改查等业务操作)以及维护的系统,位于应用与操作系统之间。例如MysqlOraclePostgreSQL等都是常见关系型数据库。
  • 数据库内核:数据库管理系统的核心部分,采用高效的算法以及数据结构,保证核心功能(增删改查)的高效稳定。
  • 数据库系统(DBS):引入数据库后的一整套包含软硬件的计算机系统,软件包含数据库、数据库管理系统、数据库开发工具库、操作系统、应用软件等。

2       数据库中数据模型

数据模型是对现实世界的抽象工具,反应业务信息之间的关系,指导开发人员进行数据库设计。

  • 数据模型按照不同应用层次分成概念模型、逻辑模型、物理模型三种类型。信息的流转经过现实世界、信息世界和机器世界。信息世界里,用符号将现实世界的关系表示出来,形成概念模型,然后用数据库定义语言描述出来,形成逻辑模型,最后结合机器世界里的技术条件,确定具体的存储结构,形成物理模型。
  • 数据模型描述的内容包含数据结构、数据操作和完整性约束三个要素。
  • 数据模型按照对象关系类型主要包含关系模型、层次模型和网状模型三类。

3       数据库系统体系结构

不管是何种数据库系统软件,其总体体系结构可简单地划分为三级模式结构:外模式、概念模式、内模式:


  • 外模式:又称用户模式,是局部模式。不同用户能操作的数据范围不同,因此给用户呈现的数据视图不同。
  • 概念模式:是全局模式。整个数据库中数据逻辑结构的描述。
  • 内模式:是全局模式。整个数据库中数据的物理结构、存储方式的描述。

4       数据库管理系统演化

数据库本质是数据的集合,随着数据量的逐步增长,历经人工管理、文件管理以及数据库系统管理三个阶段。最初数据量不大,由人工管理数据文件。信息时代到来,自然而然想到将数据文件电子化后存储到服务器文件系统中。然而,庞大而多样的数据导致文件系统深度和广度越来越大,寻址效率低下。于是,开发出专门的数据库管理系统,提高数据的寻址效率以及存储效率。

5       数据库管理系统特点

数据库系统源自于文件系统,但相比文件系统,做了如下功能增强。

  • 支持特定语言SQL进行数据操作、数据定义。
  • 保证对数据的操作是完整的(Atomicity)。
  • 并发访问用户间是隔离的(Isolation)。
  • 数据持久化(Durability)可靠地存储,能从多种故障场景恢复。
  • 能保证事务执行前后最终状态的一致性(Consistency)。

6       数据库管理系统结构

数据库管理系统总体分为5个模块:

  • 连接管理系统:负责与客户端直接通信,对连接用户鉴权。
  • 编译执行系统:负责SQL语句的编译与执行,与存储管理系统对接进行数据操作。
  • 存储管理系统:负责进行数据的存储。
  • 事务系统:提供对事务、并发访问控制的支持。
  • 系统表:负责数据库中所有元数据的管理。通常每个database有自己的一套系统表(创建database时从模板数据库拷贝),少数系统表是多个database共享。系统表将个系统模块有机地连接在一起。


7       SQL执行过程

SQL作为一种声明式语言,需要通过编译、优化生成程序化的执行路径才能被执行。不同的数据库优化器生成的执行路径不同,性能相差也比较大,因此不同品牌数据库的差异主要体现在优化器上。正常一条SQL的执行流程如下:


  • 词法解析:分析器对SQL文本进行单词切割,提取关键词,校验单词是否正确。
  • 语法解析:分析器对校验SQL语句语法正确性,生成语法树。例如select后面是否跟了from关键字。
  • 语义解析:将语法树与元数据绑定,赋予SQL语句语义,确认字段、表是否存在或是否有权限访问。
  • 优化:将绑定语义的语法结合表信息,生成最终的物理执行计划。
  • 执行:运行物理执行计划,生成结果集返回给客户端。

8       参考

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。