001-数据库系统概述

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数据库理论完备、易用性能瓶颈结构化数据
NoSQLMongoDB、Redis高扩展性、灵活一致性弱大数据、高并发

数据库系统体系结构

三级模式结构

数据库系统采用三级模式结构,实现了数据的独立性:

物理层
逻辑层
用户层
外模式/模式映像
模式/内模式映像
内模式/存储模式
数据库
模式/逻辑模式
外模式1
用户1
外模式2
用户2
外模式3
用户3
映像关系
1. 外模式(External Schema)
  • 定义:用户与数据库系统的接口,是用户看到和使用的数据库的视图
  • 特点:面向具体应用,一个数据库可以有多个外模式
  • 作用:保证数据安全性,简化用户操作
2. 模式(Schema)
  • 定义:数据库中全体数据的逻辑结构和特征的描述
  • 特点:全局视图,一个数据库只有一个模式
  • 内容:数据的逻辑结构、数据间关系、数据的安全性和完整性要求
3. 内模式(Internal Schema)
  • 定义:数据物理结构和存储方式的描述
  • 特点:存储级别,一个数据库只有一个内模式
  • 内容:记录的存储方式、索引的组织方式、数据是否压缩及是否加密等

数据库管理系统架构

存储引擎层
存储管理层
查询处理层
用户接口层
索引管理
文件管理
磁盘存储
事务管理器
锁管理器
缓冲区管理器
恢复管理器
查询处理器
查询优化器
查询执行器
用户界面
应用程序接口
SQL解析器

数据库管理系统功能

核心功能模块

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
统一数据库
文件1
应用程序1
文件2
应用程序2
文件3
应用程序3

主要优势

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产品的架构设计
  • 实践建议:安装并体验不同类型的数据库系统

参考与引用

更新记录

  • 更新时间: 2024-01-15 | 更新内容: 创建数据库系统概述章节,包含基本概念、发展历程、体系结构等核心内容 | 更新人: lvs
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值