系统架构:数据库

文章目录

  • 数据库设计
  • 关系代数
  • 规范化理论
    • 求候选键
    • 特殊函数依赖
    • Armstrong公理
    • 范式
    • 无损分解

数据库设计

在这里插入图片描述

步骤产出说明
1.根据数据要求和处理要求进行需求分析数据流图、数据字典、需求说明书等分析数据流向、数据详细含义等,分析具体需求
2.对现实世界进行抽象,进行概念结构设计ER模型用于描述实体及各实体的联系
3.加入转换规则、规范化理论和DBMS特性等进行逻辑结构设计关系模式设计数据库的表结构
4.加入硬件特性、OS特性等进行物理设计-设计数据在物理上如何存储

关系代数

在这里插入图片描述

  • 笛卡尔积:不要求同构,结果的列是二者之和(3+3=6),结果的行是二者的乘积(3*3=9)。
  • 投影:在垂直方向上筛选特定列,表结构发生变化。
  • 选择:水平方向上筛选特定行,表结构不变。

在这里插入图片描述

  • 自然连接:不要求同构,结果的列是二者之和去重,结果的行要求所有同名属性列同时取值相等,图中式1是使用笛卡尔积->选择->投影的等价表达式。若实现相同运算,自然连接的性能稍优于笛卡尔积。

规范化理论

求候选键

在这里插入图片描述
关系模式R中包含两个元组,属性集合U和函数依赖集合F,记为R(U, F),将属性集合表示为节点,依赖表示为箭头,可将R转换为有向图。
在这里插入图片描述先找两种节点:

  • 只出现在左侧,从未出现在右侧的。必包含在候选键中。
  • 只出现在右侧,从未出现在左侧的。必不包含在候选键中。
    图中C只在右侧出现,故必不包含在候选键中。若只有A,可遍历到BC,完成,若只有B,可遍历到AC,完成。故候选键为A和B(注意不是AB)。

特殊函数依赖

  1. 部分函数依赖
    在这里插入图片描述候选键存在多个属性集合的情况下(图中候选键为AB),有属性集只依赖于候选键中的一部分(C只依赖于A)。
  2. 传递函数依赖在这里插入图片描述

Armstrong公理

在这里插入图片描述

范式

在这里插入图片描述

无损分解

在这里插入图片描述表格法判断:
请添加图片描述
在这里插入图片描述先找同名属性列(学生关系的学号与成绩关系的学号),则可通过依赖(学号->姓名)将姓名还原到成绩关系,表格变为:
请添加图片描述继续看下一个同名属性列(学生关系的姓名与成绩关系的姓名),没有依赖可用,继续找下一个(成绩关系的课程号和课程关系的课程号),可通过依赖(课程号->课程名)将课程名还原到成绩关系中,表格变为:
请添加图片描述有一行全部为√,成功还原。

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

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

相关文章

Day3: 前端路由(基础篇)

❝ 「目标」: 持续输出!每日分享关于web前端常见知识、面试题、性能优化、新技术等方面的内容。 ❞ ❝ 「主要面向群体:」前端开发工程师(初、中、高级)、应届、转行、培训等同学 ❞ Day3-今日话题 想必大家经常会在面试中或者工作…

AD域组策略开机脚本客户端不执行:解决方法

本例实现的计算机开机重置本地管理员的密码 1、创建组策略 2、在AD域中添加脚本 3、注意脚本的路径:就是打开 Show Files 目录 4、本例建了2个脚本,一个是用来测试的 (1)CreateFile.ps1 文件:用来在D盘创建一个 file…

Linux权限

Linux中一切皆文件,那么文件就应该有相对于的类型,而在Linux当中,类型不是直接看后缀来决定的。 -普通文件、文本、可执行、归档文件等d目录b块设备、block、磁盘c字符设备、键盘、显示器p管道文件s网络socket文件l链接文件 link 然后后面的九…

C++入门:引用是什么

目录 1.引用的概念 2.引用的特征 3.常引用 4.引用使用场景 5.传值,传引用效率比较 6.引用与指针的区别 1.引用的概念 引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空 间,它和它引用…

对象的遍历方法

文章目录 对象的遍历 对象的遍历 方法描述遍历不可枚举属性遍历继承属性遍历Symbol属性Object.keys(obj)Object.values(obj)Object.entries(obj)返回给定对象的自身可枚举属性组成的数组for-in遍历对象的属性,包括原型链上的可枚举属性√Object.getOwnPropertyName…

Can‘t find end of central directory : is this a zip file ? at XMLHttpRequest

