数据库系统与数据模型
第二章:数据库系统基础
2.1 核心概念关系图
2.2 四个核心概念详解
| 概念 | 全称 | 定义 | 举例 |
|---|---|---|---|
| DB | DataBase(数据库) | 按一定组织方式存储的、相互关联的数据集合 | school数据库、shop数据库 |
| DBMS | DataBase Management System(数据库管理系统) | 组织、存储、维护和获取数据的软件 | MySQL、Oracle、PostgreSQL、Access 、SQL Sever |
| DBAS | DataBase Application System(数据库应用系统) | 基于数据库建立的应用程序 | 财务系统、图书管理系统 |
| DBS | DataBase System(数据库系统) | 实现有组织地、动态地存储大量关联数据、方便用户使用的计算机软硬件资源组成的系统。 | 整个数据库运行环境 |
2.2.1 概念之间的关系
DBS = DB + DBMS + DBAS + 硬件 + 人员 + 规程
层次关系:
- DB 是数据存储的物理集合
- DBMS 是管理 DB 的软件
- DBAS 是基于 DBMS 开发的应用
- DBS 是包含以上所有及相关资源的完整系统
2.3 数据库(DB)的特点
| 特点 | 说明 |
|---|---|
| 数据结构化 | 数据按照数据模型组织,不是杂乱无章的 |
| 数据共享 | 多个用户、多个应用可以共享同一数据库 |
| 冗余度低 | 避免数据的重复存储 |
| 独立性高 | 数据与程序相互独立 |
| 统一管理 | 由 DBMS 统一管理和控制 |
2.4 数据库管理系统(DBMS)
2.4.1 DBMS 的定义与地位
DBMS 是位于用户与操作系统之间的一层数据管理软件
2.4.2 DBMS 的主要功能
| 功能类别 | 具体功能 |
|---|---|
| 数据定义 | 提供DDL(数据定义语言),定义数据库结构 |
| 数据操纵 | 提供DML(数据操纵语言),实现增删改查 |
| 数据控制 | 提供DCL(数据控制语言),实现安全性、完整性控制 |
| 数据库运行管理 | 并发控制、事务管理、数据恢复 |
| 数据库建立和维护 | 数据库初始化、备份恢复、性能监控 |
2.4.3 SQL 语言分类
| 分类 | 全称 | 功能 | 主要语句 |
|---|---|---|---|
| DDL | Data Definition Language | 定义数据库结构 | CREATE、ALTER、DROP、TRUNCATE |
| DML | Data Manipulation Language | 操作数据 | SELECT、INSERT、UPDATE、DELETE |
| DCL | Data Control Language | 控制权限 | GRANT、REVOKE |
| TCL | Transaction Control Language | 事务控制 | COMMIT、ROLLBACK、SAVEPOINT |
2.3.2 常见数据库产品对比
| 数据库 | 类型 | 特点 | 适用场景 |
|---|---|---|---|
| MySQL | 关系型/开源 | 免费、轻量、易用 | Web应用、中小型系统 |
| Oracle | 关系型/商业 | 功能强大、稳定性高 | 大型企业、金融系统 |
| SQL Server | 关系型/商业 | 与Windows集成好 | 企业应用、.NET开发 |
| PostgreSQL | 关系型/开源 | 功能丰富、标准兼容 | 复杂查询、GIS应用 |
| MongoDB | 文档型/NoSQL | 灵活模式、易扩展 | 内容管理、大数据 |
| Redis | 键值型/NoSQL | 内存存储、速度极快 | 缓存、会话管理 |
2.5 数据库系统(DBS)的组成
2.5.1 五大组成部分
一个完整的 DBS 包含五部分:
- 硬件: 主要是服务器、大容量磁盘(RAID)、高带宽网络。
- 软件: DBMS、OS、开发工具、应用系统。
- 数据: DB 本身。
- 人员(核心):
- DBA (数据库管理员): 负责建库、授权、备份、调优。(最高权限)
- 系统分析员/设计员: 设计数据库结构。
- 应用程序员: 写代码调用数据库。
- 最终用户: 使用系统的人。
- 规程/协议: 也就是使用的标准和规范。
2.5.2 人员角色详解
| 角色 | 职责 | 技能要求 |
|---|---|---|
| DBA | 数据库设计、安装配置、性能调优、安全管理、备份恢复 | 精通DBMS、熟悉操作系统 |
| 应用程序员 | 开发数据库应用程序、编写SQL语句、设计程序逻辑 | 编程语言、SQL、数据库设计 |
| 最终用户 | 通过应用程序使用数据库 | 无需专业知识 |
DBA 的主要职责:
- 决定数据库的信息内容和结构
- 决定数据库的存储结构和存取策略
- 定义数据的安全性要求和完整性约束
- 监控数据库的使用和运行
- 数据库的改进和重组
2.6 MySQL 系统数据库
💡 MySQL 安装后会自动创建 4个系统数据库
2.6.1 MySQL 四大系统数据库详解
-- 查看所有数据库
SHOW DATABASES;
-- 结果:
-- +------------------------+
-- | Database |
-- +------------------------+
-- | information_schema |
-- | mysql |
-- | performance_schema |
-- | sys |
-- +---------------- -------+
| 系统数据库 | 作用 |
|---|---|
| mysql | MySQL的核心数据库,存储用户账号、权限、系统配置等信息。相当于SQL Server的Master库 |
| information_schema | 存储所有数据库的元数据(表结构、列信息、索引等),只读虚拟库 |
| performance_schema | 存储服务器性能监控数据,用于分析和调优 |
| sys | 基于 performance_schema 和 information_schema 的简化视图,方便DBA使用 |
2.6.2 与 SQL Server 系统数据库对比
| 功能 | SQL Server | MySQL |
|---|---|---|
| 核心系统信息 | Master | mysql |
| 新建库模板 | Model | (MySQL无此概念) |
| 代理任务调度 | Msdb | (MySQL通过Event Scheduler实现) |
| 临时数据存储 | Tempdb | (MySQL使用内部临时表机制) |
| 元数据信息 | 各系统表 | information_schema |
| 性能监控 | DMV | performance_schema |
第三章:数据模型基础
💡 数据模型是数据库理论的核心概念,是对现实世界数据特征的抽象
本章定位:简要介绍数据模型的基本概念和分类,为后续数据库设计章节奠定基础
3.1 什么是数据模型
定义:数据模型是对现实世界数据特征的抽象,是用来描述数据、组织数据和对数据进行操作的。
作用:
- 是数据库系统的核心和基础
- 决定了 DBMS 的数据组织方式
- 影响数据库设计方法
3.2 数据模型的三要素
| 要素 | 说明 | 举例 |
|---|---|---|
| 数据结构 | 描述数据的类型、内容、性质以及数据间的联系 | 实体、属性、关系 |
| 数据操作 | 对数据的各种操作 | 查询、更新(增删改) |
| 数据约束 | 数据及其联系应遵守的规则 | 完整性约束 |
3.3 数据模型的分类
| 模型类型 | 面向对象 | 作用 | 示例 |
|---|---|---|---|
| 概念模型 | 用户 | 描述现实世界的概念 | E-R模型 |
| 逻辑模型 | DBMS | 描述数据的逻辑结构 | 层次模型、网状模型、关系模型 |
| 物理模型 | 存储系统 | 描述数据的物理存储 | 索引、存储结构、文件组织 |
3.4 三种传统逻辑模型对比

(1)层次模型:树状结构
(2)网状模型:网状结构
(3)关系模型:二维表结构
三种模型对比表
| 特性 | 层次模型 | 网状模型 | 关系模型 |
|---|---|---|---|
| 数据结构 | 树 | 图 | 二维表 |
| 联系表示 | 1:N | M:N | M:N |
| 结构复杂度 | 中 | 高 | 低 |
| 理论基础 | 弱 | 弱 | 强(关系代数) |
| 代表系统 | IMS | DBTG | MySQL、Oracle |
关系模型是目前主流的数据模型,其详细内容将在第五章数据库设计中深入讲解
⬅️ 数据库的管理技术及其发展 🏠 00-数据库 ➡️ 三级模式与二级映射
💬 评论