数据库的概念-数据库、数据库管理系统、数据库系统、数据库管理员、数据库设计人员、开发管理使用数据库系统的人员

一、数据库(DB)

1、数据库就是存储数据的仓库,只不过这个仓库是在计算机存储设备上

2、严格的说,数据库是长期存储在计算机内、有组织的、统一管理的、可共享的相关数据的集合

3、数据库应是为一个特定目标而设计、构建并装入数据的,是逻辑上一致而且有某种内在含义数据集合,不是数据的随机归类

4、数据管理的特点:

(1)数据库采用数据模型表示数据

  • 数据模型不仅描述数据本身的特征,还要描述数据之间的联系

在文件系统中,尽管每个文件内部是有结构的,但文件之间是没有联系的,数据文件只存储数据,比如有关联的学生、课程以及学生选课信息分别存储在不同的文件中,而若在数据库中,采用主流的关系数据模型来组织数据,在一个关系数据库中用三个关系表来描述学生、课程以及学生选课文件中的数据,通过定义三个关系表中数据之间的对应关系,来描述数据之间的联系,然后由数据库管理系统保证各关系表中相关数据的一致性共享数据不用存储等特性

(2)数据库中的数据面向整个应用领域 

  • 数据库采用数据模型将整个组织所涉及的相关数据集成在一个全局数据库中,被全组织不同的应用共享

例如:对于一个军事学院,有干部、教务、财务、营房等多个部门,可采用数据库存储各部门所涉及的教员、学员、营房、营具、教材、课程等数据以及数据之间的联系 ,各部门可根据业务需要,访问数据库中的局部数据,数据库中的某个数据可为各业务部门各类应用所使用

(3) 数据库中的数据由数据库管理系统(DBMS)统一管理和控制

数据库有了专门的管理软件即数据库管理系统,用户被进一步从繁杂的数据管理中解脱出来了。

数据库管理系统实现了应用程序中的数据与磁盘上的数据库中的数据之间的转换用户只需在应用程序中使用数据库查询语言即可访问数据库

数据库管理系统还实现了对数据的完整性、安全性控制

(4)数据库管理数据最主要的特点——数据具有独立性

由于采用数据模型来表示数据库中的数据,在由数据库管理员设计和定义数据库后,由数据库管理系统将数据的描述信息,也称之为元数据,存储在系统数据库即数据库字典中,各类应用可通过数据库管理系统从数据字典中得到数据库中数据的存储结构信息来存储数据库中的数据

数据的存储结构的修改,只需要通过数据库管理系统修改数据库的定义即可 ,而无需修改应用程序,实现了程序与数据的分离

因此,同人工管理数据和文件系统管理数据相比,数据库中的数据按照一定的数据模型组织、描述和存储,由数据库管理系统进行统一管理与控制

5、数据库管理数据的优点

(1)数据的共享性高

(2)数据独立性高

(3)对数据的控制能力强

二、数据库管理系统(DBMS)(对数据库进行管理和控制)

目前常用的DBMS有Oracle、SQL Server、MySQL

1、数据库管理系统的功能:

如果把图书馆的图书仓库看做是一个数据库的话,图书管理员所要完成的工作就类似于数据库管理系统需要做的事情,图书管理员要负责把图书进行分类、编码、上架,这就是数据的组织、描述和存储用户是无法直接存取图书的,必须由图书管理员才能更快地找到用户所需要的图书并提取出来,这就是数据的查询,有时可能会有多个人同时来借书,图书管理员为了提高效率一次拿几张借书单,把图书同时取出来。

为了保管好图书,还需要对仓库和进出仓库的人员进行管理,这就是数据的控制

为用户或应用程序提供访问数据库的方法,包括DB的建立、查询、更新及各种数据控制

(1)数据库的定义

  • DBMS提供数据定义语言(DDL)来对数据库中的数据对象进行定义,指定其结构和约束

