数据库系统架构与DBMS功能探微:现代信息时代数据管理的关键

news2024/11/14 23:26:09

 
✨✨ 欢迎大家来访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.系统用户

定义:是大致分为两类——系统用户和系统管理员,系统用户是指应用程序的用户,他们是整个数据库系统的最终使用者;

系统管理员可以分为不同级别类型的管理人员,他们主要负责数据库的管理和维护工作。

数据库系统各部分之间的关系:

数据库系统特点

  • 数据结构化

整体数据的结构化是数据库的主要特征之一,是数据库系统与文件系统的本质区别。

整体数据结构化

不再仅仅针对某一个应用,而是面向全组织

不仅数据内部结构化,整体是结构化的,数据之间具有联系。

数据库中实现的是数据的真正结构化

数据的结构用数据模型描述,无需程序定义和解释。

数据可以变长

数据的最小存取单位是数据项。

  • 数据的共享性高,几余度低,易扩充

数据库系统从整体角度看待和描述数据,数据面向整个系统可以被多个用户、多个应用共享使用。

数据共享的好处
  1. 减少数据冗余,节约存储空间
  2. 避免数据之间的不相容性与不一致性
  3. 使系统易于扩充
  • 数据独立性高

物理独立性

指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。

逻辑独立性

指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。

数据独立性通过 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。
  1. 宿主型的 DML用于嵌入到其他语言(称为主语言)当中,例如把它嵌入到 PASCAL、FORTRAN,C等高级语言中。这类DML语言本身不能独立使用,这也就是它之所以称为宿主型 DML的原因。
  2. 自主型的(或自含型)DML则是交互式命令语言,其语法简单,每条语句都可以独立执行。
  3. 如今, DBMS一般既提供宿主型的 DML也提供自主型的 DML,或者提供集宿主型和自主型于一体的 DML,其典型的代表就是著名的 SQL(Structured QueryLanguage)。SQL语句既可以嵌入到其他的高级语言,也可以单独交互执行。
  • 用户或者应用程序对数据库的操作实际上是通过DBMS 控制并执行 DML语句来实现的。
  • 自主型的 DML是交互式命令语言,DBMS通常以解释执行的方式运行它们。
  • 对于宿主型的 DML,DBMS 提供两种执行方法:
  1. 预编译方法。这种方法的原理是,由DBMS 提供的预编译程序对包含 DML的主语言进行扫描,识别出DML,然后把这些 DML转换成合法的主语言代码,以便主语言的编译程序能够接受和执行它们。
  2. 修改、扩充主语言编译程序的方法。这种方法又称为增强编译方法,增强后的编译程序既可以编译主语言代码,也可以编译和执行嵌入的 DML语句。

3.数据库运行管理功能(DCL)

数据库运行管理是 DBMS 提供的重要功能之一,它是数据系统能够正确、有效运行的基本保证。这种管理功能主要包括存取控制、安全性检测、并发控制、完整性约束条件的检查和执行、数据库内部的维护和管理等。

4.数据库的建立和维护功能

这包括数据库初试数据的装载和转换、数据库的转储和恢复、数据库的重组织功能和性能监视、分析功能等。这些功能主要是由 DBMS 提供的实用程序来完成。

数据库(DB)、数据库系统(DBS)数据库管理系统(DBMS)三者之间的关系

        DB是数据存储的地方,DBMS是管理数据的软件,而DBS是使用DBMS来操作DB的整体系统(环境)。这三者相互关联,共同构成了一个组织、存储、管理数据的体系。

希望对你有帮助!加油!

若您认为本文内容有益,请不吝赐予赞同并订阅,以便持续接收有价值的信息。衷心感谢您的关注和支持!

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

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

相关文章

自动化测试介绍、selenium用法(自动化测试框架+爬虫可用)

文章目录 一、自动化测试1、什么是自动化测试?2、手工测试 vs 自动化测试3、自动化测试常见误区4、自动化测试的优劣5、自动化测试分层6、什么项目适合自动化测试 二、Selenuim1、小例子2、用法3、页面操作获取输入内容模拟点击清空文本元素拖拽frame切换窗口切换/标…

SpringCloud-Docker安装与详解

Docker 是一款强大的容器化平台,通过其轻量级的容器技术,使应用程序的开发、部署和管理变得更加便捷和高效。本文将深入探讨 Docker 的安装过程,并详细解析其基本概念、组件及常用命令,以帮助读者充分理解和熟练使用 Docker。企业…

基于springboot+vue的工厂车间管理系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

Spring Boot与Netty打造TCP服务端(解决粘包问题)

欢迎来到我的博客,代码的世界里,每一行都是一个故事 Spring Boot与Netty打造TCP服务端 前言功能目标项目实现maven坐标构建自定义HandlerChannelInitializer实现server实现 前言 在物联网时代,设备之间的通信变得愈发重要。本文将带你踏上一…

微信小程序云开发教程——墨刀原型工具入门(添加批注+其他操作)

引言 作为一个小白,小北要怎么在短时间内快速学会微信小程序原型设计? “时间紧,任务重”,这意味着学习时必须把握微信小程序原型设计中的重点、难点,而非面面俱到。 要在短时间内理解、掌握一个工具的使用&#xf…

