数据库系统架构与DBMS功能探微:现代信息时代数据管理的关键
✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。
我是Srlua,在这里我会分享我的知识和经验。🎥
希望在这里,我们能一起探索IT世界的奥妙,提升我们的技能。🔮
记得先点赞👍后阅读哦~ 👏👏
📘📚 所属专栏:数据库
欢迎访问我的主页:Srlua 获取更多信息和资源。✨✨🌙🌙
目录
数据库系统概述
数据库系统
数据库系统一般包含 4 个部分
1.数据库
2.数据库管理系统(DBMS)
3.应用程序
4.系统用户
数据库系统各部分之间的关系:
数据库系统特点
数据结构化
整体数据结构化
数据库中实现的是数据的真正结构化
数据的共享性高,几余度低,易扩充
数据共享的好处
数据独立性高
物理独立性
逻辑独立性
数据由 DBMS 统一管理和控制
DBMS 提供的数据控制功能
数据库系统的模式结构
三级模式结构
1.内模式
2.概念模式
3.外模式
总结
数据库管理系统(DBMS)DBMS 的功能主要包括以下几个方面:
1.数据库定义功能
2.数据操纵功能
3.数据库运行管理功能(DCL)
4.数据库的建立和维护功能
数据库(DB)、数据库系统(DBS)数据库管理系统(DBMS)三者之间的关系
数据库系统概述
数据库系统
数据库系统是以数据库技术为核心的计算机应用系统,其主要目的是处理生产和实践过程中产生的数据和信息,实现生产过程管理的自动化和信息化,提高信息管理效率。
数据库系统一般包含 4 个部分
1.数据库
定义:是数据库系统存放结构化数据的地方,是长期存储的、有组织的、可共享的数据的集合。
- 数据最终是以文件的形式存储在磁盘上,只有数据库管理系统才能对这些文件进行存取操作。
- 每一个数据库都至少有一个这样文件,称为数据文件。
- SQL Server 数据库的数据文件以.mdf或.ndf为扩展名。
2.数据库管理系统(DBMS)
定义:DBMS 是数据库的管理软件,是应用程序和数据库之间桥梁,即应用程序必须通过 DBMS 才能存取数据库中的数据。
- DBMS 对数据的存取操作最终体现为对数据文件的更新和修改但应用程序不能直接执行这种更新和修改操作。
- SQL Server 2008 就是 SQL Server 数据库系统的一种 DBMS。
3.应用程序
定义:是指通过访问数据库来完成用户操作的程序。
- 它介于系统用户和 DBMS 之间,用户通过操作应用程序来获取他们的需求,而应用程序则通过 DBMS 访问数据库来实现用户提出的需求。
- 应用程序可以用Java、JSP、.NET 等技术开发。
4.系统用户
定义:是大致分为两类——系统用户和系统管理员,系统用户是指应用程序的用户,他们是整个数据库系统的最终使用者;
系统管理员可以分为不同级别类型的管理人员,他们主要负责数据库的管理和维护工作。
数据库系统各部分之间的关系:
数据库系统特点
-
数据结构化
整体数据的结构化是数据库的主要特征之一,是数据库系统与文件系统的本质区别。
整体数据结构化
不再仅仅针对某一个应用,而是面向全组织。
不仅数据内部结构化,整体是结构化的,数据之间具有联系。
数据库中实现的是数据的真正结构化
数据的结构用数据模型描述,无需程序定义和解释。
数据可以变长。
数据的最小存取单位是数据项。
-
数据的共享性高,几余度低,易扩充
数据库系统从整体角度看待和描述数据,数据面向整个系统可以被多个用户、多个应用共享使用。
数据共享的好处
- 减少数据冗余,节约存储空间
- 避免数据之间的不相容性与不一致性
- 使系统易于扩充
-
数据独立性高
物理独立性
指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。
逻辑独立性
指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。
数据独立性通过 DBMS 二级映像功能保证
-
数据由 DBMS 统一管理和控制
数据库的共享是并发的(Concurrency)共享,即多个用户可以同时存取数据库中的数据甚至可以同时存取数据库中同一个数据
DBMS 提供的数据控制功能
(1)数据的安全性(Security)保护
指保护数据,以防止不合法的使用造成的数据的泄密和破坏。使每个用户只能按规定,对某些数据以某些方式进行使用和处理
(2)数据的完整性(Integrity)检查
将数据控制在有效的范围内,或保证数据之间满足一定的关系。
(3)并发(Concurrency)控制
对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。
(4)数据库恢复(Recovery)
将数据库从错误状态恢复到某一已知的正确状态。
数据库系统的模式结构
现在数据库系统软件产品非常多,它们可能基于不同的操作系统支持不同的数据库语言,采用不同的数据结构,等等。但是它们的体系结构却基本相同,那就是三级模式结构。
三级模式结构
是由美国国家标准学会(American NationalstandardsInstitute, ANSI)所属的标准计划和要求委员会(Standards Planning And Reguirements committeeSPARC )于1975 年提出的,称为SPARC分级结构。
三级模式结构将数据库系统抽象为三个层次,分别为内模式、概念模式和外模式。各模式的关系。
数据库系统的 SPARC分级结构
三级模式结构将数据库系统抽象为三个层次,分别为内模式概念模式和外模式。
1.内模式
定义:又称存储模式,它是数据在数据库系统中最底层的表示,描述了数据的物理结构和存储方式,即定义了存储记录的类型、存贮域的表示、存储记录的物理顺序、索引等。
一个数据库仅有一个内模式
2.概念模式
定义:又称逻辑模式,简称模式,它用于对整个数据库中数据的逻辑结构和特征、实体及其性质与联系进行描述。但这种描述并不涉及具体的物理存储方式和硬件环境,也不涉及任何特定的应用程序及其开发工具。
一个数据库也只有一个概念模式。
3.外模式
定义:外模式是概念模式的一个子集,这个子集是为一个特定用户所使用的。从这个角度看,外模式是面向用户的,所以外模式又称子模式或用户模式。本质上,外模式是应用程序所使用的局部数据的逻辑结构和特征的描述,是使用该应用程序的用户所看到的数据视图,即用户视图。
不同的人员涉及不同的数据抽象级别,具有不同的数据视图,如下图所示
总结
以上三个模式分别从三个不同层次的级别对数据库进行抽象,即分别抽象为用户级、概念级、物理级数据库。
用户级数据库对应于外模式,是从用户的角度对数据库进行抽象是用户看到和使用的用户视图的集合。
物理级数据库对应于内模式,是从数据的物理存储结构的角度对数据库进行抽象。
概念级数据库对应于概念模式,介于用户级和物理级之间,是程序开发人员看到和使用的数据库。
总之,外模式是概念模式的子集,概念模式是内模式的逻辑表示而内模式则是概念模式的物理表示。
DBMS 在外模式和概念模式之间提供外模式/概念模式映像功能,在概念模式和内模式之间提供概念模式/内模式映像功能。前者保证了数据的逻辑独立性,后者则保证了数据的物理独立性。
数据库管理系统(DBMS)DBMS 的功能主要包括以下几个方面:
1.数据库定义功能
- DBMS一般都提供数据定义语言(Data Definition Language,DDL),可以分别用于定义外模式、概念模式和内模式。用DDL编写的外模式、概念模式和内模式分别称为源外模式、源概念模式和源内模式它们经过模式翻译程序翻译后将形成相应的内部表示,分别称为目标外模式、目标概念模式和目标内模式。
- 这些目标模式被保存在数据字典中(又称系统目录),它们是用于刻画数据库的框架结构,是对数据库(而不是数据)的一种描述,也是DBMS 存取和管理数据的基本依据。
2.数据操纵功能
- DBMS 还提供数据操作语言(Data Manipulation LanguageDML),用于实现对数据库的查询、添加、修改和删除等基本操作。
- DML分为宿主型的和自主型的(或自含型的)DML。
- 宿主型的 DML用于嵌入到其他语言(称为主语言)当中,例如把它嵌入到 PASCAL、FORTRAN,C等高级语言中。这类DML语言本身不能独立使用,这也就是它之所以称为宿主型 DML的原因。
- 自主型的(或自含型)DML则是交互式命令语言,其语法简单,每条语句都可以独立执行。
- 如今, DBMS一般既提供宿主型的 DML也提供自主型的 DML,或者提供集宿主型和自主型于一体的 DML,其典型的代表就是著名的 SQL(Structured QueryLanguage)。SQL语句既可以嵌入到其他的高级语言,也可以单独交互执行。
- 用户或者应用程序对数据库的操作实际上是通过DBMS 控制并执行 DML语句来实现的。
- 自主型的 DML是交互式命令语言,DBMS通常以解释执行的方式运行它们。
- 对于宿主型的 DML,DBMS 提供两种执行方法:
- 预编译方法。这种方法的原理是,由DBMS 提供的预编译程序对包含 DML的主语言进行扫描,识别出DML,然后把这些 DML转换成合法的主语言代码,以便主语言的编译程序能够接受和执行它们。
- 修改、扩充主语言编译程序的方法。这种方法又称为增强编译方法,增强后的编译程序既可以编译主语言代码,也可以编译和执行嵌入的 DML语句。
3.数据库运行管理功能(DCL)
数据库运行管理是 DBMS 提供的重要功能之一,它是数据系统能够正确、有效运行的基本保证。这种管理功能主要包括存取控制、安全性检测、并发控制、完整性约束条件的检查和执行、数据库内部的维护和管理等。
4.数据库的建立和维护功能
这包括数据库初试数据的装载和转换、数据库的转储和恢复、数据库的重组织功能和性能监视、分析功能等。这些功能主要是由 DBMS 提供的实用程序来完成。
数据库(DB)、数据库系统(DBS)数据库管理系统(DBMS)三者之间的关系
DB是数据存储的地方,DBMS是管理数据的软件,而DBS是使用DBMS来操作DB的整体系统(环境)。这三者相互关联,共同构成了一个组织、存储、管理数据的体系。
希望对你有帮助!加油!
若您认为本文内容有益,请不吝赐予赞同并订阅,以便持续接收有价值的信息。衷心感谢您的关注和支持!
相关文章:

