计算机及应用的数据库具体包含哪些内容?

更新于
2026-08-12 11:26:41
4阅读来源:SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

一、课程总览——为何要学数据库?

数据就是资产。许多同学在学习初期会遇到以下痛点:

  • 不知道该选哪种数据库,常常盲目跟风。
  • SQL 语法记不住写查询时频繁报错。
  • 数据库设计混乱,导致后期维护成本飙升。
  • 安全与备份缺乏程序思路,数据一旦丢失难以恢复。

本课程围绕这些痛点。程序梳理计算机及应用专业的数据库主要内容,帮助你从“懵懂”到“熟练”。

计算机及应用的数据库具体包含哪些内容?

二、数据库基础知识

1. 基本概念与组成

  1. 从数据库来看,长期存储在计算机中的、有组织、可共享的数据集合。不过,

    计算机及应用的数据库具体包含哪些内容?
  2. 再看数据模型。关系模型、文档模型、键值模型等,用于抽象现实世界的数据结构。

  3. 关键组件的观点是,表、字段、索引、视图、存储过程、触发器、使用者/角色、命名空间、实例。

2. 常见分类与选型教程

类型代表产品适用场景选型建议
关系型 RDBMSMySQL / PostgreSQL / Oracle / SQL Server事务性业务、金融、电商等需要强一致性的程序关注 ACID 支持和成熟环境,可优先考虑 MySQL 或 PostgreSQL。
NoSQL 文档型MongoDB / Couchbase内容管理、日志收集、快速迭代的 Web 应用对结构灵活性要求高时使用。
NoSQL 键值型Redis / DynamoDBCaching、高并发计数器、会话存储等场景需要毫秒级响应且读写频繁时首选。说起来,
列式存储/大数据仓库Cassandra / HBase / ClickHouse海量分析、大数据离线计算 关注写入吞吐和水平 能力。
分布式 NewSQL Tidb / CockroachDB 兼顾事务一致性和水平 需要云原生弹性伸缩且仍保持强一致性时考虑。

三、SQL 语言深入掌握

1. 基础 DDL/DML/DCL 操作

-- 创建表
CREATE TABLE employee (
emp_id INT PRIMARY KEY。name VARCHAR,dept_id INT,salary DECIMAL
);-- 插入数据
INSERT INTO employee VALUES;其实,-- 查询
SELECT emp_id。name FROM employee WHERE salary> 5000;话说回来,-- 更新
UPDATE employee SET salary = salary * 1.05 WHERE dept_id = 10;-- 删除
DELETE FROM employee WHERE emp_id = 1;

2. 高级特性

  • 子查询:SQl 中嵌套 SELECT,实现复杂过滤。
  • 窗口函数:CUME_DIST,ROW_NUMBER 等用于分页与排名。
  • T​ransaction:
    BEGIN;UPDATE account SET balance = balance - 100 WHERE id = 101;UPDATE account SET balance = balance + 100 WHERE id = 102;COMMIT,-- 出错则 ROLLBACK
    
    确保业务原子性。怎么说呢,
  • T​emp Table 与 CTE:
    WITH dept_total AS (
    SELECT dept_id。
    SUM AS total FROM employee GROUP BY dept_id
    )
    SELECT e.name,d.total FROM employee e JOIN dept_total d ON e.dept_id = d.dept_id;
    简化复杂查询结构。

四、数据库设计方法论