导出woed出现这个报错,原因其实很简单,路径写错了, 这个word首先必须是docx格式,然后必须放在public文件包下 如果放在public文件包下还没有用,则放在public包下 参考帖子: https://www.cnblogs.com/hejun26/p/13647927.html

数据结构——栈和队列

栈和队列的建立 前言一、栈1.栈的概念2.栈的实现3.代码示例(1)Stack.h(2)Stack.c(3)Test.c(4)运行结果(5)完整代码演示 二、队列1.队列的概念2.队列的实现3.代…

容器和云原生(三):kubernetes搭建与使用

目录 单机K8S docker containerd image依赖 kubeadm初始化 验证 crictl工具 K8S核心组件 上文安装单机docker是很简单docker,但是生产环境需要多个主机,主机上启动多个docker容器,相同容器会绑定形成1个服务service,微服务…

在vue中使用codemirror格式化JSON

1. 下载指定版本的包 (避免引发不必要的错误) yarn add codemirror^5.64.02. 导入需要的文件 import CodeMirror from codemirrorimport codemirror/addon/lint/lint.cssimport codemirror/addon/fold/foldgutter.cssimport codemirror/lib/codemirror.cssimport codemirror/t…

【C++/C 实现球球大作战】

目录 1.引言2.游戏设计:概述游戏的玩法和操作方式。3.游戏实现(1)函数 GameInit() 初始化游戏的函数。(2)函数 GameDraw() 用于绘制游戏场景的函数。(3)函数 keyControl(int speed) 负责处理键盘…

《动手学深度学习》-20卷积层里的填充和步幅

沐神版《动手学深度学习》学习笔记,记录学习过程,详细的内容请大家购买书籍查阅。 b站视频链接 开源教程链接 卷积层里的填充和步幅 应用5x5大小的卷积核,输入32x32,输出会变为28x28。 更大的卷积核更快地减小输出大小。 导致网…

【数据治理】什么是数据库归档

文章目录 前言什么是数据归档 前言 如果您的日常工作中需要对数据库进行管理,那您肯定已经或即将遭遇这样的困惑:随着业务的蓬勃发展,数据库文件的大小逐渐增大,您需要为在线业务提供越来越大的高性能磁盘容量,但数据…

Angular中 ng-template 和 ng-content 有何区别?

在Angular中,ng-template 和 ng-content 都是用于管理和展示内容的指令,但它们在使用和功能上有一些区别。让我为你解释一下它们的区别,并提供一些示例来说明。 ng-template: ng-template 是一个用来定义可重用模板的容器。它本身不会被渲染…

微信公众号网页开发调用扫一扫及苹果手机(iOS)无反应问题解决方案

二维码大家都很常见,使用场景也很多,但是日常使用中有两种场景比较常见。 1、二维码背后的内容是一个网址,扫描后直接跳转到对应的网址,比如:宣传海报,跳转到直播间、微官网或者微信公众号。 2、二维码背后…

鲁图中大许少辉博士八一新书《乡村振兴战略下传统村落文化旅游设计》山东省图书馆典藏

鲁图中大许少辉博士八一新书《乡村振兴战略下传统村落文化旅游设计》山东省图书馆典藏

ubuntu 安装 postgresql以及 wal回滚

安装 sudo apt install postgresql postgresql-contrib设置远程连接 修改/etc/postgresql/12/main/postgresql.conf **将listen_addresses 改成 ***修改/etc/postgresql/12/main/pg_hba.conf 找到如下信息 #IPv4 local connections: 修改为 host all all 0.0.0.0/0 md5 重启…

Git问题:解决“ssh:connect to host github.com port 22: Connection timed out”

操作系统 Windows11 使用Git IDEA 连接方式:SSH 今天上传代码出现如下报错:ssh:connect to host github.com port 22: Connection timed out 再多尝试几次,依然是这样。 解决 最终发现两个解决方案:(二选一&#xf…

反转链表II

江湖一笑浪滔滔,红尘尽忘了 题目 示例 思路 链表这部分的题,不少都离不开单链表的反转,参考:反转一个单链表 这道题加上哨兵位的话会简单很多,如果不加的话,还需要分情况一下,像是从头节点开始…

剑指Offer51.数组中的逆序对 C++

1、题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 示例 1: 输入: [7,5,6,4] 输出: 5 2、VS2019上运行 使用方法一:归并排序 #inclu…

创建型(一) - 简单工厂模式、工厂方法模式和抽象工厂模式

本文使用了王争老师设计模式课程中的例子,写的很清晰,而且中间穿插了代码优化。 由于设计模式就是解决问题的一种思路,所以每个设计模式会从问题出发,这样比较好理解设计模式出现的意义。 一、简单工厂模式 解决问题&#xff1a…