数据库系统架构与DBMS功能探微:现代信息时代数据管理的关键
✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua,在这里我会分享我的知识和经验。&#x…...

51单片机-(中断系统)
51单片机-(中断系统) 了解51单片机中断系统、中断源、中断响应条件和优先级等,通过外部中断0实现按键控制LED亮灭为例理解中断工作原理和编程实现过程。 1.中断系统结构 89C51/52的中断系统有5个中断源 ,2个优先级,…...

c++之旅——第三弹
大家好啊,这里是c之旅第三弹,跟随我的步伐来开始这一篇的学习吧! 如果有知识性错误,欢迎各位指正!!一起加油!! 创作不易,希望大家多多支持哦! 一.命名空间;…...

GO—函数
Go 语言支持普通函数、匿名函数和闭包,从设计上对函数进行了优化和改进,让函数使用起来更加方便。 Go 语言的函数属于“一等公民”(first-class),也就是说: 函数本身可以作为值进行传递。支持匿名函数和闭…...

[WebUI Forge]ForgeUI的安装与使用 | 相比较于Auto1111 webui 6G显存速度提升60-75%
ForgeUI的github主页地址:https://github.com/lllyasviel/stable-diffusion-webui-forge Stable Diffusion WebUI Forge 是一个基于Stable Diffusion WebUI(基于Gradio)的平台,可简化开发、优化资源管理并加快推理速度。 “Forge”这个名字的灵感来自于“Minecraft Forge”…...

