数据库学习——数据模型
一.关系数据模型
1.完整性约束
域完整性约束(domain integrity constraint):属性域应是域中的值,属性能否为null
实体完整性约束(entity integrity constraint):每个关系有一个主键,主键的值唯一,不能为null
引用完整性约束(referential integrity constraint):外键要么空缺,要么引用实际存在的主键值(外键的使用:要求数据类型、数据长度必须与对应的主键字段完全一致;添加数据时要首先添加主键表,再添加外键表;删除数据时要首先删除外键表数据,再删除主键数据)
一般性完整性约束
2.操作(关系代数、关系演算)
(1)选择操作 横向筛选
(2)投影操作 纵向筛选
(3)集合操作 用得最多的是并和差,要求两个关系满足并兼容(具有相同的目,且对应属性域相同)
(4)连接操作(join) 与笛卡尔积的区别是:笛卡尔积包含两个关系的所有元组各种可能的组合,而连接只包含那些满足连接条件的元组组合
(5)外连接操作(outer join)
左外连接:连接结果中,只保留左关系的所有元组
右外连接:连接结果中,只保留右关系的所有元组
全外连接:连接结果中,保留左右两关系的所有元组
(6)外并操作(outer union)是对并操作的扩展,可以对非并兼容的两关系进行并操作,操作结果的属性集等于两关系的属性集的并。
3.E_R数据模型
实体:凡是可以互相区别而可以被人们识别的事、物、概念等统统抽象为实体。
属性:实体的特征叫做属性,单值/多值,实体键
联系:一对一(1:1)、一对多(1:N)、多对多(M:N)