按照课本
基础篇
数据库有很多种类,现今用的最多的就是关系模式的关系数据库,所以接下来我们是对关系数据库进行了解学习
关系数据库
关系数据结构及形式化定义
- 关系是什么?
关系是一种数据结构
在关系模型中,现实世界中的实体以及实体之间的各种联系均用单一的数据结构-关系来表示
了解一下关系数据结构的形式化定义
再次再次强调:关系模型的数据操作是对集合的操作
1:域:是一组具有相同数据类型的值得集合
2:笛卡尔积:基于域上的一种集合运算
元组:每一个元素(d1,d2,d3....dn)叫做n元组,简称元组
分量:每一个值di叫做分量
3:关系:
有几个比较重要的概念需要厘清:
- 码:唯一标识实体的属性
- 候选码:在码里面的,在关系中的某一属性组的值能唯一标识一个元组,而其子集不能
- 什么意思?举个例子:姓名唯一,而且没有多余属性,所以是一个候选键,
(姓名,性别)唯一,但是单独姓名一个属性就能确定这个人是谁,所以性别这个属性就是多余属性,所以(姓名,性别)不是候选键
(姓名,年龄)
- 什么意思?举个例子:姓名唯一,而且没有多余属性,所以是一个候选键,
- 主码:人为选定的,在多个候选码选择一个为主码
- 全码:极端情况下,关系模式的全部属性是这个关系模式的候选码,则称为是全码
- 外键:举个例子:每个教师都有一个编号,教师编号在教师表中是主键,但在学生表就是外键
- 主属性:候选码的诸属性
- 非主属性:不包含在任何候选码中的属性
关系操作
不同的关系数据库管理系统可以定义和开发不同的语言来实现这些操作
基本操作
操作是对集合的操作,操作方式:一次一集合
常用的操作:增 删 改 查
(具体怎么做在SQL语言那一部分会具体讲解)
查询
可以分为选择,投影,并,差,笛卡尔积(前五种是基本操作),连接,除,交等
引入:上一节讲到数据模型的组成包括:数据结构,数据的操作以及数据完整性约束条件。
完整性约束条件有三个:实体完整性,参照完整性和用户定义完整性
关系完整性(重点)
实体完整性
有啥规则?
简单说就是以主码作为唯一标识,并且主码不能为空
参照完整性
参照完整性是指关系中的外键必须是另一个关系的主键有效值,
或者是NULL,参照完整性规则规定不能引用不存在的实体。
用户定义完整性
针对某一具体的属性给定约束条件
为了更好的理解关系代数,先介绍一下关系语言的分类:
早期的关系操作主要是关系代数和关系演算这两种抽象的查询方式,
后来出现了介于两者之间的结构化查询语言SQL,
所以说关系代数它是抽象的用于查询的语言
关系代数
关系代数是一门抽象的查询语言,主要用对关系的运算进行查询
关系代数的运算按运算符的形式可分为传统集合运算和专门的关系运算
- 传统的集合运算
- 并
- 差
- 交
- 笛卡尔积
- 专门的关系运算
- 选择
- 投影
- 连接
- 除运算
(这一小节内容会用另外详细写一篇,现在只是了解查询有什么运算方式)