一组具有相同数据类型的值的集合
给定一组域D1、D2、D3等,允许其中某些域相同
笛卡尔积:D1 * D2 * D3
所有域的所有取值的一个组合
不能重复
①关系
D1 * D2 * Dn的子集叫作在域D1,D2,...,Dn上的关系,表示为R(D1,D2,...,Dn)。R表示关系名,n表示关系的目或度。
②元组
关系中的每个元素是关系中的元组
③单元关系与二元关系
单元关系:n=1 二元关系:n=2
④关系的表示
关系是一个二维表,行对应元组,列对应域
⑤属性
列名,用以区分不同列
⑥码
⑦三类关系
关系模式是对关系的描述:
①元组集合的结构:属性构成 属性来自的域 属性与域之间的映像关系
②完整性约束条件
R(U,D,DOM,F)
关系模式:对关系描述、静态的、稳定的
关系:关系模式在某一时刻的状态或内容、动态的、变化的
在一个给定的应用领域中,所有关系的集合构成一个关系数据库
有的关系数据库管理系统中一个表对应一个操作系统文件,将物理数据组织交给操作系统完成
有的关系数据库管理系统从操作系统那里申请若个大的文件,自己划分文件空间,组织表、索引等存储结构,并进行存储管理
查询:选择、投影、并、差、笛卡尔积
更新:插入、删除、修改
集合操作方式:操作的对象和结果都是集合,一次一集合的方式
关系代数语言(用对关系的运算来表达查询要求代表)
关系演算语言(用谓词来表达查询要求元组关系演算语言)
具有关系代数和关系演算双重特点的语言代表:SQL
一个基本表通常对应现实世界的一个实体集。
若属性A是基本关系R的主属性,属性A不能取空值。
在关系模型中实体及实体间的联系都是用关系来描述的,自然存在着关系与关系间的引用
F是基本关系R的一个属性,但不是码,如果F与基本关系S主码K相对于,则称F是R的外码。
R:参照关系
S:被参照关系、目标关系
若F是R外码,且与S的主码K相对应,那么R中每个元组在F上的值必须为:
①空值(F每个属性值都为空)
②等于S中某个元组的主码值
关系模型定义和检验这类完整性机制,满足数据库的约束条件
关系代数是一种抽象的查询语言,它用对关系的运算来表达查询
关系代数:运算对象是关系、运算结果亦为关系
关系代数的运算符有两类:集合运算符和专门的关系运算符
①并(Union)
R和S具有n个属性,且属性取自同一个域
②差(Difference)
R和S具有n个属性,且属性取自同一个域
③交(Intersection)
R和S具有n个属性,且属性取自同一个域
④笛卡尔积(Cartesian Product)
选择有一定限制属性的数据,一行
选择若干属性列组成新关系,列
从两个关系的笛卡尔积中选取属性间满足一定条件的元组
①等值连接:从R与S笛卡尔积选取A、B属性值相等的那些元组
②自然连接:两个关系中进行比较的分量必须是相同的属性组。在结果中把重复的属性列去掉
悬浮元组:R和S自然连接,R中某些元组有可能在中不存在公共属性上值相等的元组,从而造成R中这些元组在操作时被舍弃了,这些被舍弃的元组称为悬浮元组。
外连接:把悬浮元组也保存在结果关系中,而在其他属性上填空值(Null)
给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组
R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。
R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合。