【数据库系统概论】绪论--复习

1. 数据库的四个基本概念

  • 数据:指经过处理的、可用于计算机操作的原始信息(或者也可以理解成是——描述事务的符号,数字、图像、符号、音频、视频、文字、图形等都可以是数据)。
  • 数据库是长期存储在计算机内有组织、可共享的大量数据的集合。它可以供各种用户共享,具有最小的冗余度和较强的数据独立性。
  • 数据库管理系统(DBMS)是用来创建、管理和维护数据库的软件系统,负责数据的存储、查询、更新、权限控制等功能。它在数据库的建立、运维时对数据库进行统一控制,以保证数据的完整性和安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对数据库进行恢复。

  • 数据库用户:使用数据库的不同类型用户,包括数据库管理员(DBA)、应用开发人员和最终用户。

2. 数据管理技术的发展

数据管理技术经历了几个发展阶段,每个阶段有其特点:

2.1 人工管理阶段

在这一阶段,数据主要由人工管理和维护。数据的存储通常是纸质或简单的手工记录,且没有统一的标准和结构,信息的存取、更新和查询都依赖人工操作。这个阶段的数据管理效率低,容易出现错误,且数据的共享性差。

2.2 文件系统阶段

进入这一阶段后,数据开始通过计算机存储在磁盘上的文件中。虽然计算机提高了数据的存储和访问效率,但文件系统阶段仍然存在很多问题:

  • 数据冗余:由于数据被分散存储在不同的文件中,可能会出现相同的数据被多次存储,导致冗余。
  • 数据不一致性:多个文件中的同一数据可能由于更新不同步而产生不一致。
  • 缺乏数据共享性:不同应用程序之间的数据访问和共享较为困难。
  • 数据独立性:应用程序与数据的物理存储方式相分离,程序员不需要关心数据存储的细节。
  • 数据共享:多个应用程序可以共享同一个数据库,避免了数据冗余和不一致性。
  • 数据安全性与完整性:通过权限控制、备份等手段保障数据的安全性与一致性。
  • 支持复杂查询和事务管理:提供高级的查询语言(如SQL)以及事务管理机制,确保数据操作的一致性。

2.3 数据库系统阶段

数据库系统阶段引入了数据库管理系统(DBMS),它对数据进行集中管理和维护,提供了更高效、规范的存储、管理和访问方式。数据库管理系统解决了文件系统阶段的许多问题,主要特点包括:

  • 整体数据结构化,独立性强:应用程序与数据的物理存储方式相分离,程序员不需要关心数据存储的细节。
  • 数据共享性强,冗余度低,易于扩充:多个应用程序可以共享同一个数据库,避免了数据冗余和不一致性。
  • 数据由数据库管理系统统一管理和控制,提高了数据库的安全性和一致性:通过权限控制、备份等手段保障数据的安全性与一致性。
  • 支持复杂查询和事务管理:提供高级的查询语言(如SQL)以及事务管理机制,确保数据操作的一致性。

3. 数据模型

3.1 模式(Schema)描述数据库结构的蓝图或框架,定义了数据的组织方式。

3.2 数据模型:用于描述数据,组织数据和对数据进行操作。数据模型是数据库系统的核心和基础。

3.3 数据模型三要素:

  1. 数据结构:描述数据库的组成对象以及对象之间的联系。
  2. 数据操纵(对数据进行相关操作)对数据库中的数据进行操作的方式或过程,主要包括数据查询数据插入数据更新数据删除等操作。
  3. 完整性约束:对数据库中数据的有效性和一致性所施加的规则,确保数据库中的数据符合特定的标准和要求。它是保证数据质量和准确性的核心机制。

3.4常见的数据模型:

3.4.1 概念模式:数据库的总体视图,定义了所有数据的逻辑结构,不依赖于具体应用。将现实从抽象为信息。

信息涉及到的相关概念:

1.实体:数据系统的对象(人,部门,课程,学校等信息来源体)
2.属性:实体具有的数据的名称,比如学号,姓名等。
3.:唯一标识实体属性的属性集,也就是能确定某一实体的所有的属性的集合叫码。
4.联系:实体与实体之间的关系叫联系,比如学生这个实体属于班级,“属于”这个关系就叫做学生和班级的一个联系。
5.概念模型的表示方法:实体--联系模型(即E-R模型)。
3.4.2 层次模型
  • 数据结构:采用树形结构,数据以节点和边的形式组织,每个节点代表一个数据项,边表示数据项之间的父子关系。根节点通常代表数据库的总体。
  • 数据操纵:主要通过指针来进行访问和操作,通常需要在树形结构中进行遍历或查找。
  • 完整性约束:支持父子节点之间的层次性约束,但缺乏复杂的约束表达能力。
  • 优缺点
    • 优点:查询效率高,适用于层次性结构明显的数据(如组织结构)。
    • 缺点:灵活性差,数据只能以一种固定的层次结构表示,不能表示多对多关系,维护和修改较为困难。

3.4.3 网状模型

  • 数据结构:采用图形结构,节点代表数据项,边代表数据项之间的关系,支持多对多的关系,每个节点可以有多个父节点。
  • 数据操纵:通过指针连接节点,支持更加灵活的数据操控,可以进行复杂的查询和遍历。
  • 完整性约束:支持多对多关系,但依赖于指针,且缺乏统一的约束机制来保证数据一致性。
  • 优缺点
    • 优点:比层次模型更灵活,支持复杂的多对多关系,可以较好地表示实际中的数据关系。
    • 缺点:模型复杂,维护困难,容易出现指针循环等问题,数据操控的复杂度较高。

3.4.4 关系模型

  • 数据结构:采用表(关系)结构,每个表由行(元组)和列(属性)组成,数据项通过字段来表示。表与表之间通过外键建立联系。
  • 数据操纵:通过关系代数和SQL语言进行查询和操控。操作包括选择(SELECT)、投影(PROJECT)、连接(JOIN)等。
  • 完整性约束:包括实体完整性(主键约束)、参照完整性(外键约束)和域完整性(数据域约束)。
  • 优缺点
    • 优点:结构简单,易于理解和使用,支持灵活的查询和操作,数据独立性高,支持复杂的多表连接。
    • 缺点:对于一些复杂的层次性或图形结构数据表示不够自然,查询复杂时性能可能较差。

4.三级模式结构:(数据库系统内部的体系结构)

4.1模式:

是对数据库结构的描述,它定义了数据库中所有表、字段、数据类型以及它们之间关系的总体布局。可以把模式理解为数据库的“蓝图”或“设计图”。模式是所有用户公共的数据视图。

4.2 外部模式

外模式也叫子模式或者用户模式,它是数据库用户(包括程序员和终端用户)都能够看见和使用的局部数据的逻辑结构和特征的描述。一个数据库可以有多个外模式。

4.3 内模式

内模式也称物理模式或者存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的组织方式。内模式主要是由数据库管理员(DBA)和数据库系统的自动化工具来管理和操作的。普通的数据库用户(如应用开发者--即程序员和终端用户)通常是无法直接看到或操作内模式的,因为它涉及数据库的物理存储和底层优化细节。

5.数据库的两级映像与数据独立性

5.1 两级映像

  • 是指数据库系统概念模式(逻辑模式)和内模式(物理模式)之间的映射关系,数据库通过这两级映像实现了数据存储和数据访问的分离。
  • 映像的作用:
    • 外模式/模式映像概念模式外模式之间的映射。它帮助数据库实现数据独立性,允许用户以不同方式访问数据而不干扰数据库的其他部分,体现数据的逻辑独立性。
    • 模式/内模式映像概念模式内模式之间的映射。用户的视图和应用程序对数据的访问不受数据库物理存储和内部结构变化的影响,体现数据的物理独立性。

5.2 数据独立性

  • 指的是应用程序数据存储结构之间的解耦,意味着在不修改应用程序的情况下,可以改变数据库的存储结构或逻辑结构。
  • 数据的逻辑独立性:指在不影响应用程序的前提下,可以修改概念模式。
  • 数据的物理独立性:指在不影响应用程序的前提下,可以修改内模式(数据的存储结构)。