(2)数据操纵

  • DBMS提供数据操纵语言(Data manipulation Language,DML)来实现对数据库的基本操作,包括查询数据库以获得所需数据更新数据库以反映现实世界的变化等 

(3)数据大的组织存储和管理

  •  分类组织、存储和管理各种数据,包括数据字典(存放数据库的额定义、数据库运行时的统计信息等)、用户数据数据的存取存取路径
  • 确定以何种文件结构和存取方式在磁盘上组织这些数据 
  •  实现数据之间的联系

(4)数据库的事务管理和运行管理(控制功能)

  • 对数据库的建立、运用和维护等进行统一管理、统一控制,保证数据的安全性、完整性、多用户的并发操作和发生故障后的系统恢复 

在数据库管理系统中包含有实现这些功能的子系统。

安全性控制是防止未经授权的用户存取数据库中的数据,以免数据的泄露、更改和破坏 

完整性控制是保证数据库中的数据及语义的正确性和有效性,防止造成数据错误

并发控制是防止多个用户同时对同一个数据进行操作产生错误 

恢复功能是保证数据库在被破坏或数据不正确时,系统有能力把数据库恢复到正确的状态

(5)数据库的维护

数据库管理系统带有一些实用的程序或管理工具实现对数据库的维护 

  • 数据库数据的载入、转换功能
  • 数据库大的转储、恢复功能
  • 数据库的重组和性能监视、分析功能 

数据库管理系统还提供一些其它功能,如DBMS与网络中其它软件系统的通信功能与其它软件的接口不同DBMS间数据的转换异构数据库之间的互操作等 

由此可见,DBMS是一个大型复杂的软件系统

三、数据库系统(DBS)

定义:计算机系统中引入数据库的系统就是数据库系统

采用数据库技术存储、维护数据,向应用系统提供数据支持

各类管理信息系统(MIS)、办公信息系统(OIS)、地理信息系统(GIS)、Web应用系统等大多都是数据库应用系统

从图中可看出数据库管理系统DBMS是位于用户与操作系统之间的一层数据管理软件,数据库管理系统要在操作系统的支持下才能工作,目前常用的操作系统有Windows和linux。

硬件资源要有足够大的内存来存放操作系统、数据库管理系统的核心模块和应用程序等,还要有足够大的磁盘等外部存储设备来存放数据库

支撑软件中除了操作系统和DBMS外,还包括具有与DBMS接口的高级语言及其编译系统,以及以DBMS为核心的应用开发工具便于开发应用程序

因此,数据库系统一般由数据库、操作系统、数据库管理系统及其应用开发工具、应用系统等构成

一个数据库系统光靠数据库管理系统来进行管理是远远不够的,还需要专门的人员来管理

四、数据库管理员(DBA)

数据库管理员就是全面负责管理和控制数据库的人员 

  • 确定数据库中的信息内容和逻辑结构
  • 确定数据库的存储结构和存取策略
  • 定义数据的安全性和完整性约束条件
  • 监控数据库的使用和运行
  • 数据库的改进和重组重构

因此,数据库管理员可担当数据库设计人员,直接使用数据库定义语言(DDL)定义数据库模式,还可以使用DBMS提供的一些特权命令来创建账户、设置系统参数、授予账户权限、修改模式以及重组数据库存储结构等 

开发、管理和使用数据库系统的人员除了数据库管理员外,还有专业用户应用程序员终端用户等 。专业用户,比如系统分析员和数据库设计人员,他们可使用数据库操纵语言(DML)直接操纵数据,实现满足其需求的复杂的查询;应用程序员负责设计和使用宿主语言和数据库模式语言编写满足需求的应用模块,并进行应用程序调试和安装、编写文档并维护程序;终端用户是通过应用系统的用户接口使用数据库的普通用户,例如银行的出纳员、车站的售票员、旅馆的前台服务员,目前大量通过手机APP进行各类应用的手机用户等,占数据库系统用户的绝大多数,终端用户主要操纵基于表单的或者基于菜单的等图形用户界面(GUI)提供的固化事务不断的查询和更新数据库

