数据范式的理解与解析技巧

对于数据库范式首先还是要对几个范式的理解:

(1)1NF范式:符合1NF的关系中的每个属性都不可再分

(2)2NF范式:2NF在1NF的基础之上,消除了非主属性对于码的部分函数依赖

(3)3NF范式:3NF在2NF的基础之上,消除了非主属性对于码的传递函数依赖

(4)4NF范式:4NF在 3NF 的基础上消除主属性对于码的部分与传递函数依赖

以下为定义中的一些名词解释:

(1)部分函数依赖

举例:(学号,课名)=>学生姓名,学号决定了学生姓名,存在非主属性学生姓名对于码(学号,课名)的部分函数依赖。

一般我喜欢画图表示

(A,B)属于码,C属于非主属性,C依赖于A,即C对于码(A,B)部分函数依赖

(2)传递函数依赖

举例:学号=》系名,系名=》系主任,此时学号间接也就决定了系主任,存在非主属性系主任对于码学号的传递函数依赖。

A属于码,B,C属于非主属性,存在C对于A的传递函数依赖

另外还有主属性对于码的部分函数依赖。

若(A,C)(B,C)都为主码但存在B依赖于A。

(3)完全函数依赖

举例(学号,课名)=>成绩,成绩由学号和课名共同决定。或者学号=》姓名,学号决定了姓名。

原文地址:https://www.cnblogs.com/wangjiaxiaoxi/p/8527431.html

时间: 2024-10-19 13:15:07

数据范式的理解与解析技巧的相关文章

百度Android语音识别SDK语义理解与解析方法

百度语义理解开放平台面向互联网开发者提供自然语言文本的解析服务,也就是可以根据文本的意图解析成相应的表示. 为了易于人阅读,同时也方便机器解析和生成,意图表示协议采用 json 语言进行描述,采用 gb18030 编码. json 语言的基本概念: 1.属性名/属性值 即键值对(key-value) 2.数组 在 json 中是"[]"括起来的内容,数据结构为 ["value1","value2",...],取值方式和所有语言中一样,使用索引获取

WebService传递XML数据 C#DataSet操作XML 解析WebService返回的XML数据

Webservice传递的数据只能是序列化的数据,典型的就是xml数据.   /// <summary>         /// 通过用户名和密码 返回下行数据         /// </summary>         /// <param name="UserName">用户名</param>         /// <param name="UserPwd">密码</param>    

JavaScript大杂烩8 - 理解文本解析的"黄金搭档"

文本解析"黄金搭档" - String与RegExp对象 文本解析是任何语言中最常用的功能,JavaScript中也是一样,而正则表达式作为最常用的方式,JavaScript也同样是支持的,下面就来看看字符串对象与正则表达式对象的配合. 字符串的恒定性 在正式开始讨论字符串对象的成员之前,我们需要了解一点,那就是:与C#一样,JavaScript 的字符串是不可变的(immutable),String对象定义的方法都不会改变字符串的内容.像toUpperCase这样的方法,返回的是全新

Android数据加载及Json解析——原始版

1.创建要下载数据的实体类 class MyData { String imagepath; String title; String desc; public MyData(String imagepath, String title, String desc) { super(); this.imagepath = imagepath; this.title = title; this.desc = desc; } } 2.AsyncTask数据加载及Json解析类 class FileAs

数据库范式简单理解

数据库三级范式: 第一范式:所有字段值都是不可分解的原子值. 第二范式:也就是说在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中. 第三范式:每一列数据都和主键直接相关,而不能间接相关. ---满足第一范式不一定满足第二范式:满足第二范式不一定满足第三范式:所以第一范式,第二范式,第三范式都是有区别的. 详细解析见:https://www.cnblogs.com/linjiqin/archive/2012/04/01/2428695.html 原文地址:http

数据库三大范式个人理解,书上讲的太抽象

第一范式(1NF):强调的是列的原子性,即列不能够再分成其他几列. 个人理解:列不可分(原子性,即字段不可以再分) 地址可以再分,分成省份,城市,和详细地址 第二范式(2NF):首先是 1NF,另外包含两部分内容,一是表必须有一个主键:二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分. 个人理解:不存在部分依赖(唯一性,不可以把多种数据保存在同一张表中,即一张表只能保存"一种"数据) 表: 学号, 姓名, 年龄, 课程名称, 成绩, 学分 问题: 数据冗余,每条记

数据库三大范式通俗理解

数据库有三大范式. 范式的英文名称是 Normal Form,它是英国人 E.F.Codd(关系数据库的老祖宗)在上个世纪70年代提出关系数据库模型后总结出来的,范式是关系数据库理论的基础,也是我们在设计数据库结构过程中所要遵循的规则和指导方法.目前有迹可寻的共有8种范式,依次是:1NF,2NF,3NF,BCNF,4NF,5NF,DKNF,6NF.通常所用到的只是前三个范式,即:第一范式(1NF),第二范式(2NF),第三范式(3NF).数据往往种类繁多,而且每种数据之间又互相关联,因此,在设计

对post提交数据Content-Type的理解

Content-Type是指http/https发送信息至服务器时的内容编码类型,contentType用于表明发送数据流的类型,服务器根据编码类型使用特定的解析方式,获取数据流中的数据. 在网络请求中,常用的Content-Type有如下: text/html, text/plain, text/css, text/javascript, image/jpeg, image/png, image/gif, application/x-www-form-urlencoded, multipart

JVM运行时数据区--深入理解Java虚拟机 读后感

程序计数器 程序计数器是线程私有的区域,很好理解嘛~,每个线程当然得有个计数器记录当前执行到那个指令.占用的内存空间小,可以把它看成是当前线程所执行的字节码的行号指示器.如果线程在执行Java方法,这个计数器记录的是正在执行的虚拟机字节码指令地址:如果执行的是Native方法,这个计数器的值为空(Undefined).此内存区域是唯一一个在Java虚拟机规范中没有规定任何OutOfMemoryError情况的区域. Java虚拟机栈 与程序计数器一样,Java虚拟机栈也是线程私有的.其生命周期与