栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

数据库中的范式:第一范式,第二范式,第三范式

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数据库中的范式:第一范式,第二范式,第三范式

元组:表中的一行

码:表中的一列

候选码:可唯一标识,如通过(身份证号码)或者 (学校,班级,学号)可唯一标识一个人;主属性:候选码中出现过的属性

主码 : 也叫主键,从候选码中选出一个老大

外码也叫外键。如果一个关系中的一个属性是另外一个关系中的主码则这个属性为外码

第一范式,第二范式,第三范式的超简单介绍 第一范式: 不可再分

如一个表中有两个属性: 公司、商品(名称、数量),但商品可由名称、数量表示,不符合,而公司、名称、数量符合

第二范式:建立在第一范式基础上,消除部分依赖
订单号产品号产品数量产品折扣产品价格订单金额订单时间
10001251000.9950002022-07-22
10001262000.8970002022-07-23

订 单 号 、 产 品 号 → 产 品 数 量 、 产 品 折 扣 、 产 品 价 格 订 单 号 → 订 单 金 额 、 订 单 时 间 订单号、产品号to产品数量、产品折扣、产品价格 \ 订单号to 订单金额、订单时间 订单号、产品号→产品数量、产品折扣、产品价格订单号→订单金额、订单时间

‘订单号’ 和 ‘产品号’ 是表的主键(主码),这两个字段一起决定了 ‘产品数量‘ ’产品折扣‘ ’产品价格‘ ,

而‘订单金额’和‘订单时间’仅由‘订单号’决定,不是由 主键(‘订单号’ 和 ‘产品号’)共同决定,所以‘订单金额’和‘订单时间’是部分依赖于主键

正确版本 

订单号产品号产品数量产品折扣产品价格
10001251000.99
10001262000.89
订单号订单金额订单时间
1000150002022-07-22
1000170002022-07-23
第三范式:建立在第二范式基础上,消除传递依赖
身份证号姓名性别年龄
34666666666张三男22

身 份 证 → 姓 名 → 性 别 、 年 龄 身份证 to 姓名 to 性别、年龄 身份证→姓名→性别、年龄

“性别”和“年龄”虽然间接依赖‘身份证号’,但直接依赖的是“姓名”,正确版本 

身份证号姓名
34666666666张三
姓名性别年龄
张三男22

传递函数依赖: 身 份 证 → 姓 名 → 性 别 、 年 龄        但 是        性 别 、 年 龄 ↛ 姓 名 ↛ 身 份 证 身份证 to 姓名 to 性别、年龄 ~~~~~~但是~~~~~~ 性别、年龄 notto 姓名 notto 身份证 身份证→姓名→性别、年龄      但是      性别、年龄​→姓名​→身份证

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1006264.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号