1. 实体-关系模型建立流程

  1. E‑R 图绘制:识别实体、属性和关系。
  2. 转换为关系模式:确定主键、外键并消除多值依赖。
  3. 从范式规范化来看,①范式。
  4. 说到逆向检查,是否满足查询性能需求。
  5. \end{ol>

    2. 常用设计工具

    • PowerDesigner 、ER/Studio 、Navicat Data Modeler。
    • 开源工具 dbdiagram.io 、draw.io。
    • \end ul>

      3. 实战案例:电商订单程序表结构

      订单表
      - order_id PK
      - user_id FK → user.id
      - total_amount
      - status
      - created_at
      订单明细表
      - item_id PK
      - order_id FK → order.order_id
      - product_id FK → product.id
      - quantity
      - price
      使用者表
      - user_id PK
      - username UNIQUE
      - email UNIQUE
      …\end pre>
      

      五、主流 DBMS 深度剖析

      1. 关系型 DBMS
        • MySQL / MariaDB :开源社区版易上手,适合中小项目;公司版提供高可用插件,
        • PostgreSQL :标准兼容度最高,支持高级特性如 JSONB 与 GIS。
        • Oracle :大型公司级网站,提供丰富的安全审计功能。
        • SQL Server :微软环境整合,适合 .NET 开发者。
      2. NoSQL 系列
        • MongoDB :文档模型灵活,支持聚合管道与分片。
        • Redis :内存键值存储,用作缓存或实时计数器。
        • Cassandra :列族存储。高写入吞吐,可跨地域复制。
      3. NewSQL 与分布式 SQL
        • TiDB :水平 + 完整的 MySQL 协议,实现强一致性事务。按理说,
        • CockroachDB :自恢复、多活部署。适合云原生微服务架构,

      六、安全与备份策略  ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​  ​  ​ ​​​​​​ ​​​​​ ​​​​ ​​​​​ ​​ ‍‍‍‍‍‍ ‍‍‍‍‏‏‏‏‏‏‏‏‎‎‎‎‎‎‎‬‬‬‬‬️️️️️⛔️⛔️⚠️⚠️⛔⛔⚠⚠🚨🚨🚧🚧☣☣❗❗🛑🛑🔐🔐🔓🔓📁📁💾💾📂📂🗄🗄📊📊✍✍✨✨💡💡✅✅✅✅✅✅✅✅✅✔✔✔✔✔✔✔✔❎❎❎❎❎)

      • 权限管理 : RBAC。最小权限原则 示例这方面,
        GRANT SELECT,INSERT ON sales TO rolesalesuser;REVOKE UPDATE ON sales FROM rolesalesuser;
        如此即使开发人员误操作也只能读写指定表。​ ​
      • 数据加密 : 静态加密、传输层加密。 MySQL 示例:
        ALTER INSTANCE ROTATE INNODB MASTER KEY;ALTER TABLE customer MODIFY COLUMN ssn VARBINARY;
      • 审计日志 : 开启通用查询日志或专用审计插件,如 MariaDB audit_plugin。 可追溯谁在何时执行了 DELETE 操作。
      • 备份与恢复 : 完整备份 + 增量日志 + 定期演练恢复流程。 推荐方法的观点是,
        • 全量快照
        • 增量 binlog 同步
        • 灾备集群

标签:数据库

一、课程总览——为何要学数据库?

数据就是资产。许多同学在学习初期会遇到以下痛点:

  • 不知道该选哪种数据库,常常盲目跟风。
  • SQL 语法记不住写查询时频繁报错。
  • 数据库设计混乱,导致后期维护成本飙升。
  • 安全与备份缺乏程序思路,数据一旦丢失难以恢复。

本课程围绕这些痛点。程序梳理计算机及应用专业的数据库主要内容,帮助你从“懵懂”到“熟练”。

计算机及应用的数据库具体包含哪些内容?

二、数据库基础知识

1. 基本概念与组成

  1. 从数据库来看,长期存储在计算机中的、有组织、可共享的数据集合。不过,

    计算机及应用的数据库具体包含哪些内容?
  2. 再看数据模型。关系模型、文档模型、键值模型等,用于抽象现实世界的数据结构。

  3. 关键组件的观点是,表、字段、索引、视图、存储过程、触发器、使用者/角色、命名空间、实例。

2. 常见分类与选型教程

类型代表产品适用场景选型建议
关系型 RDBMSMySQL / PostgreSQL / Oracle / SQL Server事务性业务、金融、电商等需要强一致性的程序关注 ACID 支持和成熟环境,可优先考虑 MySQL 或 PostgreSQL。
NoSQL 文档型MongoDB / Couchbase内容管理、日志收集、快速迭代的 Web 应用对结构灵活性要求高时使用。
NoSQL 键值型Redis / DynamoDBCaching、高并发计数器、会话存储等场景需要毫秒级响应且读写频繁时首选。说起来,
列式存储/大数据仓库Cassandra / HBase / ClickHouse海量分析、大数据离线计算 关注写入吞吐和水平 能力。
分布式 NewSQL Tidb / CockroachDB 兼顾事务一致性和水平 需要云原生弹性伸缩且仍保持强一致性时考虑。

三、SQL 语言深入掌握

1. 基础 DDL/DML/DCL 操作

