【数据库强大的系统Trip 第1站】总概

数据库系统。

一个极其核心的计算机科学概念,几乎所有的现代软件系统都离不开它。就是这

数据库系统?就是一、核心概念:什么

数据库系统不是一个单一的软件,而是一个完整的生态系统,它由以下四个重要部分组成:

  1. 数据库: 存储数据的“仓库”。它是一个有组织、可共享、通常被集中管理的大量数据的集合。数据库不仅仅是存储数据,更核心的是它以某种数据模型(如表格)来组织数据,减少冗余。
  2. 数据库管理系统数据库系统的就是: 这核心和大脑。它是一个软件平台,用于创建、利用和维护数据库。用户和应用程序通过DBMS来访问数据库,而不直接操作数据文件。常见的DBMS有:MySQL, Oracle, SQL Server, PostgreSQL, MongoDB 等。
  3. 应用程序: 使用数据库的软件,例如网站、手机App、桌面程序等。应用程序通过DBMS提供的接口(如SQL)与数据库进行交互。
  4. 用户: 包括最终用户、应用程序员和数据库管理员(DBA)。数据库管理员是至关重要的角色,负责维护、备份、优化和确保数据库的安全。

简单比喻:
如果把数据库系统比作一个图书馆:

  • 数据库存放图书的就是就书库
  • DBMS图书馆的就是就管理规则和工作人员,他们负责图书的采购、编目、上架、借阅和归还。
  • 应用程序 就是前来借书或查阅的读者
  • 用户包括读者(最终用户)、写书的人(应用程序员)和图书馆馆长(DBA)。

二、为什么需要数据库系统?—— 对比文件系统

在数据库系统出现之前,数据通常存储在简单的文件里(如txt、csv)。这种方式存在很多问题:

特性文件系统数据库系统优势
资料冗余与一致性数据重复存储,容易不一致素材集中管理,冗余可控,一致性高节省空间,资料准确
数据共享困难,文件通常被单个程序独占容易,承受多用户并发访问提升协作效率
数据独立性代码与数据结构紧密耦合,一变俱变信息逻辑结构与应用程序分离易于维护和扩展
数据完整性需在程序中硬编码规则,难以维护给予约束(如主键、外键)来保证数据更可靠、有效
安全性难以精细控制提供用户权限管理,控制到表和列数据更安全
并发控制容易产生冲突(如素材覆盖)提供事务机制,保证并发操作正确性支持高并发访问
故障恢复困难,容易丢失数据提供日志和备份恢复机制数据持久性高

三、数据库系统的核心组件与功能(DBMS的角度)

  1. 数据模型: 定义数据如何组织和运行的框架。

    • 关系模型: 目前最主流的形式,使用二维表(行和列)来组织数据。SQL语言就是基于此模型。
    • 非关系模型: 包括文档型(如MongoDB)、键值型(如Redis)、图数据库(如Neo4j)等,用于处理特定类型的海量数据。
  2. 查询语言

    • SQL操作关系型数据库的就是: 结构化查询语言,标准语言。用于定义、操纵和控制数据。
      • DDL: 数据定义语言(如 CREATE, ALTER, DROP
      • DML: 数据操纵语言(如 SELECT, INSERT, UPDATE, DELETE
      • DCL: 数据控制语言(如 GRANT, REVOKE
  3. 事务管理

    • 事务: 一组不可分割的数据库操作序列(例如银行转账:A账户扣款和B账户加款必须同时成功或失败)。
    • ACID 特性
      • 原子性: 事务的所有操作要么全部搞定,要么全部不做完。
      • 一致性: 事务必须使数据库从一个一致性状态变换到另一个一致性状态。
      • 隔离性: 并发执行的事务之间互不干扰。
      • 持久性: 事务一旦提交,其对数据的改变就是永久性的。
  4. 存储管理与索引

    • DBMS负责在磁盘上高效地存储数据文件。
    • 索引: 类似于书籍的目录,它能极大地加快数据查询的速度。

四、主要类型

  1. 关系型数据库

    • 特点: 基于表格模型,使用SQL语言,严格遵守ACID特性。
    • 适用场景: 需要复杂查询、强一致性的事务处理系统(如银行、财务、ERP系统)。
    • 代表MySQL, Oracle, SQL Server, PostgreSQL, SQLite
  2. 非关系型数据库

    • 特点: 为特定需求设计,结构灵活,通常牺牲一些ACID特性来追求高性能、高可用性和可扩展性(横向扩展)。
    • 分类与场景
      • 文档型: 存储JSON-like文档,适用于Web应用(如MongoDB)。
      • 键值型: 简单高效,适用于缓存、会话存储(如Redis)。
      • 列存储: 适合大规模数据分析(如Cassandra, HBase)。
      • 图数据库: 存储实体之间的关系,适用于社交网络、推荐架构(如Neo4j)。
    • 代表MongoDB, Redis, Cassandra, Elasticsearch, Neo4j

五、总结

现代信息社会的基石。它通过就是数据库系统数据库管理系统这个核心软件,为我们提供了高效、安全、可靠、共享的数据管理能力,解决了文件系统存储数据的诸多弊端。

  • 如果你需要强一致性复杂的查询,首选关系型数据库
  • 如果你需要巨大的规模、灵活的结构和极高的吞吐量非关系型数据库是更好的选择。

如今,许多大型系统会采用混合架构,同时使用多种类型的数据库,让它们各司其职,发挥各自最大的优势。

posted @ 2025-09-19 13:15  wzzkaifa  阅读(12)  评论(0)    收藏  举报