首页 > 编程知识 正文

bcnf范式的定义,模式分解算法

时间:2023-05-05 21:10:28 阅读:15572 作者:2706

BCNF是比第三范式更严格的范式。 关系模型中的所有属性(包括主属性和非主属性)都必须不传递依赖于任何候选项的关键字。 即,在关系表内功能上相互依赖的列的各列为关键字候补的情况下,应该满足BCNF。

BCNF实际上基于第三范式,进一步消除了主属性的传递依赖。

一次Lab的作业主题如下。

aluxurycar-rentalcompanyhasbeentrackingtheirrentaldatainasimplespreadsheet,butnowwwantstomigratetoaproperdatabase.conside

(a ) identify atleast 10功能从属关系(非三级分布式) that hold on the table above。

(b ) classifythefunctionaldependenciesfoundaseither‘sensible’or‘accidental’。

我给了这个租车表,要求写函数依赖关系。 这里只写敏感的东西。 因为accidental的东西没有固定标准,所以不写。

依存关系如下。

平板标记

make -daily_rate

license_nr-dob

license_nr-name

plate start_date -* (* (表示可以显示这两个以外的其他部分) ) ) ) ) ) ) ) ) ) )。

考虑一个人()一个驾照可以借很多车,所以也需要区分租车的开始时间或结束时间) )。

其他东西不需要说明

这里为了强调传递函数依赖,把plate、make、daily_rate分开,理解车号决定厂家,厂家决定该车的日收入,同样的车价应该都一样,所以互相依赖

剩下的依赖关系都是部分函数依赖

建设表如下。

制作4个表

表1

(plate start _ dateend _ date license _ NR (plate start _ date是主键) ) ) ) ) 65 )

表2

namedoblicense _ NR (许可证_ NR是主键) ) ) ) ) ) ) ) ) )。

将table3和table4的传递关系分开写

表3

plate make

表4

make daily_rate

转载关于BCNF分解算法的博文:

3359 blog.csdn.net/panxiqie _ _/article/details/38899021

现在,根据这个dalao写的东西分析一下自己的:

平板标记

make -daily_rate

license_nr-dob

license_nr-name

plate start_date -*

结束了

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。