处理器
处理器执行应用和 DBMS 指令,完成查询、计算和数据处理
数据库、DBMS、应用、软硬件与人员
数据库系统由数据库、DBMS、硬件、软件、DBA、用户组成
一个能工作的数据库系统,需要数据、软件、设备和人员协作
\(\mathrm{DBS} = \mathrm{DB} + \mathrm{DBMS} + \mathrm{App} + \mathrm{Platform} + \mathrm{DBA} + \mathrm{Users}\)
| 核心要素 | 平台 Platform | 人员 |
|---|---|---|
| 数据库、DBMS、应用 | 硬件、软件 | DBA、系统分析员、数据库设计员、应用程序员、最终用户 |
平台 Platform = 硬件 Hardware + 软件 Software
硬件可分为计算、存储、输入输出;软件可分为操作系统、运行时
今天的计算机基本采用冯·诺依曼体系

处理器执行应用和 DBMS 指令,完成查询、计算和数据处理
暂存正在处理的数据和高频访问的数据
长期保存数据库记录、索引和后备副本
处理器、内存和外存变化后,DBMS 的存储与查询方法也会变化
数据库系统的行为,取决于软件、配置和人员
| 描述 | 主要归属 | 原因 |
|---|---|---|
| 增加内存后查询更快 | 硬件平台 | 可能增加可用运行资源,但依然需结合应用、DBMS 和配置判断 |
| 设计成绩表的结构 | 设计员/DBA | 定义模式与约束,也就是确定表、字段、联系和规则 |
| 提供成绩查询功能页面 | 应用系统 | 实现面向用户的业务功能 |
| 规定谁可以修改成绩 | DBA 与 DBMS | DBA 制定权限策略,DBMS 执行访问控制 |
软件平台由操作系统、DBMS、开发环境和应用系统共同组成
管理进程、文件、内存和设备,让 DBMS 和应用能够运行
定义、组织、存储、操纵、控制和维护数据库
编程语言、编译系统和应用开发工具支持编写、调试和部署应用
应用系统把具体业务流程实现为用户可以操作的功能
应用提出请求,DBMS 读写数据库,操作系统管理进程、内存和设备
点击“查看成绩”后,应用与 DBMS 处理,操作系统和硬件负责运行与读写

流程:用户点击“查看成绩”,应用将用户请求转换为业务请求,DBMS 处理数据访问,访问结果返回应用并显示结果
支撑:操作系统管理进程、内存、文件和设备,硬件执行指令并保存数据;开发工具用于编写、调试和部署应用
应用程序员依据外模式开发;DBMS 管理逻辑和物理细节
不同角色在不同阶段参与,拥有不同的数据视图和责任
| 角色 | 主要工作 | 主要关注 |
|---|---|---|
| DBA | 参与设计;负责运行、权限、安全、性能、备份恢复与重构 | 系统状态、内模式与长期运行 |
| 系统分析员 | 分析需求、规范说明和总体设计 | 业务目标与总体方案 |
| 数据库设计员 | 确定数据并参与各级模式设计,与用户、系统分析员和 DBA 协作 | 全局结构与各级模式 |
| 应用程序员 | 依据外模式开发应用程序 | 业务流程与用户功能 |
| 最终用户 | 通过应用系统完成业务活动 | 自己需要的数据与操作 |
真实环境中,DBA 的职责可以由多人分担
| 责任类别 | 典型工作 |
|---|---|
| 设计与定义 | 参与外模式、模式和内模式设计,协助确定数据定义 |
| 用户支持与培训 | 帮助用户理解和使用系统,处理日常运行问题并提供培训 |
| 运行控制与安全 | 管理访问权限,维护安全性与完整性,监视运行状态 |
| 性能改进与重组 | 监视空间利用率与处理效率,改进和重组数据库 |
| 转储与恢复 | 制定转储、备份和恢复策略,维护后备副本与日志 |
| 系统重构 | 参与模式和内模式的重构,并与应用团队协作调整系统 |
系统分析师分析需求,数据库设计师组织数据,应用程序员实现功能
向用户确认要解决什么问题、给谁使用、有哪些功能和规则,再写成设计师和程序员可以执行的说明
确定需要保存哪些数据,参与各级模式设计,并与用户、分析师和 DBA 核对表、联系、视图和上线后的管理办法
以外模式为基础实现界面、业务流程和数据库访问程序
应用程序员在外模式上工作;设计师和 DBA 在模式与内模式上工作
最终用户无需直接管理数据库,但需要参与需求分析和反馈
最终用户通过应用界面使用外模式提供的局部数据,不直接面对内模式
最终用户看到的是针对自己工作任务的数据视图,而不是数据库的内部结构
不同角色接力协作,需求变化时回到分析与设计
最终用户与系统分析师提出并梳理业务需求
数据库设计师与 DBA 设计模式、外模式和运行方案
应用程序员依据外模式实现界面、业务流程和访问程序
最终用户通过应用完成业务,DBMS 按定义、权限和完整性规则管理数据
DBA 监控、调优、备份、恢复并参与系统重构;需求变化时回到分析与设计
写出谁主要负责、会改哪一级模式或哪类软硬件,并说明理由
答案包括:主要负责人、需要协作的人、涉及的模式或软硬件,判断理由
教学系统新增“培养方案完成度”查询
开发团队提出:为成绩查询增加索引;数据库服务器更换存储设备;教师反馈成绩录入规则不清楚;发生了一次数据库故障,需要恢复到正确状态
判断时要沿着变化经过的人、应用、DBMS、数据和软硬件逐步追踪
1.3 节讲 DBMS 分层,1.4 节讲人员和组件,1.5 节讲组件怎样部署与连接
| 比较维度 | 模式结构 | 系统组成 | 系统体系结构 |
|---|---|---|---|
| 主要内容 | 三级模式、两级映像 | 软硬件、DBMS、应用和人员 | 各组件的部署与连接方式 |
| 主要判断 | 变化在哪一层,哪一级映像吸收 | 哪个角色负责,依赖哪些平台 | 集中式、客户-服务器、并行、分布式或云 |
| 需要判断 | 应用能否不随存储变化而修改 | 工作由谁完成、需要什么组件 | 数据库和应用放在哪里、怎样互相连接 |
体系结构问题:数据库和应用如何存放;各组件怎样连接
硬件、软件或人员缺少任何一项,系统都可能无法查询、更新、维护或恢复
遇到资源或性能问题,区分硬件容量、DBMS/存储组织、应用逻辑和配置
遇到“某个请求应该怎样被处理”时,沿着应用、DBMS 和操作系统逐步追踪
遇到“某个问题应该谁来负责”时,按需求、设计、开发、使用和维护分配职责
沿用户操作 → 应用 → DBMS → OS 与硬件逐步检查,再确认由谁处理