6 - 数据库基础

2024-04-13  本文已影响0人  heichong

数据库三级模式

三级模式 - 两级映射

外模式(External Schema)
定义:也称子模式(Subschema)或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。

理解: ① 一个数据库可以有多个外模式; ② 外模式就是用户视图; ③ 外模式是保证数据安全性的一个有力措施。

概念模式(Schema)
定义:概念模式又称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。

理解: ① 一个数据库只有一个模式; ② 是数据库数据在逻辑级上的视图; ③ 数据库模式以某一种数据模型为基础; ④ 定义模式时不仅要定义数据的逻辑结构(如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等),而且要定义与数据有关的安全性、完整性要求,定义这些数据之间的联系。

内模式(Internal Schema)
定义:也称存储模式(Storage Schema),它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式(例如,记录的存储方式是顺序存储、按照B树结构存储还是按hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定)。

理解: ① 一个数据库只有一个内模式; ② 一个表可能由多个文件组成,如:数据文件、索引文件。 它是数据库管理系统(DBMS)对数据库中数据进行有效组织和管理的方法 其目的有: ① 为了减少数据冗余,实现数据共享; ② 为了提高存取效率,改善性能。

例1
例2

数据模型


还有一个:面向对象数据模型

数据模型三要素: 数据结构、数据操作、数据的约束件(完整性约束等)

数据仓库

数据仓库四大特点:面向主题、集成、相对稳定、反映历史变化。


数据挖掘的方法

关系数据库

关系模型

E-R图

ER图
ER 图三要素

实体之间的关系

关系代数

1、交、并、差

符号 意义 说明
R∩S,集合的交集 列与行都相同的行数
R∪S,集合的并集 两个集合的所有行
- R-S,集合的差集 去掉与S中相同的数据行后的结果

交、并、差的 前提两个集合的结构必须相同

2、笛卡尔积、投影、选择

符号 意义 说明
× R×S,笛卡尔积 结果列数为二者属性列数之和,行数为二者元素数乘积。
R⋈S,连接
π π姓名(学生表),是对列的选择 对应 select distinct 姓名 from 学生表
σ σ年龄=18 ^ 性别='男' ,是对行的过滤 对应 where 年龄=18 and 性别='男'

3、逻辑运算符

符号 意义 说明
¬ 对应sql的 not!=
对应sql的 and
对应sql的 or
例1
例2

函数依赖


保持函数依赖:对于关系模式R,有依赖集F,若对R进行分解,分解出来的多个关系模式,保持原来的依赖集不变,则为保持函数依赖的分解。另外,注意要消除掉冗余依赖(如传递依赖)
保持函数依赖 公理系统

无损分解

无损分解:指将一个关系模式分解成若干个关系模式后,通过自然联接和投影等运算仍能还原到原来的关系模式。

无损分解

这种方法只能够用于一个关系模式分解为两个关系模式的时候:

各种键(码)

候选键的计算

完整性约束

数据库三范式

image.png
  • 第一范式:每个属性都是原子属性
  • 第二范式:非主属性完全依赖于候选码(不存在部分依赖)
  • 第三范式:非主属性没有传递依赖于候选码
  • BC范式:主属性对候选键没有部分依赖和传递依赖

例题:

  1. 某公司有若干个仓库;
  2. 每个仓库只能有一名管理员,一名管理员只能在一个仓库中工作;
  3. 一个仓库中可以存放多种物品,一种物品也可以存放在不同的仓库中。每种物品在每个仓库中都有对应的数量。
    那么关系模式 仓库(仓库名,管理员,物品名,数量) 属于哪一级范式?

答:已知函数依赖集:仓库名 → 管理员,管理员 → 仓库名,(仓库名,物品名)→ 数量
码:(管理员,物品名),(仓库名,物品名)
主属性:仓库名、管理员、物品名
非主属性:数量
因为 不存在非主属性对码的部分函数依赖和传递函数依赖。∴ 此关系模式属于3NF。
存在主属性【仓库名】对于码【(管理员,物品名)】的部分函数依赖。所以不属于BC范式

上一篇下一篇

猜你喜欢

热点阅读