数据库-第二章关系数据库
一,关系数据结构及形式化定义
关系:关系模型中数据的逻辑结构是一张扁平的二维表
-
1 域(domain):是一组具有相同数据类型的值的集合。
-
2 笛卡拉尔积(Cartesian product)
-
3 关系(relation)D1D2D3···*Dn的子集叫做在域D1,D2,···Dn上的关系;
关系可以分为三种类型:基本关系,查询表和视图表。- 基本关系的六条性质:
(1)列是同质的,既每一列中的分量为同一类型的数据,来自同一个域。
(2)不同的列可出自同一个域,称其中的每列为一个属性,不同的属性的要给予不同的属性名。
(3)列的顺序无所谓,即列的次序可以任意交换。
(4)任意两个元组不能完全相同。
(5)行的顺序无所谓,即行的次序可以任意交换。
(6)分量必须取原子值,即每一个分量都必须是不可分的数据库。
- 4 关系模式:关系的描述称为关系模式。
关系数据库:可以称为关系数据库模式,是关系数据库的描述。
二 ,关系操作
1 ,五种基本关系操作
- 选择、投影、并、差、笛卡尔积
2 关系数据语言分类
- 关系代数语言
- 关系演算语言
- 元组关系演算语言(ALPHA)
- 域关系演算语言(QBL)
- 具有关系代数和关系演算双重特性的语言(SQL)
三,关系完整性
关系模型中有三类完整性约束:
实体完整性、参照完整性、和用户自定义的完整性。其中实体和参照完整性是关系模型必须满足的完整性约束条件
1 实体完整性:关系数据库中每个元组应该是可区分的,唯一的。(主码唯一非空)
2 参照完整性:(外码要么为空,要么为外表的主码)
通过为sc表定义参照完整性,那么,sc表的主键(sno,cno)取值,就和student学生表的主键sno、course课程表的主键cno联系起来了。
那么,合理的情况应当是:对被参照表(student或者course)、参照表(sc)执行增加、删除、修改操作时,有可能会破坏这种参照完整性规则。
3 用户自定义完整性
四,关系代数
1 传统的集合运算:是二目运算,包括并、差】交、笛卡尔积4种运算;
2,专门的关系运算:包括选择、投影、连接、除运算等;
- 选择:又称为限制;
举例:选择A2值为a或b的元组
五,关系演算
易数理逻辑中的谓词演算为基础。可以分为元组关系演算和域关系演算。
本文来自博客园,作者:taotooler,转载请注明原文链接:https://www.cnblogs.com/taolo/p/17225878.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析