工大数据库系统(三)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述关系代数的操作是一次一集合的操作,非关系型的就是一次一条记录的操作,在网状或者层次模型中通过指针一次只能操作一条记录。
在这里插入图片描述
基于关系代数设计的数据库语言是使用计算机可以描述的符号把关系代数运算给表达出来可以通过键盘输入相应符号来表达相应的关系。

在这里插入图片描述在这里插入图片描述

开发软件系统的思维:通过数学语言描述然后进行设计相应数学语言对应的计算机语言,最后实现软件系统的开发。

在这里插入图片描述
理解关系(Relations),理解如何用Relation对Table进行抽象或者说严格定义
理解关系/表(relation/table)所具有的各种特性,理解关系模型/
熟练掌握关系代数、元组演算和域演算(域演算以QBE为例来学习),用这些关系运算来表达各种负责的检索需求,以便于后续SQL的学习

为什么把“表”称为关系?
怎样严格定义一个“表"?
"表”和“关系”有什么异同?

一、表的基本构成要素

在这里插入图片描述
严格的定义就是要用数学的形式严格的表述,当前的table有多少列多少行,元素的值从哪里来。在这里插入图片描述
在这里插入图片描述在这里插入图片描述

因为笛卡尔积中的所有元组并不都是有意义的,所以提出了关系的概念。从笛卡尔积中抽出的有意义的组合就是关系。某种意义就可以通过table的名字来表达。然后给这个新的table的每一列取一个和笛卡尔积中不同的名字。关系的不同列可能来自同一个域,为了区分,需要为每一列起一个名字,该名字称为属性名。

域名和属性名是不同的,域名是针对一个可以取值的集合的名字,属性名是关系中某一列的含义取的一个名字,属性值里面是来自前面的某个域。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在DBMS中并没有直接表现为每个属性在哪个集合中表示,然后把集合给出,而是使用这个集合共有的特点,比如这个集合中数据的类型和长度等,才出现了上述的表示过程。

在这里插入图片描述在这里插入图片描述

二、关系的特性

1.== 列是同质==:即每一列中的分量来自同一域,是同一类型的数据。(同一个数据类型的数据)
2. 不同的列可以来自同一个域,所以每一列都需要有一个属性名,不同的属性要给予不同的属性名。

在这里插入图片描述

  1. 关系和行列的位置:
    列位置互换性:区分哪一列是靠列名
    行位置互换性:区分哪一行是靠某一或某几列的值(关键字/码字/键字)
    关系是以内容(名字或值)来区分的,而不是属性在关系的位置来区分

在这里插入图片描述

  1. 理论上关系是按照集合的要求来定义的,集合要求互异性,所以关系中的任意两个元组不能完全相同;现实应用中,table可能并不完全遵守此特性;元组相同是指两个元组的每个分量都相同。
    关系是从理论上来进行描述的,table是从DBMS具体实现上进行描述的。二者其实并不完全相同,从这里的是否可以有相同的元组就可以看出来】

在这里插入图片描述

  1. 属性不可再分性(关系要满足第一范式)

在这里插入图片描述符合属性只选择一个留下,多值属性拆出另一个表进行表示。

在这里插入图片描述如果有好几个孩子,那么这里就比较不好处理,多一个就得多加一个属性值,这种情况下右下表通常转化成左上角。

三、候选码与外码

在这里插入图片描述在设计一张表的时候通常要选择一个候选码,如果候选码发生改变的话整个应用程序都要发生改变。
有时,关系中有很多组候选码,当有多个候选码是选择一个作为主键。
在这里插入图片描述

在后台进行存储、查询应该是以主码为线索。

在这里插入图片描述是在任何一个候选码中的属性而不是在所有候选码交集中的属性。
在这里插入图片描述外码通常的作用是连接两个或者多个关系的纽带。

关系和表
关系和表是有一定差异的,表是可以有一定的重复元组的,而关系不可以。

在这里插入图片描述

四、关系模型的完整性

(一)实体完整性

关系的主码中属性值不能为空值
空值:不知道或无意义的值
关系中的元组对应到现实世界相互之间可区分的 一个个个体,这些个体通过主码来唯一标识的;若主码为空,则出现不可标识的个体,这是不容许的。
在这里插入图片描述很多的时候DBMS会使用默认值来代替空值,但是这个默认值也要在查询检索的时候进行区分 .
在这里插入图片描述
参照完整性是指在一个table中作为外码的那个属性的值要不为空,要不就一定是在以这个外码为主码的table中对应的可以取到的值。比如上面的那个图,如果D#为空值意味着这个学生还没有被分配系,那么如果后面他被分配到某个系只能去Dept表中去找一个值,不能为Dept表中没有出现的值。

在这里插入图片描述
在这里插入图片描述
完整性约束实际上是DBMS提供的一套操作。比如有的时候不让保存和更新某些元组,可能就是某样完整性约束不满足定义的条件。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值