数据库管理系统的功能与组成

人们通常所说的“数据库”,实质上是指“数据库管理系统”。 数据库管理系统是一个通用的管理数据库的软件系统,是由一组计算机程序构成的。数据库管理系统负责数据库的定义、建立、操纵、管理和维护,能够对数据库进行有效的管理,包括存储管理、安全性管理、完整性管理等。数据库管理系统提供了一个软件环境,使用户能方便快速地建立、维护、检索、存取和处理数据库中的信息。

数据库管理系统是数据库系统的核心。是为数据库的建立、使用和维护而配置的软件。它建立在操作系统的基础上,是位于操作系统与用户之间的一层数据管理软件.负责对数据库进行统一的管理和控制。用户发出的或应用程序中的各种操作数据库中数据的命令,都要通过数据库管理系统来执行。数据库管理系统还承担着数据库的维护工作,能够按照数据库管理员所规定的要求,保证数据库的安全性和完整性。

1. 数据库管理系统的功能

由于不同DBMS要求的硬件资源、软件环境是不同的,因此其功能与性能也存在差异,但一般说来,DBMS的功能主要包括以下6个方面。

1)数据定义

数据定义包括定义构成数据库结构的模式、存储模式和外模式,定义各个外模式与模式之间的映射,定义模式与存储模式之间的映射,定义有关的约束条件,例如,为保证数据库中数据具有正确语义而定义的完整性规则、为保证数据库安全而定义的用户口令和存取权限等。

2)数据操纵

数据操纵包括对数据库数据的检索、插入、修改和删除等基本操作。

3)数据库运行管理

对数据库的运行进行管理是DBMS运行时的核心部分,包括对数据库进行安全性控制、完整性约束条件的检查和执行、多用户环境下的并发控制、数据库的内部维护(如索引、数据字典的自动维护)、数据库的恢复等。所有访问数据库的操作都要在这些控制程序的统一管理下进行,以保证数据的安全性、完整性、一致性以及多用户对数据库的并发使用。

4)数据组织、存储和管理

数据库中需要存放多种数据(如数据字典、用户数据、存取路径等),DBMS负责分门别类地组织、存储和管理这些数据,确定以何种文件结构和存取方式物理地组织这些数据,如何实现数据之间的联系,以便提高存储空间利用率以及提高随机查找、顺序查找、增删改等操作的时间效率。

5)数据库的建立和维护

建立数据库包括数据库初始数据的装入(输入)与数据转换等。维护数据库包括数据库的转储与恢复、数据库的重组织与重构造、性能的监视与分析等。

6)数据通信接口

DBMS需要提供与其他软件系统进行通信的功能。例如,提供与其他DBMS或文件系统的接口,从而能够将数据转换为另一个DBMS或文件系统能够接受的格式,或者接收其他DBMS或文件系统的数据。

2. 数据库管理系统的组成

为了提供上述6方面的功能,DBMS通常由以下4部分组成。

1)数据定义语言及其翻译处理程序

DBMS一般提供数据定义语句(data definition language,简称DDL),供用户定义数据库的模式、存储模式、外模式、各级模式间的映射、有关的约束条件等。用DDL定义的外模式、模式和存储模式分别称为源外模式、源模式和源存储模式,各种模式翻译程序负责将它们翻译成相应的内部表示,即生成目标外模式、目标模式和目标存储模式。这些目标模式描述的是数据库的框架,而不是数据本身。这些描述存放在数据字典(也称系统目录)中,作为DBMS存取和管理数据的基本依据。例如,根据这些定义,DBMS可以从物理记录导出全局逻辑记录,又从全局逻辑记录导出用户所要检索的记录。

2)数据操纵语言及其编译(或解释)程序

DBMS提供了数据操纵语言(data manipulation language,简称DML)实现对数据库的检索、插入、修改、删除等基本操作。DML分为宿主型DML和自主型DML两类。宿主型DML本身不能独立使用,必须嵌入主语言中,例如,嵌入C,COBOL,FORTRAN等高级语言中。自主型DML又称为自含型DML,它们是交互式命令语言,语法简单,可以独立使用。

3)数据库运行控制程序

DBMS提供了一些系统运行控制程序负责数据库运行过程中的控制与管理,包括系统初启程序、文件读写与维护程序、存取路径管理程序、缓冲区管理程序、安全性控制程序、完整性检查程序、并发控制程序、事务管理程序、运行日志管理程序等,它们在数据库运行过程中监视着对数据库的所有操作,控制管理数据库资源,处理多用户的并发操作等。

4)实用程序

DBMS通常还提供一些实用程序,包括数据初始装入程序、数据转储程序、数据库恢复程序、性能监测程序、数据库再组织程序、数据转换程序、通信程序等。数据库用户可以利用这些实用程序完成数据库的建立与维护,以及数据格式的转换与通信。

一个设计优良的DBMS,应该具有友好的用户界面、比较完备的功能、较高的运行效率、清晰的系统结构和开放性。所谓开放性是指数据库设计人员能够根据自己的特殊需要,方便地在一个DBMS中加入一些新的工具模块,这些外来的工具模块可以与该DBMS紧密结合,一起运行。现在人们越来越重视DBMS的开放性,因为DBMS的开放性为建立以它为核心的软件开发环境或规模较大的应用系统提供了极大的方便,也使DBMS本身具有更强的适应性、灵活性、可扩充性。

