001-数据库系统概述
难度:🟢 | 预计时间:60分钟 | 前置:无
学习目标
- 理解数据库系统的基本概念和核心组成部分
- 掌握数据库系统的发展历程和技术演进
- 了解数据库系统的体系结构和工作原理
- 认识数据库管理系统的主要功能和特点
- 理解数据库系统在现代信息系统中的重要作用
数据库系统基本概念
什么是数据库
数据库(Database, DB) 是长期储存在计算机内、有组织的、可共享的大量数据的集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性。
核心概念辨析
| 概念 | 定义 | 特点 | 举例 |
|---|---|---|---|
| 数据(Data) | 描述事物的符号记录 | 原始、未加工 | 张三、25、男 |
| 信息(Information) | 对数据的解释和说明 | 有意义、有价值 | 张三是25岁的男性员工 |
| 数据库(Database) | 数据的有组织集合 | 结构化、共享性 | 员工信息数据库 |
| 数据库管理系统(DBMS) | 管理数据库的软件 | 系统性、功能完整 | MySQL、Oracle |
| 数据库系统(DBS) | DB + DBMS + 应用程序 + 用户 | 完整的信息系统 | 企业人事管理系统 |
数据库系统的特点
1. 数据结构化
数据库中的数据不再是简单的文件,而是按照特定的数据模型进行组织,具有明确的结构。
-- 示例:结构化的员工表
-- 文件路径: examples/employee_table.sql
CREATE TABLE employees (
emp_id INT PRIMARY KEY, -- 员工ID(主键)
name VARCHAR(50) NOT NULL, -- 姓名
department VARCHAR(30), -- 部门
salary DECIMAL(10,2), -- 薪资
hire_date DATE -- 入职日期
);
2. 数据共享性
多个用户和应用程序可以同时访问数据库中的数据,提高了数据的利用率。
3. 数据独立性
- 物理独立性:数据的物理存储结构改变不影响应用程序
- 逻辑独立性:数据的逻辑结构改变不影响应用程序
4. 数据统一管理和控制
- 数据安全性保护
- 数据完整性检查
- 并发控制
- 数据恢复
数据库系统发展历程
发展阶段概览
timeline
title 数据库系统发展历程
1960s : 文件系统阶段
: 数据以文件形式存储
: 程序与数据紧密耦合
1970s : 层次和网状数据库
: IMS(层次模型)
: CODASYL(网状模型)
: 导航式数据访问
1980s : 关系数据库兴起
: Edgar F. Codd提出关系模型
: SQL语言标准化
: Oracle、DB2等产品
1990s : 对象关系数据库
: 面向对象特性融入
: 复杂数据类型支持
: 数据仓库概念
2000s : XML和Web数据库
: 半结构化数据处理
: 分布式数据库
: 数据挖掘技术
2010s : NoSQL和大数据
: MongoDB、Cassandra
: 分布式存储
: 云数据库服务
2020s : 多模型和智能化
: NewSQL数据库
: 图数据库
: AI驱动的数据库
各阶段特点对比
| 阶段 | 代表技术 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|---|
| 文件系统 | 顺序文件、索引文件 | 简单直接 | 数据冗余、一致性差 | 简单应用 |
| 层次模型 | IMS | 结构清晰、性能好 | 缺乏灵活性 | 树形结构数据 |
| 网状模型 | CODASYL | 表达能力强 | 复杂度高 | 复杂关系数据 |
| 关系模型 | SQL数据库 | 理论完备、易用 | 性能瓶颈 | 结构化数据 |
| NoSQL | MongoDB、Redis | 高扩展性、灵活 | 一致性弱 | 大数据、高并发 |
数据库系统体系结构
三级模式结构
数据库系统采用三级模式结构,实现了数据的独立性:
1. 外模式(External Schema)
- 定义:用户与数据库系统的接口,是用户看到和使用的数据库的视图
- 特点:面向具体应用,一个数据库可以有多个外模式
- 作用:保证数据安全性,简化用户操作
2. 模式(Schema)
- 定义:数据库中全体数据的逻辑结构和特征的描述
- 特点:全局视图,一个数据库只有一个模式
- 内容:数据的逻辑结构、数据间关系、数据的安全性和完整性要求
3. 内模式(Internal Schema)
- 定义:数据物理结构和存储方式的描述
- 特点:存储级别,一个数据库只有一个内模式
- 内容:记录的存储方式、索引的组织方式、数据是否压缩及是否加密等
数据库管理系统架构
数据库管理系统功能
核心功能模块
1. 数据定义功能(DDL)
- 定义数据库模式、外模式、内模式
- 定义数据的完整性约束条件
- 定义数据的安全性要求
-- 示例:数据定义语言
-- 文件路径: examples/ddl_example.sql
-- 创建数据库
CREATE DATABASE company_db;
-- 创建表结构
CREATE TABLE departments (
dept_id INT PRIMARY KEY AUTO_INCREMENT,
dept_name VARCHAR(50) NOT NULL UNIQUE,
manager_id INT,
budget DECIMAL(12,2) CHECK (budget > 0),
created_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 创建索引
CREATE INDEX idx_dept_name ON departments(dept_name);
2. 数据操纵功能(DML)
- 数据查询
- 数据更新(插入、删除、修改)
-- 示例:数据操纵语言
-- 文件路径: examples/dml_example.sql
-- 插入数据
INSERT INTO departments (dept_name, budget)
VALUES ('研发部', 1000000.00);
-- 查询数据
SELECT dept_name, budget
FROM departments
WHERE budget > 500000;
-- 更新数据
UPDATE departments
SET budget = budget * 1.1
WHERE dept_name = '研发部';
-- 删除数据
DELETE FROM departments
WHERE budget < 100000;
3. 数据控制功能(DCL)
- 数据安全性控制
- 数据完整性控制
- 并发控制
- 数据恢复
高级功能特性
| 功能类别 | 具体功能 | 作用 | 实现机制 |
|---|---|---|---|
| 事务管理 | ACID特性保证 | 数据一致性 | 日志、锁机制 |
| 并发控制 | 多用户同时访问 | 提高效率 | 锁、时间戳 |
| 故障恢复 | 系统故障恢复 | 数据可靠性 | 备份、日志 |
| 安全控制 | 用户权限管理 | 数据安全 | 认证、授权 |
| 完整性控制 | 数据约束检查 | 数据质量 | 约束、触发器 |
数据库系统的优势
与文件系统对比
主要优势
1. 数据共享与减少冗余
- 文件系统:每个应用程序维护自己的数据文件,数据重复存储
- 数据库系统:统一存储,多个应用共享,减少数据冗余
2. 数据一致性
- 统一的数据更新机制
- 完整性约束自动检查
- 事务机制保证数据一致性
3. 数据安全性
- 用户身份认证
- 访问权限控制
- 数据加密存储
- 审计日志记录
4. 故障恢复能力
- 自动备份机制
- 事务日志记录
- 系统故障自动恢复
- 数据损坏检测和修复
实践练习
练习1:概念理解
任务:设计一个简单的图书管理系统,识别其中的数据、信息、数据库组成部分。
验收标准:
- 正确识别原始数据(如:书名、作者、ISBN)
- 正确描述信息含义(如:某本书的借阅状态)
- 明确数据库系统的组成(DBMS、应用程序、用户)
练习2:体系结构分析
任务:分析一个在线购物系统的三级模式结构。
验收标准:
- 设计外模式(顾客视图、管理员视图)
- 定义模式(全局逻辑结构)
- 描述内模式(存储结构考虑)
练习3:发展历程梳理
任务:调研并总结某个具体数据库产品(如MySQL)的发展历程。
验收标准:
- 列出主要版本和发布时间
- 总结各版本的重要特性
- 分析技术发展趋势
常见问题
Q1:数据库和数据库管理系统有什么区别?
A1:数据库(DB)是数据的集合,而数据库管理系统(DBMS)是管理数据库的软件。数据库是被管理的对象,DBMS是管理工具。完整的数据库系统(DBS)包括数据库、数据库管理系统、应用程序和用户。
Q2:为什么需要三级模式结构?
A2:三级模式结构实现了数据独立性:
- 物理独立性:内模式改变不影响模式和外模式
- 逻辑独立性:模式改变不影响外模式
这样可以降低应用程序的维护成本,提高系统的灵活性。
Q3:NoSQL数据库是否会完全取代关系数据库?
A3:不会完全取代。NoSQL和关系数据库各有优势:
- 关系数据库:ACID特性强、SQL标准化、适合结构化数据
- NoSQL数据库:扩展性好、灵活性高、适合大数据和高并发
实际应用中往往是混合使用,根据具体需求选择合适的技术。
总结
- 数据库系统是现代信息系统的核心基础设施,提供了数据的统一管理和高效访问
- 三级模式结构实现了数据独立性,是数据库系统设计的重要理论基础
- DBMS功能涵盖数据定义、操纵、控制等方面,保证了数据的安全性、完整性和一致性
- 技术发展从文件系统到关系数据库再到NoSQL,体现了对不同应用需求的适应
- 实际应用中需要根据具体业务特点选择合适的数据库技术和架构方案
下一步
- 前往:002-数据模型与E-R模型
- 扩展阅读:深入了解特定DBMS产品的架构设计
- 实践建议:安装并体验不同类型的数据库系统
参考与引用
- 数据库系统概念 (第7版) - Abraham Silberschatz等 (2019)
- MySQL官方文档 - 架构概述
- PostgreSQL官方文档 - 系统架构
- Edgar F. Codd - A Relational Model of Data for Large Shared Data Banks (1970)
更新记录
- 更新时间: 2024-01-15 | 更新内容: 创建数据库系统概述章节,包含基本概念、发展历程、体系结构等核心内容 | 更新人: lvs
2002

被折叠的 条评论
为什么被折叠?



