我的实体中有哪些决定因素?试图了解BCNF

问题描述 投票:-1回答:1

我的老师告诉我,如果一个实体位于BCNF中,则所有决定因素都应该是一个超级键,但是我正在努力理解这一点。我有一个电影数据库的实体,具有以下属性:Showtime_id(PK),Date,Showtime,Hall。

我知道Showtime_id是Date,Showtime,Hall的决定因素。而Date,Showtime和Hall是Showtime_id的决定因素,对吗?

但是这些是我实体中唯一的决定因素吗?还是

Showtime_id,Date-> Showtime,Hall

Showtime_id,Showtime->大厅,日期等等也是决定因素吗?

谢谢:)

database database-normalization functional-dependencies bcnf
1个回答
0
投票

我的老师告诉我,如果一个实体位于BCNF中,则所有决定因素都应该是一个超级键

错了。当/仅当非平凡FD的所有决定因素(功能相关性)都是超键时,BCNF才会满足。细节很重要。

我有一个电影数据库的实体

对于BCNF来说,重要的是,您有一个带有某些属性的表,并且知道FD持有什么和不持有FD。

如果您表示保留的唯一FD是{Showtime_id}之后的PK(主键),那么您需要说是。如果您不知道这些是什么,请提出一个问题。 (当某些FD持有时,由阿姆斯特朗公理从它们生成的所有其他FD都成立。但是然后,我们仍然需要知道是否还有其他FD。)

必须告诉我们 FD持有什么。如果您不知道如何根据表行的含义和业务规则来确定这一点,请问另一个问题,在哪里引用FD的定义并询问是否卡住。 (并说出为什么您认为{Showtime_id}是PK。)(但是PK并不重要,CK(候选密钥)很重要。)

© www.soinside.com 2019 - 2024. All rights reserved.