数据库-第二章关系数据库

一,关系数据结构及形式化定义

关系:关系模型中数据的逻辑结构是一张扁平的二维表

  • 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的元组
    在这里插入图片描述

五,关系演算

易数理逻辑中的谓词演算为基础。可以分为元组关系演算和域关系演算。

posted @   taotooler  阅读(22)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示