6. 数据库系统的组成

  • 硬件:提供存储、计算资源的物理设备。
  • 软件:数据库管理系统(DBMS)、数据库查询语言(如SQL)、应用程序等。
  • 数据:存储在数据库中的实际数据。
  • 用户:使用和操作数据库的人员。
  • 应用程序:通过数据库提供服务的各种程序和工具。

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

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

相关文章

Git 下载问题及解决方法

在某些网络环境下,可能会遇到 Git 无法下载的问题,通常是由于网络限制或需要通过代理访问导致的。以下是常见的解决方法,包括设置代理、取消代理以及其他诊断方法。 1. 设置 Git 代理 在一些网络环境下,可能会使用工具&#xff0…

《从入门到精通:蓝桥杯编程大赛知识点全攻略》(一)-递归实现指数型枚举、递归实现排列型枚举

本篇博客将聚焦于通过递归来实现两种经典的枚举方法:指数型枚举和排列型枚举。这两种枚举方式在计算机科学和算法竞赛中都有广泛应用,无论是在解题中,还是在实际工作中都极具价值。 目录 前言 斐波那契数列递归 递归实现指数型枚举 算法思…

大模型 LangChain 开发框架-初探

大模型 LangChain 开发框架-初探 一、LangChain 概述 LangChain 是一个强大的由大型语言模型(LLM)驱动的应用程序开发框架。它的核心价值在于提供了标准化组件接口、高效的任务编排能力以及可观察性和评估机制。通过这些特性,LangChain 有效…

生成埃里克卡特曼人工智能语音听起来像他或配音视频

您是《南方公园》和迷人角色埃里克卡特曼的忠实粉丝吗?您是否渴望获得标志性的埃里克卡特曼 AI 语音,将他的动画魅力融入到您的数字内容、游戏或流媒体体验中?如果答案是肯定的,那么您来对地方了! 在本文中&#xff0…

BLDC无感控制的驱动逻辑

如何知道转子已经到达预定位置,因为我们只有知道了转子到达了预定位置之后才能进行换相,这样电机才能顺滑的运转。转子位置检测常用的有三种方式。 方式一:通过过零检测,三相相电压与电机中性点电压进行比较。过零检测的优点在于…

【Vue教程】使用Vite快速搭建前端工程化项目 | Vue3 | Vite | Node.js

🙋大家好!我是毛毛张! 🌈个人首页: 神马都会亿点点的毛毛张 🚩今天毛毛张分享的是关于如何快速🏃‍♂️搭建一个前端工程化的项目的环境搭建以及流程🌠 文章目录 1.前端工程化环境搭建&#…

手机租赁平台开发全攻略打造高效便捷的租赁服务系统

内容概要 手机租赁平台开发,简单说就是让用户能轻松租赁各类手机的高效系统。这一平台不仅帮助那些想要临时使用高端手机的人们节省了不少资金,还为商家开辟了新的收入渠道。随着智能手机的普及,很多人并不需要长期拥有一部手机,…

[最佳方法] 如何将视频从 Android 发送到 iPhone

概括 将大视频从 Android 发送到 iPhone 或将批量视频从 iPhone 传输到 Android 并不是一件容易的事情。也许您已经尝试了很多关于如何将视频从 Android 发送到 iPhone 15/14 的方法,但都没有效果。但现在,通过本文中的这 6 种强大方法,您可…

记录一下图像处理的基础知识

记录一下自己学习的图像处理的基础知识。 一、图像的文件格式以及常用的图像空间 1、文件格式 常见的图像文件格式有 jpg, png, bmp, gif (1)jpg:有损压缩算法,大幅减小文件大小,便于存储和传输,兼容性…

【Java回顾】Day3 继承|Override/Ovverload|多态|抽象类|封装|接口|枚举

