数据库系统指的是一个大的工作环境,由数据库、数据库管理系统、数据库应用程序、数据库管理员以及计算机基本系统组成。
1、数据库(DB:database):
由一系列具有相关关系的表组成。
2、数据库管理系统(DBMS:Database Management System):
管理数据库的一种系统软件。如:Oracle、DB2、MySQL、MS Access、Sybase等。
3、数据库应用程序(DBAP:Database Application)
为使用户更好的使用数据库而设计的具有某功能的应用程序,DBAP通过DBMS来使用DB.
4、数据库管理员(DBA:Database Administrator)
对数据库管理系统进行操作,创建并应用数据库。
5、计算机基本系统
计算机、网络、输入输出设备等,是数据库能正常运行的关键。
表的相关元素及术语
表名:由用户根据需要定义。
表标题:即每一列的表头,又称字段名、列名。
每行数据又称元组或记录。
每列称为一个字段或数据项。
表名和表标题构成(关系)模式。
表名、表标题和值构成表。
数据库管理系统的功能由数据库定义语言和数据库例行执行程序构成。
1、数据库定义语言(DDL语言:Database Definition Language)
定义数据库中表的名称,列的名称及其属性等;
2、数据库操纵语言(DML语言:Database Manipulation Language)
对数据库表中数据进行增、删、改、查等操作。
3、数据库控制语言(DCL语言:Database Control Language)
主要是对用户的权限进行控制
4、数据库维护语言
主要用于对数据库进行维护,如转储、恢复、重组、性能检测、分析等。
DBMS为完成DB管理,在后台运行着 一系列程序
语言编译器:将数据库语言书写的内容,翻译成DBMS可执行的命令,例如:DDL编译器,DML编译器,DCL编译器等;
查询优化(执行引擎)与查询实现(基本命令的不同执行算法):提高数库检索速度的手段,例如贯穿于数据存取各个阶段的优化程序;
数据存取与索引:提供数据在磁盘、磁带等上的高效存取手段,例如:存储管理器、缓冲区管理器、索引/文件和记录管理器等;
通信控制:提供网络环境下数据库操作与数据传输的手段——数据库通常分布式环境,可以被多个用户共享使用,网络环境下的数据操作和数据传输就需要有通信控制的程序
事务管理:提供提高可靠性并避免并发操作错误的手段
故障恢复:使数据库自动恢复到故障发生前正确状态的手段,例如提供了备份、运行日志操控等实用程序
安全性控制:提供合法性检验,避免非授权非法用户访问数据库的手段
完整性控制:提供数据及数据操作正确性检查的手段
数据字典管理:管理用户已经定义的信息
应用程序接口(API)提供应用程序使用DBMS特定功能的手段
数据库数据装载、重组等实用程序
数据库性能分析:统计在运行过程中数据库的各种性能数据,便于优化运行
整体实现过程:
数据库阶段:用户在输入数据库语言以后,由语言编译器进行编译,接着由执行程序执行;
操作系统阶段:
数据库存储在磁盘上,由存储管理器控制磁盘的读写,
磁盘内的数据要被CPU访问装入到内存中,所以要有一个缓冲区管理器控制内存的分配,并对内存和外存的数据交换进行控制,
在对数据库操作过程中,是对表及表相关的术语进行处理,所以会有索引/文件和记录管理器
索引、文件和记录管理器转换成页面的命令调用缓冲区管理,再转换成读页和写页命令调用存储管理器对磁盘进行管理,把磁盘中的数据转换到CPU中被内存进行处理
存储与索引部分,一般由操作系统管理,有些DBMS可以越过操作系统直接管理