数据库管理系统

news2025/7/8 14:25:45

简介

数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称 DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。[2]

数据库管理系统是一个能够提供数据录入、修改、查询的数据操作软件,具有数据定义、数据操作、数据存储与管理、数据维护、通信等功能,且能够允许多用户使用。另外,数据库管理系统的发展与计算机技术发展密切相关。而且近年来,计算机网络逐渐成为人们生活的重要组成部分。为此,若要进一步完善计算机数据库管理系统,技术人员就应当不断创新、改革计算机技术,并不断拓宽计算机数据库管理系统的应用范围,从而真正促进计算机数据库管理系统技术的革新。[2]

主要功能

1.数据定义:DBMS提供数据定义语言DDL(Data Definition Language),供用户定义数据库的三级模式结构、两级映像以及完整性约束和保密限制等约束。DDL主要用于建立、修改数据库的库结构。DDL所描述的库结构仅仅给出了数据库的框架,数据库的框架信息被存放在数据字典(Data Dictionary)中。[3]

2.数据操作:DBMS提供数据操作语言DML(Data Manipulation Language),供用户实现对数据的追加、删除、更新、查询等操作。[3]

3.数据库的运行管理:数据库的运行管理功能是DBMS的运行控制、管理功能,包括多用户环境下的并发控制、安全性检查和存取限制控制、完整性检查和执行、运行日志的组织管理、事务的管理和自动恢复,即保证事务的原子性。这些功能保证了数据库系统的正常运行。[3]

4.数据组织、存储与管理:DBMS要分类组织、存储和管理各种数据,包括数据字典、用户数据、存取路径等,需确定以何种文件结构和存取方式在存储级上组织这些数据,如何实现数据之间的联系。数据组织和存储的基本目标是提高存储空间利用率,选择合适的存取方法提高存取效率。[3]

5.数据库的保护:数据库中的数据是信息社会的战略资源,所以数据的保护至关重要。DBMS对数据库的保护通过4个方面来实现:数据库的恢复、数据库的并发控制、数据库的完整性控制、数据库安全性控制。DBMS的其他保护功能还有系统缓冲区的管理以及数据存储的某些自适应调节机制等。[3]

6.数据库的维护:这一部分包括数据库的数据载入、转换、转储、数据库的重组合重构以及性能监控等功能,这些功能分别由各个使用程序来完成。[3]

7.通信:DBMS具有与操作系统的联机处理、分时系统及远程作业输入的相关接口,负责处理数据的传送。对网络环境下的数据库系统,还应该包括DBMS与网络中其他软件系统的通信功能以及数据库之间的互操作功能。[3]

组成

数据库管理系统主要包括:进行数据定义语言以及翻译的相关程序,在这个部分的帮助下,可以让数据库的用户自行进行选择,并且也能得到翻译由此形成一个内部形式;进行数据运行控制的程序,因为这一程序的工作,让数据库中的资源可以充分得到管理,并且能实现关于数据的一种控制;数据库的实用程序则可以使得数据库在相对完整的基础上建立起来,并且在相对完整的数据库系统下让数据库得到维护。[4]

按功能划分,数据库管理系统大致可分为6个部分:[4]

(1)模式翻译:提供数据定义语言(ddl)。用它书写的数据库模式被翻译为内部表示。数据库的逻辑结构、完整性约束和物理储存结构保存在内部的数据字典中。数据库的各种数据操作(如查找、修改、插入和删除等)和数据库的维护管理都是以数据库模式为依据的。[4]

(2)应用程序的编译:把包含着访问数据库语句的应用程序,编译成在dbms支持下可运行的目标程序。[4]

(3)交互式查询:提供易使用的交互式查询语言,如SQL.DBMS负责执行查询命令,并将查询结果显示在屏幕上。[4]

(4)数据的组织与存取:提供数据在外围储存设备上的物理组织与存取方法。[4]

(5)事务运行管理:提供事务运行管理及运行日志,事务运行的安全性监控和数据完整性检查,事务的并发控制及系统恢复等功能。[4]

(6)数据库的维护:为数据库管理员提供软件支持,包括数据安全控制、完整性保障、数据库备份、数据库重组以及性能监控等维护工具。[4]

工作模式

DBMS的工作模式如下:[5]

(1)接受应用程序的数据请求和处理请求;[5]

(2)将用户的数据请求(高级指令)转换成复杂的机器代码(低层指令);[5]

(3)实现对数据库的操作;[5]

(4)从对数据库的操作中接受查询结果;[5]

