1关系数据模型:关系的名称即为"表名称",属性既是"字段名称",属性值既是字段值。为了维持关系型数据库的完整性,在关系数据模型中大多包含"实体完整性约束"和"参照完整性约束"
i) 实体完整性约束:表本身的约束条件,也和键值约束一起使用,例如,设置主键时,其主键值不可以为空,否则无法区分相关的属性值。
ii) 参照完整性约束:表之间的约束条件,用以维持关系表之间数据的一致性,通常会使用外键技术,外键可以参照别的关系表也可以参照自己的关系表。在同一个数据库中,有多个表时通常也会用多个外键进行约束,以此保证表中数据的一致性。
2.功能依赖性:功能依赖性是属性语义的解释,用来说明关系表中的属性有哪些功能依赖性。(就谁决定谁)
3.DB的规范化:以免浪费存储空间,降低运算的效率。规范化的步骤如下:
i) 收集数据,将数据分类成表
ii) 进行第一范式,字段的值必须是原子的
iii)进行第二范式,非主键的字段必须与主键存在功能依赖性,根据这一点切割成较小的表
iv) 进行第三范式,非主键字段彼此不能有功能依赖性。(本人这么理解的,在议)
4.约束条件:primary key (pk) 主键约束 不允许重复和空(U,NN)
foreign key (fk) 外键约束 fk值可以是pk值也可以为null
unique key (uk) 唯一,可以空
not null 非空
check(exp) 指定字段值的范围
5.表-实例图:
customer表:
column name id name phone sales_rep_id
kye type pk fk
nulls/unique u,nn nn
fk table s_emp
fk column id
data type num char char num
maxlength 7 25 25 7
注意:表关系不能直接多对多,要一个中间表来实现多对多(该表有这两个表的主键id)