数据库系统原理——备考计划2:数据库系统的概述

前言:

基于课本、上课ppt、复习总结ppt进行一个知识点的罗列,方便后期高效地复习


目录

前言:

一、基本概念

1.数据:

(1)概念:

(2)数据的种类:

(3)数据的定义:

2.数据库:

(1)概念:

(2)特点:

3.大数据:

二、数据库技术的产生、发展

1.人工管理阶段:

2.文件系统阶段:

3.数据库系统阶段:

4.三个阶段的比较:

三、数据库系统的体系结构

1.数据库系统( DataBase System,DBS)定义:

2.数据库系统的组成:

3.内部体系结构——三级模式和二级映像结构

(1)三级模式——外模式(子模式/用户模式)——>视图

(2)三级模式——模式(逻辑模式/概念模式)——>基本表

(3)三级模式——内模式(存储模式/物理模式)——>存储文件

(4)二级映像——外模式/模式映像:保证数据和程序之间的逻辑独立性

(5)二级映像——模式/内模式映像:保证数据的物理独立性

4.外部体系结构:

四、数据库管理系统(DataBase Management System)

1.主要功能

2.组成

(1)系统运行控制程序

(2)语言编译处理程序

(3)系统建立、维护程序

(4)数据字典

3.数据存取过程

五、数据模型

1.概念

2.分类:

(1)概念模型:

(2)逻辑模型(数据模型)和物理模型:

3.构成:

(1)数据结构

(2)数据操作

(3)数据的完整性约束

4.层次数据模型

(1)概念

(2)数据增删改

(3)优点

(4)缺点

5.网状数据模型

(1)概念

(2)数据增删改

(3)优点

(4)缺点

6.关系数据模型——二维表

(1)概念

(2)优点

(3)缺点

7.面向对象数据模型——对象和对象标识

(1)概念

(2)优点

(3)缺点

六、数据库系统的发展

七、数据库技术展望


一、基本概念

1.数据:

(1)概念:

        数据是数据库中存储的基本对象

(2)数据的种类:

  • 数字是数据最简单的一种形式
  • 文本、图像、音频、视频等都是数据

(3)数据的定义:

  • 是用来记录信息的可识别的符号组合
  • 是信息的具体表现形式

2.数据库:

(1)概念:

  • 长期存储在计算机中的有组织的、可共享的大量数据和数据对象的集合
  • 在计算机中按照一定的格式存储数据的仓库

(2)特点:

  • 按一定的数据模型组织、描述和存储;
  • 具有较小的的数据冗余、较高的数据独立性;
  • 可为多种用户共享;
  • 能以安全和可靠的方法进行数据的检索和存储。

3.大数据:

无法在一定时间范围内使用常规软件工具进行捕捉、管理和处理的数据集合是需要新处理模式才能具有更强的决策力、 洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产

二、数据库技术的产生、发展

1.人工管理阶段:

数据不保存,不共享,无独立性, 无专用软件管理数据

图2-1 应用程序与数据间的对应关系

2.文件系统阶段:

以文件形式长期保存,由文件系统管理 数据 ,程序与数据间有一定独立性

图2-2 应用程序与数据间的对应关系

3.数据库系统阶段:

数据结构化 ,共享性高、冗余度低 , 独立性高 ,有统一的数据控制功能(DBMS)

图2-3 应用程序与数据间的对应关系

4.三个阶段的比较:

人工管理

文件系统

数据库系统

应用领域

科学计算

科学计算管理

大规模管理 

硬件需求

无直接存取存

储设备

磁盘、磁鼓

大容量磁盘

软件需求

没有操作系统

文件系统

数据库管理系统

数据共享

无共享,冗余

度极大

共享性差,冗余

度大

共享性高,冗余度小

数据独立性

不独立,完全

依赖于程序

独立性差

高度的物理独立性和逻

辑独立性

数据结构化

无结构

记录内有结构,

整体无结构

整体结构化,用数据模

型描述

三、数据库系统的体系结构

1.数据库系统( DataBase System,DBS)定义:

是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机硬件、软件和数据资源组成的系统,即是采用数据库技术的计算机系统。

2.数据库系统的组成:

数据库、数据库管理系统、数据库应用系统、数据库管理员和用户等组成

图3-1 数据库系统的组成