(5)对查询结果进行处理(格式转换);[5]

(6)将处理结果返回给用户。[5]

DBMS总是基于某种数据模型,因此可以将DBMS看成是某种数据模型在计算机系统上的具体实现。根据数据模型的不同,DBMS可以分成层次型、网状型、关系型、面向对象型等。[5]

在不同的计算机系统中,由于缺乏统一的标准,即使同种数据模型的DBMS,在用户接口、系统功能等方面也常常是不相同的。[5]

用户对数据库进行操作,是由DBMS把操作从应用程序带到外部级、概念级,再导向内部级,进而通过操作系统(OS操纵存储器中的数据。同时,DBMS为应用程序在内存开辟一个DB的系统缓冲区,用于数据的传输和格式的转换。而三级结构定义存放在数据字典中。[5]

技术特点

(1)采用复杂的数据模型表示数据结构,数据冗余小,易扩充,实现了数据共享。[6]

(2)具有较高的数据和程序独立性,数据库的独立性有物理独立性和逻辑独立性。[6]

(3)数据库系统为用户提供了方便的用户接口。[6]

(4)数据库系统提供4个方面的数据控制功能,分别是并发控制、恢复、完整性和安全性。数据库中各个应用程序所使用的数据由数据库系统统一规定,按照一定的数据模型组织和建立,由系统统一管理和集中控制。[6]

(5)增加了系统的灵活性。[6]

应用

1、提高数据加密系统的安全性

计算机数据库管理系统本身就能够加密数据,而将其与单纯的数据加密系统结合在一起更能提高数据的安全性。但是需要注意的是任何信息管理系统的存在都是为人服务。为此,在这一环境下进行数据信息的传输和维护需要技术人员进一步优化数据加密系统,以满足人们的需求。[7]

4d086e061d950a7b0d997f6904d162d9f3d3c9ea

数据库管理系统

2、提高信息存管效率

计算机数据库管理系统最大的优势在于能够进行数据信息的长期存储和管理。而这一特点在很多领域都有广泛的应用。但是需要注意的是技术人员在增强信息存管率时应当对用户的身份进行细致识别,防止非法用户的入侵,最终减少恶意访问、黑客攻击等问题,真正保障数据信息的安全。[7]

3、完善数据备份与恢复

在计算机网络应用的过程中经常会出现信息丢失、系统崩溃等现象,致使数据信息损坏,无法正常调用。而计算机数据库管理系统主要就是数据的集合存储,在这一存储的过程中,管理系统会按照一定的模式进行数据存储,并建立较为复杂的数据结构关系。这样既能实现数据的单独处理,也能实现数据结合的使用、处理,从而实现高效率的数据恢复。[7]

4、增强多媒体的管理

应用计算机数据库管理系统能够提高多媒体的管理水平。技术人员能够利用计算机数据库管理系统降低多媒体管理的复杂程度,减少工作量,从而提高多媒体管理效率。[7]

优点

(1)控制数据冗余。数据库管理应尽可能地消除了冗余,但是并没有完全消除,而是控制大量数据库固有的冗余。例如,为了表现数据间的关系,数据项的重复一般是必要的,有时为了提高性能也会重复一些数据项。[8]

(2)保证数据一致性。通过消除或控制冗余,可降低不一致性产生的危险。如果数据项在数据库中只存储了一次,则任何对该值的更新均只需进行一次,而且新的值立即就被所有用户获得。如果数据项不只存储了一次,而且系统意识到这点,系统将可以确保该项的所有拷贝都保持一致。不幸的是,许多DBMS都不能自动确保这种类型的一致性。[8]

(3)提高数据共享。数据库应该被有权限的用户共享。DBMS的引入使更多的用户可以更方便的共享更多的数据。新的应用程序可以依赖于数据库中已经存在的数据,并且只增加没有存储的数据,而不用重新定义所有的数据需求。[8]

软件举例

市场上比较流行的数据库管理系统产品主要是Oracle、IBM、Microsoft和Sybase、Mysql等公司的产品。[9]

Oracle数据库

Oracle数据库被认为是业界比较成功的关系型数据库管理系统。Oracle的数据库产品被认为是运行稳定、功能齐全、性能超群的贵族产品。对于数据量大、事务处理繁忙、安全性要求高的企业。Oracle无疑是比较理想的选择。随着Intemet的普及,Oracle适时地将自己的产品紧密地和网络计算结合起来,成为在Intemet应用领域数据库厂商的佼佼者。[9]

Oracle数据库可以运行在Unix,Windows等主流操作系统平台,完全支持所有的工业标准,并获得最高级别的ISO标准安全性认证。Oracle采用完全开放策略,可以使客户选择最适合的解决方案,同时对开发商提供全力支持。[9]

DB2

DB2是IBM公司的产品,是一个多媒体、Web关系型数据库管理系统,其功能足以满足大中公司的需要,并可灵活地服务于中小型电子商务解决方案。1968年IBM公司推出的IMS( Information Management System)是层次数据库系统的典型代表,是第一个大型的商用数据库管理系统。1970年,IBM公司的研究员首次提出了数据库系统的关系模型,开创了数据库关系方法和关系数据理论的研究,为数据库技术奠定了基础。财富100强企业中的100%和财富500强企业中的80010都使用了IBM的DB2数据库产品。DB2的另一个非常重要的优势在于基于DB2的成熟应用非常丰富。2001年,IBM公司兼并了世界排名第四的著名数据库公司Informix,并将其所拥有的先进特性融入DB2中,使DB2系统的性能和功能有了进一步提高。[9]

Sybase系列

Sybase公司成立于1984年11月,产品研究和开发包括企业级数据库、数据复制和数据访问。主要产品有:Sybase的旗舰数据库产品Adaptive Server Enterprise,Adaptive Server Repli-cation,Adaptive Server Connect及异构数据库互连选件。SybaseASE是其主要的数据库产品,可以运行在Unix和Windows平台。Sybase Warehouse Studio在客户分析、市场划分和财务规划方面提供了专门的分析解决方案。Warehouse Studio的核心产品有Adaptive Server IQ,其专利化的从底层设计的数据存储技术能快速查询大量数据。围绕Adaptive Server IQ有一套完整的工具集,包括数据仓库或数据集市的设计、各种数据源的集成转换、信息的可视化分析,以及关键客户数据(元数据)的管理。[9]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/6815.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL约束和表的复杂查询操作

✨博客主页: 心荣~ ✨系列专栏:【MySQL】 ✨一句短话: 难在坚持,贵在坚持,成在坚持! 文章目录一. 数据库约束1. 数据库常用约束2. not null 约束3. unique约束4. default设置默认值5. primary key约束6. 分库分表下的自增主键7. foreign key约束8. 主键,外键,uniqe运用原理二. …

Android App开发中使用Glide加载网络图片讲解及实战(附源码 简单易懂)

运行有问题或需要源码请点赞关注收藏~~~ 一、使用Glide加载网络图片 对于如何方便快速的显示网络图片,谷歌开发了自己的Glide开源库,同样我们需要在bulid.gradle中引入如下依赖 implementationcom.github.bumptech.glide:glide:4.11.0 Glide用法如下 G…

攻防世界-misc-流量分析1

下载附件,获得一个流量包 wireshark打开 随便选择一个,追踪tcp流 把请求包url解码看看是什么操作 还存在url编码,继续解码 GET /index.php?urlgopher://127.0.0.1:80/_POST /admin.php HTTP/1.1 Host: localhost:80 Connection: close Conte…

SpringBoot+@Validated实现参数验证(非空、类型、范围、格式等)-若依前后端导入Excel数据并校验为例

场景 若依管理系统前后端分离版基于ElementUI和SpringBoot怎样实现Excel导入和导出: 若依管理系统前后端分离版基于ElementUI和SpringBoot怎样实现Excel导入和导出_霸道流氓气质的博客-CSDN博客 SpringBootVue实现excel导入带格式化的时间参数(moment格式化明天日…

使用image-map编写校区平面示意图

一、效果图 先上一波效果图,手机录制 二、项目中用到的图片 呐,最近领导让俺帮某学校做一个校区平面示意图的移动端项目,用到的图片就是这样的,不过这是截的图片,放大后会模糊,项目中真正使用的图片有6…

HazelEngine 学习记录 - Profiling

Profiling Intro To Profiling 为了能够清晰的观察整个引擎的性能消耗情况,我们需要一个可视化的工具来进行性能分析,例如 Unity 的内置 Profiler: 其实本质就是将每个函数运行的时间进行可视化,这里我们借用标准库 chrono 来进…

笔记本电脑没有声音如何解决

​笔记本电脑没有声音的现象,也是笔记本电脑的常见运用病况之一,遇到这种情况的话,大家是否知道如何处理呢?下面小编来跟大家说说笔记本电脑没有声音解决方法,希望可以帮助到大家。 工具/原料: 系统版本:windows10系统 品牌型…

python--谷歌恐龙快跑小项目

用300行代码左右实现谷歌休闲的恐龙快跑游戏! 主函数: import sys import math import time import random import pygame from pygame.locals import * from Scene import Scene from Obstacle import Plant, Ptera from Dinosaur import Dinosaur #…

嵌入式开发:当用微控制器构建嵌入式GUI时,有哪些注意事项

在嵌入式开发中,借助基于MCU的设计,你可以消除额外的RAM和闪存芯片,并使用板载外设而不是板外逻辑,所有这些都将随着当今功能强大的芯片而变得更加简单。当然,与成熟的微处理器相比,MCU本身也提供了额外的成…

【校内篇】如何安装一台虚拟机

咱们的微机老师要求上微机课用的电脑必须要用 Windows7Windows\ 7Windows 7,但是很多同学的电脑也许并不匹配,造成了诸多不便。 作为班长,我觉得有必要把自己的一些技术共享给大家,方便大家使用。 文章目录一、准备材料&#x1f6…

如何扩大电脑c盘分区,c盘空间不足怎么扩容

当电脑使用一段时间后,C盘会存储一定的数据,包括操作系统以及其他的文件。在实际的运用中,许多应用程序的默认下载路径就是C盘,如果用户没有更改为其他磁盘,会导致C盘的空间越来越小,电脑越来越卡顿。从根源…

【C版本】静态通讯录与动态通讯录的实现,以及各自所存在的缺陷对比。(含所有原码)

目录静态版本通讯录前期思路具体实现1、框架2、初始化通讯录3、增加联系人4、显示已有联系人5、查找联系人6、删除指定联系人7、排序联系人8、修改联系人信息9、清空联系人静态版本通讯录存在的缺陷动态版本通讯录(静态版本的部分功能发生改动)初始化增加…

优雅的使用Webstack打造个人网址导航

原文链接:优雅的使用Webstack打造个人网址导航 前言 一款基于 WebStackPage 的 Hexo 主题。本人选择的是 hexo-theme-webstack。 效果预览 具体效果请移步 个人网址导航。 步骤 在目标路径(我这里选的路径为【D:/studytype/My_Blog】)打开…

基于C#制作一个桌面宠物

此文主要基于C#制作一个桌面宠物,可自定义宠物素材图片及打开外部exe的快捷菜单。 实现流程1.1、创建项目1.2、准备素材1.3、控件设置(1)PictureBox控件(2)timer控件(3)contextMenuStrip控件1.4…

学习MySQL必须掌握的13个关键字,你get了吗?

1、三范式 第一范式:每个表的每一列都要保持它的原子性,也就是表的每一列是不可分割的;第二范式:在满足第一范式的基础上,每个表都要保持唯一性,也就是表的非主键字段完全依赖于主键字段;第三范…

【微服务】Nacos2.x服务发现?RPC调用?重试机制?

💖Spring家族及微服务系列文章 ✨【微服务】Nacos通知客户端服务变更以及重试机制 【微服务】SpringBoot监听器机制以及在Nacos中的应用 ✨【微服务】Nacos服务端完成微服务注册以及健康检查流程 ✨【微服务】Nacos客户端微服务注册原理流程 ✨【微服务】SpringClou…

Vue 和 React 比,React 好在哪里?

​ 这两个设计理念上就有所区别,类比过来就是:Vue 是自动挡汽车,React 是手动挡汽车。 在 Vue 中,不需要去注意视图和数据的一致性,因为有双向绑定看帮你处理,响应式的。还有一些很方便的 v-if、v-model 之…

软考 - 面向对象开发

⭐设计模式UML详解:https://blog.csdn.net/qq_40274514/article/details/124047443 面向对象基础 面向对象的程序设计 和 面向对象设计区别 面向对象的程序设计涉及到具体的编程语言 面向对象设计只从系统逻辑结构设计解决方案 常见的机制 动态绑定:过…

ESXi5.5远程升级到ESXi6.7 (VMware Hypervisor)

1、ESXi的介质分为两类,以6.7为例: VMware vSphere Hypervisor (ESXi ISO) image (Includes VMware Tools)(ISO包) VMware vSphere Hypervisor (ESXi) Offline Bundle (ZIP包) 如果要升级,需要Z…

【畅购商城】详情页详情之商品详情

1.构建详情页 步骤0:确定访问路径 http://localhost:3000/Goods?id1 步骤二:复制 ~/static/goods.html 内容,导入第三方资源(css、js) head: {title: 列表页面,link: [{rel:stylesheet,href: /style/goods.css},{re…