Lecture 4 SQL语言part2 Intermediate SQL
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
Deletion
Updates
使用 set
对单个attribute进行更新
也可以用 case
对多个attribute进行并行更新
Joined Relations
Join operations exp
Joined Relations exp
Data Types
Built-in Data Types in SQL
User-Defined Types
Domains
Large-Object Types
Integrity Constraints
Not Null and Unique Constraints
The check clause
......
上面的都没听,第一节课+第二节课部分
Views
Definition
可以直接select 其它 view
view实际上类似于 #define
为后面接的查询语句,使用时直接被替换为对应的查询语句
Example
View Expansion
Update
不是真的对view进行修改,view只是相当于一个窗口,修改的还是其背后的实际关系
当然通过view插入容易遇到bug,因为view就是为了省略一些attribute而诞生的,而单单更新通过view这个窗口看到的attribute就没有考虑到看不到的attribute,更新信息不全就报错了
要成为可更新view得满足一些条件:
*Materialized Views
物化视图和视图的最大区别是它不仅存储定义中的查询语句,而且可以像表一样存储数据。
物化视图和表的最大区别是它不支持 INSERT、UPDATE、DELETE 以及 MERGE 语句,只能通过刷新物化视图进行数据的更新。
物化视图通过提前运行并存储查询结果,通常用于查询优化、数据仓库、数据集成等场景。
Materialized Views相当于创建一个临时表,复制所有满足条件的tuple过来
能加快查询速度,但是需要实时维护
第三节课没听