极其感动!!!当时学数据库的时候,没白学!!
- 时隔很长时间回去看数据库的笔记都能看懂,每次都靠这份笔记巩固
- 真的是语雀分享要花钱,要不一定把笔记给贴出来
- (;´༎ຶД༎ຶ`) ,除了vue和react之外,最常看的一份笔记了!!!!
xd们,一定要收藏粘贴下来,真的没有自夸!!!!
- 当时学的时候,想来:就一份笔记么?脑子有病的人才一直记来记去的【框框自嘲】!有啥可分享的?现在,真香!!!
- (302条消息) 【SQL Server + MySQL二 】SQL: DDL数据定义【定义、修改、删除基本表】,DML【憎删改查】,DCL数据控制语言_翼遥bingo的博客-CSDN博客
- (302条消息) 【SQL Server + MySQL一】数据库基本知识、关系数据模型、关系数据语言–关系代数_翼遥bingo的博客-CSDN博客
文章目录
- 第四章 数据库设计
- 4-1 数据库设计
- 4-1-1 数据库设计步骤
- 4-1-1-1
- 4-1-1-2 规划步骤
- 4-1-1-3 需求分析阶段
- 4-1-1-4 概念设计--ER方法
- 4-1-1-5 逻辑设计阶段
- 4-1-1-6 物理设计阶段
- 4-1-1-7 数据库的实现
- 4·-1-1- 8 数据库的运行和维护
- 4-1-2 概念设计工具
- 4-1-2-1 数据库概念模式设计-----ER模型
- 4-1-2-1-1 ER模型的基本元素
- 4-1-2-1-2 设计局部ER模型
- 4-1-2-1-3 ER模型 向关系模型的转换
- 4-1-4 ER模型做逻辑设计
- 4-1-4-1
- 4-1-3 UML模型做概念设计和逻辑设计
- 4-1-3-1 数据建模
- 4-1-3-2 UML
- 4-2 逻辑设计工具---关系数据库规范化理论【5.5这里】
- 4-2-1 数据依赖(FD)
- 4-2-1-1 回顾
- 4-2-1-2 关系模式的形式化定义
- 4-2-1-3 关系模式Student(U,F)中存在的问题
- 4-2-1-4 函数依赖
- 4-2-1-4-1 平凡函数依赖与非平凡函数依赖
- 4-2-1-4-2 完全函数依赖与部分函数依赖
- 4-2-1-4-3 传递函数依赖
- 4-2-1-4-4 码
- 4-2-2 范式(NF)
- 4-2-2-1 第一范式(1NF)
- 4-2-2-2 第二范式(2NF)
- 4-2-2-3 第三范式(3NF)
- 4-2-2-4 BC范式
- 4-2-3 关系模式的规范化
- 4-2-3-1
- 第五章 数据库安全性
- 5-1 安全性控制的一般措施
- 5-2 DCL进行存取权限管理
- 5-2-1 SQL的授权功能
第四章 数据库设计
4-1 数据库设计
4-1-1 数据库设计步骤
4-1-1-1
-
数据库设计(Database Design,DBD): 构造最优的数据模型,建立数据库及其应用系统的过程
-
- 软件生存期: 从软件的规划。研制、实现、投入运行后的维护,直到被新的软件所取代而停止使用的整个期间
- 以数据库为基础的信息系统通常称为数据库应用系统
- 采集、组织、加工、抽取、综合和传播等功能
- 数据库应用系统的开发是一项软件工程,“数据库工程”
-
数据库系统生存期
4-1-1-2 规划步骤
- 系统调查
- 可行性分析
- 确定数据库系统的总目标
4-1-1-3 需求分析阶段
-
需求说明书的形式,作为以后系统开发的指南和系统验证的依据
-
需求分析步骤:
4-1-1-4 概念设计–ER方法
- 主要步骤:
- 进行数据抽象,设计局部概念模型
- 实际事物、概念的共同特性
- 概念结构是对现实世界的一种抽象
- 局部概念模型综合成全局概念模型
- 评审
- 进行数据抽象,设计局部概念模型
- 方法 :
- 实体联系方法(ER方法)
- 结果是得到一个与DBMS无关的概念模型
4-1-1-5 逻辑设计阶段
- 目的 : 概念设计阶段设计好的概念模型转换成 与选用的具体机器上的DBMS所支持的数据模型 相符合的 逻辑结构(数据库逻辑模型和外模型)
- 逻辑设计 ,首先选择DBMS
- 主要步骤 :
- 概念模型转换成 逻辑模型
- 设计外模型
- 设计应用程序与数据库的接口
- 评价模型
- 修正模型
4-1-1-6 物理设计阶段
4-1-1-7 数据库的实现
4·-1-1- 8 数据库的运行和维护
- DBA完成
- 数据库的转储和恢复
4-1-2 概念设计工具
4-1-2-1 数据库概念模式设计-----ER模型
- ER图 【Entity Realationship Model实体联系模型】:
4-1-2-1-1 ER模型的基本元素
-
实体 :
- 实体(Entity)是指数据对象,指应用中可以区别的客观存在的事物
- 实体集: 同一类实体构成的集合
-
联系 :
- 联系(Relationship) : 一个或多个实体之间的关联关系
- 联系集: 同一类联系构成的集合
-
联系的元数 : 一个联系涉及到的实体集个数,称为该联系的元数或度数
- 一元联系 (递归联系): 同一实体集内部实体之间的联系
- 二元联系: 两个不同实体集实体之间的联系
- …
-
联系类型 :限制参与联系的实体的数目 :
-
二元联系类型
-
1:1
-
1:n
-
m:n
-
-
一元联系 :
-
1:1联系
-
1:n联系
-
m:n
-
-
4-1-2-1-2 设计局部ER模型
-
- 确定局部结构范围
- 确定实体
- 确定属性
- 确定实体间联系
-
每个实体必须有实体标识符
-
例题
4-1-2-1-3 ER模型 向关系模型的转换
-
ER图转换成 关系模式集的规则
-
步骤一 ---->实体类型的转换 : 将每个实体类型转换成一个关系模型
- 实体的属性即为关系模型的属性
- 实体标识符即为关系模式的键
-
步骤二: 联系类型的转换 : 不同情况做不同的处理
-
----> 二元联系类型的转换
-
-
-
实体类型转换成关系模型的例子 :
4-1-4 ER模型做逻辑设计
4-1-4-1
- ER图转换成关系模式集的算法
- 步骤一(实体类型的转换):将每个实体类型转换成一个关系模式、
- 实体属性即为关系模式的属性
- 实体标识符即为关系模式的键
- 步骤2(联系类型的转换):不同情况做不同的处理
- 步骤一(实体类型的转换):将每个实体类型转换成一个关系模式、
4-1-3 UML模型做概念设计和逻辑设计
4-1-3-1 数据建模
- 对于一个特定的应用,如何在数据库中表示数据
- 设计关系模型方法
- 关系模型设计理论
- 概念设计模型
- E/R----传统的
- UML子集-----目前常用的
- 设计关系模型方法
4-1-3-2 UML
-
Unified Modeling Language
:统一建模语言- UML用于面向对象建模,现在也用于数据库建模
- UML与E/R模型相似,但是不提供多元联系
-
UML与E/R
4-2 逻辑设计工具—关系数据库规范化理论【5.5这里】
4-2-1 数据依赖(FD)
4-2-1-1 回顾
- 关系 : 描述实体及其属性、实体间的联系
- 一张二维表,是所设计属性的笛卡尔积的一个子集
- 关系模式 : 用来定义关系。
Sdept(Sno,Sname,Ssex)
- 关系数据库 : 基于关系模型的数据库,利用关系来描述现实世界 现实世界
- 关系数据库的模式: 定义这组关系的关系模式的全体
4-2-1-2 关系模式的形式化定义
- 关系模式由五部分组成 :
R(U,D,DOM,F)``R(U)
- R : 关系名
- U: 组成该关系的属性名集合
- D: 属性组U中属性所来自的域
- DOM: 属性向域的映像集合
- F : 属性间数据的依赖关系集合
- 完整性约束的表现形式:
- 限定属性取值范围
- 定义属性值间的相互关连,这就是数据依赖,数据库模式设计的关键
- 数据依赖 :
- 通过一个关系中属性间值得相等与否体现出来得数据间的相互关系
- 现实世界属性间相互联系的抽象
- 数据内在的性质
- 数据依赖的主要类型 :
- 函数依赖(functional Dependency),FD
- 多值依赖(Multivalued Dependency),MVD
- 连接依赖
- 关系模式的简化表示
- 关系模式R(U,D,DOM,F),简化—> R(U,F)
- 当且仅当U上的一个关系r满足F时,r称为关系,模式R(U,F)的一个关系
4-2-1-3 关系模式Student(U,F)中存在的问题
-
- 数据冗杂太大 : 浪费大量的存储空间
- 更新异常 : 数据冗杂,更新数据时,维护数据完整性代价大
- 插入一场 : 改插的数据插不进去
- 删除异常 : 不该删除的数据不得不删
- Studednt关系模式不是一个好的模式 :
- 原因 :
- 规范化理论 :
- 改造关系模式
- 分解关系模式类似消除不合适的数据依赖
- 解决插入异常、删除异常、更新异常和数据冗杂
4-2-1-4 函数依赖
-
函数依赖 : 设R(U)是一个属性集U上的关系模式,X和Y是U的子集,若对于R(U)的任意一个可能的关系r
- r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等
- “X函数确定Y”或“Y函数依赖于X”,记作X—>Y
- X称为这个函数依赖的决定属性集(Determinant)
-
例题 :
4-2-1-4-1 平凡函数依赖与非平凡函数依赖
-
在关系模式R(U)中,对于U的子集X和Y
-
如果X–>Y,但Y 不属于 X,则称X—>Y是非平凡的函数依赖
-
如果X–>Y,但Y属于 X,则称X—>Y是平凡的函数依赖
-
4-2-1-4-2 完全函数依赖与部分函数依赖
-
在关系模式R(U )中
4-2-1-4-3 传递函数依赖
-
关系模式R(U)中
4-2-1-4-4 码
- K为关系模式R(U,F)中的属性或属性组合
- U 完全依赖于 K , 则K称为R的一个候选码(Candidate Key)
- 若关系模式R有多个候选码,则选定其中的一个作为主码(Primary key)
- 候选码能够唯一标识关系的元组,是关系模式中一组最重要的属性
4-2-2 范式(NF)
- 第一范式(1NF)
- 二
- 三
- BC范式(BCNF)
- 四,五
4-2-2-1 第一范式(1NF)
-
如果一个关系模式R的所有属性都是不可分的基本数据项,则R属于1NF
- 第一范式是对关系模式的最基本的要求
- 不满足第一范式的数据库模式不能称为关系数据库
-
只满足第一范式的关系模式并不是一个好的关系模式
-
分解 :
4-2-2-2 第二范式(2NF)
-
弱关系模式R属于1NF,并且每一个非主属性都完全函数依赖于R的码,则R属于2NF
-
2NF关系模式SL(Sno,Sdept,Sloc)中
-
函数依赖
-
SL的码是Sno
-
Sloc传递函依赖于Sno,即SL中存在非主属性码的传递函数依赖
-
4-2-2-3 第三范式(3NF)
4-2-2-4 BC范式
-
BCNF : BCNF是修正的第三范式
-
设关系模式R∈1NF,对于R的每个人函数依赖,X----> Y ,若Y不属于
-
BC范式与第三范式的关系 :
- 如果关系模式R∈BCNF,必定有R∈3NF
- 如果R∈3NF,且R只有一个候选码,则R必属于BCNF
4-2-3 关系模式的规范化
- 关系数据库的规范化理论是数据库逻辑设计的工具
- 一个关系只要分量都是不可分的数据项,就是规范化的关系,只是最基本的规范化
- 规范化程度可以有6个不同的级别,6个范式
- 规范化 ---->高级范式 : 解决插入异常、删除异常、修改复杂、数据冗杂
- 关系模式的规范化 :
- 一个低一级范式的关系模式,通过模式分解—> 若干高一级范式的关系模式集合
4-2-3-1
-
步骤 :
第五章 数据库安全性
5-1 安全性控制的一般措施
- 安全性
- 数据库的安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露。更改或破坏
- 数据保密 :
- 用户合法访问到机密数据后能否对这些数据保密
- 通过制定法律到的规则
- 用户标识与鉴定
- 系统提供一定的发方式让用户标识自己的身份或名字
- 系统内部 记录着所有合法用户的标识
- 每次用户要求进入系统时
- 存取控制 :
- 存取控制机制的功能
- 保护用户只能访问其有权存取的数据
- 存取控制机制的组成 :
- 定义存取权限
- 检查存取权限
- 用户权限定义和合法权检查机制一起组成了DBMS的安全子系统
- 存取控制机制的功能
- 定义视图
- 审计:
- 一个专用的审计日志,系统自动将用户对数据库的所有操作记录
- 数据加密
5-2 DCL进行存取权限管理
5-2-1 SQL的授权功能
-
grant语句的一般格式 :
grant <权限>[,<权限>]... [ON <对象类型><对象名>] TO <用户>[,<用户>]... [WITH grant option];
- 功能 : 将对指定操作对象的指定操作权限授予指定的用户
-
操作权限 :
-
用户的权限
- 数据库的建立表(createtab)的权限属于DBA,可由DBA授予普通用户,拥有此权限后可以建立基本表
- 基本表或视图的属主拥有对该表或视图的一切操作权限
-
接收权限的用户
- 一个或多个具体用户
- public
-
with grant option
- 指定改子句后,则获得某种权限的用户可以把这种权限在授予别的 用户
- 没有指定,则或者某种权限的用户只能使用该权限,不能传播
-
例题 :把查询Student表权限授给用户UI
grant select on table Student to U1;
-
把对表SC的查询权限授予所有用户U4
-
把查询Student表和修改学生姓名的权限授给用户U4
-
把对表SC的INSERT权限授予U5用户,并允许