关系模型中数据的逻辑结构是一张二维表,关系式建立在集合代数的基础上的。
结构:不允许表中有表,操作为集合的操作
R(U,D,DOM,F)
R 关系名
U 组成该关系的属性名集合
D U中属性所来自的域
DOM 属性向域的映象集合
F 属性间数据的依赖关系的集合
完整性约束:
关系模型本身就有的约束:
实体完整性:主属性不能为空,即主键不能为空,代表了一个实体的存在,可以是两个都不能为空。
关系间的引用:实体与实体间的联系都是用关系来描述的,关系直接的联系,就是关系与关系间的引用,即外键的概念,要求是要么为关联的关系的值,要么为空值,空值即还没有设置关联
用户定义的完整性:
非空、范围、唯一、约束检查。
运算
集合运算:
并集:数据库的union操作
此处使用一个表来展示,其实也可以两个表,要求的是列的属性得一致,会自动去掉重复行(一行数据的列的值完全一致)
SELECT * FROM TBL_STUDENTS WHERE STU_AGE > 80 UNION SELECT * FROM TBL_STUDENTS WHERE STU_AGE < 10
交集:数据库的intersect操作
SELECT* FROM TBL_STUDENTS WHERE STU_AGE > 50 INTERSECT SELECT * FROM TBL_STUDENTS WHERE STU_AGE < 60
差运算:
SELECT* FROM TBL_STUDENTS WHERE STU_AGE > 50 MINUS SELECT * FROM TBL_STUDENTS WHERE STU_AGE < 60
笛卡尔积
元素个数*元素个数
SELECT * FROM TBL_STUDENTS,TBL_CLASSES
选择、投影(部分列)、连接(从两个关系的笛卡尔积中选取属性间满足一定条件的元组)
数据库三级模式
数据库标准SQL语句通过Oracle数据库直接学习了,不再此处再次学习