系统架构:数据库

news2024/12/24 2:21:50

文章目录

  • 数据库设计
  • 关系代数
  • 规范化理论
    • 求候选键
    • 特殊函数依赖
    • 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.coloradmin.cn/o/914096.html

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

相关文章

DBeaver 23.1.4发布

导读DBeaver 23.1.4发布,修复和添加了不少功能。 SQL 编辑器 修复了表别名生成问题(重复别名问题)自动建议现在尊重 “空行是查询分隔符 “选项在某些情况下大大提高了自动建议计算性能修复了别名补全问题(冗余空格问题)修复了无…

超参数的选择-手工搜索、网格搜索、随机搜索、贝叶斯搜索

超参数:超参数是在建立模型时用于控制算法行为的参数。这些参数不能从常规训练过程中获得。在对模型进行训练之前,需要对它们进行赋值。 超参数与模型的参数不同。模型参数(如神经网络的权重)是在训练过程中学习得到的,而超参数(如学习率、隐藏层数量)需…

2023-8-22 模拟队列

题目链接&#xff1a;模拟队列 #include <iostream>using namespace std;const int N 100010;int m; int q[N], hh, tt -1;int main() {cin >> m;while(m--){string op;int x;cin >> op;if(op "push"){cin >> x;q[tt] x;}else if(op …

原型链继承的缺点

记录一下原型链继承的缺点&#xff1a; 第一点是实例共享属性的问题&#xff0c;如果实例改变了继承的引用类型属性&#xff0c;那么其他实例属性也会被改变 第二点是实例对象的 constructor 属性不正确。child 的 constructor 属性并未指向它自己的构造函数 继承代码如下 …

【水平垂直居中布局】CSS实现水平垂直居中的5种方法(附源码)

文章目录 写在前面涉及知识点1、子绝对定位父相对定位&#xff0c;子节点设置位移实现1.1效果1.2实现源码 2、子绝对定位父相对定位&#xff0c;子节点设置上下边距2.1 效果2.2 实现源码 3、利用flex布局实现3.1 效果3.2 实现源码 4、利用行高和文本水平居中设置4.1 效果4.2 实…

Python代码实现天天酷跑小游戏

前言 最近几天多给大家分享分享一些用Python代码&#xff0c;写出来的小游戏吧 今天分享的游戏是 天天酷跑 大概的效果是这样的&#xff0c;动图没展示出来&#xff0c;大家将就看一下吧 【源码的话 文末名片可以获取 】 实现代码 定义 import pygame,sys import random游…

win11查看文件/文件夹所使用的程序

CtrlShiftEsc 打开任务管理器 打开资源管理器 搜索文件名 右击结束进程

【力扣】374、猜数字大小

猜数字游戏的规则如下&#xff1a; 每轮游戏&#xff0c;我都会从 1 到 n 随机选择一个数字。 请你猜选出的是哪个数字。 如果你猜错了&#xff0c;我会告诉你&#xff0c;你猜测的数字比我选出的数字是大了还是小了。 你可以通过调用一个预先定义好的接口 int guess(int num)…

第七章,文章界面

7.1添加个人专栏 <template><div class="blog-container"><div class="blog-pages"><!-- 用于渲染『文章列表』和『文章内容』 --><router-view/><div class="col-md-3 main-col pull-left"><div cla…

STL list基本用法

目录 list的使用构造函数和赋值重载迭代器(最重要)容量相关插入删除元素操作reversesortuniqueremovesplice list的底层实际是双向链表结构 list的使用 构造函数和赋值重载 构造函数说明list()无参构造list (size_type n, const value_type& val value_type())构造的li…

docker 部署服务

1、使用mysql:5.6和 owncloud 镜像&#xff0c;构建一个个人网盘。 [rootbogon ~]# docker pull mysql:5.6 [rootbogon ~]# docker pull owncloud [rootbogon ~]# docker run -itd --name mysql --env MYSQL_ROOT_PASSWORD123456 mysql:5.6 [rootbogon ~]# docker run -itd -…

SeLinux权限说明及问题解决

一、SELinux文件访问安全策略和app权限配置 在android6.0以后的版本&#xff0c;google采用了SELinux的文件访问安全策略&#xff0c;想比较以前&#xff0c;绝对提高了文件的安全&#xff0c;不像以前那样&#xff0c; 对文件访问可以是无条件的。本篇文章就分享下常用的一些…

走进大模型

1、应用大模型 AIGC 是基于大模型的&#xff0c;而大模型的基础是深度学习。上一篇文章对深度学习进行了初步介绍&#xff0c;首先是深度学习的神经元起源&#xff0c;引发了基于线性函数的模拟&#xff0c;又因为线性函数无法习得逻辑异或&#xff0c;因此引入了非线性的激活…

Linux系统常用指令

目录 1.帮助指令 2.文件目录指令* 3.查找指令 4.时间日期指令 5.压缩和解压 1.帮助指令 ctrl c 取消命令&#xff0c;并且换行&#xff08;清空换行&#xff09;作用&#xff0c;单独清空为crtl u tab换行键 补全命令和文件名&#xff0c;快速按两下可以显示备选选项 …

kafka-python 消费者消费不到消息

排除步骤1&#xff1a; 使用group_id”consumer_group_id_001“ 和 auto_offset_reset"earliest" from kafka import KafkaConsumerconsumer KafkaConsumer(bootstrap_servers["dev-kafka01.test.xxx.cloud:9092"],enable_auto_commitTrue, auto_commit…

arm: day8

1.中断实验&#xff1a;按键控制led灯 流程&#xff1a; key.h /*************************************************************************> File Name: include/key.h> Created Time: 2023年08月21日 星期一 17时03分20秒***************************************…

02-Flask框架和项目启动

安装Flask 1. 使用pycharm 企业版,直接选择Flask 2. 手动安装 (1) 进入终端进入虚拟环境 执行 pip list ,查看虚拟环境已安装的已三方库 (2) 手动安装Flask第三方库 pip install flask2.0.2 -i https://pypi.tuna.tsinghua.edu.cn/simple/ (3) 安装 pymysl ,和数据库关联第三…

HexoAssistant——博客上传助手(含源码)

文章目录 HexoAssistant——博客上传助手(含源码)1 前言2 效果演示3 源码地址4 总结 HexoAssistant——博客上传助手(含源码) 1 前言 旅行之余&#xff0c;用PyQt5写了一个博客上传的工具&#xff0c;旨在更加便捷地将本地文章上传Github博客。之前虽然配置过hexogithub的博客…

2023-8-22 模拟栈

题目链接&#xff1a;模拟栈 #include <iostream>using namespace std;const int N 100010;int m; int stk[N], tt;int main() {cin >> m;while(m--){string op;int x;cin >> op;if(op "push") {cin >> x;stk[tt] x;}else if(op "…

浅入深出充分理解-->(fork())父子进程

目录 进程是如何被管理的 Linux下的进程是如何被管理的 fork()父子进程的创建 1&#xff1a;为什么fork返回给父进程子进程的id&#xff0c;给子进程返回0 2&#xff1a;一个函数是如何做到返回两次的 3&#xff1a;一个变量怎么会有不同内容 在某一个时刻,我正在用电脑打…