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

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

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.mrgr.cn/news/82363.html

相关文章:

  • ZYNQ初识6(zynq_7010)clock时钟IP核
  • C++11编译器优化以及引用折叠
  • 在Mac电脑上搭建Gradle
  • 智能手机租赁系统全新模式改变消费习惯与商家盈利路径
  • Java 生成一个基于最小值、最大值和数量的随机数组
  • 一文读懂 Linux 目录切换
  • STM32 拓展 电源控制
  • 实际开发中,常见pdf|word|excel等文件的预览和下载
  • 前言(1)
  • flink cdc oceanbase(binlog模式)
  • 二、AI知识(神经网络)
  • Speedtest 测试客户的上/下行带宽
  • 泊松融合调研
  • 机器学习 学习知识点
  • Spark-Streaming有状态计算
  • Qt之简易音视频播放器设计(十五)
  • JAVA-制作小游戏期末实训
  • 服务端错误的处理和web安全检测
  • 六年之约day5
  • 软件项目的灵魂拷问:“要做什么?”和“做成了什么?”
  • Win11电脑Cursor默认打开markdown文件,如何修改markdown文件默认打开方式为Typora?
  • 鸿蒙开发汇总
  • HarmonyNext 鸿蒙开发中,在H5 页面如何下载图片保存到媒体库。
  • 使用Diffusion Models进行图像超分辩重建
  • CodeBlocks编程-C语言学习总结
  • 通过blob请求后端导出文件