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

一、数据库(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在数据库建立、运用和维护时对数据库进行统一控制使得数据库能为多用户共享,并向应用系统提供数据支持的计算机硬件、软件和数据资源组成的系统。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

PriorityQueue详解(含动画演示)

目录 PriorityQueue详解1、PriorityQueue简介2、PriorityQueue继承体系3、PriorityQueue数据结构PriorityQueue类属性注释完全二叉树、大顶堆、小顶堆的概念☆PriorityQueue是如何利用数组存储小顶堆的?☆利用数组存储完全二叉树的好处? 4、PriorityQueu…

酒店宾馆民宿预订管理系统(ThinkPHP+uniapp+uView)

便捷高效,轻松管理你的住宿预订🏨 基于ThinkPHPuniappuView开发的多门店民宿酒店预订管理系统,快速部署属于自己民宿酒店的预订小程序,包含预订、退房、WIFI连接、吐槽、周边信息等功能。​​ 一、引言:为何需要民宿…

Spring Boot+vue社区养老系统(智慧养老平台)

使用技术: springbootvueMySQL 主要功能: 管理员 登录个人资料密码管理, 用户管理:床位类型管理,床位管理,护工管理,老人管理 咨询登记管理,预约登记管理,老人健康信 息管理,费用管理等功能.护工角色包含以下功能: 护工登录,个…

使用 GCD 实现属性的多读单写

使用 Grand Central Dispatch (GCD) 实现多读单写的属性 首先需要确保在多线程环境下的线程安全性。可以使用 GCD 提供的读写锁机制 dispatch_rwlock_t 或者 dispatch_queue_t 来实现这个功能。 Swift版本的实现 怎样创建一个并发队列 ?// 使用 Swift 来实现的首…

UE5 中的碰撞问题

文章目录 一、初始准备二、重叠和碰撞三、自定义碰撞 一、初始准备 首先我们创建一个 BP_ThirdPerson 项目,然后在项目中创建两个 Actor 的蓝图 Blueprint 首先是一个移动的 BP_Push,这里使用 time line 循环旋转 cube 的相对位置 得到效果如下 然后是…

css如何动态累计数字?

导读:css如何动态累计数字?用于章节目录的序列数生成,用css的计数器实现起来比 js方式更简单! 伪元素 ::after ::before伪元素设置content 可以在元素的首部和尾部添加内容,我们要在元素的首部添加序列号&#xff0c…

关于read,write,open时出现的文本文件和二进制文件读写的问题(怎么写入怎么读)

1、发现问题 使用read读取文本文件,一般采用字符空间作为缓存,最后输出; 使用read读取二进制文件,这里采用整数读取的展示: 首先创建文本文件,用write写入i的值到文件中; 再通过lseek改变读写一…

Day9 —— 大数据技术之ZooKeeper

ZooKeeper快速入门系列 ZooKeeper的概述什么是ZooKeeper?ZooKeeper的特点和功能使用ZooKeeper的原因 ZooKeeper数据模型ZooKeeper安装ZooKeeper配置ZooKeeper命令行操作常见服务端命令 ZooKeeper的概述 什么是ZooKeeper? ZooKeeper是一个开源的分布式协…

FFmpeg编译4

CPUx86-64 TOOLCHAIN N D K / t o o l c h a i n s / x 8 6 6 4 − 4.9 / p r e b u i l t / l i n u x − x 8 6 6 4 S Y S R O O T NDK/toolchains/x86_64-4.9/prebuilt/linux-x86_64 SYSROOT NDK/toolchains/x866​4−4.9/prebuilt/linux−x866​4SYSROOTNDK/platforms/and…

PBR网络数据流量分流+NQA联动静态路由

一、实验目的: 企业有两个网段,业务1网段和业务2网段,拓扑图如下, 二、实验要求 pc1报文走左侧链路到达ar1,pc2报文走右侧链路到达ar1,且当ar2或者ar3发生故障时候,可以通过另一个设备到达ar1…

HCIA 19 结束 企业总部-分支综合实验(下)

3.6出口NAT配置可以访问互联网 配置NAT使内网可以访问公网8.8.8.8,当前总部PC1 PING不通公网地址8.8.8.8。 3.6.1总部配置NAT访问互联网 步骤1:配置NAT acl number 2000 rule 5 permit source 192.168.0.0 0.0.255.255 # interface GigabitEthern…

头条系统-05-延迟队列精准发布文章-概述添加任务(db和redis实现延迟任务)、取消拉取任务定时刷新(redis管道、分布式锁setNx)

文章目录 延迟任务精准发布文章1)文章定时发布2)延迟任务概述2.1)什么是延迟任务2.2)技术对比2.2.1)DelayQueue2.2.2)RabbitMQ实现延迟任务2.2.3)redis实现 3)redis实现延迟任务4)延迟任务服务实现4.1)搭建heima-leadnews-schedule模块4.2)数据库准备4.3)安装redis4.4)项目集成…

