一、关系数据库结构及结构化定义
关系模型的数据结构很简单,就可以看成一张二维表。它的专业名词叫做关系。
我们先来看一下一张表(关系)的例子
ID | name | dept_name | salary |
---|---|---|---|
2222 | Einstein | Physics | 95000 |
1211 | SUN | Finance | 90000 |
在这里我们一起来分析一下这张表的组成。(在这里将会介绍它的一些专有名词的解释)
1.域
域指的是具有相同数据类型的值的集合,在这张表中name和dept_name这两列就可以看做是同一域,因为这两列存储数据的数据类型都可以看做是字符串类型。而关系就是可以看做这些域来进行笛卡尔乘积。(笛卡尔积指的是域上的一种集合运算)
2.元组
元组指的是这张表中的某一行,通常也叫做行,记录。
3.关系模式
关系模式可以看做是这张表的表头,也就是这张表的第一行。关系模式通常是用来描述这个关系的,而属性的组合也就是它的形式。
3.候选码
候选码指的是能唯一标识这张表的最小的属性组合。它可以有一列构成,也可以有很多列构成。有的时候,一个关系中可以有很多个候选码。候选码中所有的属性都称为主属性。而不包含任何的候选码中的属性叫做非主属性或非码属性。当一个关系模式中所有的属性都是候选码的时候,就叫做全码。
4.目或度
在这里我要先说明一下什么是关系,一个关系可以说是D1,D2…Dn相乘中的子集(就是不同组合的乘积)。而n是这个关系的目或者度。n目关系必有n个属性。
二、关系操作和关系代数
通常指的是:查询操作和插入、删除、修改操作两大部分。
这里主要介绍查询部分的一些基本操作。(关系代数)
集合运算符
通常是二目运算,也就是R,S要有相同的的目,即两个关系都要有n个属性,且相应的属性要取自同一个域。(并不是说这两个关系所描述的东西是完全相同的)
1.并
并指的是将这两个关系合并到一起,并且会自动的删除相同的行。
2.差
R-S,指的是删除R中与S相同的行。
3.交
指的是取R和S中相同的行。
4.笛卡尔积
这里指的是广义的笛卡尔积。就相当于将所有的行进行一一对应。两个三行的关系进行拼接,就会得到9行的关系。
专门的关系的运算
博主会在这里偷个懒,这些的操作运算符我就不打了
1.选择
就是指只保留你要的的某几行。
2.投影
投影得到的是你所需要的某几个属性。
3.连接
这里分为等值连接和自然连接。
等值连接指的是,你选取属性值相同的那些元组,会删掉属性值不同的。(它们的属性名不一定要相同)相同的属性列不会去掉。
自然连接其实是等值连接的一种特殊的形式,它的连接,你要保证,他们的属性名要相同。并且会把重复的属性列去掉。
4.除运算
因为在实际的实验操作过程中很少用到,这里博主就不介绍了,有感兴趣的小伙伴就自己下去看吧。
在这里还有一些关系演算之类的概念,会在之后的博客中进行介绍总结。这个其实也是答主自己的一些学习过程。
这篇文章也是博主自己的学习笔记,如果有错误,欢迎评论区指出,博主感激涕零。
文章同步更新:YuKonSUN的个人博客