一部电影只有一种类型。
可以为很多电影分配流派。
电影(MovieName,类型)
MovieName是唯一的密钥
MovieName->类型是唯一的决定因素
答案 0 :(得分:0)
如果MovieName
是关键,唯一的依赖(不是唯一的决定因素!)是:
MovieName → Genre
然后关系是第一,第二和第三范式,以及Boyce-Codd范式,以及更高级别的形式(例如第四范式)。
这是因为在(唯一)依赖中,行列式(MovieName
)是关键,所以正常形式的所有定义都得到了尊重。
答案 1 :(得分:0)
你的意思并不是“这种关系的正常化程度如何”。关系变量或值可以同时具有许多正常形式。当它在一个中时,它在所有较低的中,而它可以在较高的那个中。所以大概你的意思是“这种关系必须达到的最高标准化水平是什么”。
MovieName->类型不是决定因素。它是FD(功能依赖)。它的决定因素是{MovieName}。这是CK(候选键)的唯一决定因素。非平凡的FD是
{的movieName} - GT; {流派}
{的movieName} - GT; {的movieName,流派}
由于非平凡FD的每个行列式都是超级密钥,因此这是在BCNF中。因为它在BCNF中,所以它处于每个较低的正常形式。
日期和时间有两个定理。费金相关:
由于您的关系是在BCNF,它是3NF,因为每个CK都很简单,所以它是5NF。
PS如果我们不知道这些定理怎么办?
如果对这个值/变量的唯一约束是你所给出的那些约束,那么它是在5NF。因为根据定义,当它不满足任何JD(连接依赖性)时,它在5NF中,而不是由具有该组候选键所隐含的那些JD。
但是,如果我们所知道的价值/变量是你所提供的,那么我们怎么能证明它仍然必须在5NF?
如果JD * {{MovieName},{Genre}}也被举行,那么它将不会是4NF(或更高)。即它是否也等于{MovieName}& {类型}。在join / original中,每个输入MovieName值都将在每个Genre值的元组中。 CK说每个MovieName只有一对这样的对。因此输入中只有一个Genre值。那么FK {} - > {Genre}会举行。 BCNF意味着2NF,它表示对CK没有部分依赖,因此FK {} - > {Genre}不成立。所以我们有一个矛盾。 JD所以不成立。因此,关系是4NF,因为没有其他非平凡的二进制JD可以保持违反4NF。它也在5NF,因为没有可以容纳两个以上元素的JD。