1-1-关系数据库

关系数据库

  • 关系数据库应用数学方法处理数据库中的数据。

  • 关系数据库系统是支持关系模型的数据库。

  • 关系数据结构以及形式化定义

    1. 关系:关系模型的数据结构非常的简单。关系模型中数据的逻辑结构就是一张扁平的二维表

    2. 这里从集合论的角度给出关系数据结构的形式化定义。

    1. 域(domain):域是一组具有相同数据类型的值得集合。例如:{0,1},{男,女},大于等于0且小于等于100的正整数等等。

    2. 笛卡尔积:首先举个例子:给出三个域:D1=老师集合=

    ​ D2=专业集合={计算机科学与技术,电子信息工程}

    ​ D3=学生集合={A,B}

    则D1,D2,D3的笛卡尔积为D1XD2XD3= {

    ​ (张三,计算机科学与技术,A),(张三,电子信息工程,A),

    ​ (张三,计算机科学与技术,B),(张三,电子信息工程,B),

    ​ (李四,计算机科学与技术,A),(李四,计算机科学与技术,B),

    ​ (李四,电子信息工程,A), (李四,电子信息工程,B)

    }

    其中,(张三,计算机科学与技术,A),(张三,电子信息工程,A)等每一个笛卡尔积中的元素称之为元组,每一个元组中的元素称之为分量,例如元组(张三,计算机科学与技术,A)中分量有

    张三,计算机科学与技术,A。

    1. 笛卡尔积的基数就是集合里数目的乘积,也就是说共有多少个元组,例如上面笛卡尔积的基数就是2X2X2=8。这8个元组其实就构成了一张二维数据表。

    2. image

    3. 关系:D1XD2XD3......XDn的子集叫做在域D1,D2,D3...,Dn上的关系,表示为R(D1,D2,D3...Dn)

    概念很抽象,举个例子,上个表中关系就是R(老师,专业,学生),然后给R随便取个名字,叫做SAP,于是这个关系可以表示为SAP(老师,专业,学生)。总结一下就是:关系名(属性名2,属性名2,属性名3,....,属性名n)其中呢,每一个属性名都可以称之为候选码,但是,如果在这里面的所有候选码中,如果能找到一个候选码能够唯一,数据不重复,就可以当做主码。至于主码,后面详细的说.

    1. 基本关系的6大性质
    • 每一列是同质的,也就是属性相同的。
    • 不同的列可以来自于同一个域,其中的每一个列称之为属性,不同的属性列要给他们不同的属性名。
    • 属性列的顺序无所谓,也就是属性列的位置可以任意交换。
    • 行的顺讯无所谓。即每一行与其他行不论怎么交换都是可以的。
    • 每一个分量必须取原子值,也就是每一个值必须是不可分割的数据项。
    • 任意两个元组的候选码不能取相同的值。
  • 关系模式:关系的描述称之为关系模式,它可以表示为R(U,D,DOM,F)

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

posted @   LilyFlower  阅读(399)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示