关系数据库

关系数据库简介

关系数据库系统是支持关系模型的数据库系统
关系模型由数据结构关系操作集合完整性约束三部分组成
单一的数据结构------关系

关系操作
关系模型中常用的关系操作包括两类:
⭐查询操作:选择、投影、连接、除、并、交、差
⭐增加、删除、修改操作
特点:操作的对象和结果均是集合;一次一集合

关系数据语言
🔸三类:关系代数语言、关系演算语言和具有关系代数和关系演算双重特点的语言

关系

在关系模式中,数据是以二维表的形式存在的,这个二维表就叫做关系

关系理论是以集合代数理论为基础的,因此我们可以用集合代数给出二维表的“关系”定义

为了从集合论的角度给出关系的定义,我们先引入域和笛卡尔积的概念 :

⭐域(Domain)

域是一组具有相同数据类型的值的集合,又称为值域(用D表示)
域中所包含的值的个数称为域的基数(用m表示)
关系中用域表示属性的取值范围

例如:
D1={李力,王平,刘伟} m1=3
D2={男,女} m2=2
域中的值无排列次序,如D2={男,女}={女,男}

⭐笛卡尔积(Cartesian Product)

给定一组域D1,D2,…,Dn(它们可以包含相同的元素,即可以完全不同,也可以部分或全部相同)。D1,D2,…,Dn的笛卡尔积D1×D2×…×Dn={(d1,d2,…,dn)| di∈Di,i=1,2,…,n}有定义可以看出,笛卡尔积也是一个集合
其中:
①元素中的每一个di叫做一个
分量
(Component),来自相应的域(di∈Di);
②多个元素(d1,d2,…,dn)叫做一个n元组(n-tuple),简称元组(Tuple)。但元组不是di的集合,元组的每个分量(di)是按序排列的,如:(1,2,3)≠(2,3,1)≠(1,3,2);而集合中的元素是没有排序次序的,如:1,2,3)=(2,3,1)=(1,3,2)
③若Di(i=1,2,…,n)为有限集,Di中的集合元素个数称为Di的基数,用mi(i=1,2,…,n)表示,则笛卡尔积D1×D2×…×Dn的基数M(即元素(d1,d2,…,dn)的个数)为所有域的基数的累乘之积

例如:
上述表示教师关系中姓名、性别两个域的笛卡尔积为
D1×D2={李力,男),(李力,女),(王平,男),(王平,女),(刘伟,男),(刘伟,女)}
其中:
🔹 李力、王平、刘伟、男、女都是分量
🔹(李力,男),(李力,女)等是元组
🔹其基数M=m1×m2=3*2=6
🔹元组的个数为6

④笛卡尔积可用二维表的形式表示
在这里插入图片描述
笛卡尔积实际是一个二维表,表的框架由域构成,表的任意一行就是一个元组,表中的每一列来自同一域,如第一个分量来自D1,第二个分量来自D2。

⭐关系(Relation)

笛卡尔积D1×D2×…×Dn的任一子集称为定义在域D1,D2,…,Dn上的n员关系,可用R(D1×D2×…×Dn)表示。
如上例D1×D2笛卡尔积的子集可以构成教师关系T1,如下表:
在这里插入图片描述
几点说明
R为关系名,n称为
关系的目或度
(Degree)
当n=1时,称为单元关系
当n=2时,称为二元关系
… …
当n=n时,称为n元关系
关系是笛卡尔积的有限子集,即是一个二维表,行对应一个元组、列对应一个域、每列的名称称为属性
n目关系必有n个属性

⭐属性、码的概念

候选键与关键字
唯一标识关系中元组的属性或属性集,则称该属性或属性集为候选键(Candidate Key),也称候选关键字候选码。如:
■ “学生关系”中的学号能唯一的标识每一个学生,则属性学号是学生关系的候选键
■ 在“选课关系”中,只有属性的组合“学号+课程号”才能唯一地区分每一条选课记录,则属性集“学号+课程号”是选课关系的候选键
如果一个关系中有多个候选键,可以从中选择一个作为查询、插入和删除元组的操作变量,被选用的候选键称为主关系键(Primary Key),或简称为主键、主码、关系键、关系字
例如:在学生关系中假设存在身份证号属性,则“学号”和“身份证号”都可以作为学生关系的候选键,如果选定“学号”作为数据操作的依据,则“学号”为主关系键