(1)用户:

  • 终端用户:非计算机专业人员使用数据库
  • 应用程序员:设计和编制应用程序
  • 数据库管理员:负责设计、建立、管理和维护数据库以及协调用户对数据库要求的个人或工作团队

(2)硬件系统:

        存储和运行数据库系统的硬件设备。

3.内部体系结构——三级模式和二级映像结构

数据库系统的三级模式之间的联系通过二级映像实现,实际的映像转换工作由数据库管理系统完成。因为一个数据库系统中只有唯一一个数据库,因此其的内模式和模式是唯一的,但建立在数据库系统上的应用不唯一,也就是说外模式可以有多个

图3-2  数据库系统的三级模式和二级映像

(1)三级模式——外模式(子模式/用户模式)——>视图

概念模式的某一部分的抽象表示

  • 是数据库用户能看到并允许使用的那部分局部数据的逻辑结构和特征的描述
  • 是数据库用户的数据视图
  • 是与某一应用有关的数据的逻辑表示

   不同的用户由不同的需求和访问权限,因此一个数据库可以有多个外模式

(2)三级模式——模式(逻辑模式/概念模式)——>基本表

整个数据库实际存储的抽象表示

  • 是数据库中全体数据的逻辑结构和特征的描述,又称数据模式
  • 是所有用户的公共数据视图

   数据的逻辑结构包括数据记录的名称、组成的数据项的名称、类型、取值范围等

(3)三级模式——内模式(存储模式/物理模式)——>存储文件

整个数据库实际存储的表示

  • 是对数据库存储结构的描述
  • 是数据在数据库内部的表示方式 
  • 是数据库最低一级的逻辑描述

   一般由数据库管理系统(DBMS)提供的定义语言来定义内模式,对于一般的用户来说是 透明看不见的。

图3-3 SQL语言支持的关系数据库的三级模式结构

(4)二级映像——外模式/模式映像:保证数据和程序之间的逻辑独立性

当数据库的逻辑结构(模式)发生变化时,应用程序的外部视图不受影响。这意味着应用程序可以保持不变,即使数据库的逻辑结构发生变化。这种独立性使得数据库的设计和实现可以相对独立于应用程序的设计和实现,从而提高了系统的灵活性和可维护性。

(5)二级映像——模式/内模式映像:保证数据的物理独立性

数据库系统中的内部模式(也称为物理模式)可以独立于外部模式(用户视图)和概念模式(逻辑模式)进行改变,而不会影响到应用程序和用户的数据访问方式。

换句话说,当数据库的物理存储结构发生变化时,外部模式和概念模式不受影响,用户和应用程序无需进行修改,仍然可以通过相同的方式访问数据。

4.外部体系结构:

(1)单用户结构——数据库放在一台计算机上,不能共享数据

(2)主从式结构——大型主机带多个终端;主机处理,终端输出

(3)分布式结构——是分布在计算机网络上的多个逻辑相关的数据库的集合

(4)客户机/服务器结构(C/S结构)——把DBMS的功能与应用程序分开

(5)浏览器/服务器结构(B/S结构)——将客户端运行的应用程序转移到应用服务器上

四、数据库管理系统(DataBase Management System)

1.概念:

数据库管理系统是一种系统软件,它负责管理数据库的创建、维护、访问和控制。

同时也是位于用户与操作系统间的一层数据管理软件,它提供了对数据库的管理和操作接口,为用户和应用程序提供了对数据库的访问能力。

通常在对庞大的数据库进行日常维护,并能够快速在大量的数据中找到所需要的数据的时候就需要使用到数据库管理系统。

‘图4-1 DBMS在计算机系统中的位置

2.主要功能

(1)数据定义功能

(2)数据操纵功能

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

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

(5)数据通信接口

(6)数据组织、存储和管理

2.组成

(1)系统运行控制程序

  • 系统总控程序
  • 安全性控制程序
  • 完整性控制程序
  • 并发控制程序
  • 数据存取和更新程序
  • 通信控制程序

(2)语言编译处理程序

  • 数据定义语言DDL编译程序
  • 数据操纵语言DML编译程序

(3)系统建立、维护程序

  • 装配程序
  • 重组程序
  • 系统恢复程序

(4)数据字典

        描述数据库中有关信息的数据目录

3.数据存取过程

(1)对得到的结果进行必要的处理,如格式转换等