高刷显示器 - HKC VG253KM
🔥🔥 今天来给大家揭秘一款电竞神器 - HKC VG253KM 高刷电竞显示器!这款显示器可是有着雄鹰展翅般的设计灵感,背后的大鹏展翅鹰翼图腾让人过目难忘。那么,这款显示器到底有哪些过人之处呢?一起来看看吧&…...

javascript实现的星座查询
今天在这个网站http://xzxys.wiicha.com/看到查询星座幸运色的效果,想研究一下代码,结果右键禁用。后来参考了一下别人的代码,琢磨着先实现了一下星座查询的功能,输入月份和日期四位数后,可以查询属于哪个星座…...

全国青少年软件编程(Python)等级考试试卷(一级) 测试卷2021年12月
第 1 题 【 单选题 】 下面程序的运行结果是什么?( ) a10 b5 ca*b print(c) A :10 B :15 C :50 D :5 正确答案:C 试题解析: 第 2 题 【 单选题 】 与a>b and b>c等价的是?( ) A…...

昇腾ACL应用开发之硬件编解码dvpp
1.前言 在我们进行实际的应用开发时,都会随着对一款产品或者AI芯片的了解加深,大家都会想到有什么可以加速预处理啊或者后处理的手段?常见的不同厂家对于应用开发的时候,都会提供一个硬件解码和硬件编码的能力,这也是抛…...
MFC 模态对话框退出机制的探究
一位读者问了这样一个问题: ” 如果我创建了一个可见的模态对话框,却对用户来说不可用。举个例子,假设我在程序中的其他位置收到一个事件,并且我从事件中调用模态 CDialog 上的 DestroyWindow。我注意到 OnDestroy 是在 CDialog 上调用的,但在将 WM_QUIT 消息发送到模态对…...
Android13 framework添加关机接口
framework层修改: t0_sys/frameworks/base/core/api/current.txt method RequiresPermission(android.Manifest.permission.REBOOT) public void reboot(Nullable String);method public void rebootp();t0_sys/frameworks/base/core/java/android/os/IPowerManager…...

