「学习笔记」数据库系统基础
概述
- 数据库 是 电子化信息的集合
- 将信息规范化并使之电子化,形成电子信息’库’,以便利用计算机对这些信息进行快速有效的存储、检索、统计与管理。
- 表(Table):以按行按列形式组织及展现的数据
- 数据库起源于规范化“表(Table)”的处理,Table中描述了一批相互有关联关系的数据–>关系
- 数据库系统的构成(概念层次):
- 数据库(DB):Database:相互之间有关联关系的数据的集合
- 数据库管理系统(DBMS):Database Management System
- 数据库应用(DBAP):Database Application
- 数据库管理员(DBA):Database Asministrator
- 计算机基本系统
1. 数据库管理系统(DBMS)
1.1 从用户角度看DBMS(数据库管理系统)
- 数据库定义:定义数据库中的Table的表名、标题(属性以及属性值的要求)等
- DBMS提供了一套数据定义语言(DDL: Data Definition Language)给用户
- 用户使用DDL描述其所要建立的表的格式
- DBMS依照用户的定义,创建数据库及其中的表
- 数据库操作:向数据库的Table中增加/删除/更新数据及对数据进行查询、检索、统计等
- DBMS提供了一套数据库操纵语言(DML: Data Manipulation Language)给用户
- 用户使用DML描述其所要进行的增、删、改、查等操作
- DBMS依照用户的操作描述,实际执行这些操作
- 数据库控制:控制数据库中数据的使用(哪些用户可以使用,哪些不可以)
- DBMS提供了一套数据控制语言(DCL: Data Control Language)给用户
- 用户使用DCL描述其对数据库所要实施的控制
- DBMS依照用户描述,实际ijnx控制
- 数据库维护:转储/恢复/重组/性能监测/分析…
- DBMS提供了一系列程序(实用程序/例行程序)给用户
- 在这些程序中提供了对数据库维护的各种功能
- 用户使用这些程序进行各种数据库维护操作
- (数据库维护的实用程序,一般由数据库管理员(DBA)来使用和掌握的)
1.2 数据库语言
- 使用者使用数据库语言,利用DBMS操纵数据库
- SQL语言:结构化的数据库语言
- 高级语言:一条数据库语言相当于高级语言的一个或多个循环程序,数据库语言可以嵌入到高级语言(宿主语言)中使用
1.3 从系统实现角度看DBMS的功能
- 数据库管理系统的实现:形式 –> 构造 –> 自动化
- DBMS为完成DB管理,在后台运行着一系列程序…
- 语言编译器:将数据库语言书写的内容,翻译成BDMS可执行的命令。例如:DDL编译器,DML编译器,DCL编译器等
- 查询优化(执行引擎)与查询实现(基本命令的不同执行算法):提高数据库检索速度的手段。例如贯穿于数据存取各个阶段的优化程序
- 数据存取与索引:提供数据在磁盘/磁带等上的搞笑存取手段。例如:存储管理器,缓冲区管理器,索引/文件和记录管理器等
- 通信控制:提供网络环境下数据库操作与数据传输的手段
- 事务管理:提供提高可靠性并避免并发操作错误的手段
- 故障恢复:使用数据库自动恢复到故障发生前正确状态的手段。例如备份、运行日志操控等实用程序
- 安全性控制:提供合法性检验,避免非授权非法用户访问数据库的手段
- 完整性控制:提供数据及数据操作正确性检查的手段
- 数据字典管理:管理用户已经定义的信息
- 应用程序接口(API):提供应用程序使用DBMS特定功能的二首段
- 数据库数据装载、重组等实用程序
- 数据库性能分析:统计在运行过程中数据库的各种性能数据,便于优化运行
典型的数据库管理系统(DBMS):Oracle、DB2(IBM)、Sybase、Microsoft SQL Server、Microsoft Access、PostgreSQL