数据库简介
graph LR
A(现实世界)-->|抽象|B(信息世界)
B-->|设计|C(计算机世界)
C-->|定义|D[数据库-表]
D-->|开发|E(数据库应用)
传统的基于文件的系统
基于文件的系统:为终端用户提供服务的一组应用程序,每一个程序定义和管理它自己的数据
基于文件方法的局限性
- 数据被分离和孤立
- 数据存在冗余
- 数据存在依赖性
- 文件格式不相容
- 查询一成不变/应用程序需要不断翻新
数据库方法
分析上述文件系统局限性:
- 数据的定义被嵌入到应用程序中,而不是分开独立地存储
- 除了应用程序规定外的数据访问和操作无法得到控制
DBMS应运而生
数据库
数据库:为满足某个组织机构的信息要求而设计的一个逻辑相关数据及其描述的共享集
所有的数据项集中起来,数据冗余很少,资源可以共享,同时包含数据和数据的描述。数据的描述称为系统目录(或数据字典或元数据),这一功能提供了程序-数据独立性
数据库能够表现实体、属性和实体之间的逻辑关系
数据库管理系统(DBMS)
DBMS:一个支持用户对数据库进行定义、创建、维护及控制访问的软件系统
功能:
- 允许用户定义数据库,通过数据定义语言(DDL),指定数据类型、数据结构,以及数据约束
- 允许用户插入、更新、删除和检索数据,通过数据操作语言(DML),DML提供的对数据进行一般查询的机制称为查询语言,常见查询语言为结构化查询语言(SQL)
- 提供数据库的受访控制
(数据库)应用程序
应用程序:通过向DBMS提出合适的请求(SQL语句)而与数据库交互作用的计算机程序
DBMS环境的组成部分
数据(Data):描述事务的符号记录,可用文字、图形等多种形式表示,经数据化处理后可存入计算机
表(table):以按行按列形式组织及展现的数据
数据库环境中的各种角色
数据管理员(DA):管理数据资源
数据库管理员(DBA):负责数据库的物理实现
数据库设计人员
- 逻辑~:负责标识数据、数据之间的联系和数据约束
- 物理~:决定逻辑数据库的设计如何以物理的形式实现
应用开发人员:数据库实现后,开发满足终端用户功能需求的应用程序
终端用户:数据库的“客户”
DBMS的优缺点
优点
- 受控的数据冗余
- 数据一致性
- 相同的数据量表示更多的信息
- 数据共享
- 增强的数据完整性
- 增强的安全性
- 强制执行标准
- 经济合算的规模
- 平衡各种需求冲突
- 增强的数据可访问性和响应性
- 提高的生产率
- 通过数据的独立性增强可维护性
- 提高的并发性
- 增强的备份和恢复服务
缺点
- 复杂性高
- 规模大
- DBMS费用高
- 需要附加的硬件费用
- 转化费用大
- 性能相对较低
- 故障带来的影响较大