程序员的金三银四求职宝典:如何在关键时期脱颖而出

程序员的金三银四求职宝典:如何在关键时期脱颖而出 程序员的金三银四求职宝典:如何在关键时期脱颖而出摘要 面试技巧分享 😊1. 自我介绍 Tips简洁明了 ✨重点突出 🔍结合实例 🌐 2. 技术问题回答 Tips冷静应对 &#x…

重学SpringBoot3-自动配置机制

重学SpringBoot3-自动配置机制 引言Spring Boot 自动配置原理示例:Spring Boot Web 自动配置深入理解总结相关阅读 引言 Spring Boot 的自动配置是其最强大的特性之一,它允许开发者通过最少的配置实现应用程序的快速开发和部署。这一切都得益于 Spring …

扑克牌翻牌记忆小游戏源码

源码由HTMLCSSJS组成,双击html文件可以本地运行效果,也可以上传到服务器里面 效果预览 下载地址 https://www.qqmu.com/2296.html

LeetCode每日一题之 移动0

前言: 我的每日一题专栏正式开始更新,我会分享关于我在LeetCode上刷题时的经验,将经典题型拿出来详细讲解,来提升自己及大家的算法能力,希望这篇博客对大家有帮助。 题目介绍: 题目链接:. - …

HTML5+CSS3+移动web——列表、表格、表单

系列文章 HTML5CSS3移动web——HTML 基础-CSDN博客https://blog.csdn.net/ymxk2876721452/article/details/136070953?spm1001.2014.3001.5501 目录 一、列表 无序列表 有序列表 定义列表 二、表格 表格结构标签 基本使用 合并单元格 三、表单 input 标签 input 标签占位文…

模版进阶C++

非类型模版 之前我们写的模版都是在不知道模版(类)中有的变量的类型是什么的时候,我们先用模版参数定义,当类实例化的时候在传参确认 非类型模版:模版参数定义的时候也可以定义整型类型(c20之后才支持其…

Topaz DeNoise AI:一键让照片重获清晰 mac/win版

Topaz DeNoise AI是一款革命性的图片降噪软件,它利用先进的人工智能算法,帮助用户轻松去除照片中的噪点,恢复图像的清晰度和细节。无论是专业摄影师还是摄影爱好者,Topaz DeNoise AI都能成为他们处理图片时的得力助手。 Topaz De…

【Matlab】Matlab电话拨号音合成与识别(代码+论文)【独一无二】

👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉公众号👈:测试开发自动化【获取源码商业合作】 👉荣__誉👈:阿里云博客专家博主、5…

springboot240基于Spring boot的名城小区物业管理系统

基于Spring boot的名城小区物业管理系统的设计与实现 摘要 当下,正处于信息化的时代,许多行业顺应时代的变化,结合使用计算机技术向数字化、信息化建设迈进。以前相关行业对于物业信息的管理和控制,采用人工登记的方式保存相关数…

第三百八十回

文章目录 1. 概念介绍2. 使用方法3. 代码与效果3.1 示例代码3.2 运行效果 4. 内容总结 013pickers2.gif 我们在上一章回中介绍了"如何实现Numberpicker"相关的内容,本章回中将介绍wheelChoose组件.闲话休提,让我们一起Talk Flutter吧。 1. 概念…

文件操作命令touch、cat、more、cp、mv

touch 创建文件 1)可以通过touch命令创建文件。 2)语法: touch Linux路径 3)touch命令无选项,参数必填,表示要创建的文件路径,相对、绝对、特殊路径符均可以使用。 注:以 d 开头的…

Apache POI的简单介绍与应用

介绍 Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目。我们可以使用 POI 在 Java 程序中对Miscrosoft Office各种文件进行读写操作。PS: 一般情况下,POI 都是用于操作 Excel 文件,如图: Apache POI 的应用场景&…

韦东山嵌入式Liunx入门驱动开发五

文章目录 一、驱动程序基石1-1 休眠与唤醒1-2 POLL机制1-3 异步通知(1) 异步通知程序解析(2) 异步通知机制内核代码详解 1-4 阻塞与非阻塞1-5 定时器(1) 内核函数(2) 定时器时间单位 1-6 中断下半部 tasklet 本人学习完韦老师的视频,因此来复习巩固,写以…

【web | CTF】BUUCTF [HCTF 2018]WarmUp

天命&#xff1a;这题本地php代码是无法复现的 首先打开网站&#xff0c;啥也没有&#xff0c;查看源码 发现文件&#xff0c;打开访问一下看看&#xff0c;发现是代码审计 <?phphighlight_file(__FILE__);class emmm{public static function checkFile(&$page){$whit…

IOS 发布遇到“Unable to authenticate with App Store Connect”错误咋解决?

问题&#xff1a; 在开发ios app后&#xff0c;先发布adhoc版本&#xff0c;测试通过后&#xff0c;再发布testflight版本测试&#xff0c;但是可能会遇到一下问题。 解决办法&#xff1a; 在Signing &Capabilities中&#xff0c;在ios下边要指定有发布权限的Team账号&a…