当前位置: 首页 > article >正文

从0开始数据仓库--数据表范式

定义数据库范式是一种用于减少冗余提高数据一致性和可维护性的规则一、核心概念函数依赖X 确定 Y记作 X→Y候选码能唯一标识一行的最小属性集主属性出现在候选码中的属性非主属性不出现在任何候选码中的属性R() 「单个关系模式 R」在关系模式r中范式可以分为5类1NF:所以列不可以在分即属性必须原子不能再分。以下是一个不满足第一范式的案例user表IDNAMETEL1张三12234567890123345678902李四12344567890上表可见TEL手机号中存在多个值信息没有做到列不可再分正确结构为user表IDNAMETEL1张三122345678902李四123445678903张三123345678902NF必须完全依赖不能部分依赖即其他表关联user表中要完全依赖主键非联合主键都满足第二范式user表IDUSER_IDNAMETELPHONE_BILLSEXSEX_NANE1001张三12234567890128X女2002李四1234456789013Y男3001张三1233456789065X女4003王五12234567890/Y男(USER_ID TEL) 确定唯一一条数据其他字段关联user表时要用 (USER_ID TEL) 关联ID非业务主键(只做展示不做使用)F(SEX → SEX_NAME,(USER_IDTEL)→ NAME、SEX)存在部分依赖 USER_ID - SEX正确格式userUSER_IDNAMESEX001张三X002李四Y003王五Yuser_contactUSER_IDTELPHONE_BILL001122345678901280021234456789013001123345678906500312234567890/sex_dictSEXSEX_NAMEX女Y男user候选码是 USER_ID单属性天然无部分依赖user_contact候选码是 (USER_ID, TEL)非主属性 PHONE_BILL 依赖完整候选码无部分依赖sex_dict候选码是 SEX单属性天然无部分依赖。3NF必须直接依赖不能有传递依赖即字段IDNAMETELDEPTDEPT_NAME1张三1223456789001销售部2李四1234456789002开发部F(NAME - DEPT ,DEPT - DEPTNAME)存在传递依赖 _NAME - DEPT -DEPT_NAMEBCNF:所有函数依赖的左边必须是候选码。IDNAMEAGEGENDER1张三24X2李四34YF(NAME - AGE ,NAME - GENDER)所有列都依赖最左边的NAME4NF消除多值依赖:即一对多里不要把两个互不相关的 “多” 塞在同一张表里。IDNAMEAGESEXEYE_SIGHT1张三24XL:5.02张三24XR:4.73李四34YL:4.84李四34YR:4.6上表可以看到人员信息存在左眼和右眼视力一对多的情况如果用户只想要获取年龄会还须二次处理正确处理方法为IDNAMEAGESEXL_EYE_SIGHTR_EYE_SIGHT1张三24XL:5.0R:4.72李四34YL:4.8R:4.6或者单独创建一张维度表5NF: 消除连接依赖:拆到不能再拆一张表如果能无损拆成三张及以上更小的表就拆干净不要再合并回去项目上不要使用。范式优点当我们遵守范式规则如果要更改那个表的维度值编码信息可以直接变更拆封的表内的码值信息范式缺点范式并不是越多越好在OLAP数据仓库中我们要进行反范式化使其性能提高查询代码更加简洁表结构拆的越细编写业务指标时关联表的次数就会越多代码维护起来就更加费力范式习题R (学号姓名班级班级名性别年龄)F(学号 - 年龄,学号 - 性别,学号 - 班级,班级 - 班级名)上述结构满足第几范式候选码是什么现有关系模式R(ABCDEF)其中AB为候选码存在函数依赖B→CA→DD→ED→FRXYZF { Y→ZXZ→Y}写出满足BCNF格式的关系模式现有一个json数据请你针对该数据设计一张数据表(各项目都有2次考核机会如第一次不合格会有第二次成绩)姓名年龄身高体重性别民族 班级 导员肺活量跳远成绩50m, 1000m, 是否合格

相关文章:

从0开始数据仓库--数据表范式

定义: 数据库范式是一种用于减少冗余,提高数据一致性和可维护性的规则一、核心概念函数依赖:X 确定 Y,记作 X→Y候选码:能唯一标识一行的最小属性集主属性:出现在候选码中的属性非主属性:不出现…...

MySQL锁机制:从懵逼到入门,我花了三年

MySQL锁机制:从懵逼到入门,我花了三年写在前面:这篇文章源于我被死锁折磨的那些日日夜夜。如果你也曾经对着 SHOW ENGINE INNODB STATUS 发呆,或者被间隙锁搞得怀疑人生,那这篇文章可能就是为你写的。一、故事的开始&a…...

小程序制作平台有哪些?SaaS模板类平台评测

在数字化转型加速的当下,小程序已成为商家触达用户、提升营收的核心载体,而SaaS模式凭借零代码、低成本、快速上线的优势,成为多数商家搭建小程序的首选。目前市场上SaaS小程序制作平台众多,其中码云数智、有赞、微盟凭借各自的定…...

人工智能之数字生命--“骨架真相”

