• 【数据库】数据库系统概论(二)— 关系


    关系数据库

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

    关系模型的数据结构:关系;逻辑结构:扁平的二维表

    是一组具有相同数据类型的值的集合。

    例如:{a,b,c}、{0,1,2,3}等等

    笛卡尔积

    定义

    笛卡尔积是域上的一种集合运算。

    计算公式

    给定一组域为:D1,D2,D3,…,Dn 【允许有重复的域】

    笛卡尔积的计算公式为:

    D 1 × D 2 × D 3 × … × D n = { ( d 1 , d 2 , d 3 , … , d n ) ∣ d i ∈ D i , i = 1 , 2 , … , n } D1×D2×D3×…×Dn = {\{(d1,d2,d3,…,dn) | di ∈Di, i = 1,2,…,n\}} D1×D2×D3××Dn={(d1,d2,d3,,dn)diDi,i=1,2,,n}

    名词解释

    1. (d1,d2,d3,…,dn)叫做一个n元组(简称元组)

    2. di叫做分量。

    基数

    一个域允许的不同取值个数称为这个域的基数。

    对于一个有限集Di,基数为mi,那么笛卡尔积D1×D2×D3×…×Dn的基数M就是:

    M = Π n i = 1 m i \Pi{n \atop i=1}m_i Πi=1nmi

    在这里插入图片描述
    例1

    关系

    定义

    D1×D2×…×Dn的有限子集叫做在域D1、D2、…,Dn上的关系,表示为R(D1,D2,D3,…,Dn)

    R表示关系的名字,n是关系的目或者度

    关系是一张二维表,表中每行对应一个元组,表中每列对应一个域。

    由于域可以相同,所以每列要有一个名字,这个名字称为属性

    n目关系必有n个属性

    名词解释:

    1. 关系中的每个元素是关系中的元组,通常用t表示
      • n = 1时,关系为单元关系
      • n = 2时,关系为二元关系
    2. 候选码:关系中某一属性组的值能够唯一的标识一个元组,而其子集不能,则该属性组称为候选码。
    3. 主码:一个关系有多个候选码,要选中其中一个为主码
    4. 主属性:候选码的诸属性称为主属性
    5. 非主属性:不包含在任何候选码中的属性称为非主属性(或者非码属性)
    6. 全码:关系模式的所有属性是这个关系模式的候选码,这个候选码称为全码

    关系的三种类型

    1. 基本关系(基本表/基表)

      是实际存在的表,是实际存储数据的逻辑展示

    2. 查询表

      是查询结果对应的表

    3. 视图表

      是由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据

    基本关系的性质

    1. 列是同质的(每一列中的分量是同一类型的数据,来自同一个域)
    2. 不同的列可以出自同一个域,称其中每一列为一个属性。不同的属性要给予不同的属性名
      1. 例如例1,我们也可以分为两个域,person{张清玫、刘逸、李勇、刘晨、王敏}specialty{计算机专业、信息专业}。person这个域又分为两种属性,研究生和导师
    3. 列的顺序是无所谓的,即列的顺序可以随意交换
    4. 行的顺序是无所谓的,即行的顺序可以随意交换
    5. 任意两个元组的候选码不能去同样的值
    6. ⭐分量必须取原子值,即每一个分量都是一个不可分的数据项

    这种规范化的关系,简称为范式。

    关系模式

    关系的描述称为关系模式。

    R ( U , D , D O M , F ) R(U,D,DOM,F) R(U,D,DOM,F)

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

    通常也可以简写为 R ( U ) R(U) R(U)

    关系操作

    基本关系操作

    包括:查询和插入修改删除这两类。

    查询操作

    1. SELECT 选择
    2. PROJECT 投影
    3. JOIN 连接
    4. DIVIDE 除
    5. UNION 并
    6. EXCEPT 差
    7. INTERSECTION 交
    8. 笛卡尔积

    关系语言

    在这里插入图片描述

    SQL语言是高度的非过程化的语言。也就是说,如果要查询某个指标,关系数据库会为其选择最优的查询路径,用以提高查询效率

    完整性

    实体完整性

    规则:

    若属性(一个或一组)A是基本关系R的主属性,则A不能取空值。

    参照完整性

    外码概念

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

    在这里插入图片描述

    规则

    若属性F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中的每一个元组在F上的值为:

    1. 空值(F中每个属性值均为空值)
    2. S中某个元组的主码值

    用户定义完整性

    某一具体应用所涉及的数据必须满足语义要求

    关系代数

    运算符含义
    集合运算符
    交集
    并集
    -差集
    ×笛卡尔积
    关系运算符
    σ选择
    Π投影
    连接
    ÷

    集合运算符

    下面以 集合R和集合S为例

    并 ∪

    R ∪ S = { t ∣ t ∈ R ∪ t ∈ S } R∪S=\{t|t∈R∪t∈S\} RS={ttRtS}

    差 -

    R − S = { t ∣ t ∈ R ∩ t ∉ S } R - S = \{t|t∈R∩t∉S\} RS={ttRt/S}

    交 ∩

    R ∩ S = { t ∣ t ∈ R ∩ t ∈ S } R∩S=\{t|t∈R∩t∈S\} RS={ttRtS}

    笛卡尔积

    R × S = { t r t s ∣ t r ∈ R ∩ t s ∈ S } R×S = \{t_rt_s|t_r∈R∩t_s∈S\} R×S={trtstrRtsS}

    图示传统集合运算

    在这里插入图片描述

  • 相关阅读:
    基于JavaWeb实现ATM机系统
    java-php-python-贝壳找房系统计算机毕业设计
    蛋白质结构预测 AlphaFold2、ColabFold、Uni-Fold
    DSP生成hex方法
    从入门到进阶 之 ElasticSearch 文档、分词器 进阶篇
    E. Count Seconds(DAG/拓扑排序/树形dp)
    Win7系统如何在线进行重装?在线一键重装Win7方法
    二、MyBatis 框架 XML 标签总结
    xxl-job 执行器注册成功,但是xxl-admin 不显示
    effective c++ 41 隐式接口和编译器多态
  • 原文地址:https://blog.csdn.net/qq_41675812/article/details/132859075