当前位置: 首页 > news >正文

数据,数据库,数据库管理系统,数据库系统的基本内容

数据库系统的发展经历了三代演变:

层状/网状数据库系统:

在这里插入图片描述

关系数据库系统:

在这里插入图片描述

新一代数据库系统

数据:

​ 是数据库中存储的基本对象,它用于描述事物的符号记录。

数据的种类:

​ 包括数字,文字,图形,图像,音频,视频,学生的档案信息等。

数据的含义称为数据的语义:

​ 例如:99是一个数据
语义一:学生的某门成绩
语义二:某人的体重
语义三:计算机系某届学生的人数

数据的独立性:

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

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

数据库:

长期存储在计算机内,有组织可共享的大量数据的集合。

建立数据库的原因:

收集并抽取出一个应用所需要的大量数据,将其保存,以供进一步加工处理,抽取有用信息,转换为有价值的知识。

数据库的基本特征:

​ 1:数据按照一定的数据模型组织,描述和存储

​ 2:可为各种用户共享

​ 3:冗余度比较小

​ 4:数据独立性较高

​ 5:易扩展

数据库管理系统:

是位于用户与操作系统之间的一层数据管理软件,它不仅是一个基础的软件,还是一个大型复杂的软件系统。

数据库管理系统能够科学的组织和存储数据,高效地获取和维护数据

在这里插入图片描述

数据库管理系统的主要功能:

定义功能:

​ 1:提供数据定义语言(DDL)

​ 2:定义数据库中的数据对象

数据组织,存储和管理的功能:

​ 1:分类组织,存储和管理各种数据

​ 2:确定组织数据的文件结构和存取方式

​ 3:实现数据之间的联系

​ 4:提供多种存取方法提高存取率

数据操作功能:

​ 1:提供数据操纵语言(DML)

​ 2:实现对数据库的基本操作(查询,插入,删除和修改)

数据库的事物管理和运行管理:

​ 1:数据库在建立,运行和维护时由数据库管理系统统一管理和控制

​ 2:保证 数据的安全性,完整性,多用户对数据的并发使用

			数据的安全性保护:保护数据以防止不合法的使用造成的数据的泄密和破坏
			数据的完整性检查:保证数据的正确性,有效性和相容性。
			并发控制:对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。
			数据库恢复:将数据库从错误状态恢复到某一已知的正确状态。

​ 3:发生故障后的系统恢复

数据库的建立和维护功能:

​ 1:数据库初始数据的装载和转换

​ 2:数据库转储,恢复功能

​ 3:数据库的重组织

​ 4:性能监视,分析等

其他功能:

​ 1:数据库管理系统与网络中其他软件系统的通信

​ 2:数据库管理系统系统之间的转换

​ 3:异构数据库之间的互访和互操作

数据库系统:

是指在计算机系统中引入数据库后的系统构成。

数据库系统的构成:

数据库,数据库管理系统(及其应用开发工具),应用程序,数据库管理员

在这里插入图片描述

硬件平台及数据库:

数据库系统对硬件资源的要求:

1:足够大的内存

2:足够大的磁盘或磁盘阵列等外部设备

3:较高的通道能力,提高数据传送率

软件:

数据库管理系统:

1:支持数据库管理系统运行的操作系统

2:与数据库接口的高级语言及其编译系统

3:以数据库管理系统为核心的应用开发工具

4:为特定应用环境开发的数据应用系统

人员:

在这里插入图片描述

数据管理:

对数据进行分类,组织,编码,存储,检索和维护

数据管理技术的发展过程:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

数据结构化:

数据的整体结构化是数据库的主要特征之一。

不再仅仅针对某一个应用,而是面向整个企业或组织,不仅数据内部结构化,整体是结构化的,数据之间具有联系,数据记录可以变长。

数据用数据模型描述,无需应用程序定义。

举例:
在这里插入图片描述相比于如下所示的使用文件系统实现,使用数据用数据模型描述数据,不需要关注记录的存储和不同表之间的联系,不需要编程,开发速度快。

在这里插入图片描述

数据模型:

数据模型是对现实世界数据特征的抽象,通俗的说数据模型就是现实世界的模拟。

例如:

如下图所示的玩具汽车模型,它就很好的反映了汽车的特点。

在这里插入图片描述如下图所示的玩具小狗模型也是很好地反映了小狗的特点。
在这里插入图片描述数据模型应满足三方面的要求:

1:能比较真实地模拟现实世界

2:便于理解

3:便于在计算机上实现

数据模型是数据库系统的核心和基础。

数据模型根据层次可分为两大类:

概念模型,也称信息模型:

它是按照用户的观点来对数据和信息建模,用于数据库设计。

逻辑模型和物理模型:

逻辑模型主要包括网状模型,层次模型,关系模型,面向对象数据模型,对象关系数据模型,半结构化数据模型等

按照计算机系统的观点对数据建模,用于DBMS实现。