现在这套系统里,安全值 和 服务值 的根需求负责给出总方向,真根任务不会真正“完成”,它们会反复根据当前状态去分解出下一轮阶段任务。真正会完成的,是这些阶段任务下面的叶子子任务。 下面我用你现在代码里的机制,推…...

Ozon卖家醒醒吧!别再“手动搬砖”了,你的对手已经在用AI“开挂”了

做跨境电商十几年,我从最早的eBay、速卖通,到后来的亚马逊,再到现在的Ozon,一路摸爬滚打过来。说实话,见过太多卖家起高楼、宴宾客、楼塌了的戏码。特别是最近两年,Ozon火了,俄罗斯市场的大门越…...

RedisSearch 和 Elasticsearch 的 HNSW向量索引对比

RedisSearch 和 Elasticsearch 都支持 HNSW(Hierarchical Navigable Small World)向量索引,但它们在存储方式、查询流程、扩展能力、性能侧重点上差异很大。很多人在做向量检索架构选型时都会对比这两者。 下面从 架构 → 存储 → 检索 → 性…...

专注AI优化的服务商

随着人工智能技术向各行业深度渗透,企业在AI应用过程中常面临模型效率低、部署成本高、场景适配难等核心痛点。专注AI优化的服务商成为破解这些问题的关键力量,而超智引擎人工智能科技凭借其专业技术能力与深度行业经验,为企业提供高效的AI优…...

C# .NET 周刊|2026年2月4期

国内文章 Zenith.NET v0.0.6 发布 — API 大幅精简,为 Metal 后端铺路 https://www.cnblogs.com/xymfblogs/p/19620088 Zenith.NET v0.0.6 正式发布,核心主题是精简。大规模重构资源绑定模型、着色器阶段和光线追踪方案。资源集合重命名为 ResourceTa…...

一个寒假过去了 把虚拟机密码忘了怎么办

此时需要重启或开启虚拟机出现一下界面快速点进虚拟机按上下选择第二个选项按e进入以下界面 并在quiet 单词后输入rd.break 按下ctrlx进入以下界面输入mount -o remount,rw /stsrootchroot /sysrootpasswd新密码再次确认新密码touch /.autorelabelexitexit回车后系统会重启...

【流程思维】九、行动:实验和科学方法打造持续改进的组织

导读:以“科学方法无惧失败”推动流程改善,主张用“5W1H”审视惯性动作,遵循观察—假设—实验—验证循环,并以心理安全和复盘机制化解对失败的恐惧,形成小步快跑的持续进化文化。 目录 1. 停止磕绊,开启思…...

杨立昆的“世界模型”获10亿美元背书:AI要从“语言”走向“现实”

杨立昆的“世界模型”获10亿美元背书:AI要从“语言”走向“现实”2026年3月,图灵奖得主杨立昆(Yann LeCun)的新公司AMI Labs宣布完成10.3亿美元巨额融资,这笔资金将用于打造能真正理解物理现实的“世界模型”&#xff…...

互联网大厂Java面试三轮详解:核心技术栈与业务场景代码实践

互联网大厂Java面试三轮详解 本文旨在帮助初学者系统学习并应对互联网大厂的Java求职面试。内容体系化,模拟三轮真实面试流程,涵盖核心技术栈,结合实际业务场景和代码演示。每部分均附详细技术解析,助力面试准备。第一轮&#xff…...

Ubuntu 服务器通过 Samba 映射至 Windows 本地:高性能配置全攻略

这里写自定义目录标题Ubuntu 服务器通过 Samba 映射至 Windows 本地:高性能配置全攻略一、 为什么选择 Samba?二、 环境准备与基础安装三、 核心配置:性能与权限的深度优化关键参数解析:四、 用户授权与服务激活五、 Windows 映射…...

世界读书日|与AI共舞,在阅读中寻找你的不可替代性

世界读书日|与AI共舞,在阅读中寻找你的不可替代性当AI能快速生成文案、拆解书籍、解答疑惑,甚至模拟思维输出内容,不少人陷入迷茫:AI时代,我们还需要静下心来阅读吗?答案毋庸置疑。阅读从来不是…...

VMware 17安装 RHEL 8 并且使用xshell ssh连接指南

一、准备工作Vmware安装包,RHEL 8镜像文件, xshell 客户端二、打开Vmware新建虚拟机,点击稍后选择iso的选项之后选择Linux并且选择“Red Hat Enterprise Linux 8 64位”之后根据自己电脑配置设置好虚拟机的参数网络适配器选项必须选择NAT桥接…...

TR-069 交互流程规范更新总结

TR-069 交互流程规范更新总结 更新时间 2026-03-15 更新版本 v3.0 - 基于 TR-069 Amendment 6 官方文档的全面调整 主要更新内容 一、协议栈架构完善(Section 2) 1. 新增官方协议栈结构 ┌─────────────────────────────┐ │ CPE/ACS …...

前端:第四章-样式系统搭建

第四章:样式系统搭建 🎯 本章目标:安装配置 Tailwind CSS,定制主题色彩,实现深色模式支持。 4.1 安装 Tailwind CSS 4.1.1 什么是 Tailwind CSS? Tailwind CSS 是一个原子化 CSS 框架,特点如下: 特性 说明 原子化 预定义的工具类,无需写 CSS 可定制 完全可配置的设…...

