IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 系分 11 数据库系统 -> 正文阅读

[大数据]系分 11 数据库系统

本章节需要掌握如下基础理论知识:

  • 数据库模式(★ ★ ★ ★)
  • ER模型(★)
  • 关系代数(★ ★ ★)
  • 元组演算(★)
  • 规范化理论(★ ★ ★ ★ ★)
  • 并发控制(★)
  • 数据库完整性约束(★ ★)
  • 分布式数据库(★ ★ ★)
  • 数据仓库与数据挖掘(★ ★ ★)

三级模式--两层映射

我们常见的MySQL和Oracle数据库等都使用的是三级模式两层映射这样的架构。

数据库设计过程

?

?E-R模型(实体-关系图)

?E-R模型中,矩形表示实体,菱形表示联系,椭圆表示属性。

实体有特殊化和弱实体的分类

?E-R模型--建模过程?

实体到关系模型的转换

一个实体可以转换为一个关系模式

三个以上实体间存在多元联系

?关系代数

数据库中存在的关系如下:

  • 并集
  • 交集
  • 差集
  • 迪卡尔积
  • 投影
  • 选择
  • 联接

?规范化理论--价值与用途

?

候选键可以有一个也可以有多个,候选键可以是单属性也可以说是多属性组合。

?

?规范化理论--求候选键

求候选键的的步骤如下:

  1. 将关系模式的函数依赖关系用“有向图”的方式表示。
  2. 找入度为0的属性,并以该属性集合为七点,尝试遍历有向图,若能正常遍历图所有节点,则该属性集即为关系模式的候选键。
  3. 若入度为0的属性集不能遍历图中所有的节点,则需要尝试性的将一些中间节点(既有入度也有出度的节点)并入入度为0的属性集中,直至该集合能比那里所有节点,集合为候选键。

?

规范化理论--范式

?候选码就是主属性

范式理论--第一范式

?

范式理论--第二范式

下表中的主属性是学号和课程号的组合。?因为学分冗余,学分依赖课程号,所以存在部分依赖,不满足第二范式。

将表格进行拆分可满足第三范式:

  • 课程表(课程号, 学分)
  • 成绩表(学号, 课程号, 成绩)

?

规范化理论--第三范式

将表格进行拆分可满足第三范式:

  • 学生(学号, 姓名,系号)
  • 成绩表(系号, 系名, 系位置)

规范化理论--BC范式?

下面图可以得到两个候选键(S, J)和(T, S),无非主属性,所以满足第三范式。但是不满足BC范式。因为图中有两个依赖,而第二个依赖不包含全部候选码。

  1. 依赖一:(S, J) --> T,包括候选码(S, J)
  2. 依赖二:(T) -- > J,不包括候选码(T, S)

范式理论--范式例题

某公司的部门(部门号,部门名,负责人,电话)、商品(商品号,商品名称,单价,库存量)和职工(职工号, 姓名, 住址)三个实体对应的关系如表1、表2和表3所示。假设每个部门有一位负责人,一个负责人只有一部电话,但有若干名员工;每种商品只能由一个部门负责销售。

?a. 部门关系不属于第三范式的原因是 (1) 。如果用户要求得到表4所示的结果,需要 (2) ,并增加关系模式 (3) 。 ?
b. 若部门名是唯一的,请将下述部门SQL语句的空缺部分补充完整。
CREATE TABLE 部门(部门号CHAR(3) ? ?PRIMARY KEY,
部门名 ?CHAR(10) ? (4) ,
负责人 ?CHAR(4),
电话 ?CHAR(20))
(5) ;
c. 查询各部门负责人的姓名及住址的SQL语句如下: ?
SELECT ? 部门名,姓名,住址
FROM 部门,职工 ? (6) ;

(1)
A.没有消除非主属性对码的部分函数依赖,如:部门名→负责人?
B.没有消除非主属性对码的部分函数依赖,如:负责人→电话?
C.只消除了非主属性对码的部分函数依赖,而未消除传递函数依赖?
D.没有消除非主属性对码的部分函数依赖和传递函数依赖?
(2)
A.修改表1的结构,在表1中增加一个职工号?
B.修改表2的结构,在表2中增加一个职工号?
C.修改表2的结构,在表2中增加一个部门号?
D.修改表3的结构,在表3中增加一个部门号?
(3)
A.销售(职工号,商品号,日期,数量)?
B.销售(职工号,商品名称,商品号,数量)?
C.销售(职工号,部门号,日期,数量)?
D.销售(职工号,部门号,商品号,日期)?
(4)
A.NOT NULL?
B.UNIQUE?
C.KEY UNIQUE?
D.PRIMARY KEY?
(5)
A.PRIMARY KEY(部门号)NOT NULL UNIQUE?
B.PRIMARY KEY(部门名)UNIQUE?
C.FOREIGN KEY(负责人)REFERENCES 职工(姓名)?
D.FOREIGN KEY(负责人)REFERENCES 职工(职工号)?
(6)
A.WHERE 职工号=负责人?
B.WHERE 职工号=’负责人’?
C.WHERE 姓名=负责人?
D.WHERE 姓名=’负责人’

参考答案:C、D、A、B、D、A

范式理论--无损分解?

?

?例题:

?解析:例1和例2都保持了函数依赖,但是例2有A-->C的冗余。

?并发控制-基本概念

事物具有原子性、一致性、隔离性、持续性。

丢失更新、不可重复读、读脏数据分别有如下特点:

  • 丢失更新:有两次写回
  • 重复度:验算不对
  • 读脏数据:有回滚

?

?并发控制--封锁协议

?S锁也叫共享锁,X锁也叫写锁。

?一级示例:

二级示例:

?三级示例:

数据库完整性约束

实体完整性约束--主键? 唯一且非空

参照完整性约束--外键? 外键必定是其他属性的码,或者为空

用户自定义完整性约束--限定取值空间

对于更复杂的完整性约束会用到触发器涉及的脚本编程。

数据库安全

?数据备份

增量备份:备份所有数据

差量备份:备份上一次完全备份之后的变化的数据

增量备份:备份上次备份之后变化的数据

日志文件:

?

?数据故障与恢复

?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-06 23:15:00  更:2022-04-06 23:17:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 4:46:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码