常用加密算法之 RSA 简介及应用

引言 相关博文: Spring Boot 开发 – 常用加密算法简介(一)常用加密算法之 SM4 简介及应用 一、RSA算法简介 RSA (Rivest-Shamir-Adleman) 算法是一种非对称加密技术,由Ron Rivest、Adi Shamir和Leonar…

基于动力学的六自由度机器人阻抗恒力跟踪控制

1.整个代码的控制流程图如下: 2.正逆运动学计算 略 3.动力学模型 采用拉格朗日法计算机械臂的动力学模型,其输入的是机械臂的关节角度、角速度和角加速度;其中M、C、G本别是计算的惯性力、科式力和重力项,相关部分如下&#xf…

【fastapi+mongodb】使用motor操作mongodb(三)

本篇文章介绍mongodb的删和改,下面是前两篇文章的链接: 【fastapimongodb】使用motor操作mongodb 【fastapimongodb】使用motor操作mongodb(二) delete delete 的用法基本和查找一致,包括delete_one(删除…

某大厂程序员吐槽:离职交接时,新人被工作量吓退,领导却污蔑我故意劝退新人,我怒晒工作短信反击证明,新人看了后也决定走人了!

一位知名大公司的程序员分享了他离职时的遭遇:在交接工作时,新进的同事因工作量过大而感到压力,但出乎意料的是,他们的领导却指责我故意吓唬新人。为了证明自己的清白,我晒出了工作短信作为反击,结果连新人…

Vue71-嵌套(多级)路由

一、需求 二、开发步骤 2-1、编写路由组件 2-2、编写路由规则 2-3、编写路由标签<router-link>、<router-view> 三、小结

网络编程之XDP、TC和IO_URING以及DPDK

一、网络编程常见的技术 在前面已经分析过了XDP、TC和eBPF。也基本把三者间的关系理清了&#xff0c;但现在又有一个疑惑涌了上来。在前面提到过的IO_URING和DPDK与这些技术有什么关系呢&#xff1f;其实只要认真的看过分析文章可能大家心里都已经基本清楚了。 正如在前面不断…

利用golang_Consul代码实现Prometheus监控目标的注册以及动态发现与配置

文章目录 前言一、prometheus发现方式二、监控指标注册架构图三、部分代码展示1.核心思想2.代码目录3、程序入口函数剖析4、settings配置文件5、初始化配置文件及consul6、全局变量7、配置config8、公共方法目录common9、工具目录tools10、service层展示11、命令行参数12、Make…

双指针算法——部分OJ题详解

目录 关于双指针算法&#xff1a; 1&#xff0c;对撞指针 2&#xff0c;快慢指针 部分OJ题详解 283.移动零 1089.复写零 202.快乐数 11.盛水最多的容器 611.有效三角形的个数 剑指offer 57.和为s的两个数字 15.三数之和 18.四数之和 关于双指针算法&#xff1a; …