享受老公带给我的依靠、孩子带给我的快乐、家庭带给我的温馨、学习带给我的充实……
DBMS的主要功能和组成部分
上一篇 /
下一篇 2008-05-09 11:28:06
1.数据库的定义功能。DBMS提供DDL定义数据库的结构、包括外模式、内模式及其相互之间的映象,定义数据的完整性约束、保密限制等约束条件。定义工作是由DBA完成的。因此在DBMS中包括DDL的编译程序,它把用DDL编写的各种源模式编译成相应的目标模式。这些目标模式是对数据库的描述,而不是数据本身,它们是数据库的框架(即结构),并被保存在数据字典中,供以后进行数据操纵或数据控制时查阅使用。
2.数据库操纵功能。DBMS提供DML实现对数据库的操作。基本的数据操作有四种:检索、插入、删除和修改。DML有两类,一类是嵌入在宿主语言中使用,例如嵌入在COBOL、FORTRAN、C等高级语言中,这类DML称为宿主型DML。另一类是可以独立性交互使用的DML,称为自主型或自含型DML。因而DBMS中必须包括DML的编译程序或解释程序。
3.数据库运行控制功能。DBMS对数据库的控制主要通过四个方面实现:数据安全性控制数据完整性控制、多用户环境下的并发控制和数据库的恢复。
(a)数据库安全性的控制是对数据库的一种保护。它的作用是防止被未授权的用户存取数据库中的数据。要想使用数据的用户,首先必须向DBMS标识自己,然后系统确定他是否可以对指定的数据进行存取。防止被未授权的用户蓄谋或无意地修改数据是很重要的,否则会导致数据完整性的破坏,从而使企业蒙受巨大的损失。
(b)数据完整性控制是DBMS对数据库提供保护的另一个重要方面。完整性是数据的准确性和一致性的测度。当数据加入到数据库时,对数据的合法性和一致性的检验将会提高数据的完整性程度。完整性控制的目的保持进入数据库中的存储数据的语义的正确性和有效性,防止任何操作对数据造成违反其语义的改变。因此,DBMS都允许对数据库中各类数据定义若干语义完整性约束,由DBMS强制实行。
(c)并发控制是DBMS的第三类控制机制。数据库技术的一个优点是数据的共享性。但多应用程序同时对数据库进行操作可能会破坏数据的正确性:或者在数据库内存储了错误的数据,或者用户读取了不正确的数据(称为脏数据)。并发控制机构能防止上述情况发生,正确处理好多用户、多任务环境下的并发操作。
(d)数据库的恢复机构是保护数据库的又一个重要方面。在数据库建立后运行中要不断地对数据库进行操作,就可能会出现各种故障,例如停电、软硬件各种错误、人为破坏等,从而导致数据库损坏,或者数据不正确了。此时DBMS的恢复机构就有能力把数据库从被破坏的、不正确的状态,恢复至以前某个正确的状态。为了保证恢复工作的正常进行,系统要经常为数据库建立若干备份副本(一般放在磁带上)。
DBMS的其它控制功能还有系统缓冲区的管理以及数据存储的某些自适应调节机制等。
(4)数据库的维护功能。这一部分包括数据库的初始数据的载入、转换功能、数据库的转储功能、数据库的重组织功能和性质监视、分析功能等。这些功能大都由各个实用程序来完成。例如装配程序(装配数据库)、重组程序(重新组织数据库)、日志程序(用于更新操作和数据库的恢复)、统计分析程序等。
(5)数据字典(Data Dictionary,记为DD)。DD中存放着数据库三级结构的描述。对于数据库的操作都要通过查阅DD进行。现在有的大型系统中,把DD单独抽出来自成一个系统,成为一个软件工具,使得DD成为一个比DBMS更高级的用户和数据库之间的接口。
上面是一般的DBMS所具备的功能。通常在大、中型机上实现的DBMS功能较强、较全,在微机上实现的DBMS功能较弱。
还应指出,用宿主语言编写的应用程序并不属于DBMS的范围。应用程序是用主语言和DML编写的。程序中的DML语句是由DBMS解释执行的,而其余部分仍由主语言编译系统去编译。
为了进一步加深了解DBMS的功能,我们考察一个应用程序A如何通过DBMS读取数据库中的一个记录的全过程(图1.8)。在应用程序A运行时,DBMS开辟一个数据库的系统缓冲区,用于输入输出数据。外模式、模式、内模式的定义存放在数据字典中。
(1) 用户在其应用程序中安排一条读记录的DML语句。该语句给出被涉及的外模式中记录类型名及欲读记录的关键码值。当计算机执行该DML语句时,立即启动DBMS,并向DBMS发出读记录的命令。
(2)DBMS接到命令后,首先访问该用户对应的外模式,检查该操作是否在合法授权范围内,若不合法则拒绝执行并向应用程序状态返回区发出不成功的状态信息;若合法则执行下一步。
(3)DBMS读取相应的模式描述,并从外模式映象到模式,也就是把外模式的外部记录格式映象到概念模式的概念记录格式,决定概念模式应读入哪些记录。
(4)DBMS调用相应的内模式描述,并从把概念模式映象到内模式,即把概念模式的概念记录格式映象到内模式的内部记录格式,确定应读入哪些物理记录以及具体的地址信息。
(5)DBMS向操作系统(OS)发出从指定地址读物理记录的命令。
(6)DBMS操作系统执行读命令,按指定地址从数据库中把记录读入数据库的系统缓冲区,并在操作结束后向DBMS作出回答。
(7)DBMS收到OS读操作结束的回答后,参照模式,将读入系统缓冲区中的内容变换成概念记录,再参照外模式,变换成用户要求读取的外部记录。
(8)DBMS所导出的外部记录从系统缓冲区送到应用程序A的“程序工作区”中。
(9)DBMS向运行日志数据库发出读一条记录的信息。以备以后查询使用数据库的情况。
(10)DBMS将操作执行成功与否的状态信息返回给用户。 (11)DBMS应用程序根据返回的状态信息决定是否使用工作区中的数据。
如果用户需修改一个记录内容,其过程与此类似。这时首先读出目标记录,并在用户工作区中用主语言的语句进行修改,然后向DBMS发出写回修改记录的命令。DBMS在系统缓冲区进行必要的转换(转换的过程与读数据时相反)后向操作系统发出写命令,即可达到修改数据的目的。
相关阅读:
- 功能点分析方法在软件需求管理中的应用 (seanhe, 2008-5-08)
- 数据库相关:SQL Server数据库维度表和事实表概述 (小小眼, 2008-5-08)
- 数据库基础:如何查看并导出数据表中字段的注释信息 (小小眼, 2008-5-08)
- 数据库相关:全面解析关系数据模型存在的不足之处 (小小眼, 2008-5-08)
- 带你轻松接触数据库命名规范的相关概念 (IT新贵, 2008-5-08)
- 在Informix数据库中释放异常的锁资源 (IT新贵, 2008-5-08)
- 数据库相关:Microsoft SQL Server数据库日志截断 (limin, 2008-5-08)
- 数据库基础:存储过程中如何执行带输出参数的动态SQL (limin, 2008-5-08)
- 数据库进阶:优化SQl语句的十个重要步骤 (limin, 2008-5-08)
- J2EE综合--业务逻辑和数据库访问决策 (wangxin8279, 2008-5-09)
导入论坛
引用链接
收藏
分享给好友
推荐到圈子
管理
举报
TAG:
DBMS
功能
数据库
组成部分