数据库原理2—《小猫猫大课堂》数据库原理篇

宝子,你不点个赞吗?不评个论吗?不收个藏吗?

最后的最后,关注我,关注我,关注我,你会看到更多有趣的博客哦!!!

喵喵喵,你对我真的很重要。

目录

前言

2.1层次数据模型

2.2网状数据模型

2.3-1关系数据模型

2.3-2关系代数基本操作

2.3-3关系代数连接操作

总结


前言

哈哈哈,第一篇的数据超赞的,火线更新下一期。

喵喵喵~,谢谢宝子们的大力支持!

老规矩,上B站链接,老师讲得非常好!

数据库原理课程链接


2.1层次数据模型

任何一个数据库系统,都必须支持某个数据模型。数据模型是描述现实世界的方法和数据结构。

层次数据模型:有些数据天生就是有层次的(比如树)。

一个实体在层次模型中表达为一个记录,每个记录都有若干个域(域就是与这个记录的关系)

用双亲子女关系来表达(PCR)

一对多的关系(树)

多对一,多元关系(虚记录)


2.2网状数据模型

基本数据结构:系(表达了现实世界中两个记录类型之间的一对多的关系,一的一方叫主记录,多的一方叫属记录,用系来表达一对多的关系)

在网状数据类型,一个记录类型,它可以是多个记录的主 记录,也可以是多个记录的属记录。通过系交织形成一个网。

比层次模型更加容易表达现实模型。

两个实体之间多对多的关系(LINK)

查询:遍历链表


2.3-1关系数据模型

关系数据模型:(表),关系

现实世界中的实体和实体之间的联系统一的用表来表示,只用表。属性,列;行(元组).

特点:

用集合论来研究问题,抽象层次高

屏蔽所有较低的细节,简单明了,容易理解

引入代数系统,建立新的代数系统

非过程化的查询语言------SQL

软链接,表示现实世界的例子。硬链接是指针的物理链接。

现实世界中实体通过逻辑指针联系。
关系模型术语:属性(允许为空值,就是不知道),域(有取值范围)

关系模型里不允许表中套表,非法的,一泛式。

关系和元组:现实世界的实体和实体之间的联系,用一个或多个关系来表示,表来表示。

关系就是用它的属性来表示它,一个n元联系。

属性得个数被称为关系得目。

域的具体取值组成的项,叫做记录。

候选组件:在一张表里面,一个关系里面,总有一个属性或某一组属性的值可以唯一的决定这一条元组其他属性的值。(候选组件满足条件:这个关系里面,任意两条不同的元组在这组属性上的值都不一样,或这组属性的值唯一确定了,这组属性满足第一个条件。这组属性任何一个子集没有这个特性,第二个条件)

只满足第一个条件,叫超件。

在有些关系里,同时满足两个条件的候选组件不知一个,可能多个,可以指定其中一个作为组件,其他的作为候补件(也满足这两个条件)。

全件:组件是由这个关系的所有属性组成.

外件:在一个关系里面,有一组属性我们是用它来引用另一个关系里的元组的话,这组属性就叫做外件。通过外件,引用完整性的约束,可以看作指针,不为空。

域完整性约束:这张表里面的每条元组的每个属性的值都要符合值域的要求。

实体完整性约束:一个关系里面,如果定义一个组件,组件的属性不为空。为空,没办法唯一标识一个元组。


2.3-2关系代数基本操作

关系代数:关系模型的理论基础。

关系代数的特点:它把现实世界的实体和实体之间的联系都用表来表示,数据库里存的数据就是表。

关系代数的五个基本操作(条件):在任何一个系统,

选择操作(把满足条件的元组找出来)

投影操作(在一个表里面,把不需要的属性和列去掉,要的列,留下来)

笛卡尔乘积操作(允许把两个关系拼接成一个大的关系)

集合差操作(属于关系一但不属于关系二的元组找出来)

集合:并操作(把模式相同的两个元组合并起来)

还有交集,连接,除,外连接等操作。

运算结果是关系,操作可多个使用。
投影操作结果关系的模式就是由投影操作这个运算符的属性列表组成的,结果关系的每一个属性就是投影操作列表的属性。

投影操作需要消除重复元组。实际数据库系统,并不自动删除重复元组。

关系模型中,两个不同的对象,它们所有属性值相等,现实世界中表达的是同一个东西。

选择操作:

选择操作本身不会造成重复元组。

选择操作结果和原关系的ASCII相同。

参与集合运行的两个关系满足并兼容得条件。

满足并兼容条件:有相同个数的属性,这两个关系的对应属性的类型必须一样。

满足并兼容条件,可以使用并交叉.

笛卡尔乘积操作:

条件连接做笛卡尔乘积。

等值连接,属性相等。

自然连接:(使用最多)

所有属性都做等值连接。


2.3-3关系代数连接操作

除法连接:在A与B的联系,在A中找

A中的y值集合是B中的所有y值,满足除法操作

B作为条件,与B的联系,在A中找,B的条件必须全部满足,在A中挑出符合条件的值。


总结

一如既往


宝子,你不点个赞吗?不评个论吗?不收个藏吗?

最后的最后,关注我,关注我,关注我,你会看到更多有趣的博客哦!!!

喵喵喵,你对我真的很重要。

相关推荐
ROCKY_81742 分钟前
Mysql复习(二)
数据库·mysql·oracle
Zer0_on3 小时前
数据结构栈和队列
c语言·开发语言·数据结构
一只小bit3 小时前
数据结构之栈,队列,树
c语言·开发语言·数据结构·c++
问道飞鱼3 小时前
【知识科普】认识正则表达式
数据库·mysql·正则表达式
HaiFan.3 小时前
SpringBoot 事务
java·数据库·spring boot·sql·mysql
水根LP493 小时前
linux系统上SQLPLUS的重“大”发现
数据库·oracle
马浩同学3 小时前
【GD32】从零开始学GD32单片机 | DAC数模转换器 + 三角波输出例程
c语言·单片机·嵌入式硬件·mcu
一个没有本领的人3 小时前
win11+matlab2021a配置C-COT
c语言·开发语言·matlab·目标跟踪
途途途途4 小时前
精选9个自动化任务的Python脚本精选
数据库·python·自动化
一只自律的鸡4 小时前
C项目 天天酷跑(下篇)
c语言·开发语言