什么是数据库
- 关系数据库: 相互有关联关系的若干的Table的集合.
- 数据库: 相互有关联关系的若干的数据的集合.
- 表(Table)/关系: 以按行按列形式组织及展现的数据.
- 表明
- 表标题(格式)
- 表内容(值)
- 行/元组/记录: 每行数据
- 列/字段/属性/数据项: 每列包括列名和列值.
- 关系模式: 表名+表标题
什么是数据库系统
组成要素
- 数据库
- 数据库管理系统(DBMS): 管理数据库的系统软件
- 数据库应用程序(DBAP): 数据库面向用户的的应用程序,通过DBMS使用数据库
- 数据库管理员(DBA): 使用DBMS
- 计算机基本系统
什么是数据库管理系统(用户)
数据库定义: 定义数据库中TABLE的名称标题等
- DBMS提供数据定义语言(DDL: Data Definition Language)
- 用户使用DDL描述其所建立表的格式
- DBMS按照用户定义,创建数据库及其中的Table.
数据库操纵: 向数据库的Table中增删改查等.
- DBMS提供一套数据操纵语言DML(Data Manipulation Language)给用户
- 用户使用DML描述其所要进行的操作
- DBMS依照用户的操作的描述,实际执行这些操作.
数据库控制: 控制数据库中数据的使用,用户的访问权限
- DBMS提供一套数据控制语言(DCL:Data Control Language)给用户
- 用户使用DCL描述其对数据库所要实施的控制
- DBMS依照用户的描述实际进行控制
数据库维护: 转储/恢复/重组/性能检测/分析
- DBMS提供一系列程序给用户
- 这些程序提供对数据库维护的各种功能
- 用户使用这些程序进行各种数据库维护的操作
- 数据库维护的实用程序一般是由数据库管理员来使用和掌握的
数据库语言(SQL语言)
- 数据定义语言(DDL: Data Definition Language)
- 数据操纵语言DML(Data Manipulation Language)
- 数据控制语言(DCL:Data Control Language)
- SQL语言与高级语言的关系: 一条SQL语句相当于高级语言的一个或多个循环
- SQL语言可嵌入到高级语言中
什么是数据库管理系统(系统)
- 从实现的角度强调:形式-构造-自动化
- 后台程序功能划分
- 语言编译器: 将用数据库语言书写的内容,翻译成DBMS可执行的命令。例如: DDL编译器, DML编译器, DCL编译器等;
- 查询优化(执行引擎)与查询实现(基本命令的不同执行算法):提高数据库检索速度的手段;例如贯穿于数据存取各个阶段的优化程序;
- 数据存取与索引:提供数据在磁盘、磁带等上的高效存取手段。例如:存储管理器,缓冲区管理器,索引/文件和记录管理器等;
- 通信控制:提供网络环境下数据库操作与数据传输的手段.
- 事务管理:提供提高可靠性并避免并发操作错误的手段, 包括并发管理器和恢复管理器
- 故障恢复:使数据库自动恢复到故障发生前正确状态的手段,例如提供了备份、运行日志操控等实用程序,实现数据库系统的原子性和持久性
- 安全性控制:提供合法性检验,避免非授权非法用户访问数据库的手段.
- 完整性控制:提供数据及数据操作正确性检查的手段.权限及完整性管理器
- 数据字典管理:管理用户已经定义的信息.
- 应用程序接口(API):提供应用程序使用DBMS特定功能的手段.
- 数据库数据装载、重组等实用程序
- 数据库性能分析:统计在运行过程中数据库的各种性能数据,便于优化 运行