学习资料 菜鸟教程 https://www.runoob.com/java/java-interfaces.html 继承|Override/Ovverload|多态|抽象类|封装|接口|枚举 继承 创建分等级层次的类,子类继承父类的特征、行为、方法 class 父类{ } class 子类 extends 父类{ super(); }一些性质 Java 不支持…

2025年AI和AR谁才是智能眼镜的未来

在2025年,智能眼镜市场正迎来一场技术革新的浪潮,其中AI和AR技术的竞争尤为激烈。那么,究竟谁才是智能眼镜的未来呢?让我们来一探究竟。 AI眼镜的崛起 AI眼镜通过集成人工智能技术,提供了语音识别、环境感知和个性化服…

在Unity中用Ab包加载资源(简单好抄)

第一步创建一个Editor文件夹 第二步编写BuildAb(这个脚本一点要放在Editor中因为这是一个编辑器脚本,放在其他地方可能会报错) using System.IO; using UnityEditor; using UnityEngine;public class BuildAb : MonoBehaviour {// 在Unity编…

丢弃法hhhh

一个好的模型需要对输入数据的扰动鲁棒 丢弃法:在层之间加入噪音,等同于加入正则 h2和h5变成0了 dropout一般作用在全连接隐藏层的输出上 Q&A dropout随机置零对求梯度和求反向传播的影响是什么?为0 dropout属于超参数 dropout固定随…

mysql 报错 ERROR 1396 (HY000) Operation ALTER USER failed for root@localhost 解决方案

参考:https://blog.csdn.net/m0_74824534/article/details/144177078 mysql 修改密码 ALTER USER ‘root’‘localhost’ IDENTIFIED BY ‘123’; 时,报错 ERROR 1396 (HY000): Operation ALTER USER failed for rootlocalhost 解决方案: 2024-4-3 段子…

Three.js Journey (notes2)

ref Three.js中文网 Three.js Journey — Learn WebGL with Three.js Part 1 Fullscreen and resizing When the double click happens, we will toggle the fullscreen —meaning that if the window is not in fullscreen, a double-click will enable fullscreen mode, …

深入理解Python中的常用数据格式(如csv、json、pickle、npz、h5等):存储机制与性能解析

在数据科学与工程领域,数据的存储与读取是日常工作中不可或缺的一部分。选择合适的数据格式不仅影响数据处理的效率,还关系到存储空间的利用与后续分析的便捷性。本文将以通俗易懂的方式,深入探讨Python中几种常用的数据读写格式(…

Ubuntu开机The root filesystem on /dev/sdbx requires a manual fsck 问题

出现“Manual fsck”错误可能由以下几种原因引起: 不正常关机:如果系统意外断电或被强制重启,文件系统可能未能正确卸载,导致文件系统损坏。磁盘故障:硬盘的物理损坏可能会引发文件系统错误。文件系统配置问题&#x…

黑马Java面试教程_P10_设计模式

系列博客目录 文章目录 系列博客目录前言1. 工厂方法模式1.1 概述1.2 简单工厂模式1.2.1 结构1.2.2 实现1.2.3 优缺点 1.3 工厂方法模式1.3.1 概念1.3.2 结构1.3.3 实现1.3.4 优缺点 1.4 抽象工厂模式1.4.1 概念1.4.2 结构1.4.3 实现1.4.4 优缺点1.4.5 使用场景 总结&#xff0…

Science Robotics让软机器人“活”得更久的3D打印!

软机器人硬件在医疗、探索无结构环境等领域有广泛应用,但其生命周期有限,导致资源浪费和可持续性差。软机器人结合软硬组件,复杂组装和拆卸流程使其难以维修和升级。因此,如何延长软机器人的生命周期并提高其可持续性成为亟待解决…

Vue3实战教程》24:Vue3自定义指令

如果您有疑问,请观看视频教程《Vue3实战教程》 自定义指令​ 介绍​ 除了 Vue 内置的一系列指令 (比如 v-model 或 v-show) 之外,Vue 还允许你注册自定义的指令 (Custom Directives)。 我们已经介绍了两种在 Vue 中重用代码的方式:组件和组…