数据库基本理论和概念:关系模型

article/2025/10/9 14:52:49

      关系模型有三个原理组件:结构性组件、完整性组件以及操纵性组件。

     本文主要介绍结构性组件及其它组件的一些基本概念。本文的产生,基于阅读The Definitive Guide to Sqlite后的一些感想!

(1)结构性组件

        定义了信息的组织方式和表示方式。具体点说,所有的信息都用关系(relations)来表示。关系是由tuple(元)组成的,元又是由属性和值两部分组成。关系(relation)是数据库中用来表示各种信息的唯一的数据结构。关系模型中的relation概念起源于数学集合理论中的relation概念,因此它们很多属性有很多相似之处。

      

       tuple可理解为值的集合,每一个值都有相关联的属性。 A set of values, each of which has an associated attribute!

       tuple由属性和值两部分组成。属性定义了value的名字(name)和域(domain),name可以用来区分tuple中的value, domain则限制了value的范围。把attribute属性和value值组合起来,就是一个component.

      那么,什么是relation呢? A set of one or more tuples that share the same heading!

我们先看看heading的概念。heading就是tuple中一群属性的集合,如上图所示。

      一个relation,简单的说,就是具有相同heading的一个或多个tuple。也就是说,在一个relation中,所有的tuple share一个heading.

   

        接下来,什么是table呢? 简单的说,可以认为是relation变量。即:Relation Variables.

       一个relation,虽然它本身包含很多value, 自己本身也是一个value, 就如同一个整数或字符串一样。不禁要问,relation的value是什么呢?每一个relation的value是由该relation内部的某个tuple赋值的。与此类似,每一个tuple的值也是由该tuple内部的某个值。因此,一个relation是由它各个部分综合来决定的。下面这个图可以用来深入理解下此概念。

      

           上图描述了3个relation, 用R1\R2\R3表示,替代了IXF。他们各自代表不同的值,也就是不同的relation。然而,R1\R2\R3本身并不被认为是relation,而被认为是relation variables.在SQL中,它们被形象的称为tables.他们也被称为基表,由于他们也是变量,并且变量的值为relations.

          在实际应用中, Relation的准确定义可能比较让人难以理解,其定义比较模糊。通常,relations和table都在同样的语境中使用。然而,relation和table并不是一样的东西。可以这么理解, relation是值,而table是变量。

       tables,是变量,既有名字,也有值。名字只是一个标记,而值就是relations. tables具有relations的所有属性(heading,degree,cardinality等),这就如同一个整型变量具有所有整数的特性一样。请注意:

        A table is a variable holding an entire relation as its value。

      有了前面这些知识作为基础,大家可以思考下,如果更新或者修改一个table,意味着什么呢?无论变化多么细微, 你都将改变整个relation.也就是说,你不会只是改变某个行或列,实际上你会用一个relation去交换一个新的relation. 在新的relation里, 包含有你希望改变的行和列。

      接下来   ,我们介绍视图的概念。

      然而不能说视图就是table. 这 就比如说,代数表达式x+y本身不是一个数字,但是如果给表达式赋值,它可以得到一个数字。例如,如果数据系统管理员(DBA)把一个大的table拆成2个小的table,他可以创建一个视图,这个视图看起来就与拆分前的table一模一样。实际上,这个。这样,对于用户和应用程序来说,似乎就没有差别。这样,就实现了一种逻辑数据的独立性。

      逻辑数据的独立性,不仅仅体现在用户查看数据的时候。实际上,你也可以对视图进行写操作,就像对普通的table进行写操作一样。

    

       结构组件是其它组件的基础,它定义了信息表示的表格或形式。定义的规则最早由codd提出。

      信息原理:关系数据库中的所有信息都是在逻辑层明确表示,并且只通过唯一的方式表示。这种唯一的方式就是通过表(table)中的value来表示。

       也可总结如下:

     数据库中的所有信息内容都是通过表(table)中的由行和列共同确定的位置处存放的值来表示的。这种表示方式是唯一的。

        逻辑层指的是用户查看数据库和查找其中的数据的方式。它有2个重要属性:

       第一,逻辑层的视图(VIEW)由表(table)组成,table由许多行(rows)组成,行由许多value值组成;

       第一,逻辑层的视图(VIEW)与数据库系统是完全独立的,包括实现它的软件技术和硬件技术;

       也就是说,逻辑层的表示自成体系,完全不同于数据库的具体实现方式、数据库的物理存储方式以及数据库内部如何操作数据。如果数据库供应商决定改变数据库表格(tables)在磁盘上的存储方式,信息原理保证了这种物理层的改变不能影响数据的逻辑表示,即你看到数据的方式是不能改变的。可以参看下面的示意图深入体会下:

    

            可见,信息原理的强制性特点,使得我们无论采用什么硬件,无论运行什么操作系统,无论采用什么方法来实现软件,用户都可以看到完全一致的信息逻辑视图。

           我们已经知道,数据库是由tables和views组成的。你也许还想知道,如何在数据库中找到指定的数据呢? 所有的表,视图,约束条件以及其他数据库对象都注册到了系统目录中。

         

