数据库系统概述

简单记录数据库系统的基本理论概念和关系数据库中关系、关系代数等。

数据库基本概念

  • 数据:数据库中存储的基本对象。
  • 数据库:是指长期储存在计算机内的、有组织的、可共享的大量数据集合。
  • 数据库管理系统(DBMS):建立、管理和维护数据库的软件系统,是一种位于应用软件和操作系统之间,实现数据库管理功能的系统软件。

数据模型组成要素

  • 数据结构:主要描述数据类型、内容、性质的有关情况以及数据间的联系,是对系统静态特征的描述。
  • 数据操作:主要描述在相应数据结构上的操作类型和操作方式,是对系统动态行为的描述。(CRUD)。
  • 完整性约束条件:主要描述数据结构内数据间的语法、语义联系,它们之间的制约与依存关系,以及数据动态变化的规则,以此保证数据的正确、有效与相容。

常用模型

  • 层次模型

    用树形结构表示记录类型和及其联系。

    优点:简单、分明、查询效率高、提供良好数据完整性支持。

    缺点:不能表示多对多联系,插入和删除限制多、查询子女必须通过双亲结点。

  • 网状模型

    网络结构表示实体类型及其实体之间联系的模型。有向图结构表示实体类型及实体间联系的数据模型。

    优点:能够更为直接地描述现实客观世界。可表示实体间的多种复杂联系。具有良好的性能,存取效率较高。

    缺点:结构比较复杂,数据独立性差。

  • 关系模型

    以二维表的形式表示实体数据和实体之间关系的数据模型,它由行和列组成。

    优点:具有数学基础、概念单一、存储路径透明。

    缺点:查询效率受限。

  • 面向对象模型

    基本结构是对象而不是记录,一切事物、概念都可以看做对象。一个对象不仅包括描述它的数据,而且还包括对其进行操作的方法的定义。

数据库内部体系结构

image-20231203154911181

三级模式

  • 外模式又称为子模式或用户模式,是模式的子集,是数据的局部逻辑结构,也是数据库用户看到的视图模式。(视图)

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

    模式实际上是数据库数据在逻辑结构上的视图,一个数据库只有一个模式。

    定义模式时不仅要定义数据的逻辑结构,而且要定义数据之间的联系,定义与数据有关的安全性、完整性要求。(表)

  • 内模式又称存储模式,它是数据在数据库中的内部表示,即数据的物理结构和存储方式的描述,一个数据库只有一个内模式。(物理存储/文件)

二级映像功能

  1. 外模式/模式映像:每一个外模式都有一个外模式/模式映像,该映像是外模式与模式之间的对应关系。

    当模式改变时,有数据管理员对各个外模式/模式映像做相应的改变,以保持外模式不变。

    外模式不变,应用程序不必修改,保证数据与程序的逻辑独立性。

  2. 模式/内模式映像:定义数据库的全局逻辑结构与存储结构之间的对应关系。该映像是唯一的。

    当数据库的存储结构改变时,由管理员对模式/内模式映像做出改变,使得模式保持不变。

    模式保持不变、外模式保持不变、应用程序不变,保证数据与程序的物理独立性。

逻辑独立性是指应用程序与数据的逻辑结构之间的独立性,即应用程序的逻辑结构不受数据库内部逻辑结构的影响。

物理独立性是指应用程序与数据的物理结构之间的独立性,即应用程序的物理结构不受数据库内部物理结构的影响。

数据库外部体系结构

  • 单用户结构
  • 主从式结构
  • 分布式结构
  • 客户机/服务器结构
  • 浏览器/服务器结构

数据库发展阶段

数据管理初级阶段

  • 人工管理阶段

    计算机系统不提供对用户数据的管理功能。

    数据是面向具体应用的。

    不单独保存数据。

  • 文件系统阶段

    数据可以长期保存。

    数据具有一定的独立性,但独立性差。

    数据共享性差,冗余度大——文件是面向应用的。

数据库系统阶段

特点:数据结构化;数据冗余度低、实现数据共享;数据独立性高;数据由DBMS统一管理和控制

关系

  • 域是一组具有相同数据类型的值的集合。
  • 笛卡尔积:D1×D2×…×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}
  • 分量:笛卡尔积元素(d1,d2,…,dn)中的每一个值di 叫作一个分量。
  • 元组:笛卡尔积中每一个元素(d1,d2,…,dn)叫作一个元组,如果它包含n个值,就叫n元组或简称元组。
  • 笛卡尔积不满足交换律。

外码:

设F是基本关系R的一个或一组属性,但不是关系R的码,K是基本关系S的主码。如果F与K相对应,则称F是R的外码,并称基本关系R为参照关系,基本关系S为被参照关系或目标关系。

关系模式三元组

R(U,D,DOM,F)

  • R是关系名
  • U为组成该关系的属性名集合
  • D为属性组U中属性所来自的域
  • DOM为属性向域的映像集合
  • F为属性间数据的依赖关系集合

数据库完整性

数据完整性是指数据库中的数据保持准确、一致和可靠的状态不受非法操作或意外损坏的影响

两种数据库完整性的实现方法包括:

  1. 实体完整性:通过主键和外键约束来确保每个表中的数据都是唯一的,并且在相关表之间建立正确的关联。
  2. 数据完整性:通过检查约束、默认值和触发器等手段来确保数据的准确性和一致性

约束

  • 唯一值约束。
  • 非空值约束。
  • 检查约束。
  • 缺省值约束。

集合运算

image-20231203202701159

如果R和S都是关系,具有相同的目n,且相应地属性取自同一个域,则R与S的并是由属于R或属于S的元组组成,其结果仍为n目关系,用R∪S表示集合并运算。

记作:R∪S = { t| t Î R∨t Î S }

image-20231203202735633

如果R和S都是关系,具有相同的目n,且相应地属性取自同一个域,则R与S的交是由既属于R又属于S的元组组成,其结果仍n为目关系,用R∩S表示集合交运算。

记作:R∩S = { t| t Î R∧t Î S }

image-20231203202802922

如果R和S都是关系,具有相同的目n,且相应地属性取自同一个域,则R与S的差表示由属于R但不属于S的元组组成,其结果仍n为目关系,用R-S表示关系R和S的差。

记作:R -S = { t| t Î R∧t Ï S }

选择运算

选择运算又称为限制运算。它是在关系R中选择满足条件的元组,记作: σC®= { t | t ∈ R ∧ C(t) = ‘真’}

C表示选择条件,由逻辑运算符与、或、非连接各算术表达式组成。

投影运算

投影是从R中选择出若干属性列组成新的关系。

记作:$\Pi_A{®}={t[A];|;t\in®}$

其中A为R中的属性列。

连接运算

等值连接

关系R与S的等值连接是从R和S的广义笛卡尔积R×S中选取A与B等值的那些元组形成的关系。

$R\bowtie S={\mathop{tr; ts}\limits^{\frown};|tr\in®\wedge ts \in(S)\wedge tr[A]\theta ts[B]}$

自然连接

$R\bowtie S={\mathop{tr;ts}\limits^{\frown};|tr\in®\wedge ts \in(S)\wedge tr[A]=ts[A]}$