物理模型是对数据最底层的抽象:

描述数据在系统内(磁盘上)的表示方式和存取方法。
在这里插入图片描述

概念模型:

概念模型用于信息世界的建模,是现实世界到机器世界的一个中间层次,是数据库设计的有力工具,数据库设计人员和用户之间进行交流的语言。

对概念模型的基本要求:
较强的语义表达能力,简单,清晰,易于用户理解

举例:
在这里插入图片描述实体:
客观存在并且可相互区别的事物称为实体,可以是具体的人,事或抽象的概念。

属性:
实体所具有的某一特性称为属性,一个实体可以由若干个属性来刻画。

码:
唯一标识实体的属性集称为码。

实体型:
用实体名及其属性名集合来抽象和刻画同类实体称为实体型。

实体集:
同一类型实体的集合称为实体集。
在这里插入图片描述
现实世界中事物内部以及事物之间的联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。

实体内部的联系:是指组成实体的各属性之间的联系。

实体之间的联系:通常是指不同实体集之间的联系。

实体之间的联系有一对一(1:1),一对多(1:m)和多对多(m:n)等多种类型。
在这里插入图片描述

概念模型的一种表示方法-----实体-联系方法:

用E-R图来描述现实世界的概念模型,E-R方法也称为E-R模型。

E-R模型有两个明显的优点:

1:接近于人的思维容易理解。

2:与计算机无关,用户更容易接受。

举例:
在这里插入图片描述但是E-R模型只能说明实体间语义的联系,还不能进一步说明详细的数据结构,一般遇到一个实际问题,总是先设计一个E-R模型,再把E-R模型转换为计算机已实现的数据模型。

数据模型是严格定义的一组概念的集合,精确地描述了系统的静态特性,动态特性和完整性约束条件。

数据模型的构成由以下三部分:

1:数据结构—描述系统的静态特性

刻画数据模型性质的重要方面。

层次结构—层次模型,网状结构—网状模型,关系结构—关系模型

描述数据库的组成对象—对象的类型,内容,性质

描述对象之间的联系

网状结构—网状模型

用于=网络结构表示实体类型及其实体之间联系的模型。

网状模型有以下特征:

允许一个以上的节点无双亲。

一个节点可以有多个双亲。
在这里插入图片描述层次结构—层次模型:

用树状结构表示实体之间联系的模型叫层次模型。

层次模型的结构特点是:、

有且仅有一个根节点。

根节点以外的其他节点有且仅有一个父节点。

层次模型的物理存储有两种实现方法:序法和指针法。
在这里插入图片描述关系结构—关系模型:

目前最重要的一种数据模型,关系数据库系统采用关系模型作为数据的组织方式。

关系必须是规范化的,满足一定的规范条件。

最基本的规范条件:关系的每一个分量必须是一个不可分的数据项,不允许表中还有表。

如下图所示的工资中还还包含基本工资和岗位津贴等,扣除也是如此,不仅包含了一项数据,因此他们不符合模型要求。
在这里插入图片描述在这里插入图片描述

2:数据操作—描述系统的动态特性

对数据库中各种对象的实例允许执行的操作的集合。

数据操作的类型:

查询
更新(包括插入,删除,修改)

数据操作语言:

定义数据操作的确切含义,符号,优先级别

实现数据操作的语言:查询语言(Query)和更新语言(DML)

3:完整性约束条件

一组完整性规则集合:

完整性规则:给定的数据模型中数据及其联系所具有的制约和依存规则。

用于限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确,有效和相容。

数据模型对完整性约束条件的定义:

反映和规定必须遵守的基本的通用的完整性约束条件。

提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。

关系模型的优点:

建立在严格的数据概念的基础上

概念单一:
实体和各类联系都用关系来表示

对数据的检索结果也是关系

关系模型的存取路径对用户透明:

具有更高的数据独立性,更好的安全保密性

简化了程序员的工作和数据库开发建立的工作

关系模型的缺点:

存取路径对用户透明,查询效率往往不如格式化数据模型

为提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度。

数据库系统的结构:

从数据应用开发人员角度看:

数据库系统采用三级模式结构,是数据库系统内部的系统结构。

举例:在这里插入图片描述

模式(也称逻辑模式):

数据库中全体数据的逻辑结构和特征的描述。

所有用户的公共数据视图。

一般情况下,某个应用的数据库有一个模式,模式是数据库系统模式结构的中心

与数据的物理存储细节和硬件环境无关。

与具体的应用程序,开发工具及高级程序设计语言无关。

定义模式:

DD定义数据的逻辑结构,以某种数据模型为基础

数据记录由那些数据项构成,数据项的名字,类型,取值范围等。

定义数据之间的联系。

定义与数据有关的安全性,完整性要求。

外模式(也称子模式或用户模式):

数据库用户使用的局部数据的逻辑结构和特征的描述。

数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。

外模式与模式的关系:

