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

news/2024/4/20 19:26:24/文章来源:https://blog.csdn.net/hannah2233/article/details/128095082

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

  • 时隔很长时间回去看数据库的笔记都能看懂,每次都靠这份笔记巩固
  • 真的是语雀分享要花钱,要不一定把笔记给贴出来
  • (;´༎ຶД༎ຶ`) ,除了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 数据库设计

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 Studentto U1;
    
  2. 把对表SC的查询权限授予所有用户U4

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_38580.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第2-4-8章 规则引擎Drools实战(1)-个人所得税计算器

文章目录9. Drools实战9.1 个人所得税计算器9.1.1 名词解释9.1.2 计算规则9.1.2.1 新税制主要有哪些变化&#xff1f;9.1.2.2 资较高人员本次个税较少&#xff0c;可能到年底扣税增加&#xff1f;9.1.2.3 关于年度汇算清缴9.1.2.4 个人所得税预扣率表&#xff08;居民个人工资、…

LeetCode - 76 最小覆盖子串

目录 题目来源 题目描述 示例 提示 题目解析 算法源码 题目来源 76. 最小覆盖子串 - 力扣&#xff08;LeetCode&#xff09; 题目描述 给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串&#xff0c;则返回…

iClient for Leaflet设置地图掩膜

作者&#xff1a;lly 文章目录背景一、实现思路二、步骤代码三、完整代码背景 最近很多小伙伴需要只展示地图的某个行政区域&#xff0c;由于地图存在多个图层&#xff0c;所以图层过滤的方式并不能很好的适用&#xff0c;这个时候&#xff0c;我们可以考虑给地图覆盖一层掩膜…

界面控件DevExpress WPF的主题设计器,可轻松完成应用主题研发

DevExpress WPF拥有120个控件和库&#xff0c;将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序&#xff0c;这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 DevExpress WPF的The…

双十二薅羊毛!这几款数码好物不可错过

双十二即将开始&#xff0c;在这段时间里有的人已经将自己心仪的塞满了整个购物车了吧&#xff0c;而有的人还没想好到底要入手什么&#xff0c;如果你也是还在纠结的话&#xff0c;不知道该买什么又或是想知道哪些产品更适合你入手&#xff0c;不妨来看看小编今天为你带来的这…

MySQL第一弹

目录 一、数据库的基本概念 1、数据 (Data) 2、表 3、数据库 4、数据库管理系统(DBMS) 5、数据库系统 6、DBMS的工作模式如下 二、数据库的发展史 1.第一代数据库&#xff08;淘汰&#xff09; 2.第二代数据库&#xff08;现在用的基本上都是二代&#xff09; 3.第…

亲戚小孩月薪17k,而我只有4k+,好慌......

我们总是在悲观与乐观中反复折磨自己&#xff0c;感觉自己一事无成。总是眼高手低&#xff0c;总以为大运会砸到自己&#xff0c;遇到挫折就会感到很沮丧。 大学四年没考到英语六级证书&#xff0c;小学教资考了两次。现在想要考研&#xff0c;但总是觉得来不及&#xff0c;或…

磁盘划分和磁盘格式化

文章目录列出装置的 UUID 等参数parted 列出磁盘的分区表类型与分区信息磁盘分区&#xff1a;gdisk、fdisk用 gdisk 新增分区槽用 gdisk 删除一个分区槽磁盘格式化&#xff08;建立文件系统&#xff09;XFS 文件系统 mkfs.xfsXFS 文件系统 for RAID 效能优化&#xff08;Option…

java中csv导出-追加-列转行

1、问题描述 业务数据量比较大&#xff0c;业务上查询条件写入数据库&#xff0c;java定时去读&#xff0c;然后导出csv&#xff0c;供用户下载&#xff0c;因为有模板要求&#xff0c;前一部分是统计信息&#xff0c;后一部分是明细信息&#xff1b;首先csv中写入统计信息&am…

IDEA的日常快捷键大全

更多内容在&#xff1a;https://javaxiaobear.gitee.io/ ​​​​​​第1组&#xff1a;通用型 说明 快捷键 复制代码-copy ctrl c 粘贴-paste ctrl v 剪切-cut ctrl x 撤销-undo ctrl z 反撤销-redo ctrl shift z 保存-save all ctrl s 全选-select all …

Python连接Clickhouse遇坑篇,耗时一天成功连接!

首先&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;不要看网上那些乱七八糟的使用clickhouse-driver连接了&#xff0c;真tm难用&#xff0c;端口能搞死你那种&#xff0c;超级烦&#xff01; 推荐直接看官方…

数商云SRM系统招标流程分享,助力建筑材料企业降低采购成本,提高采购效率

近年来&#xff0c;随着主管部门对房地产市场的监管非常严格&#xff0c;房地产业的发展已进入瓶颈期&#xff0c;这对与房地产业密切相关的建材行业产生了很大的影响。同时&#xff0c;我国城市化进入成熟期&#xff0c;行业规模发展动力减弱&#xff0c;建材行业增长压力明显…

Kotlin高仿微信-第8篇-单聊

Kotlin高仿微信-项目实践58篇详细讲解了各个功能点&#xff0c;包括&#xff1a;注册、登录、主页、单聊(文本、表情、语音、图片、小视频、视频通话、语音通话、红包、转账)、群聊、个人信息、朋友圈、支付服务、扫一扫、搜索好友、添加好友、开通VIP等众多功能。 Kotlin高仿…

VauditDemo靶场代码审计

靶场搭建 将下载好的VAuditDemo_Debug目录复制到phpstudy的www目录下&#xff0c;然后将其文件名字修改成VAuditDemo&#xff0c;当然你也可以修改成其他的 运行phpstudy并且访问install目录下的install.php&#xff0c;这里我访问的是http://127.0.0.1/VAuditDemo/install/in…

竞赛——【蓝桥杯】2022年12月第十四届蓝桥杯模拟赛第二期C/C++

1、最小的2022 问题描述 请找到一个大于 2022 的最小数&#xff0c;这个数转换成二进制之后&#xff0c;最低的 6 个二进制为全为 0 。 请将这个数的十进制形式作为答案提交。 答案提交 这是一道结果填空的题&#xff0c;你只需要算出结果后提交即可。本题的结果为一个整数…

Java学习之继承练习题

目录 第一题 代码 输出流程分析 运行结果 考察知识点 第二题 代码 流程分析 运行结果 第三题 题目要求 我的代码 代码改进 第一题 代码 package com.hspedu.extends_.exercise;public class ExtendsExercise01 {public static void main(String[] args) {B b new …

Sentinel-2(哨兵2数据介绍)

哥白尼 Sentinel-2&#xff08;哨兵 2&#xff09;计划是一个由两颗相同的 Sentinel-2 极轨卫星组成的星座&#xff0c;两颗卫星相位差 180&#xff0c;运行在平均高度 786 km 的太阳同步轨道上。每颗卫星在其轨道上的位置由双频全球导航卫星系统&#xff08;GNSS&#xff09;接…

ggrcs 包2.4绘制RCS(限制立方样条图)实际操作演示(1)

ggrcs 包2.4版本已经发布一段时间了&#xff0c;大概几个月了吧&#xff0c;收到不少好评&#xff0c; 没听说太大的问题&#xff0c;最主要的问题有两个&#xff1a; 1.是说变量不是数字变量。 2.是说数据超过10万&#xff0c;无法处理 第一个问题非常好处理&#xff0c;这…

R语言MCMC:Metropolis-Hastings采样用于回归的贝叶斯估计

全文链接&#xff1a;http://tecdat.cn/?p19664 MCMC是从复杂概率模型中采样的通用技术。蒙特卡洛马尔可夫链Metropolis-Hastings算法&#xff08;点击文末“阅读原文”获取完整代码数据&#xff09;。问题如果需要计算有复杂后验pdf p&#xff08;θ| y&#xff09;的随机变量…

简单聊聊什么是react-redux,它能解决哪些问题

或许 在大多数人眼中 redux是一个相对复查很多的知识点 但确实如果你熟悉了流程 其实也比较简单的 redux是一个数据管理方案 我们先来举个例子 目前我们知道 react中有两种组件数据通信的方式 分别是 props 父传子 定义事件 子传父 通过事件将自己的数据传给父级 那如果是兄弟…