【SQL Server + MySQL三】数据库设计【ER模型+UML模型+范式】 + 数据库安全性

极其感动!!!当时学数据库的时候,没白学!!

  • 时隔很长时间回去看数据库的笔记都能看懂,每次都靠这份笔记巩固
  • 真的是语雀分享要花钱,要不一定把笔记给贴出来
  • (;´༎ຶД༎ຶ`) ,除了vue和react之外,最常看的一份笔记了!!!!

xd们,一定要收藏粘贴下来,真的没有自夸!!!!

  • 当时学的时候,想来:就一份笔记么?脑子有病的人才一直记来记去的【框框自嘲】!有啥可分享的?现在,真香!!!

第四章 数据库设计

4-1 数据库设计

image-20220402145535759

4-1-1 数据库设计步骤

4-1-1-1
  1. 数据库设计(Database Design,DBD): 构造最优的数据模型,建立数据库及其应用系统的过程

  2. image-20220402145807873

    • 软件生存期: 从软件的规划。研制、实现、投入运行后的维护,直到被新的软件所取代而停止使用的整个期间
    • 以数据库为基础的信息系统通常称为数据库应用系统
      • 采集、组织、加工、抽取、综合和传播等功能
    • 数据库应用系统的开发是一项软件工程,“数据库工程”
  3. 数据库系统生存期

    image-20220505113831121

4-1-1-2 规划步骤
  1. 系统调查
  2. 可行性分析
  3. 确定数据库系统的总目标
4-1-1-3 需求分析阶段
  1. 需求说明书的形式,作为以后系统开发的指南和系统验证的依据

  2. 需求分析步骤:

    image-20220402150457848

4-1-1-4 概念设计–ER方法
  1. 主要步骤:
    • 进行数据抽象,设计局部概念模型
      • 实际事物、概念的共同特性
      • 概念结构是对现实世界的一种抽象
    • 局部概念模型综合成全局概念模型
    • 评审
  2. 方法 :
  • 实体联系方法(ER方法)
  • 结果是得到一个与DBMS无关的概念模型
4-1-1-5 逻辑设计阶段
  1. 目的 : 概念设计阶段设计好的概念模型转换成 与选用的具体机器上的DBMS所支持的数据模型 相符合的 逻辑结构(数据库逻辑模型和外模型)
  2. 逻辑设计 ,首先选择DBMS
  3. 主要步骤 :
    • 概念模型转换成 逻辑模型
    • 设计外模型
    • 设计应用程序与数据库的接口
    • 评价模型
    • 修正模型
4-1-1-6 物理设计阶段
4-1-1-7 数据库的实现
4·-1-1- 8 数据库的运行和维护
  1. DBA完成
    • 数据库的转储和恢复

4-1-2 概念设计工具

4-1-2-1 数据库概念模式设计-----ER模型
  1. ER图 【Entity Realationship Model实体联系模型】:
4-1-2-1-1 ER模型的基本元素
  1. 实体 :

    • 实体(Entity)是指数据对象,指应用中可以区别的客观存在的事物
    • 实体集: 同一类实体构成的集合
  2. 联系 :

    • 联系(Relationship) : 一个或多个实体之间的关联关系
    • 联系集: 同一类联系构成的集合
  3. 联系的元数 : 一个联系涉及到的实体集个数,称为该联系的元数度数

    • 一元联系 (递归联系): 同一实体集内部实体之间的联系
    • 二元联系: 两个不同实体集实体之间的联系
  4. 联系类型 :限制参与联系的实体的数目 :

    • 二元联系类型

      • 1:1

        image-20220402153227606

      • 1:n

        image-20220402153345305

      • m:n

        image-20220402153445254

    • 一元联系 :

      • 1:1联系

        image-20220402153544992

      • 1:n联系

        image-20220402153609738

      • m:n

        image-20220402153623021

4-1-2-1-2 设计局部ER模型
    • 确定局部结构范围
    • 确定实体
    • 确定属性
    • 确定实体间联系
  1. 每个实体必须有实体标识符

    image-20220402154615832

  2. 例题

    image-20220402154906095

    image-20220402154808921

4-1-2-1-3 ER模型 向关系模型的转换
  1. ER图转换成 关系模式集的规则

    • 步骤一 ---->实体类型的转换 : 将每个实体类型转换成一个关系模型

      • 实体的属性即为关系模型的属性
      • 实体标识符即为关系模式的键
    • 步骤二: 联系类型的转换 : 不同情况做不同的处理

      • ----> 二元联系类型的转换

        image-20220402171426334

  2. 实体类型转换成关系模型的例子 :

    image-20220402170502363

    image-20220402171404478

4-1-4 ER模型做逻辑设计

4-1-4-1
  1. ER图转换成关系模式集的算法
    • 步骤一(实体类型的转换):将每个实体类型转换成一个关系模式、
      • 实体属性即为关系模式的属性
      • 实体标识符即为关系模式的键
    • 步骤2(联系类型的转换):不同情况做不同的处理

4-1-3 UML模型做概念设计和逻辑设计

4-1-3-1 数据建模
  1. 对于一个特定的应用,如何在数据库中表示数据
    • 设计关系模型方法
      • 关系模型设计理论
      • 概念设计模型
        • E/R----传统的
        • UML子集-----目前常用的
4-1-3-2 UML
    • Unified Modeling Language:统一建模语言
    • UML用于面向对象建模,现在也用于数据库建模
    • UML与E/R模型相似,但是不提供多元联系
  1. UML与E/R

    image-20220402173029561

4-2 逻辑设计工具—关系数据库规范化理论【5.5这里】

image-20220402173643415

4-2-1 数据依赖(FD)

4-2-1-1 回顾
  1. 关系 : 描述实体及其属性、实体间的联系
    • 一张二维表,是所设计属性的笛卡尔积的一个子集
  2. 关系模式 : 用来定义关系。Sdept(Sno,Sname,Ssex)
  3. 关系数据库 : 基于关系模型的数据库,利用关系来描述现实世界 现实世界
  4. 关系数据库的模式: 定义这组关系的关系模式的全体
4-2-1-2 关系模式的形式化定义
  1. 关系模式由五部分组成 : R(U,D,DOM,F)``R(U)
    • R : 关系名
    • U: 组成该关系的属性名集合
    • D: 属性组U中属性所来自的域
    • DOM: 属性向域的映像集合
    • F : 属性间数据的依赖关系集合
  2. 完整性约束的表现形式:
    • 限定属性取值范围
    • 定义属性值间的相互关连,这就是数据依赖,数据库模式设计的关键
  3. 数据依赖 :
    • 通过一个关系中属性间值得相等与否体现出来得数据间的相互关系
    • 现实世界属性间相互联系的抽象
    • 数据内在的性质
  4. 数据依赖的主要类型 :
    • 函数依赖(functional Dependency),FD
    • 多值依赖(Multivalued Dependency),MVD
    • 连接依赖
  5. 关系模式的简化表示
    • 关系模式R(U,D,DOM,F),简化—> R(U,F)
    • 当且仅当U上的一个关系r满足F时,r称为关系,模式R(U,F)的一个关系
4-2-1-3 关系模式Student(U,F)中存在的问题
    • 数据冗杂太大 : 浪费大量的存储空间
    • 更新异常 : 数据冗杂,更新数据时,维护数据完整性代价大
    • 插入一场 : 改插的数据插不进去
    • 删除异常 : 不该删除的数据不得不删
  1. Studednt关系模式不是一个好的模式 :
    • 原因 :
  2. 规范化理论 :
    • 改造关系模式
    • 分解关系模式类似消除不合适的数据依赖
    • 解决插入异常、删除异常、更新异常和数据冗杂
4-2-1-4 函数依赖
  1. 函数依赖 : 设R(U)是一个属性集U上的关系模式,X和Y是U的子集,若对于R(U)的任意一个可能的关系r

    • r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等
    • “X函数确定Y”或“Y函数依赖于X”,记作X—>Y
      • X称为这个函数依赖的决定属性集(Determinant)
  2. 例题 :

    image-20220408103756573

4-2-1-4-1 平凡函数依赖与非平凡函数依赖
  1. 在关系模式R(U)中,对于U的子集X和Y

    • 如果X–>Y,但Y 不属于 X,则称X—>Y是非平凡的函数依赖

    • 如果X–>Y,但Y属于 X,则称X—>Y是平凡的函数依赖

      image-20220408114940711

4-2-1-4-2 完全函数依赖与部分函数依赖
  1. 在关系模式R(U )中

    image-20220408115140778

    image-20220408115454057

4-2-1-4-3 传递函数依赖
  1. 关系模式R(U)中

    image-20220408115723899

4-2-1-4-4 码
  1. K为关系模式R(U,F)中的属性或属性组合
  2. U 完全依赖于 K , 则K称为R的一个候选码(Candidate Key)
  3. 若关系模式R有多个候选码,则选定其中的一个作为主码(Primary key)
  4. 候选码能够唯一标识关系的元组,是关系模式中一组最重要的属性

4-2-2 范式(NF)

  • 第一范式(1NF)
  • BC范式(BCNF)
  • 四,五
4-2-2-1 第一范式(1NF)
  1. 如果一个关系模式R的所有属性都是不可分的基本数据项,则R属于1NF

    • 第一范式是对关系模式的最基本的要求
    • 不满足第一范式的数据库模式不能称为关系数据库
  2. 只满足第一范式的关系模式并不是一个好的关系模式

  3. image-20220408121919371

  4. image-20220408121958509

    image-20220408122020244

  5. 分解 :

    image-20220408122109061

4-2-2-2 第二范式(2NF)
  1. 弱关系模式R属于1NF,并且每一个非主属性都完全函数依赖于R的码,则R属于2NF

    image-20220408122403261

  2. 2NF关系模式SL(Sno,Sdept,Sloc)中

    • 函数依赖

    • SL的码是Sno

    • Sloc传递函依赖于Sno,即SL中存在非主属性码的传递函数依赖

      image-20220408122555396

4-2-2-3 第三范式(3NF)
4-2-2-4 BC范式
  1. BCNF : BCNF是修正的第三范式

  2. 设关系模式R∈1NF,对于R的每个人函数依赖,X----> Y ,若Y不属于

  3. BC范式与第三范式的关系 :

    • 如果关系模式R∈BCNF,必定有R∈3NF
    • 如果R∈3NF,且R只有一个候选码,则R必属于BCNF

4-2-3 关系模式的规范化

  1. 关系数据库的规范化理论是数据库逻辑设计的工具
    • 一个关系只要分量都是不可分的数据项,就是规范化的关系,只是最基本的规范化
    • 规范化程度可以有6个不同的级别,6个范式
  2. 规范化 ---->高级范式 : 解决插入异常、删除异常、修改复杂、数据冗杂
  3. 关系模式的规范化 :
    • 一个低一级范式的关系模式,通过模式分解—> 若干高一级范式的关系模式集合
4-2-3-1
  1. 步骤 :

    image-20220411144713589

第五章 数据库安全性

5-1 安全性控制的一般措施

  1. 安全性
    • 数据库的安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露。更改或破坏
    • 数据保密 :
      • 用户合法访问到机密数据后能否对这些数据保密
      • 通过制定法律到的规则

image-20220411152511541

  1. 用户标识与鉴定
    • 系统提供一定的发方式让用户标识自己的身份或名字
    • 系统内部 记录着所有合法用户的标识
    • 每次用户要求进入系统时
  2. 存取控制 :
    • 存取控制机制的功能
      • 保护用户只能访问其有权存取的数据
    • 存取控制机制的组成 :
      • 定义存取权限
      • 检查存取权限
    • 用户权限定义和合法权检查机制一起组成了DBMS的安全子系统
  3. 定义视图
  4. 审计:
    • 一个专用的审计日志,系统自动将用户对数据库的所有操作记录
  5. 数据加密

5-2 DCL进行存取权限管理

5-2-1 SQL的授权功能

  1. grant语句的一般格式 :

    grant <权限>[,<权限>]...
    	[ON <对象类型><对象名>]
        TO <用户>[,<用户>]...
        [WITH grant option];
    
    
    • 功能 : 将对指定操作对象的指定操作权限授予指定的用户
  2. 操作权限 :

    image-20220411153934467

  3. 用户的权限

    • 数据库的建立表(createtab)的权限属于DBA,可由DBA授予普通用户,拥有此权限后可以建立基本表
    • 基本表或视图的属主拥有对该表或视图的一切操作权限
  4. 接收权限的用户

    • 一个或多个具体用户
    • public
  5. with grant option

    • 指定改子句后,则获得某种权限的用户可以把这种权限在授予别的 用户
    • 没有指定,则或者某种权限的用户只能使用该权限,不能传播


  1. 例题 :把查询Student表权限授给用户UI

    grant select 
    	on table Student
        to U1;
    
  2. 把对表SC的查询权限授予所有用户U4

  3. 把查询Student表和修改学生姓名的权限授给用户U4

  4. 把对表SC的INSERT权限授予U5用户,并允许

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值