【数据库系统】第一章 初步认识数据库系统
1.1 数据库系统课程必要性
1、Everything Over DB
传统社会(业务工作)→信息社会(业务工作+计算机支持)
2、数据库是信息积累与运用的基础
数据库是一种技术,更是一种思维。形成数据库,实现积累;应用数据库,实现积累的效益
3、基于数据库的应用——大数据
4、数据自有黄金屋
1.2 数据库
1、数据库与信息管理
数据库是电子化信息的集合:将信息规范化并使之电子化,形成电子信息 ‘库’,以便利用计算机对这些信息进行快速有效的存储、检索、统计与管理
2、数据库与表
数据库起源于规范化“表(Table)”的处理
Table:以按行按列形式组织及展现的数据
3、基于表的数据库的影响
4、对表的抽象:理解-区分-命名-表达
Table中描述了一批相互有关联关系的数据==关系
表名+表标题(格式)→(关系)模式
每一行是一个记录,每一列是一个字段,模式与值形成表,或者说关系。
5、数据库与表的关系
Database: 相互之间有关联关系的Table的集合
6、由表形式的数据库到各式各样的数据库
图像数据库、工程数据库等等
1.3 数据库系统
1、数据库系统的构成——概念层次
DB、DBMS、DBAP、DBA
2、数据库系统构成——实例层次
3、实例化和概念化理解数据库系统
4、数据库系统对比文件系统
文件处理系统
传统操作系统所支持的、 数据信息永久存储在多个不同的文件中
不同部门拥有各自独立的数据文件
存在问题:数据冗余和不一致、数据访问困难、数据孤立、完整性问题、原子性问题、并发访问异常和安全性问题
数据库系统
按照某种数据模型,将全部门的各种数据组织成一个结构化的数据集合中,整个部门的所需数据不是一盘散沙,可表示出数据之间的有机关联。
信息完整、功能通用,统一存取,安全可靠
1.4 数据库管理系统
1、从用户角度看数据库管理系统
数据库定义
定义数据库中Table的名称、标题(内含的属性名称及对该 属性的值的要求)等
- DBMS提供一套数据定义语言(DDL:DataDefinition Language)给用户
- 用户使用DDL描述其所要建立表的格式
- DBMS依照用户的定义,创建数据库及其中的Table
数据库操纵
向数据库的Table中增加/删除/更新数据及对数据进行查 询、检索、统计等
- DBMS提供一套数据操纵语言(DML:DataManipulation Language)给用户
- 用户使用DML描述其所要进行的增、删、改、查等操作
- DBMS依照用户的操作描述,实际执行这些操作
数据库控制
控制数据库中数据的使用—哪些用户可以使用,哪些不可以
- DBMS提供一套数据控制语言(DCL:DataControl Language)给用户
- 用户使用DCL描述其对数据库所要实施的控制
- DBMS依照用户的描述,实际进行控制
数据库维护
转储/恢复/重组/性能监测/分析…
- DBMS提供一系列程序(实用程序/例行程序)给用户
- 在这些程序中提供了对数据库维护的各种功能
- 用户使用这些程序进行各种数据库维护操作
数据库维护的实用程序,一般都是由数据库管理员(DBA)来使用和掌握的
2、数据库语言
使用者通过数据库语言利用DBMS操作数据库
数据库语言与高级语言: 一条数据库语言语句相当于高级语言的一个或多个循环程序
数据库语言可以嵌入到高级语言(宿主语言)中使用
3、从系统实现角度看数据管理系统
DBMS为完成DB管理,在后台运行着一系列程序
- 语言编译器:将用数据库语言书写的内容,翻译成DBMS可执行的命 令。例如: DDL编译器, DML编译器, DCL编译器等
- 查询优化(执行引擎)与查询实现(基本命令的不同执行算法):提高数据 库检索速度的手段;例如贯穿于数据存取各个阶段的优化程序
- 数据存取与索引:提供数据在磁盘、磁带等上的高效存取手段。例如:存 储管理器,缓冲区管理器,索引/文件和记录管理器等
- 通信控制:提供网络环境下数据库操作与数据传输的手段
- 事务管理:提供提高可靠性并避免并发操作错误的手段
- 故障恢复:使数据库自动恢复到故障发生前正确状态的手段,例如提供了备份、运行日志操控等实用程序
- 安全性控制:提供合法性检验,避免非授权非法用户访问数据库的手段
- 完整性控制:提供数据及数据操作正确性检查的手段
- 数据字典管理:管理用户已经定义的信息
- 应用程序接口(API):提供应用程序使用DBMS特定功能的手段
- 数据库数据装载、重组等实用程序
- 数据库性能分析:统计在运行过程中数据库的各种性能数据,便于优化运行
4、典型的数据库管理系统
Oracle、DB 2 (IBM) 、Sybase、MS SQL Server 、MS Access和MS Foxpro等