3. DBMS的数据存取的过程

在数据库系统中,DBMS与操作系统、应用程序、硬件等协同工作,共同完成数据各种存取操作,其中DBMS起着关键的作用。DBMS对数据的存取通常需要以下四步:

1)用户使用某种特定的数据操作语言向DBMS发出存取请求;

2)DBMS接受请求并解释;

3)DBMS依次检查外模式、外模式/模式映象、模式、模式/内模式映象及存储结构定义;

4)DBMS对存储数据库执行必要的存取操作;

上述存取过程中还包括安全性控制、完整性控制,以确保数据的正确性、有效性和一致性。

转载于:https://www.cnblogs.com/JimmyShen/archive/2011/10/09/2204892.html

数据库原理--数据库管理系统的功能与组成相关推荐

  1. 数据库原理—数据库管理系统的功能和特点(四)

    数据库原理-数据库管理系统的功能和特点(四)

  2. 数据库原理—SQL数据定义功能(九)

    数据库原理-SQL数据定义功能(九)

  3. 数据库原理—数据库基础(二)

    数据库原理-数据库基础(二) 一.数据和信息 (一).信息 信息是客观存在的,是关于现实世界事物的存在方式或运动状态反映的综合 信息与材料和能源一个层次,是人类社会赖以生存和发展的三大资源之一 (二) ...

  4. 数据库原理 数据库镜像

    1.什么是数据库镜像? 数据库管理系统自动把数据库或者其中的关键数据复制到另一个磁盘上 数据库系统自动保证镜像数据和主数据的一致性,每当主数据更新时,数据库管理系统自动把更新后的数据复制过去. 2.数 ...

  5. 数据库原理 数据库完整性-参照完整性

    参照完整性定义 参照完整性检查和违约处理

  6. 基于SQL数据库的装修管理系统计算机毕业设计源码10327

    摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题.针对基于sql数据库的装修 ...

  7. 数据库技术基础:数据库管理系统的功能介绍笔记

    1.DBMS功能介绍 1.1 数据定义 数据库定义语言(DDL):可以对数据库结构描述,包括外模式.模式.内模式的定义:数据库完整性定义:安全保密定义比如口令.级别和存取权限.这些定义存储在数据字典中 ...

  8. 数据库原理与应用实验指导书 实验一:熟悉SQL Server 2012数据库管理系统

    数据库原理与应用实验指导书 实验一:熟悉SQL Server 2012数据库管理系统 实验类型: 综合性 实验要求: 必修 适用对象: 信息管理与信息系统.计算机科学与技术.软件工程.物联网工程 一. ...

  9. 《数据库原理与应用(第3版)》——习题

    本节书摘来自华章出版社<数据库原理与应用(第3版)>一 书中的第2章,第2.1节,作者:何玉洁,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 习题 1.?解释 ...

最新文章

  1. AI创作神器GAN的演变全过程
  2. 高级指令——hostname指令【作用:操作服务器的主机名(读取、设置)】、id指令【查看一个用户的一些基本信息(包含用户id,用户组id,附加组id…)】、whoami指令、ps -ef指令
  3. ListView用法总结
  4. 删除单元格_VBA(实验1)用VBA 删除某列空单元格的3种方法:删除法,转移到其他列方法,数组方法...
  5. easyui-super-theme后台模板
  6. Kali Linux 无线渗透测试入门指南 第八章 攻击企业级 WPA 和 RADIUS
  7. ubuntu java android_Ubuntu中为Android系统实现内置Java应用程序测试Application Frameworks层的硬件服务...
  8. 算法工程师面试备战笔记4_余弦相似与欧氏距离有什么区别和联系
  9. mysql 双机备份_mysql双机热备详解及延伸备份
  10. The least round way CodeForces - 2B (DP 矩阵 路径)
  11. $smary模板缓存
  12. ubuntu安装ulipad
  13. Electron使用nodejs的坑,Can‘t resolve ‘child_process‘错误
  14. MySQL中explain用法含义说明
  15. java如何接收键盘输入_java接收键盘输入(三种方法)
  16. WRF——OBSGRID使用方法(gfortran编译)
  17. 微信跳转到关注公众号万能链接
  18. 农业银行网上银行服务器未响应,农业银行k宝没反应原因分析及解决方法
  19. fhkldlkfhj
  20. 一个月瘦10斤的计划

热门文章

  1. 数字内容市场水量上涨,阜博集团能否成为“鲶鱼”?
  2. SuperSocket客户端
  3. ArcGIS利用DEM进行洪水淹没分析(附练习数据下载)
  4. python怎么表示循环小数_循环小数表示法
  5. 查找薪水变动超过15次的员工号emp_no以及其对应的变动次数t
  6. linux 红帽 服务dns,Linux小红帽搭建dns服务器
  7. 为何巴菲特和马斯克站在了一起?
  8. 使body占有整个页面
  9. win10右键菜单添加“用记事本打开文件”
  10. 考研报名登录显示服务器错误,2018年考研报名常见问题:填写网报信息