DBMS的查询处理器模块中的谁定义语言(DDL)编译器、数据操纵语言(DML)编译器、执行引擎等,负责接受各类用户提交给DBMS的操作并执行

五、小结

1、数据库是一种数据管理方式,也是研究如何在计算机中管理数据的计算机应用技术

2、数据库系统是采用数据库技术在计算机中长期存储大量的相关数据由DBMS在数据库建立、运用和维护时对数据库进行统一控制使得数据库能为多用户共享,并向应用系统提供数据支持的计算机硬件、软件和数据资源组成的系统。

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

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

相关文章

ClickHouse备份方案

ClickHouse备份方案主要包括以下几种方法: 一、使用clickhouse-backup工具: (参考地址:https://blog.csdn.net/qq_43510111/article/details/136570850) **安装与配置:**首先从GitHub获取clickhouse-bac…

利用MSSQL模拟提权

点击星标,即时接收最新推文 本文选自《内网安全攻防:红队之路》 扫描二维码五折购书 利用MSSQL模拟提权 在MS SQL数据库,可以使用EXECUTE AS语句,以其他用户的上下文执行SQL查询。需要注意的是只有明确授予模拟(Impers…

38.MessageToMessageCodec线程安全可被共享Handler

handler被注解@Sharable修饰的。 这样的handler,创建一个实例就够了。例如: ByteToMessageCodec的子类不能被@Sharable修饰 如果自定义类是MessageToMessageCodec的子类就是线程共享的,可以被@Sharable修饰的 package com.xkj.protocol;import com.xkj.message.Message; i…

Go日常分享 - error类型是指针类型吗?

背景 这个问题的产生来源于小泉在开发rpc接口时返回error遇到的问题,开发时想在defer里对err进行最终的统一处理赋值,发现外层接收一直都未生效。问题可以简化为成下面的小demo。 func returnError() error {var err errordefer func() {//err errors…

在 Oracle Linux 8.9 上安装中文和日文字体的完整指南

在 Oracle Linux 8.9 上安装中文和日文字体的完整指南 在 Oracle Linux 8.9 上安装中文和日文字体的完整指南前提条件安装步骤1. 更新系统2. 安装字体包安装中文字体安装日文字体 3. 安装字体配置工具4. 更新字体缓存5. 验证安装 可能遇到的问题及解决方案结语 在 Oracle Linux…

(一)SvelteKit教程:hello world

(一)SvelteKit教程:hello world sveltekit 的官方教程,在这里:Creating a project • Docs • SvelteKitCreating a project • Docs • SvelteKit 我们可以按照如下的步骤来创建一个项目: npm create s…

CentOs7 安装单机版redis

1.安装依赖 redis是由C语言开发,因此安装之前必须要确保服务器已经安装了gcc,可以通过如下命令查看机器是否安装: gcc -v如果没有安装则通过以下命令安装: yum install -y gcc如果安装gcc依赖报错则执行yum升级命令 # 先执行升…

NSIS 入门教程 (三)

引言 在教程的第二部分中,我们为安装程序增加了一个卸载程序,并查看了一些其他的向导页面以及安装部分的选择。第三部分的目标是使安装程序的外观更加现代化。 更现代的外观 为了给安装程序一个更现代的外观,我们要启用现代用户界面。要提…

Shell编辑之条件语句

一,条件测试操作 1:文件测试 文件测试操作用来检查文件的各种属性,如文件是否存在、是否可读、是否为空等。常用的文件测试操作符包括: -e 文件存在性测试-f 是否为普通文件-d 是否为目录-r 是否可读-w 是否可写-x 是否可执行-s…

学懂C#编程:常用高级技术——委托(Delegate)的概念及详细使用讲解

目录 委托的概念 常用应用场景 优势 C#中的委托(Delegate)是一种引用类型,它允许你封装一个方法的引用。委托类似于函数指针,但提供了更强大和类型安全的功能。委托在C#中扮演着多重角色,常用于实现回调方法、事件…

【栈和队列】

目录 1,栈(Stack) 1.1 概念 1.2 栈的使用 1.3 栈的模拟实现 1.4 栈的应用场景 1.5 概念区分 1.6 使用链表来实现栈 2, 队列(Queue) 2.1 概念 2.2 队列的使用 2.3 队列模拟实现 3,双端队列 (Deque) 4&…

【计算机组成原理】部分题目汇总

计算机组成原理 部分题目汇总 一. 简答题 RISC和CICS 简要说明,比较异同 RISC(精简指令集)注重简单快速的指令执行,使用少量通用寄存器,固定长度指令,优化硬件性能,依赖软件(如编译…

递归调用,将源路径下所有文件文件夹复制到目标路径中.

其实代码demo很简洁&#xff0c;只是逻辑有点绕&#xff0c;主要是要一层一层调用自己&#xff0c;要清楚当前是第几层调用&#xff0c;及递归调用时进的点和出的点在哪儿&#xff0c;一切就清晰明了了。 /// <summary>/// 删除指定目录下面的所有文件和文件夹/// </s…

C++学习合集

#整理到一块&#xff0c;方便查东西&#xff0c;顺便补充一些之前没有学习到的东西# 变量 char--1字节 short--2字节 int-4字节 long--4字节 long long(int)--8字节&#xff1b;准确来说变量的大小取决于编译器&#xff0c;1字节8个二进制位&#xff0c;其中最高位为符号位…

关于Mysql 的on duplicate key update操作,导致主键不连续自增的问题

一 相关说明 在实际的开发中,经常会遇到这样的场景:若数据库里面不存在数据,则插入;若存在,则更新。在Mysql中,可以使用ON DUPLICATE KEY UPDATE,一步就能完成上述操作。简单说,就是数据库中存在某个记录时,执行这个语句会更新,而不存在这条记录时,就会插入。 需要说…

CesiumJS【Basic】- #009 切换地形数据源

文章目录 切换地形数据源1 目标2 实现切换地形数据源 1 目标 切换地形数据源 2 实现 这段代码定义了一个名为 toggleTerrainProvider 的方法,用于在 CesiumJS 中切换地形数据源。如果当前的地形数据源是 EllipsoidTerrainProvider(一个简单的椭球体地形),则将其切换为 …

黑龙江等保测评

黑龙江等保测评概述 黑龙江等保测评是指根据《中华人民共和国网络安全法》及《信息安全等级保护管理办法》等相关法律法规&#xff0c;对信息系统安全保护能力进行评估和验证的过程。它旨在确保重要信息系统能够达到相应的安全保护级别&#xff0c;有效防范各种安全威胁&#…

基于Java的火车订票管理系统【附源码】

火车订票管理登录 摘要&#xff1a;随着我国铁路交通的不断发展&#xff0c;简单的窗口售票模式已经不能满足方便人们出行的目的。采用先进的网络技术开发出方便快捷的火车票订票系统是现代客运业务发展的必然需求。本次设计的火车票订票系统通过访问主页&#xff0c;可以实现…

【JavaScript脚本宇宙】提升用户体验:比较六种领先的图像灯箱库及其独特功能

为您的网站选择完美的图像灯箱&#xff1a;六种流行选项的全面比较 前言 图像灯箱库在网页设计中起着至关重要的作用&#xff0c;它们提供了一种优雅的方式来展示图片、视频和其他多媒体内容。本文将比较六种常见的图像灯箱库&#xff1a;Lightbox2、Fancybox、Magnific Popu…

算法训练与程序竞赛题目集合(L4)

目录 L4-103 就不告诉你 输入格式&#xff1a; 输出格式&#xff1a; 输入样例&#xff1a; 输出样例&#xff1a; L4-104 Wifi密码 输入格式&#xff1a; 输出格式&#xff1a; 输入样例&#xff1a; 输出样例&#xff1a; L4-105 冠军魔术 输入格式&#xff1a; …