博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库范式
阅读量:4983 次
发布时间:2019-06-12

本文共 818 字,大约阅读时间需要 2 分钟。

1. 概念:

关系模式R<U,F>:U表示属性集合,F表示依赖集合,F主要有两种依赖:函数依赖和多值依赖MVD,【关系模式】理解为数据表,而【关系】可以理解为表中一条记录。

函数依赖:X,Y是是属性集合U的子集,关系模式R中的任意关系r1,r2,都不存在r1,r2中X相同,而Y不同的情况则认为“Y函数依赖于X”或者说“X确定Y”,,符号说明:X->Y。

非平凡函数依赖:X->Y且Y不是X子集。

平凡函数依赖:X->Y且Y是X子集。平凡函数依赖必然成立,因此一般考虑的都是非平凡函数依赖。

若X->Y,Y->X,则符号表示为:X <- -> Y。

完全函数依赖:z是符号说明:X -f-> Y。

部分函数依赖:符号说明:X -p-> Y。

候选码:K是U的一个子集,如果K -f-> U ,则K为关系模式R的候选码。候选码可能有多个,从中选择一个作为主码。候选码中的属性称为主属性,其它为非主属性

主码:某个候选码。

外码:K是U的一个子集,但是不是R的主码,却是另一个关系模式R'的主码,则K是关系模式R的外码。

 

2. 范式:

1NF:关系模式R<U,F>中的所有属性都不可再分割,则满足1NF。

2NF:R<U,F>属于1NF,且非主属性完全依赖于码,则满足2NF。

举例:Sno,学号;Sdept,部门;Sloc,宿舍;Grade,成绩。

如下图所示,图a满足第一范式,但是因为存在非主属性部分依赖于码,因此2NF,而将图a.进行拆分形成图b.图c.,则图b.图c.满足2NF。

3NF:R<U,F>属于2NF,且非主属性不存在传递依赖于码,则满足3NF。

如上图c.所示因为存在Sloc传递依赖于Sno,因此图c.不满足3NF,按照如下分解图c.则满足3NF。

S-D(Sno,Sdept)

D-L(Sdept,Sloc)

 

转载于:https://www.cnblogs.com/wrencai/p/5664231.html

你可能感兴趣的文章
预备作业03 20162308马平川
查看>>
【Java】嵌套For循环性能优化案例
查看>>
面试了一个开发人员
查看>>
软件工程及软件项目开发流程
查看>>
关于android4.3 bluetooth4.0的那些事儿
查看>>
嵌入式成长轨迹14 【嵌入式环境及基础】【Linux下的C编程 上】【gcc、gdb和GNU Make】...
查看>>
C语言讲义——变量的输出
查看>>
shell脚本 ----每天学一点shell
查看>>
FZU2150 :Fire Game (双起点BFS)
查看>>
php_常用操作_读取文件_数据库操作
查看>>
Linux中GCC源码编译安装
查看>>
equals与==关于Object覆盖和重载问题
查看>>
KVO
查看>>
js基础教程四之无缝滚动
查看>>
关于C51 keil使用中.c文件的链接心得
查看>>
Ios 弹框 MJPopup,KxMenu
查看>>
ssh框架添加时添加不到数据库问题
查看>>
解决AR中Receivable Activities 运行不了的问题
查看>>
SQL SERVER 如何处理带字母的自增列--【叶子】
查看>>
使用DocFX生成文档
查看>>