如何使用ArcGIS Pro为栅格图添加坐标信息
在某些时候,我们从网上获取的资源是一张普通的栅格图,没有任何的坐标信息,如果想要和带坐标信息的数据一起使用就需要先添加坐标信息,在GIS上,我们把这个过程叫做地理配准,这里为大家介绍一下地理配准的方法…...
FDM打印机学习
以下内容摘自网络,仅供学习讨论,侵删。 持续更新。。。 FDM打印机是通过喷头融化丝状耗材(PLA,ABS等材料),然后逐层涂在热床上,一层一层逐级抬高。 结构分类 Prusa i3型是一种龙门结构&#…...

C++进阶-- map和set
关联式容器 在前面,我们所学的vector、list、deque,这些都是序列容器,也就是底层为线性序列的数据结构。 而关联式容器是C标准库中的一种类别,用于存储键值对(key-value pair),关联式容器中的元…...

AI-数学-高中-33概率-事件的关系与运算
原作者视频:【概率】【一数辞典】2事件的关系与运算_哔哩哔哩_bilibili 事件: 和/并事件;积/交事件;互诉事件;对立(补集)事件;...
数据结构:链队
一、定义两个结构体 定义两个结构体,一个结构体是结点的结构体,一个结构体是保留指向对头结点和队尾结点指针的结构体 #ifndef __LINK_QUEUE_H__ #define __LINK_QUEUE_H__ #include <stdio.h> #include <stdlib.h>typedef struct link_node{int data…...

十四、计算机视觉-形态学梯度
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、梯度的概念二、梯度的应用三、梯度如何实现 一、梯度的概念 形态学梯度(Morphological Gradient)是数字图像处理中的一种基本操作&…...
3月03日,每日信息差
🎖 素材来源官方媒体/网络新闻 🎄 国产商用飞机C919及ARJ21首次飞抵老挝 🌍 北京将打造新一批智能工厂 🌋 阿里云将于3月29日停止商标代理服务 🎁 起亚在美因远光灯故障召回3.5万辆Telluride汽车 ✨ 天涯社区拟5月1日前…...
leetcode 简单
1. 两数之和 两数之和 方法1:暴力枚举 两次for 循环,记录索引和值,找到合适的值然后返回 方法2:使用哈希表 第一次for循环的时候,就可以使用哈希表记录key的value,可以实现时间复杂度是1,要分…...
服务器硬件基础知识全解析
在信息技术日新月异的今天,服务器作为数据处理和存储的核心,其重要性不言而喻。了解服务器硬件基础知识,对于IT从业者以及广大技术爱好者来说,都是不可或缺的技能。本文将详细解析服务器硬件的基础知识,帮助读者建立起…...

Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版分享
平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...

微服务商城-商品微服务
数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...

前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...

在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...

基于PHP的连锁酒店管理系统
有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...