🌍1. 关系数据结构及形式化定
🪐1.1 关系
关系模型的数据结构:关系【二维表】
1. 域:相同数据结构值的集合,如sex属于域:{“男”,“女”}
2. 笛卡儿积:一种域运算
示例:
给出3个域:
D1={a1,a2}
D2={b1,b2}
D3={c1,c2,c3}
D1,D2,D3的笛卡尔积为
D1×D2×D3={
(a1,b1,c1),(a1,b1,c2),(a1,b1,c3),
(a1,b2,c1), (a1,b2,c2),(a1,b2,c3),
(a2,b1,c1),(a2,b1,c2),(a2,b1,c3),
(a2,b2,c1),(a2,b2,c2),(a2,b2,c3) }
元组:(a1,b1,c1)...
分量:a1...
基数为2×2×3=12
笛卡尔积的定义:
给定一组域D1,D2,…,Dn,允许其中某些域是相同的。
D1×D2×…×Dn ={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}
域的所有取值的一个组合不重复
元组:笛卡尔积中每一个元素(d1,d2,…,dn)叫作一个n元组(n-tuple)或简称元组
分量:笛卡尔积元素(d1,d2,…,dn)中的每一个值di 叫作一个分量
基数:Di(i=1,2,…,n)为有限集,其基数为mi(i=1,2,…,n),则D1×D2×…×Dn
的基数M为:
表示方法:一张二维表,行对应元组,列对应属性【域】
3. 关系
定义:
D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的关系,表示为
R(D1,D2,…,Dn) R:关系名,n:关系的目或度
当n=1时,称该关系为一元关系
当n=2时,称该关系为二元关系
相关概念
- 元组:关系中的每个元素
- 候选码:若关系中的某一属性组的值能唯一地标识一个元组
- 全码:所有属性组是这个关系模式的候选码
- 主码:若一个关系有多个候选码,则选定其中一个为主码
- 主属性:候选码的诸属性称为主属性
- 非主属性:不包含在任何侯选码中的属性
关系的三种类型:
- 基本表【基本关系】:实际存在的表
- 查询表:查询结果对应的表
- 视图表:由基本表或其他视图表导出的表,是虚表
基本关系性质:
- 列同质不同名
- 行列无序
- 键值唯一不为空
- 分量不可分
🪐1.2 关系模式
关系模式是型、关系是值,关系模式是对关系的描述
关系模式的表示:
R(U,D,DOM,F)
R 关系名
U 组成该关系的属性名集合
D U中属性所来自的域
DOM 属性向域的映象集合
F 属性间数据的依赖关系的集合
关系模式和关系的区别
- 关系模式是对关系的描述,是静态的、稳定的
- 关系是关系模式在某一时刻的状态或内容,是动态的、随时间不断变化的
🌍2. 关系操作
常用的关系操作
- 查询操作:选择、投影、连接、除、并、差、交、笛卡尔积,其中选择、投影、并、差、笛卡尔基是5种基本操作
- 数据更新:插入、删除、修改
🌍3. 关系的完整性
三类完整性约束:
- 实体完整性:键值唯一不为空
示例:
选修(学号,课程号,成绩)
“学号、课程号”为主码,则“学号”和“课程号”两个属性都不能取空值- 参照完整性:定义外码与主码使用规则
示例:
学生(学号,姓名,性别,专业号,年龄)
专业(专业号,专业名)
专业号是专业的主码,但不是学生的主码,并且专业号与学号相对应,则专业号是专业的外码。- 用户定义的完整性:如某值不能为空,某值唯一,sex范围限制为{"男","女"}...
📝总结
数据库SQL Server领域就像一片未被勘探的信息大海,引领你勇敢踏入数据科学的神秘领域。这是一场独特的学习冒险,从基本概念到算法实现,逐步揭示更深层次的模式分析、匹配算法和智能模式识别的奥秘。