数据库自学笔记(1)-

数据库自学笔记(1)-最近在自学看 数据库系统概论 这本书,总结一下遇到的问题。 1.广义笛卡尔积(Extende cartesian product): 属于 关系代数 里面的 传统的集合运算。其他的为union,exc

数据库自学笔记(1)-

最近在自学看 数据库系统概论 这本书,总结一下遇到的问题。

1.广义笛卡尔积(Extende cartesian product):

属于 关系代数 里面的 传统的集合运算。其他的为union,except,intersection. 

数据库自学笔记(1)-

详情不提了,举个例子就是:

create table R
(
A char(2),
B char(2),
C char(2)
)

create table S
(
A char(2),
B char(2),
C char(2)
)

insert into R values(“a1”, “b1”, “c1”)
insert into R values(“a1”, “b2”, “c2”)
insert into R values(“a2”, “b2”, “c1”)

insert into S values(“a1”, “b2”, “c2”)
insert into S values(“a1”, “b3”, “c2”)
insert into S values(“a2”, “b2”, “c1”)

select * from R cross join S

结果:
A    B    C    A    B    C    
—- —- —- —- —- —- 
a1   b1   c1   a1   b2   c2
a1   b2   c2   a1   b2   c2
a2   b2   c1   a1   b2   c2
a1   b1   c1   a1   b3   c2
a1   b2   c2   a1   b3   c2
a2   b2   c1   a1   b3   c2
a1   b1   c1   a2   b2   c1
a1   b2   c2   a2   b2   c1
a2   b2   c1   a2   b2   c1

 

 

行数为 3*3 ,因为k1*k2。

列数为3+3, = 6.

2.投影(projection):

关系R的投影是从关系R中选择出若干属性列组成新的关系。
分为两步:
(1)选择出指定的属性,形成一个可能含有重复行的表。
(2)删除重复行,形成新的关系。
 
数据库自学笔记(1)-

 

我们关注这个重复行:一开始我们同时选取名字和班级的时候,尽管班级有重复,但是整个行来说不重复就行。

当我们转到了只取班级,这就有重复行了,就会被消灭(新版书上体现出来了,这里还保留了重复行)

 3.连接(join):

大体上分:

1. 等值连接(内连接)【inner join】:

等值连接是条件连接在连接运算符为“=”号时的特例。  

它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组。

自然连接 :是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉 等值连接表示为RA=BS,自然连接表示为RS;自然连接是除去重复属性的等值连接。

两者之间的区别和联系如下:

1、自然连接一定是等值连接,但等值连接不一定是自然连接。等值连接不把重复的属性除去;而自然连接要把重复的属性除去。

2、等值连接要求相等的分量,不一定是公共属性;而自然连接要求相等的分量必须是公共属性。

3、等值连接不把重复的属性除去;而自然连接要把重复的属性除去。

2. 外连接(outer join):

外连接就是自然连接的结果加上被舍弃的悬浮元祖,没有的属性便设定为NULL。

如果只保留左边R的悬浮元素就是左连接(left join),反之就是右连接(right join)

ps:正式名称应该是左/右外连接(left/right outer join)不过一般外面的资料都是简称。

 

 

参考:

https://blog.csdn.net/weixin_42194151/article/details/81135212

还有 数据库系统概论第五版

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10220.html

(0)
上一篇 2023-01-23
下一篇 2023-01-23

相关推荐

  • sql cdc用法_如何启动sqlserver数据库

    sql cdc用法_如何启动sqlserver数据库游标批量开启CDC;业务实战!

    2023-04-24
    98
  • Python List计数:快速统计数据出现次数

    Python List计数:快速统计数据出现次数Python是一种广泛使用的高级编程语言,用于广泛的应用程序开发,其语言特性之一是灵活而强大的数据结构支持。Python List是一个动态的数组,可以容纳不同类型的元素。Python List计数是指通过Python编写程序来找出列表中每个元素出现的次数,这种方法在数据科学,迭代和数据分析中非常常见。

    2024-03-12
    30
  • python如何监控PostgreSQL代码运行

    python如何监控PostgreSQL代码运行如何监控PostgreSQL存储过程/函数代码运行?本文介绍用python+微信/邮件的方式进行报警、监控。 首先要有一张表、用于存放PostgreSQL存储过程/函数代码运行异常的信息。 处理原则:

    2023-03-19
    117
  • mysql容器里不能识别中文输入怎么办_docker创建mysql容器

    mysql容器里不能识别中文输入怎么办_docker创建mysql容器
    mysql容器里输入中文不能使用,查看locale,字符不能识别: 解决:echo “export LANG=C.UTF-8” >>/etc/profile…

    2023-04-05
    104
  • Python Read Lines:从文件中读取多行文本

    Python Read Lines:从文件中读取多行文本Python Read Lines是从文件中读取多行文本的基础操作之一,十分常用。在每个Python项目的不同阶段,我们都需要从多个文件中读取文本,将其处理并展示出来。Python Read Lines是这种情况下最实用的方式之一,它允许我们快速有效地访问文件中的多行文本。

    2024-02-21
    56
  • mysql基础知识笔记_MySQL菜鸟教程

    mysql基础知识笔记_MySQL菜鸟教程MySQL安装和启动 Windows下安装和启动服务 下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads 安装 1 在MySQL

    2023-03-13
    103
  • 截取中间字符串的函数_sprintf函数的用法

    截取中间字符串的函数_sprintf函数的用法Excel中的函数非常多,但能记住并且真正能运用到实际工作中的人很少。很多小伙伴都问我怎样才能快速记住函数,答案只有一个:多练。不过学习总是有方法的,下面归类了8组文本函数,这样子可以助你快速掌握Excel文本函数的使用,记得转发收藏起来哦~一、文本中提取字符函数——Left函数、Right函数、Mid函数。LEFT函数:用于对单元格的内容进行截取。从左边第一个字符开始截取,截取指定的长度。RIG…

    2023-03-01
    91
  • 优化数字精度,求取以10为底的对数

    优化数字精度,求取以10为底的对数
            在数学中,以10为底的对数又称为常用对数,通常用“lg”表示。在计算机中求解常用对数时,需利用逼近法与级数展开法等数学工具,得到较高精度的近似值。求解常用对数的公式stronglg(x) = log10(x)/strong,其中,x > 0 ,为实数。

    2023-12-11
    60

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注