(2)DBMS对存取数据库执行必要的存取操作

(3)DBMS接受请求并将该请求解释转换成机器代码指令

(4)用户向DBMS发出存取请求

(5)DBMS依次检查外模式、外模式/模式映象、模式、模式/内模式映象及存储结构定义

(6)从对数据库的存取操作中接受结果

(7)将处理的结果返回给用户

五、数据模型

1.概念

(1)数据:是描述事物的符号记录。

(2)模型:是现实世界的抽象。

(3)数据模型:

  • 是数据特征的抽象
  • 是数据库系统中用以提供信息表示和操作手段的形式架构
  • 是数据库系统中用以提供信息表示和操作手段的形式构架

2.分类:

(1)概念模型:

根据用户的观点对数据和信息建模,是对现实世界存在的事物和联系的第一级抽象

(2)逻辑模型(数据模型)和物理模型:

逻辑模型是按计算机的观点对数据建模;物理模型是对数据最底层的抽象

3.构成:

(1)数据结构

  • 层次结构
  • 网状结构
  • 关系结构

(2)数据操作

  • 数据查询操作
  • 数据更新操作(插入、修改、删除)

(3)数据的完整性约束

        保证数据的正确性、有效性和相容性

4.层次数据模型

(1)概念

图4-1 层次数据模型

  • 层次模型表现为一棵倒立的树;

  • 根以外的其他结点有且仅 有一个双亲结点;

  • 父子结点之间的联系是一 对多(1:n)的联系 。

(2)数据增删改

数据插入进行插入操作时,如果没有相应的双亲结点值就不能插入子女结点值。
数据删除进行删除操作时,如果删除双亲结点值,则相应的子女结点值也被同时删除。
数据修改修改操作时,应修改所有相应的记录,以保证数据的一致性。

(3)优点

  • 结构简单,层次分明
  • 查询效率高
  • 提供良好的数据完整性支持
  • 数据就具有共享性、安全性、完整性

(4)缺点

  • 很难实现多对多联系
  • 该模型数据库缺乏灵活性,插入和删除数据限制太多
  • 无法直接查询子女结点,得须通过双亲结点

5.网状数据模型

(1)概念

特点:

有一个以上的结点没有双亲结点。

允许结点有多个双亲结点。

允许两个结点之间有多种联系(复合联系)

图4-2 网状数据模型

  • 是采用有向图结构表示记录型与记录型之间联系的数据模型
  • 每个结点表示一个记录型,每个记录型可包含若干个字段,记录型描述的是实体。
  • 结点间的带箭头的连线(或有向边)表示父子的联系。

(2)数据增删改

数据插入插入数据时,允许插入尚未确定双亲结点值的子女结点值。
数据删除删除数据时,允许只删除双亲结点值。
数据修改修改数据时,只需更新指定记录即可。

(3)优点

  • 可表示实体间的多种复杂(多对多)联系;
  • 具有良好的性能和存储效率。

(4)缺点

  • 数据结构复杂;
  • 数据定义语言、数据操纵语言复杂;
  • 用户需要了解系统结构的细节。

6.关系数据模型——二维表

(1)概念

简单来说就相当于一张二维表。

图4-3  关系数据模型

(2)优点

  • 简单,有严格的数学理论根据;
  • 结构简单清晰,用户易懂易用;
  • 灵活强大的查询能力;
  • 更高的数据独立性、易于设计实现维护和使用。

(3)缺点

  • 查询效率;
  • 硬件开销;
  • 容易设计不好。

7.面向对象数据模型——对象和对象标识

(1)概念

将系统工程中的某个模块和构件是为问题空间的一个或一类对象,

  • 对象是现实世界中实体的模型化;
  • 对象标识独立于对象的内容和存储位置,是一种逻辑标识符,由系统产生,在整个系统范围内是唯一;
  • 两个对象即使内部状态值和方法都相同,如标识符不同,仍认为是两个相等而不同的对象;
  • 每个对象都包含一组属性和一组方法。

(2)优点

  • 适合处理各种数据类型;
  • 面向对象程序设计与数据库技术结合;
  • 提高开发效率;
  • 改善数据访问。

(3)缺点

  • 没有准确的定义;
  • 维护困难;
  • 不适合所有的应用。

六、数据库系统的发展

传统数据库

第一代:

格式化数据模型

