Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >数据库的规范化

数据库的规范化

作者头像
用户1215536
发布于 2018-02-05 04:02:30
发布于 2018-02-05 04:02:30
8550
举报

一、基础概念

实体:现实世界中客观存在并可以被区别的事物。比如“一个学生”、“一本书”、“一门课”等。

属性:教科书上解释为:“实体所具有的某一特性”,由此可见,属性一开始是个逻辑概念,比如说,“性别”是“人”的一个属性。在关系数据库中,属性又是个物理概念,属性可以看作是“表的一列”。

元组:表中的一行就是一个元组。

分量:元组的某个属性值。

码:表中可以唯一确定一个元组的某个属性(或者属性组),如果这样的码有不止一个,那么大家都叫候选码,我们从候选码中挑一个出来做老大,它就叫主码。

全码:如果一个码包含了所有的属性,这个码就是全码。

主属性:一个属性只要在任何一个候选码中出现过,这个属性就是主属性。

非主属性:与上面相反,没有在任何候选码中出现过,这个属性就是非主属性。

外码:一个属性(或属性组),它不是码,但是它别的表的码,它就是外码。

二、函数依赖

1、函数依赖 设X,Y是关系R的两个属性集合,当任何时刻R中的任意两个元组中的X属性值相同时,则它们的Y属性值也相同,则称X函数决定Y,或Y函数依赖于X记作X→Y。 2、平凡函数依赖 当关系中属性集合Y是属性集合X的子集时,存在函数依赖X→Y,即一组属性函数决定它的所有子集,这种函数依赖称为平凡函数依赖。 3、非平凡函数依赖 当关系中属性集合Y不是属性集合X的子集时,存在函数依赖X→Y,则称这种函数依赖为非平凡函数依赖。 4、完全函数依赖 设X,Y是关系R的两个属性集合,X’是X的真子集,存在X→Y,但对每一个X’都有X’!→Y,则称Y完全函数依赖于X。 5、部分函数依赖 设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X。 6、传递函数依赖 设X,Y,Z是关系R中互不相同的属性集合,存在X→Y(Y !→X),Y→Z,则称Z传递函数依赖于X。

三、5大范式及其特点

1NF:原子性 字段不可再分,否则就不是关系数据库(所以在正常的关系数据库中是不可能创建出不符合1NF的表的);

2NF:唯一性 一个表只说明一个事物,1NF消除非主属性对码的部分函数依赖之后就是2NF;

3NF:每列都与主键有直接关系,2NF消除非主属性对码的传递函数依赖之后就是3NF;  

BCNF:3NF消除主属性对码的部分函数依赖和传递函数依赖之后就是BCNF(换句话说就是BCNF范式既检查非主属性,又检查主属性,而3NF只检查非主属性);

4NF:限制关系模式的属性间不允许有非平凡且非函数依赖的多值依赖(只考虑函数依赖的话,最高到BCNF,如果考虑到多值依赖最高到4NF)。