主属性与非码属性

主属性(Prime Attribute):包含在任何一个候选码中的各属性称为主属性
非码属性(Non-Prime Attribute):不包含在任何候选码中的属性称为非码属性,或非主属性(Non-key Attribute)

在最简单的情况下,一个候选码只包含一个属性,如学生关系中的“学号”,教师关系中的“教师号”
在最极端的情况下,所有属性的组合是关系的候选码,这时称为全码(All-Key)
例如:假设有教师课程参考书关系TCB,分别有三个属性 教师号(T)、课程号(C)和参考书(B)。一个教师可以讲授多门课程;一门课程可以为多个教师讲授,它们使用相同的一套参考书;同样每种参考书可以供多门课程使用。在这种情况下,T、C、B三者之间是多对多关系,(T,C,B)三个属性的组合是关系TCB的候选码,称为全码,T,C,B都是主属性

关系的类型
基本关系(通常又称为基本表基表):实际存在的表,实际存储数据的逻辑表示
查询表:查询结果对应的表
视图表:由基本表或其它视图表导出的表,是虚表,不对应实际存储的数据

⭐关系的基本性质

尽管关系与二维表格、传统的数据文件是非常类似的,但它们之间又有重要的区别:
关系中不允许出现相同的元组
关系中元组的顺序(即行序)是无关紧要的,在一个关系中可以任意交换两行的次序。
关系中属性的顺序是无关紧要的,即列的顺序可以任意交换。交换时,应连同属性名一起交换,否者将得到不同的关系
同一属性名下的各个属性值必须来自同一个域,是同一类型的数据。即列是同质的

关系中各个属性必须有不同的名字,**不同的属性可来自同一个域,**即它们的分量可以取自同一个域
例如:有下表中的关系,职业与兼职是两个不同的属性,但它们取自同一个域,职业={教师,公务员,企业主}👇
在这里插入图片描述

关系模式

关系数据库中,关系模式关系
关系模式对关系结构的描述,是关系的框架,或称为表框架。它应该:
指出关系由哪些属性构成,这些属性来自哪些域,以及属性与域之间的映像关系
刻画关系必须满足的完整性约束条件
定义:关系的描述称为关系模式(Relation Schema)。一个关系模式应当是一个五元组。它可以形式化地表示为:R(U,D,DOM,F)
其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合
关系模式通常可以简记为:R(A1,A2,…,An)
其中R为关系名,A1,A2,…,An为属性名。而域名及属性向域的映像常常直接说明为属性的类型和长度

关系模式是静态的、稳定的;关系是关系模式在某一时刻的状态或内容,动态的、随时间不断变化的

关系数据库模式

一组关系模式的集合叫做关系数据库模式
关系数据库模式是对关系数据库结构的描述。

例如,在教学数据库中,共有五个大系,其关系模式分别为:
🔹学生(学号,姓名,性别,年龄,系号)
🔹教师(教师号,姓名,性别,年龄,系号)
🔹课程(课程号,课程名,课时)
🔹选课(学号,课程号,成绩)
🔹授课(教师号,课程号)
🔹系(系号,系名,地址)
在每个关系中,又有其相应的数据库的实例,如下图是学生关系模式对应的数据库实例👇在这里插入图片描述
关系数据库
关系数据库是“一组随时间变化,具有各种度的规范化关系的集合

在关系模型中,实体以及实体间的联系都是用关系来表示。在一个给定的现实世界领域中,相应于所有实体及实体之间的联系的关系的集合构成一个关系数据库

由此可见,关系数据库也有型和值的概念,其就是关系数据库模式,相对固定;其就是关系数据库内容,代表现实世界中的实体,而实体是随着时间不断变化的,所以其值在不同的时刻会有所变化

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值