-- 创建表
CREATE TABLE employee (
emp_id INT PRIMARY KEY。name VARCHAR,dept_id INT,salary DECIMAL
);-- 插入数据
INSERT INTO employee VALUES;其实,-- 查询
SELECT emp_id。name FROM employee WHERE salary> 5000;话说回来,-- 更新
UPDATE employee SET salary = salary * 1.05 WHERE dept_id = 10;-- 删除
DELETE FROM employee WHERE emp_id = 1;

2. 高级特性

  • 子查询:SQl 中嵌套 SELECT,实现复杂过滤。
  • 窗口函数:CUME_DIST,ROW_NUMBER 等用于分页与排名。
  • T​ransaction:
    BEGIN;UPDATE account SET balance = balance - 100 WHERE id = 101;UPDATE account SET balance = balance + 100 WHERE id = 102;COMMIT,-- 出错则 ROLLBACK
    
    确保业务原子性。怎么说呢,
  • T​emp Table 与 CTE:
    WITH dept_total AS (
    SELECT dept_id。
    SUM AS total FROM employee GROUP BY dept_id
    )
    SELECT e.name,d.total FROM employee e JOIN dept_total d ON e.dept_id = d.dept_id;
    简化复杂查询结构。

四、数据库设计方法论

1. 实体-关系模型建立流程

  1. E‑R 图绘制:识别实体、属性和关系。
  2. 转换为关系模式:确定主键、外键并消除多值依赖。
  3. 从范式规范化来看,①范式。
  4. 说到逆向检查,是否满足查询性能需求。
  5. \end{ol>

    2. 常用设计工具

    • PowerDesigner 、ER/Studio 、Navicat Data Modeler。
    • 开源工具 dbdiagram.io 、draw.io。
    • \end ul>

      3. 实战案例:电商订单程序表结构

      订单表
      - order_id PK
      - user_id FK → user.id
      - total_amount
      - status
      - created_at
      订单明细表
      - item_id PK
      - order_id FK → order.order_id
      - product_id FK → product.id
      - quantity
      - price
      使用者表
      - user_id PK
      - username UNIQUE
      - email UNIQUE
      …\end pre>
      

      五、主流 DBMS 深度剖析

      1. 关系型 DBMS
        • MySQL / MariaDB :开源社区版易上手,适合中小项目;公司版提供高可用插件,
        • PostgreSQL :标准兼容度最高,支持高级特性如 JSONB 与 GIS。
        • Oracle :大型公司级网站,提供丰富的安全审计功能。
        • SQL Server :微软环境整合,适合 .NET 开发者。
      2. NoSQL 系列
        • MongoDB :文档模型灵活,支持聚合管道与分片。
        • Redis :内存键值存储,用作缓存或实时计数器。
        • Cassandra :列族存储。高写入吞吐,可跨地域复制。
      3. NewSQL 与分布式 SQL
        • TiDB :水平 + 完整的 MySQL 协议,实现强一致性事务。按理说,
        • CockroachDB :自恢复、多活部署。适合云原生微服务架构,

      六、安全与备份策略  ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​  ​  ​ ​​​​​​ ​​​​​ ​​​​ ​​​​​ ​​ ‍‍‍‍‍‍ ‍‍‍‍‏‏‏‏‏‏‏‏‎‎‎‎‎‎‎‬‬‬‬‬️️️️️⛔️⛔️⚠️⚠️⛔⛔⚠⚠🚨🚨🚧🚧☣☣❗❗🛑🛑🔐🔐🔓🔓📁📁💾💾📂📂🗄🗄📊📊✍✍✨✨💡💡✅✅✅✅✅✅✅✅✅✔✔✔✔✔✔✔✔❎❎❎❎❎)

      • 权限管理 : RBAC。最小权限原则 示例这方面,
        GRANT SELECT,INSERT ON sales TO rolesalesuser;REVOKE UPDATE ON sales FROM rolesalesuser;
        如此即使开发人员误操作也只能读写指定表。​ ​
      • 数据加密 : 静态加密、传输层加密。 MySQL 示例:
        ALTER INSTANCE ROTATE INNODB MASTER KEY;ALTER TABLE customer MODIFY COLUMN ssn VARBINARY;
      • 审计日志 : 开启通用查询日志或专用审计插件,如 MariaDB audit_plugin。 可追溯谁在何时执行了 DELETE 操作。
      • 备份与恢复 : 完整备份 + 增量日志 + 定期演练恢复流程。 推荐方法的观点是,
        • 全量快照
        • 增量 binlog 同步
        • 灾备集群

标签:数据库