关于4NF还是没搞清楚。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-04-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
ECML 2021 | 最佳论文!北大提出基于隐式重参数化MCMC的高效GAN采样算法
本文Reparameterized Sampling for Generative Adversarial Networks被ECML-PKDD 2021接收,并获得Best (Student) Machine Learning Paper奖。
AI科技评论
2021/10/11
8080
ECML 2021 | 最佳论文!北大提出基于隐式重参数化MCMC的高效GAN采样算法
GAN 并不是你所需要的全部:从AE到VAE的自编码器全面总结
说到计算机生成的图像肯定就会想到deep fake:将马变成的斑马或者生成一个不存在的猫。在图像生成方面GAN似乎成为了主流,但是尽管这些模型在生成逼真的图像方面取得了巨大成功,但他们的缺陷也是十分明显的,而且并不是生成图像的全部。自编码器(autoencoder)作为生成的图像的传统模型还没有过时并且还在发展,所以不要忘掉自编码器!
deephub
2022/04/14
9120
GAN 并不是你所需要的全部:从AE到VAE的自编码器全面总结
使用PyTorch从理论到实践理解变分自编码器VAE
而VAE背后的关键点在于:为了从样本空间中找到能够生成合适输出的样本(就是能输出尽可能接近我们所规定分布的数据),它并没有试图去直接构造一个隐藏空间(隐藏变量所在的空间),而是构造了一个类似于具有编码器和解码器两个部分的网络:
deephub
2020/07/02
1.8K0
资源 | 谷歌带来GAN入门神器:浏览器上运行的可视化工具GAN Lab
用浏览器打开这个网页,就可以开始耍了:https://poloclub.github.io/ganlab/
机器之心
2018/09/20
1K0
资源 | 谷歌带来GAN入门神器:浏览器上运行的可视化工具GAN Lab
数据科学家需要知道的5个基本统计概念
在执行数据科学(DS)时,统计是一种强大的工具。笼统来看,统计学是利用数学来进行数据的技术分析。基础的可视化(例如,条形图等)可能会为你提供一些高级信息,而通过统计,我们可以以更加信息驱动且更有针对性的方式对数据进行操作。当中用到的数学帮助我们形成关于我们数据的具体结论,而不仅仅是猜测。
AiTechYun
2018/12/04
9060
数据科学家需要知道的5个基本统计概念
统计学5个基本概念,你知道多少?
本文讲述了数据分析师应当了解的五个统计基本概念:统计特征、概率分布、降维、过采样/欠采样、贝叶斯统计方法。
Python数据科学
2019/12/03
9200
走进深度生成模型:变分自动编码器(VAE)和生成对抗网络(GAN)
【导读】近日,深度学习爱好者Prakash Pandey发布一篇博文介绍深度生成模型。我们知道,有监督学习在很多方面都达到了很好的效果,但是,由于有监督学习由于数据集太少等缺点,研究者逐渐偏向于探索无
WZEARW
2018/04/13
5.1K0
走进深度生成模型:变分自动编码器(VAE)和生成对抗网络(GAN)
扩散模型最新综述!
本文综述了深度生成模型,特别是扩散模型(Diffusion model),如何赋予机器类似人类的想象力。扩散模型在生成逼真样本方面显示出巨大潜力,克服了变分自编码器中的后分布对齐障碍,缓解了生成对抗网络中的对抗性目标不稳定性。
算法进阶
2024/03/26
1.4K0
扩散模型最新综述!
既可生成点云又可生成网格的超网络方法 ICML
本文发表在 ICML 2020 中,题目是Hypernetwork approach to generating point clouds。利用超网络(hypernetworks)提出了一种新颖的生成 3D 点云的方法。与现有仅学习3D对象的表示形式方法相反,我们的方法可以同时找到对象及其 3D 表面的表示。我们 HyperCloud 方法主要的的想法是建立一个超网络,返回特定(目标)网络的权重,目标网络将均匀的单位球上的点映射到 3D 形状上。因此,特定的 3D 形状可以从假定的先验分布中通过逐点采样来生成,并用目标网络转换。因为超网络基于自动编码器,被训练来重建3D 形状,目标网络的权重可以视为 3D 表面的参数化形状,而不像其他的方法返回点云的标准表示。所提出的架构允许以生成的方式找到基于网格的 3D 对象表示。
3D视觉工坊
2020/12/11
9600
【GAN】如何生动有趣地对GAN进行可视化?Google的GAN Lab推荐你了解一下
今天将给大家介绍一个有趣的小工具—GAN Lab,这是一款对抗生成网络的可视化工具,对新手非常友好,有助于快速理解GAN的工作流程和原理。
用户1508658
2020/03/17
1.8K0
【GAN】如何生动有趣地对GAN进行可视化?Google的GAN Lab推荐你了解一下
为什么让GAN一家独大?Facebook提出非对抗式生成方法GLANN
这种新方法在图像生成上能与 GAN 相媲美,也许除了 VAE、Glow 和 Pixcel CNN,这种新模型也能加入到无监督生成的大家庭中。当然在即将到来的 2019 年中,我们也希望 GAN 之外的更多生成模型会得到更多的成长,也希望生成模型能有更多的新想法。
机器之心
2019/01/02
4970
理解GAN网络基本原理
GAN网络是近两年深度学习领域的新秀,火的不行,本文旨在浅显理解传统GAN,分享学习心得。现有GAN网络大多数代码实现使用python、torch等语言,这里,后面用matlab搭建一个简单的GAN网络,便于理解GAN原理。
全栈程序员站长
2022/11/01
4880
理解GAN网络基本原理
样本数量的线性时间计算复杂度GAN
A Characteristic Function Approach to Deep Implicit Generative Modeling 2020
CreateAMind
2024/05/06
1760
样本数量的线性时间计算复杂度GAN
GAN之再进化:分布判别器,大连理工提出一种新式无监督图像合成方法
该论文是关于GAN图像生成类的文章出自于大连理工大学并发表于CVPR2021。GAN生成能力最关键的一环在于模型利用真实数据的信息量的多少,但是GAN及其相应的变体因为利用的信息量比较单薄,所以会导致模型在训练的过程中非常脆弱,容易导致模型崩塌。
CV君
2021/07/13
1.4K0
GAN之再进化:分布判别器,大连理工提出一种新式无监督图像合成方法
GAN论文精读 P2GAN: Posterior Promoted GAN 用鉴别器产生的后验分布来提升生成器
《Posterior Promoted GAN with Distribution Discriminator for Unsupervised
中杯可乐多加冰
2025/02/07
1580
无监督训练用堆叠自编码器是否落伍?ML博士对比了8个自编码器
深度学习中的自编码器。图源:https://debuggercafe.com/autoencoders-in-deep-learning/
机器之心
2021/03/15
8620
无监督训练用堆叠自编码器是否落伍?ML博士对比了8个自编码器
深度学习500问——Chapter07:生成对抗网络(GAN)(2)
最常见的评价GAN的方法就是主观评价。主观评价需要花费大量人力物力,且存在以下问题:
JOYCE_Leo16
2024/04/16
3530
深度学习500问——Chapter07:生成对抗网络(GAN)(2)
学界 | 受压缩感知启发,斯坦福 AI 研究院提出新的无监督表示学习框架!
AI 科技评论按:如今,说到图像领域的生成式模型,大家往往会想到对抗生成网络(GAN)和自编码器(AE)。本文介绍了斯坦福 AI 研究院的研究人员如何从统计压缩感知技术中汲取灵感设计出的非确定性自编码器(该编码器在自编码器的潜在空间中对不确定性进行建模),并巧妙地使用变分技术为其设计目标函数,相较于传统方法,该模型的性能有巨大的提升。斯坦福 AI 研究院将这一成果进行了介绍,AI 科技评论编译如下。
AI科技评论
2019/06/23
8030
[GAN学习系列3]采用深度学习和 TensorFlow 实现图片修复(上)
在之前的两篇 GAN 系列文章--[GAN学习系列1]初识GAN以及[GAN学习系列2] GAN的起源中简单介绍了 GAN 的基本思想和原理,这次就介绍利用 GAN 来做一个图片修复的应用,主要采用的也是 GAN 在网络结构上的升级版--DCGAN,最初始的 GAN 采用的还是神经网络,即全连接网络,而 DCGAN 则是换成卷积神经网络(CNNs)了,这可以很好利用 CNN 强大的特征提取能力,更好的生成质量更好的图片。
kbsc13
2019/08/16
1.2K0
生成模型架构大调查 生成模型的不可能三角
A Review of Change of Variable Formulas for Generative Modeling
CreateAMind
2024/05/14
1800
生成模型架构大调查  生成模型的不可能三角
推荐阅读
相关推荐
ECML 2021 | 最佳论文!北大提出基于隐式重参数化MCMC的高效GAN采样算法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档