(2)完整性组件:

        定义了结构性组件中relation内部和relation(或者table)之间的生成和维持关联性(relationship)的方法。这些方法以规则的形式表示,被称为约束条件(constraints).完整性组件有三种原理类型:(一)domain integrity域的完整性,该类型主要限制了列中的值大小;(二)实体完整性(entity integrity),主要控制table的行数;(三)引用(referential)完整性,主要管理表(table)之间的关系。

      

 

 

(3)操纵性组件:

         定义了用于操纵或管理信息的方法,如relations。这些方法起源于数学中的关系代数理论和关系微积分理论。

 

 


http://chatgpt.dhexx.cn/article/wiDhTndf.shtml

相关文章

数据库理论

前言 本篇只讲述数据库相关的各种概念理论,具体代码实践不在本篇讨论范围之内,此后会另起一篇写代码和例题 由于是还有几天就要考试了,所以本篇内容尽量精简,采用的语言也并不官方,尽可能通俗易懂。 数据库发展史 什么…

数据库-关系数据库设计

关系数据库设计理论包括 1.数据依赖 2.范式 1NF,2NF,3NF,BCNF 3.关系模式的规范化 设计步骤 数据分析->数据建模->关系数据库模式->关系数据库管理 ER模型 实体指数据对象 实体集指一类实体构成的集合 实体某一特性称为属性 一、函数依赖 关系:描述实体及…

数据库-关系模型

最近开始做数据库的大实验,其中有一条实验要求如下: 通过网络查找相关文献并参考所给资料进行需求分析,画出系统的 E-R 图,给出实体或联系的属性,标明联系的种类,并写出 关系模式。 画ER图没有什么问题&…

【数据库原理及应用】——关系数据库的规范化理论(学习笔记)

📖 前言:关系数据库的规范化理论是数据库设计的一个理论指南,提供了判断一个关系模式优劣的理论依据。本章讨论的关系数据库的规范化理论主要包含三方面内容:函数依赖、范式和模式分解准则。函数依赖起着核心作用,是模…

数据库原理—关系数据库

一、思维导图: 二、基本知识点: 1、关系数据库结构 (1)域:一组具有相同数据类型的值的集合(如整数、实数、指定长度的字符串集合) (2)笛卡尔积运算:假设两个…

数据库原理——关系数据理论(全)

