​《数据库系统概念》5-连接、视图和事务

本文介绍了数据库中的连接操作,包括inner join、outer join(left /right join),强调了on和where在连接中的区别。接着讨论了视图的概念,视图作为虚拟表提供部分数据访问,并探讨了物化视图、视图更新及其挑战。最后,概述了事务的基本原理,包括其原子性和如何通过commit和rollback进行控制。
摘要由CSDN通过智能技术生成

一、连接
a)inner join中,on,可以用where替代,但用on来专门指定join条件,其它条件写在where中可读性更好。
b)outer join
对于连接字段为空的元祖,使用inner join时不会列出,outer join却不一样,left /right join会保留左(右)侧的连接字段为空的元祖。left join的过程可以理解为先执行inner join,然后再向结果集中添加左侧关系中剩余的元祖。
在outer join中,on和where就不能互换了
c)在SQL server中left outer join也是可以写的,但一般会省略inner、outer

二、视图
a)前面学习过程中接触的表都是在数据库中实际存在的,但有时用户并不需要一张表的全部信息;甚至有时候不想让用户拿到额外的信息,比如有时只允许用户查阅instructor表的id, name;或者有一些复杂的查询我们不希望每次都去重复写一遍。这时可以使用虚拟的表(virtual relation),即视图(view),视图不属于数据库的表,但可以被用户访问到。
b)视图的定义
写法为create view v as <query expression>;其中query expression可以是任何查询语句。比如之前的instructor视图可以这样定义:
create view faculty as
select ID, name
from instructor;
然后只为用户提供访问faculty视图的权限,就可以达成目的。
c)视图被定义后,就可以像真实的表一样被使

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值