(层次数据模型和 网状数据模型)  

支持三级模式的体系结构; 用存取路径来表示数据之间的联系; 独立的数据定义语言; 导航的数据操纵语言。

第二代:

关系数据模型

概念单一; 以关系代数为基础; 数据独立性强; 关系数据库语言是非过程化的。

缺点:

面向机器的语法数据模型;

数据类型简单、固定 ;

结构与行为完全分离 ;

被动响应 。

第三代
面向对象的数据模型支持面向对象的数据模型; 保持或继承第二代数据库系统的优点; 具有开放性。

七、数据库技术展望

数据库技术与分布处理技术相结合,出现了分布式数据库。

数据库技术与人工智能技术相结合,出现了演绎数据库、主动数据库和知识库等。

数据库技术与多媒体技术相结合,出现了多媒体数据库。

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

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

相关文章

安装selenium+chrome详解

1、创建yaml文件 创建yaml文件,命名为:docker-compose-chrome.yaml,具体内容如下: version: "3.9" services:spiderdriver:image: selenium/standalone-chrome:114.0restart: alwayshostname: spiderdrivercontainer_name: spiderdriverdeploy:resources:limit…

springboot基础配置及maven运行

目录 1、spring快速开始: 2、通过idea工具打开导入包 3、maven打包 1、springboot快速开始: 环境依赖:jdk17 Spring | Quickstart spring初始化包下载: 点击generate,下载包 2、通过idea工具打开导入包 我之前写了…

[英语学习][6][Word Power Made Easy]的精读与翻译优化

[序言] 针对第18页的阅读, 进行第二次翻译优化以及纠错, 这次译者的翻译出现的严重问题: 没有考虑时态的变化导致整个翻译跟上下文脱节, 然后又有偷懒的嫌疑, 翻译得很随意. [英文学习的目标] 提升自身的英语水平, 对日后编程技能的提升有很大帮助. 希望大家这次能学到东西,…

WebUI自动化学习(Selenium+Python+Pytest框架)003