Qt+C++ 控制软件架构实例

我给你讲一个接近真实工业项目规模(10万~20万行代码)的 QtC 控制软件架构实例。 我会按照 真实工程师的思考过程来讲: 1️⃣ 项目背景 2️⃣ 第一版代码(很混乱) 3️⃣ 第一次架构升级 4️⃣ 第二次架构升级 5️⃣ 第三…...

大模型 RAG 中 RRF(Reciprocal Rank Fusion倒数排序融合)是什么

大模型 RAG 中 RRF(Reciprocal Rank Fusion倒数排序融合)是什么 Reciprocal Rank Fusion (RRF) 是一种将多个搜索结果列表(比如 ES 的全文检索列表和向量搜索列表)合并成一个统一排名列表的算法。它的核心思想非常朴素且强大&…...

论文排版之添加图片、表格、公式的题注

添加图片、表格、公式的题注 不想手动输入域代码教程在 WPS 上使用教学视频 题注能为图片、表格、公式添加智能编号,避免手动修改的麻烦。 1. 插入题注 a. 选中对象,在【引用】选项卡点击【插入题注】。(也可以不选中对象,直接在…...

无需服务器!Windows 部署 OpenClaw,打造私人 AI助手

欢迎来到我的博客,代码的世界里,每一行都是一个故事🎏:你只管努力,剩下的交给时间 🏠 :小破站 无需服务器!Windows 部署 OpenClaw,打造私人 AI助手前言1 什么是OpenClaw&…...

kubernetes知识点汇总13-18

13. 系统默认创建了哪几个namespace?答:default:用户创建资源对象时的默认命名空间。kube-node-lease:包含用于与各个节点关联的lease(租约)对象,lease保证kubelet可 以向api-server发送心跳&am…...

C语言指针概念详解:数组指针与二级指针的本质区别

前言 最近考研复试在复习C语言,突然看到以前初学时没有深究的一个知识点:数组指针与指针数组(int (*p)[5] vs int *p[5]) 之前一直以为这它们虽然一个本质是指针,一个本质是数组,但是二者同为二级指针&am…...

利用qwen 3.5-9b模型识别几何图像并转换成latex tikz代码

一开始用的是0.8b,没有识别成功,重复输出\\draw [blue] (1,-1) -- (0,0);\n\\draw [blue] (0,0) -- (1,0);, 被我终止了。 再用大一点的9b试一下,以前编写python程序就遇到0.8b错误,而9b正确的情况。 先下载9b的mmproj文件&…...

“十五五”规划:新建若干所新型研究型大学

以下内容转载自微信公众号“青塔”,仅作分享 原文链接:https://mp.weixin.qq.com/s/fy9WLPuZ3T_u_D1ywoK7rQ 近日,新华社受权全文播发《中华人民共和国国民经济和社会发展第十五个五年规划纲要》与李强总理代表国务院在十四届全国人大四次会…...

AIA | 西工大马启悦,高传强等:物理指导的激波抖振抑制翼型优化设计研究

物理指导的激波抖振抑制翼型优化设计研究 Physics-guided airfoil optimization design for shock buffet suppression 马启悦,高传强*,邬晓敬,张伟伟 引用格式: Ma Q, Gao C, Wu X, et al. Physics-guided airfoil optimizatio…...

【杂谈】-人工智能蓬勃演进背后的隐性支撑体系

人工智能蓬勃演进背后的隐性支撑体系 文章目录人工智能蓬勃演进背后的隐性支撑体系1、人工智能扩张正改写资源需求格局2、降低对社区的影响,已成为企业发展的紧迫使命3、从公开承诺迈向基础设施层面的实质性变革4、立足资源约束,开展基础设施创新设计人工…...

【MicroPython编程-ESP32篇:设备驱动】-8x8LED点阵驱动(基于Max7219+SPI)

8x8LED点阵驱动(基于Max7219+SPI) 文章目录 8x8LED点阵驱动(基于Max7219+SPI) 1、Max7219 LED驱动器介绍 2、软件准备 3、硬件准备 4、代码实现 4.1 MAX7219传感器驱动 4.2 主程序 1、Max7219 LED驱动器介绍 MAX7219/MAX7221是一款紧凑型串行输入/输出共阴极显示驱动器,可将微…...

实战演练:从零构建基于线性表的图书管理系统

1. 为什么选择线性表实现图书管理系统 刚接触数据结构时,很多人会疑惑:为什么图书管理系统要用线性表实现?这个问题我也思考了很久。直到去年帮学校图书馆升级系统时,我才真正理解线性表的优势。想象一下图书馆的书架,…...

Kali 离线环境部署 ipmitool 实战指南

1. 为什么要在Kali离线环境折腾ipmitool? 如果你和我一样,经常需要带着Kali Linux笔记本钻进机房、数据中心,或者在一些网络隔离的敏感环境里做安全评估或运维工作,那你肯定对“离线”这两个字又爱又恨。爱的是,离线环…...