外模式通常是模式的子集,一个模式可以有多个外模式,反映了不同用户的应用需求,看待数据的方式,对数据保密的要求,对模式中某一数据,在不同的外模式中,结构,类型,长度,保密级别等都可以不同。

外模式与应用的关系:

一个外模式可以为多个应用系统所使用,一个应用程序只能使用一个外模式。

外模式的用途:

每个用户只能看见和访问所对应的外模式中的数据,简化用户视图

保证数据库安全性的一个有力措施。

内模式(也称存储模式)

是数据物理结构和存储方式的描述。

是数据在数据库内部的表示方式:

记录存储方式(例如:顺序存储,堆存储,按hash方法存储等)
索引的组织方式(B+树,Bitmap,Hash)
数据是否压缩存储
数据是否加密
数据存储记录结构的规定----如定长/变长,记录是否可以跨页存放等。

一个数据库只有一个内模式。

模式:

是对数据库逻辑结构和特征的描述,是型的描述,不涉及值,模式是相对稳定的。

举例:
在这里插入图片描述

实例:

数据库某一时刻的状态—模式的一个具体值,同一个模式可以有很多实例,实例随数据库中的数据的更新而变动。

举例:
在这里插入图片描述

从数据库最终用户角度看:

数据库系统的结构有:

单用户结构

主从式结构

分布式结构

客户-服务器

浏览器-应用服务器/数据库服务器

数据库的二级映像功能与数据独立性:

三级模式是对数据的三个抽象级别。

三个抽象层次的联系和转换

数据库管理系统内部提供二级映像:

外模式—>模式映像:

对每一个外模式,有一个外模式/模式映像定义外模式与模式之间的对应关系,映像定义通常包含在个外模式的描述中。

保证数据的逻辑独立性:

当模式改变时,数据库管理员对外模式/模式映像做相应改变,使外模式保持不变。

应用程序是依据数据的外模式编写的,应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。

模式----->内模式映像:

定义了数据全局逻辑结构与存储结构之间的对应关系,例如,说明某个逻辑记录对应何种存储结构。

数据库中模式/内模式映像是惟一的。

该映像定义通常包含在模式描述中。

保证数据的物理独立性:

当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映像,使模式保持不变。

模式不变,则应用程序不变,保证了数据与程序的物理独立性,简称数据的物理独立性。

数据库的二级映像功能与数据独立性的作用:

保证了应用程序的稳定性

除非应用需求本身发生变化,否则应用程序一般不做修改

从程序为中心–发展为以数据为中心

具有了数据与程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出去。

数据的存取由数据库管理系统管理

简化了应用程序的编制

大大减少了应用程序的维护和修改

相关文章:

  • Redis入门开发
  • H5页面内嵌到微信小程序和APP,做分享操作
  • 怎么实现文字转语音朗读?这几个小技巧快来码住
  • 人工智能+工业互联网,如何破圈?
  • Vue学习笔记
  • 小红的漂亮串(C++ DP 取模运算)
  • MYSQL高可用集群MHA架构
  • Python进阶(三)-图形界面编程Tkinter(3)
  • Rethinking Image Aesthetics Assessment:Models,Datasets and Benchmarks
  • 人工智能时代的离散数学教学研究
  • frp内网穿透教程2022最新(含内网ssh配置与msf联动配置)
  • TS装饰器
  • PAT 1007 Maximum Subsequence Sum
  • go中的slice
  • 什么是完全的静态分析?
  • CSS实用技巧干货
  • css属性的继承、初识值、计算值、当前值、应用值
  • Javascript编码规范
  • Java面向对象及其三大特征
  • laravel with 查询列表限制条数
  • OSS Web直传 (文件图片)
  • SpiderData 2019年2月25日 DApp数据排行榜
  • underscore源码剖析之整体架构
  • 技术:超级实用的电脑小技巧
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 详解NodeJs流之一
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 主流的CSS水平和垂直居中技术大全
  • AI算硅基生命吗,为什么?
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (附源码)spring boot儿童教育管理系统 毕业设计 281442
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (附源码)ssm码农论坛 毕业设计 231126
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • (南京观海微电子)——COF介绍
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (三)elasticsearch 源码之启动流程分析
  • (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
  • (转)http协议
  • (转)LINQ之路
  • **python多态
  • .NET Core使用NPOI导出复杂,美观的Excel详解
  • .Net MVC + EF搭建学生管理系统
  • .NET Reactor简单使用教程
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径
  • .NET开源快速、强大、免费的电子表格组件
  • .net中我喜欢的两种验证码
  • .stream().map与.stream().flatMap的使用
  • @property @synthesize @dynamic 及相关属性作用探究
  • @RequestBody详解:用于获取请求体中的Json格式参数
  • [ CTF ] WriteUp-2022年春秋杯网络安全联赛-冬季赛
  • [].slice.call()将类数组转化为真正的数组