数据库自学笔记(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

相关推荐

  • PostgreSQL VS oracle 之 动态性能视图 vs 标准统计视图[通俗易懂]

    PostgreSQL VS oracle 之 动态性能视图 vs 标准统计视图[通俗易懂]查看postgresql 常用 性能视图 select relname from pg_class where relname like '%pg_stat%' PG oracl…

    2023-03-15
    156
  • 504 cdn Request[通俗易懂]

    504 cdn Request[通俗易懂]

    2023-04-05
    143
  • 中国开源数据_数据库开源软件

    中国开源数据_数据库开源软件国际形势、国内趋势,现在中国数据库市场暗流涌动,这次盛会,让处于中国数据库一线的专家们为你解惑释疑。 此次大会由中国计算机学会、开源中国、开源&国产数据库联盟、神脑资讯等单位主办,特邀阿里云、腾讯、…

    2023-04-04
    172
  • Mysql锁总结_落地式锁客方案培训总结

    Mysql锁总结_落地式锁客方案培训总结今天我们来介绍一下Mysql中不同类型的锁 数据库锁设计的初衷是处理并发问题。作为多用户共享的资源,当出现并发访问的时候,数据库需要合理地控制资源的访问规则。而锁就是用来 实现这些访问规则的重要数据…

    2023-01-26
    152
  • sql server怎么导入数据库文件_sqlserver数据库导出数据成.sql

    sql server怎么导入数据库文件_sqlserver数据库导出数据成.sql在不同类型的数据库之间迁移数据并非易事。在本文中,我们将比较几种从 SQL Server 转换到 PostgreSQL 的方法。Microsoft SQL Server 是一个很棒的数据库引擎,但在某

    2023-05-12
    141
  • Python实现多条件同时满足的if语句

    Python实现多条件同时满足的if语句在Python中,if语句是控制流程的核心之一。在实际应用情境中,经常需要对多个条件同时进行判断,只有当所有条件同时满足时才进行相应操作。例如,当一个人的年龄在18岁以上、且身高超过170cm、体重超过60kg时,他才符合参军条件。这时,就需要用到Python实现多条件同时满足的if语句。本文将详细介绍多种实现方法。

    2024-09-16
    23
  • 腾讯云TDSQL MySQL版 – 平台侧安全设计[通俗易懂]

    腾讯云TDSQL MySQL版 – 平台侧安全设计[通俗易懂]安全隔离 不同地域之间网络完全隔离,不同地域之间的云产品默认不能通过内网通信。此外,采用安全组和私有网络 VPC 措施进行网络隔离。 安全组:是一种有状态的包过滤功能虚拟防火墙,用于设置单台或多台云服

    2023-04-21
    150
  • 使用pip更新Python版本

    使用pip更新Python版本Python是一种非常流行的编程语言,它不断地更新和发展,每个新版本都会带来更多的功能和性能提升。随着时间推移,旧版的Python也变得过时和不安全,因此更新Python版本是非常必要的。本文将介绍如何使用pip更新Python版本。

    2024-07-15
    49

发表回复

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