数据库DBMS的主要组成部分是什么?各部分的主要功能是什么
来源:
时间:2024-08-17 11:57:10
热度:
数据库DBMS的主要组成部分是什么?各部分的主要功能是什么【专家解说】:1.数据库的定义功能。DBMS提供DDL定义数据库的结构、包括外模式、内模式及其相互之间的映象,定义数据的完
【专家解说】: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将操作执行成功与否的状态信息返回给用户。 参考: http://www.examda.com/gwy/Profess/Instructs/20060713/171229435.html 希望对你有帮助!
-
大家好,我是太阳能薄膜材料的新手,想搜索一下铜铟镓硒CIGS的文章,最有用的数据库有哪些啊2024-08-17
-
哪位能提供下读取mdb数据,存入mysql数据库中的c、c++程序啊2024-08-17
-
中国核心期刊(遴选)数据库收录期刊是什么水平2024-08-17
-
SQL数据库如何设计表的格式2024-08-17
-
中国期刊全文数据库分哪些支辑,每一个支辑包括哪些内容2024-08-17
-
数据库中的十种数据类型都是什么2024-08-17
-
列出10种中文数据库名称,并简要注明其资源特点(每一数据库不超过100字)。2024-08-17
-
谁能给个数据库的论文研究方向啊.谢谢2024-08-17
-
谁能给个数据库的论文研究方向啊.谢谢2024-08-17
-
如何检索湖北工业大学师生的论文被sci数据库收录的情况2024-08-17
-
高工论文发表 有中国科技期刊数据库 工业B 这个刊物不,有人在这里发表过论文不2024-08-17
-
我在万方数据库买了论文却下载不了...2024-08-17
-
论文查重主要是哪个数据库?内蒙古工业大学2024-08-17
-
《石油天然气学报》(增刊)上的文章能否在中国学术期刊网等网上数据库检索?2024-08-17
-
毕业论文查重(cnki(TMLC))范围会加入本校已经毕业的硕士论文数据库吗2024-08-17