本节介绍时下应用最多最广泛的关系型数据库。内容不多,也是属于概念性的东西,我们简单过一下。
关系模型
数据模型
数据模型是对现实世界数据特征的抽象,是数据库系统的核心和基础。我们需要知道一些信息的概念:
概念 | 理解 |
---|---|
实体 | 可以是具体的人、事、物或抽象的概念 |
属性 | 实体所具有的某一特性称为属性 |
码 | 唯一标识实体的属性集 |
实体型 | 用实体名及其属性名集合来抽象和刻画同类实体称为实体型 |
实体集 | 同一类型实体的集合 |
联系 | 分为实体内部的联系和实体之间的联系 |
关系模型
关系模型的逻辑结构说白了就是一张二维表,由行列组成。
应用关系模型的优缺点
- 优点:
- 建立在严格的数学基础上
- 概念单一:实体和各类联系都用关系来表示,对数据的检索结果也是关系
- 关系模型的存取路径对用户透明
- 缺点:
- 查询效率往往不如格式化数据模型
- 必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度
关系数据库
关系数据库其实就是有关系表格组成的数据库,这里又有一些概念需要我们把握(在后面章节的学习中也会碰到):
概念 | 理解 |
---|---|
域 | 一组具有相同数据类型的值的集合,例如整数,{小孩,成年} |
候选码 | 若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码 |
主码 | 若一个关系有多个候选码,则选定其中一个为主码 |
主属性 | 候选码的诸属性称为主属性 |
非主(码)属性 | 不包含在任何侯选码中的属性称为非主属性或非码属性 |
外码 | F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码Ks相对应,则称F是R的外码 |
基本关系的性质:
- 列是同质的
- 不同的列可出自同一个域
- 任意两个元组的候选码不能相同
- 列的顺序无所谓,,列的次序可以任意交换
- 空值与0或空格不同
关系模型的表示:R(U,D,DOM,F)
- R 关系名
- U 组成该关系的属性名集合
- D U中属性所来自的域
- DOM 属性向域的映象集合
- F 属性间数据的依赖关系的集合
关系操作:
- 查询操作:选择、投影、连接、除、并、差、交、笛卡尔积(加粗为基本操作)
- 数据更新:插入、删除、修改
操作特点:操作的对象和结果都是集合,一次一集合的方式
关系完整性
- 实体完整性:若属性A是基本关系R的主属性,则属性A不能取空值
- 参照完整性:
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应,则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。 - 用户自定义完整性:用户自定义的,针对某一具体关系数据库的约束条件,关系模型应提供定义和检验这类完整性的机制。