Skip to content

Lecture 4 SQL语言part2 Intermediate SQL

:material-circle-edit-outline: 约 619 个字 :material-clock-time-two-outline: 预计阅读时间 2 分钟

SQL嵌套查询、数据更新、视图、索引

主要内容:

讲授SQL嵌套子查询构成的复杂查询。

讲授SQL数据更新语句,包括insert、delete、update语句.

SQL视图(view)和索引(index)分别对应数据库三级模式中的用户模式和物理模式。用户可以象查询基本表一样查询视图中的数据,在特定情况下可通过视图更新基本表中数据。索引可以加快数据库查询处理的效率。讲授视图的语法和用法,以及可更新视图的概念。通过具体例子讲解视图的优点。讲授索引的作用、索引的类型SQL索引定义的语法。

书后习题 3.10、3.11、3.15

Modification of the Database是lecture3的,这里补完

Modification of the Database

Insertion

image-20240318133122454

image-20240318133127737

Deletion

image-20240318133147920

image-20240318133159380

Updates

使用 set 对单个attribute进行更新

image-20240318133421325

也可以用 case 对多个attribute进行并行更新

image-20240318133546158

image-20240318133646863

Joined Relations

image-20240318134339162

Join operations exp

image-20240318143352652

image-20240318143401105

image-20240318143405437

image-20240318143409283

image-20240318143415801

image-20240318143421234

Joined Relations exp

image-20240318143441418

image-20240318143447305

Data Types

Built-in Data Types in SQL

image-20240318143501568

User-Defined Types

image-20240318143519776

Domains

image-20240318143528970

Large-Object Types

image-20240318143537202

Integrity Constraints

image-20240318143549277

image-20240318143556311

Not Null and Unique Constraints

image-20240318143605185

The check clause

......

上面的都没听,第一节课+第二节课部分

Views

image-20240318143725333

Definition

image-20240318143824524

可以直接select 其它 view

view实际上类似于 #define 为后面接的查询语句,使用时直接被替换为对应的查询语句

Example

image-20240318143833295

View Expansion

image-20240318143900806

Update

不是真的对view进行修改,view只是相当于一个窗口,修改的还是其背后的实际关系

image-20240318143910467

当然通过view插入容易遇到bug,因为view就是为了省略一些attribute而诞生的,而单单更新通过view这个窗口看到的attribute就没有考虑到看不到的attribute,更新信息不全就报错了

要成为可更新view得满足一些条件:

image-20240318144827593

*Materialized Views

物化视图和视图的最大区别是它不仅存储定义中的查询语句,而且可以像表一样存储数据。

物化视图和表的最大区别是它不支持 INSERT、UPDATE、DELETE 以及 MERGE 语句,只能通过刷新物化视图进行数据的更新。

物化视图通过提前运行并存储查询结果,通常用于查询优化、数据仓库、数据集成等场景。

Materialized Views相当于创建一个临时表,复制所有满足条件的tuple过来

能加快查询速度,但是需要实时维护

image-20240318145234646

第三节课没听

* View and Logical Data Indepencence

Indexes

Transactions