数据库结构


alt text
type->schema

Relation Model

relation

关系是n元组tuple的集合(无次序)
relation is a set of tuple
alt text
attribute->domain(NULL存在于所有domain,表示不存在或者不确定的)每个元素都是原子的
关系用一个表来表示
元组用行来表示

key

唯一区分tuple的
alt text
superkey
candidate key,最小的superkey
primary key,被选出作为参考的candidate key
foreign key 是另外表里的主键,为什么要有外键,用来找到另一张表的数据,相当于引用。

模式图
relation query language

关系代数(函数式查询语言)
基本操作:
select横向选择
alt text
project纵向选择,投影Π
union:集合做∪
set difference:-
cartesian product笛卡尔积
rename
非基本操作:
set intersecion
natural join自然连接:公共属性相等的行连接在一起
alt text
theta join条件连接:公共属性满足条件的行连接在一起
outer join外部连接:要知道哪些不能连接在一起
left outer join:左边的表没连接上的也保留但是置空
right outer join:
full outer join:
<- 赋值
÷ ×的逆运算,用含义来

拓展能力

generalized projection
alt text
aggregate funtions聚合函数
xxxGxx(s)(R)
alt text
alt text

null 的逻辑运算

alt text

multiset

alt text

introdection to sql

alt text

ER图的画法

其实我现在都不知道为什么不直接搭数据库要先搞个ER。
但是我知道注意点应该就是实例和实例之间建立关联。
关联就是提取实例的主键再加当前情景的属性。
连接关联要注意一对多还是一对一的关系。
强实例有自己的主键,弱实例的主键就是外键,完全依附于另一个强实例。

范式