1.元素操作 在成功定位到元素之后,我们需要对元素进行一些操作动作。常用的元素操作动作有: (1)send_keys() 键盘动作:向浏览器发送一个内容,通常用于输入框输入内容或向浏览器发送快捷键 (2…

TCP 基本认识

1:TCP 头格式有哪些? 序列号:用来解决网络包乱序问题。 确认应答号:用来解决丢包的问题。 2:为什么需要 TCP 协议? TCP 工作在哪一层? IP 层是「不可靠」的,它不保证网络包的交付…

【java+vue+微信小程序项目】从零开始搭建——健身房管理平台(2)后端跨域、登录模块、springboot分层架构、IDEA修改快捷键、vue代码风格

项目笔记为项目总结笔记,若有错误欢迎指出哟~ 【项目专栏】 【java+vue+微信小程序项目】从零开始搭建——健身房管理平台(1)spring boot项目搭建、vue项目搭建、微信小程序项目搭建 【java+vue+微信小程序项目】从零开始搭建——健身房管理平台(2)后端跨域、登录模块、sp…

Excel导入组件的封装以及使用页面点击弹出该弹框

封装的组件 <template><el-dialogwidth"500px"title"员工导入":visible"showExcelDialog"close"$emit(update:showExcelDialog, false)"><el-row type"flex" justify"center"><div class&q…

leetCode 131.分割回文串 + 动态规划 + 回溯算法 + 优化 + 图解 + 笔记

我的往期文章&#xff1a; leetCode 647.回文子串 动态规划 优化空间 / 中心扩展法 双指针-CSDN博客https://blog.csdn.net/weixin_41987016/article/details/133883091?spm1001.2014.3001.5501leetCode 131.分割回文串 回溯算法 图解 笔记-CSDN博客https://blog.csdn.n…

SVN下载使用和说明

一、SVN <1>SVN的简介 1、svn是什么&#xff1f; 2、作用 3、基本操作 <2>服务器端的软件下载和安装 1、下载 2、查看环境变量 3、验证安装是否成功 <3>创建项目版本库 1、创建项目版本库&#xff08;svn reponsitory&#xff09; 2、svn版本控制文件说明…

python弹球小游戏

import pygame import random# 游戏窗口大小 WIDTH 800 HEIGHT 600# 定义颜色 WHITE (255, 255, 255) BLACK (0, 0, 0) RED (255, 0, 0) GREEN (0, 255, 0) BLUE (0, 0, 255)# 球的类 class Ball:def __init__(self):self.radius 10self.speed [random.randint(2, 4),…

第8关:定义一个名为PROC_AVGWEIGHT的有参数存储过程

USE mydata; #请在此处添加实现代码 ########## Begin ########## DELIMITER $ CREATE PROCEDURE PROC_AVGWEIGHT(IN SNO VARCHAR(10), IN JNO VARCHAR(10), OUT AVG_WEIGHT INT) BEGINSELECT ROUND(SUM(P.WEIGHT * SPJ.QTY) / SUM(SPJ.QTY)) INTO AVG_WEIGHTFROM PJOIN SPJ ON…

WordPress付费阅读、付费下载、付费复制插件推荐

如果我们是用WordPress内核程序&#xff0c;我们可以用插件解决这个功能。现在市面上小编有看到三款WordPress内容付费或者是有的称作WordPress会员插件&#xff0c;可以实现WordPress付费阅读、付费下载&#xff0c;甚至付费复制的功能。在这几个插件中&#xff0c;简单的盘点…

23.Python 图形化界面编程

目录 1.认识GUI和使用tkinter2.使用组件2.1 标签2.2 按钮2.3 文本框2.4 单选按钮和复选按钮2.5 菜单和消息2.6 列表框2.7 滚动条2.8 框架2.9 画布 3. 组件布局4.事件处理 1.认识GUI和使用tkinter 人机交互是从人努力适应计算机&#xff0c;到计算机不断适应人的发展过程&#…

外包干了2年,技术退步明显。。。

前言 简单的说下&#xff0c;我大学的一个同学&#xff0c;毕业后我自己去了自研的公司&#xff0c;他去了外包&#xff0c;快两年了我薪资、技术各个方面都有了很大的提升&#xff0c;他在外包干的这两年人都要废了&#xff0c;技术没一点提升&#xff0c;学不到任何东西&…

智加科技获全国首张重卡无人驾驶开放道路测试牌照

2023年12月1日&#xff0c;智加科技获得苏州市智能网联汽车无人化测试牌照。该牌照也是江苏省及国内首张无人重卡开放高速公路全路段全场景全息路网&#xff08;S17苏台高速&#xff09;道路测试牌照。 该重卡无人驾驶开放道路测试牌照&#xff0c;经由苏州市智能网联汽车联席小…

Redis--12--Redis分布式锁的实现

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 Redis分布式锁最简单的实现如何避免死锁&#xff1f;锁被别人释放怎么办&#xff1f;锁过期时间不好评估怎么办&#xff1f;--看门狗分布式锁加入看门狗 redissonRe…

VT-VRPA2-1-1X/V0/T5控制4WRE6比例方向阀放大板

带阀芯位移反馈不带集成式放大器比例方向阀控制放大器&#xff0c;替代力士乐同型号产品&#xff0c;可以完全互换使用&#xff1b;适用于控制力士乐系列带电位置反馈的4WRE6通径和4WRE10通径2X系列比例方向阀&#xff1b;0~10V、4~20mA指令控制信号任意可选&#xff1b;直接安…

还在Wins 11怀念10的右键单击菜单?别担心,可通过注册表来实现

到目前为止&#xff0c;Windows 11最令人讨厌的新“功能”是右键单击任何内容时会出现截断的上下文菜单。以前版本的Windows显示了你的所有选项&#xff0c;包括可以打开文件的不同程序&#xff0c;而新菜单仅限于少数选项&#xff0c;不一定是你想要的。 例如&#xff0c;当我…

IDEA专栏—重装IDEA的配置

文章目录 1、maven路径2、默认文件路径3、插件4、导包顺序5、快捷键6、调整配置插件 1、maven路径 2、默认文件路径 3、插件 4、导包顺序 import static all other imports <blank line> import java.* import javax.* <blank line> import all other imports <…

6-66.时间

本题要求输入小时、分钟和秒数&#xff0c;并将其输出。针对时间表示中出现的异常进行处理。例如小时数不应超过23&#xff0c;分钟不应超过59&#xff0c;秒数不应超过59。此外&#xff0c;以上三个变量均应大于等于0。 输入样例&#xff1a; 在这里给出三组输入。例如&…