2.1 关系数据结构集形式化定义
2.1.1 关系
- 域:一组具有相同数据类型的值的集合。
例:{0,1} {男,女}
- 笛卡儿积:域上的一种集合运算
- 关系:
- 关系中涉及的码:
- 候选码:某一属性组的值能唯一地标识一个元组,而其子集不能
- 主码:若一个关系有多个候选码,则选定其中一个为主码
- 主属性:候选码的诸属性
- 非主属性:不包含在任何候选码中的属性
- 全码:关系模式的所有属性都是这个关系模型的候选码
- 关系的类型:
- 基本关系(基本表):实际存在的表
- 查询表:查询结果对应的表
- 视图表:基本表或其他视图表导出的表,为虚表,不存储实际存储的数据。
- 关系的性质:(略)
- 关系中涉及的码:
2.1.2 关系模式
- 表示为R(U,D,DOM,F),R为关系名,U为组成该关系的属性名集合,D为U中属性所来自的域,DOM为属性向域的映像集合,F为属性将数据的依赖关系集合。
2.1.3 关系数据库
- 关系数据库的值是这些关系模式在某一时刻对应的关系的集合
2.2 关系操作
2.2.1 基本的关系操作
- 四种基本操作
- 查询(query)
- 选择(select)
- 投影(project)
- 并(union)
- 差(except)
- 笛卡儿积
- 插入(insert)
- 删除(delete)
- 修改(update)
- 查询(query)
2.2.2 关系数据语言的分类
- 关系数据语言
- 关系代数语言(ISBL)
- 关系演算语言
- 元组关系演算语言(ALPHL,QUEL)
- 域关系演算语言(QBE)
- 具有关系代数和关系演算双重特点的语言(SQL)
2.3 关系完整性
- 实体完整性:主属性不能取空值(空值就是不知道、不存在、无意义)
- 参照完整性
- 用户定义的完整性