[数据库][1]关系数据库
关系数据库是目前应用最广泛的数据库,它以数学方法(主要是集合代数)为基础
基本概念
- 域
域是一组具有相同数据类型的值的集合,如{0,1},{男,女}等等 - 笛卡儿积
- 关系:笛卡儿积的子集,现实世界的各种实体以及实体间的联系均用关系来表示,其逻辑结构是一张二维表
- 元组:关系表中的每一行称为一个元组(tuple)
- 属性:关系中的每一列称为一个属性
- 候选码和主码:若关系中的某一属性组能唯一标识一个元组,则称之为候选码,当一个关系有多个候选码时应选择其中一个作为主码(Primary Key)
关系的类型
- 基本表:实际存在的表,是实际存储数据的逻辑表示
- 视图表:由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据
- 查询表:查询结果对应的表
关系操作
- 查询操作:选择、投影、连接、除、交并补差、笛卡儿积等
- 数据更新:插入、删除、修改
关系数据库语言分类
- 关系代数语言:用对关系的运算来表达查询要求
- 关系演算语言:用谓词来表达查询要求
- 具有关系代数和关系演算双重特点的语言:代表SQL(Structured Query Language)
关系的3类完整性约束
- 实体完整性:主属性(主码对应的属性)不能为空值
- 参照完整性:关系R参照S时,R的外码(也是S的主码)要么是空值,要么取S的某个元组的主码值
- 用户定义的完整性
关系代数
- 集合运算符:交并补差,笛卡儿积
- 专门的关系运算符