关系数据理论 数据依赖包括函数依赖和多值依赖。 5.1 函数依赖 5.1.1 函数依赖的定义 设 R ( U ) R(U) R(U)是属性集U上的关系模式, X , Y ⊆ U X,Y\subseteq U X,Y⊆U ( X , Y X,Y X,Y是属性), 若对于 ∀ r ( 值 ) ∈ R ( U…

数据库原理——关系数据理论(一)

关系数据理论 数据依赖包括函数依赖和多值依赖。 5.1 函数依赖 5.1.1 函数依赖的定义 设 R ( U ) R(U) R(U)是属性集U上的关系模式, X , Y ⊆ U X,Y\subseteq U X,Y⊆U ( X , Y X,Y X,Y是属性), 若对于 ∀ r ( 值 ) ∈ R ( U…

关系数据库基础理论

mysql系列之一关系数据库基础理论 正是数据库管理的需要催生了数据库管理系统DBMS,而关系型数据库管理系统为RDBMS 常见的数据模型有三种: - 层次模型 - 网状模型 - 关系模型 一、关系数据库的产生 在DBMS出现之前,人们用文件来管理数据…

关系数据库(数据库原理)

目录 一、关系数据结构 二、关系的完整性 三、关系运算 四、关系的规范化 一、关系数据结构 1、关系的定义和性质 (1)、 关系的数学定义: 域: 一组有相同数据类型的值得集合 笛卡尔积: 设任意的N个域D1,D2,…,Dn。…

数据库系统-关系数据理论

数据库系统-关系数据理论 关系数据库规范化理论 关系数据库规范化是为了告诉你如何才能设计出合适的库和表。 关系模式由五部分组成,即它是一个五元组 ​ R(U,D,DOM,F) R: 关系名 U: 组成该关系的属性名集合 D: 属性组U中属性所来自的域 DOM: 属性向域的映像…

关系数据理论

关系数据理论 本篇文章记录了第十五次作业 关系数据理论指的是关系数据库的规范化理论。这一理论是用来规范数据库模式的。落到实践层面来说,就是对数据库里面的这些表应该怎么建才好的一种理论。比如在之前遇到的的学生-选课-课程表中,我们有很多属性&…

关系数据库设计理论

一、关系数据库模型 关系模型是一种基于表的数据模型,以下为关系学生信息,该表有很多不足之处,本文研究内容就是如何改进它: 下面是一些重要术语: 1.属性(attribute):列的名字&…

数据库导论 关系数据库理论

1. 数据库理论 数据库是 一系列有价值的信息组成的结构化的集合 (A structured collection of meaningful data). 我们称任何有价值的信息为 数据, (Data) 用于构建和维护数据库的软件为 数据库管理系统 (DBMS, Database Management System), 而 数据库管理系统 和 数据 共同…

数据库设计——关系数据理论(超详细)

?问题——什么是一个好的数据库逻辑设计? ●关系型数据库逻辑设计: ➠针对一个具体问题应如何构造一个适合于它的数据模式,即应构造几个关系,每个关系由哪些属性组成等 eg: ?这样的设计是一个…

关系数据库理论

关系数据库理论 关系模式的组成 一个关系模式应当是一个五元组R(U,D,DOM,F) 这里R是符号化的元组语义 U为一组属性D为属性组U中的属性所来自的域DOM为属性到域的映射F为属性组U上一组数据依赖(是一组数据依赖的集合) 由于D,DOM与模式涉及关系不大&a…

【数据库】关系数据理论

问题的提出 一、概念回顾 关系:描述实体、属性、实体间的联系。 从形式上看,它是一张二维表,是所涉及属性的笛卡尔积的一个子集。 关系模式:用来定义关系。 关系数据库:基于关系模型的数据库,利用关系来描…

数据库原理(2)关系型数据库理论

二、关系型数据库理论 2.1 关系型数据库中基本概念 关系(Relation) 一个关系就是一张二维表,每个关系都有一个关系名元组 二维表中的行称为元组属性 二维表中的列称为属性关系模式 关系模式是对关系的描述。一般格式为R(D1,D2,D3..) R关系名…

锂离子电池的国际标准和国家标准(含安全方面IEC62133等,IEC61060电性能和UN38.3 GB4943运输存储标准)

做锂电池测试的相关标准 锂离子电池相关标准: 国家标准公开系统:国家标准全文公开 国家标准|GB 31241-2022下载和预览 GB31241-2022《便携式电子产品锂离子电池和电池组 安全技术规范》与2014变化内容 GB31241-2022国家强制标准,2024年1月1…

IEC 60664-1-2020【现行】低压供电系统内设备的绝缘配合第1部分:原则、要求和试验

IEC 60664-1-2020【现行】低压供电系统内设备的绝缘配合第1部分:原则、要求和试验 IEC60664-1-2020【现行】低压供电系统内设备的绝缘配合第1部分:原则、要求和试验-咨询文档类资源-CSDN下载IEC60664-1-2020【现行】低压供电系统内设备的绝缘配合第1部分:原则、要求和试验&…

IEC60958/61937协议

目录 第零节 本文内容 第一节 IEC60958/61937协议概述 第二节 IEC60958/61937硬件接口 第三节 IEC60958数据格式 第四节 IEC61937数据格式 第零节 本文内容 IEC60958/61937协议是我们音频开发中常见的一种协议,本文就叙述一下该协议的架构&#…