Data Model:1)structure 2) constraints 3) operation
hierarchy/Treelike(give me my children), table, graph, stream(give me next n bytes)
数据库 key idea
physical data independence : interface with tables instead of file and pointers
optional : logical data independence: views
关系代数(Relational Algebra)
closure: 输入是表,输出也是表,
操作:select, project, join, cross product 加上集合的几种操作,union, difference, intersect
Relational Algebra Expression
optimizer:
logical optimization: SQL -> a best RA expression (Tree). SQL just specifies the result, RA expression include evaluation order, choose the best one.
physical optimization: e.g., how to do a join ? (nested loop join, hash join, merge join) , depending on the data size, index available or not.
view只是一个命名的 query, 会和user query 一起组成一个大Query交给Optimizer。也就是把query中的view替换成定义它的查询,变成一个子查询,效果是一样的。
view 一般是不materialize的。

本文深入探讨了数据库的关键概念,包括数据模型、物理独立性、逻辑独立性、关系代数及其优化,以及视图的基本原理。通过阐述这些核心元素,文章旨在为读者提供全面的数据库理解,并展示如何通过优化技术提升查询效率。
1090

被折叠的 条评论
为什么被折叠?



