数据库原理每日一背~
Data Base Theory
Relational Algebra
注意:select后面直接接predicate,不能直接是某一行,直接写某一列是project operation。
relation的定义是set,所以在relational algebra中duplicate rows are removed from results。
Definition . Relational algebra is a procedural query language, which takes instances of relations as input and yields instances of relations as output
对于union,set-intersection,set-difference operations 来说, 两点需要满足:
1)r,s must have the same arity.(same number of attribute)
2) The input domain must be compatible
注意对于difference operation, 集合的元素只能减到空,而不是减到负。
对于rename operation 而言,除了能rename relation 之外,还能rename columns。
存在一些queries s.t. they are not identical but equivalent.
ER Model & Diagram
entity: rectangles
attribute: 写在方框里面
primary key:用下划线标出
relationship:用菱形框
relationship-attribute: 用方框框出来,用虚线和relationship的菱形连接。
存在self-pointing relationships,例如课程和先修课。其中each occurence of an entity set plays a "role" in the relationship, 所以这里course_id, prereq_id就是role。