详解数据库系统概述

数据库系统概述

  • [1. 数据库(Database)](#1. 数据库(Database))
    • [1.1 定义:](#1.1 定义:)
    • [1.2 特点:](#1.2 特点:)
    • [1.3 举例:](#1.3 举例:)
  • [2. 数据库管理系统(DBMS:Database Management System)](#2. 数据库管理系统(DBMS:Database Management System))
    • [2.1 定义:](#2.1 定义:)
    • [2.2 DBMS 的主要功能:](#2.2 DBMS 的主要功能:)
    • [2.3 常见的数据库管理系统:](#2.3 常见的数据库管理系统:)
    • [2.4 工作流程(类比):](#2.4 工作流程(类比):)
  • [3. 数据库系统(Database System)](#3. 数据库系统(Database System))
    • [3.1 定义:](#3.1 定义:)
    • [3.2 组成:](#3.2 组成:)
    • [3.3 举例:](#3.3 举例:)
  • 三者的关系
  • 举例:以电商系统为例
  • 总结(《数据库系统概论》)

1. 数据库(Database)

1.1 定义:

数据库是存储数据的地方,通过特定的组织方式把大量的数据存储在一起,便于后续的管理、查询和使用。

  • "数据"是什么?

    数据是我们身边信息的记录,比如超市里的商品清单、公司里的员工工资表、学校里的学生成绩表。这些信息都可以被记录、存储,成为"数据"。

  • "库"是什么?

    "库"就是存储的地方。数据库类似一个数据仓库,它帮助我们有条理地存储这些数据。

1.2 特点:

  • 有组织性:数据按照一定的结构存储,比如分成表格,每一行是一条记录,每一列是一个字段(比如名字、年龄、职位等)。
  • 持久性:数据库中的数据存储在磁盘中,断电也不会丢失。
  • 共享性:多个用户可以同时访问数据库中的数据。
  • 关系性:数据之间存在某种关联(如用户和订单之间的关联)。

1.3 举例:

假如我们在超市工作,超市每天都有很多商品要我们记录:

  • 数据库中可能会有几张表:
    • 商品表:记录商品的名称、价格、库存。
    • 订单表:记录每笔订单的商品编号、数量、客户名称。
    • 客户表:记录客户的姓名、联系方式等信息。

数据存储在表中,比如"商品表"的数据可能是这样的:

商品编号 商品名称 价格 库存量
1001 苹果 5.00 100
1002 香蕉 3.00 50
1003 西瓜 20.00 30

这样的表格存储在数据库中,我们就可以随时查找和操作这些数据。


2. 数据库管理系统(DBMS:Database Management System)

2.1 定义:

数据库管理系统是用于管理数据库的软件工具,它是一个"中间人",帮助用户和程序高效、安全地与数据库交互。

  • 如果数据库是"仓库",DBMS 就是"仓库管理员"。
  • 用户(或应用程序)不用直接去翻找数据,而是通过 DBMS 去管理、查询和操作数据库。

2.2 DBMS 的主要功能:

  1. 数据存储:提供高效的存储机制,支持大规模数据的存储。
  2. 数据查询和检索:通过查询语句(如 SQL)快速查找所需数据。例如,"查找所有库存少于 50 的商品"。
  3. 数据更新:支持对数据进行增删改操作。
  4. 数据安全性:控制哪些用户能访问哪些数据(权限管理)。
  5. 并发控制:多用户同时操作时避免冲突,比如两个人同时购买同一件商品,库存不会出错。
  6. 备份与恢复:保证数据不会丢失,即使发生系统故障也能恢复。
  7. 数据完整性:确保数据的正确性和一致性,比如禁止订单中出现不存在的商品编号。

2.3 常见的数据库管理系统:

  • 关系型数据库管理系统(数据以表格形式存储):

    • MySQL:开源,使用最广泛的数据库之一。
    • Oracle:功能强大,多用于企业级项目。
    • SQL Server:微软开发,集成于 Windows 环境中。
    • PostgreSQL:功能强大,支持复杂的关系数据。
  • 非关系型数据库管理系统(数据不以表格形式存储):

    • MongoDB:用 JSON 格式存储数据,适合处理大量非结构化数据。
    • Redis:内存数据库,速度极快,适合实时应用。

2.4 工作流程(类比):

  • 用户通过一个超市管理系统,想知道"苹果的库存量"。
  • 管理系统会向数据库管理系统(DBMS)发送一个查询请求。
  • DBMS 查询数据库后返回结果:苹果库存量是 100。

用户并不需要直接访问数据库,所有的操作都通过 DBMS 完成。


3. 数据库系统(Database System)

3.1 定义:

数据库系统是一个完整的生态系统,包括:

  1. 数据库(Database):存储数据的地方。
  2. 数据库管理系统(DBMS):管理数据库的软件。
  3. 应用程序:与数据库交互的程序,如 ERP 系统、超市收银系统等。
  4. 用户:操作和使用数据库的人,包括普通用户和数据库管理员。

3.2 组成:

数据库系统是一个整体,不只是单一的数据库或 DBMS,而是把存储数据、管理数据的软件,以及使用这些数据的用户和应用程序都包括在内。

3.3 举例:

以一个超市为例:

  • 数据库:存储商品、订单、客户等数据。
  • 数据库管理系统(DBMS):MySQL,用来管理这些数据。
  • 应用程序:超市管理系统(前端和后台)通过 DBMS 访问数据库。
  • 用户
    • 超市的普通员工:用系统查商品库存。
    • 超市的管理员:更新商品价格。
    • 程序员:负责维护数据库系统。

三者的关系

  • 数据库是数据的存储容器,记录了实际的数据内容。
  • DBMS是管理和操作数据库的工具,为用户和应用程序提供接口。
  • 数据库系统是更大的系统,包含数据库、DBMS、应用程序、用户,协同完成数据的存储和使用。

举例:以电商系统为例

假如我们有一个小型电商网站,这个系统中包含以下部分:

  1. 数据库(Database)

    • 用户表:存储用户的信息(如姓名、邮箱、密码)。
    • 商品表:存储商品的信息(如名称、价格、库存量)。
    • 订单表:存储每个订单的详情。
  2. 数据库管理系统(DBMS)

    • 使用 MySQL 作为 DBMS,负责查询、插入、删除数据。
    • 例如,管理员想添加一件商品"蓝牙耳机",通过 DBMS 发送一条 SQL 语句 INSERT INTO 商品表 ...
  3. 数据库系统(Database System)

    • 包括:
      • 数据库:保存用户、商品、订单等数据。
      • DBMS:MySQL,提供操作数据的能力。
      • 应用程序:电商网站的前端和后台。
      • 用户:客户、管理员、开发人员。

总结(《数据库系统概论》)

数据库

所谓数据库,就是长期存储在计算机内有组织、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的数据冗余、较高的数据独立性和可拓展性,并可为各种用户所共享。

数据库管理系统(DBMS)

数据库管理系统是位于用户与操作系统之间的数据管理软件。它和操作系统一样是计算机的基础软件,也是一类大型复杂的软件系统。他的主要功能包括以下几个方面:

  1. 数据定义功能 。数据库管理系统提供数据定义语言(DDL:data definition language)
  2. 数据组织、存储和管理功能
  3. 数据操纵功能 。数据库管理系统提供数据操纵语言(DML:data manipulation language)
  4. 数据库的事务管理和运行管理功能
  5. 数据库的建立和维护功能
  6. 其他功能。包括数据库管理系统与网络中其他软件系统的通信功能、一个数据库管理系统与另一个数据库管理系统或文件系统的数据转换功能、异构数据库之间的互访和互操作功能等。

数据库系统(DBS)

数据库系统是指引入数据库后的计算机系统,一般是指由数据库管理系统(及其应用开发工具)、应用系统和数据库管理员组成的存储、管理、处理和维护数据的系统

相关推荐
TDengine (老段)8 分钟前
TDengine 字符串函数 CHAR 用户手册
java·大数据·数据库·物联网·时序数据库·tdengine·涛思数据
qq74223498419 分钟前
Python操作数据库之pyodbc
开发语言·数据库·python
姚远Oracle ACE43 分钟前
Oracle 如何计算 AWR 报告中的 Sessions 数量
数据库·oracle
Dxy12393102161 小时前
MySQL的SUBSTRING函数详解与应用
数据库·mysql
码力引擎1 小时前
【零基础学MySQL】第十二章:DCL详解
数据库·mysql·1024程序员节
杨云龙UP2 小时前
【MySQL迁移】MySQL数据库迁移实战(利用mysqldump从Windows 5.7迁至Linux 8.0)
linux·运维·数据库·mysql·mssql
l1t2 小时前
利用DeepSeek辅助修改luadbi-duckdb读取DuckDB decimal数据类型
c语言·数据库·单元测试·lua·duckdb
安当加密2 小时前
Nacos配置安全治理:把数据库密码从YAML里请出去
数据库·安全
ColderYY2 小时前
Python连接MySQL数据库
数据库·python·mysql
GW_Cheng2 小时前
达梦数据库适配遇到的一些问题
数据库·国产化·达梦数据库