Revolucion for Monica Asked: 2016-04-04 23:50:07 +0800 CST2016-04-04 23:50:07 +0800 CST 2016-04-04 23:50:07 +0800 CST 信息冗余和算法进行无损分解 772 让我们成为一个关系R(NameFile, Size, Directory, DateCreation,HourCreation,Login,AutAccess,DateAccess,TypeAcces F={NF,D→S; NF, D →DC; NF, D→HC; L,NF,D→A; L,NF,D,DA,HA→TA; } 部分实例在以下数组中给出: 这种关系会产生信息冗余吗? 在不丢失信息和不丢失依赖性的情况下,R 的分解会是什么? 我不这么认为,因为似乎依赖项提供的信息似乎是唯一的。 我知道有一种算法可以在不丢失信息或不丢失依赖性的情况下分解 R 但我不知道它们 dependencies 1 个回答 Voted Best Answer Renzo 2016-04-05T02:12:54+08:002016-04-05T02:12:54+08:00 这种关系会产生信息冗余吗? 是的,例如,对于同一文件的不同访问,您重复了有关文件的信息(名称、大小、数据创建等)。 在不丢失信息和不丢失依赖性的情况下,R 的分解会是什么? 以下分解既是第三范式又是 Boyce-Codd 范式,并且没有数据丢失和依赖关系丢失。它可以通过应用“分析算法”来生成 BCNF 和“合成算法”来生成 3NF 来获得,但请注意,通常只有后者才能保证避免任何依赖性丢失: R1 < (D DC HC NF S), { D NF → DC D NF → HC D NF → S } > R2 < (A D L NF), { D L NF → A } > R3 < (D DA HA L NF TA), { D DA HA L NF → TA } > 任何好的数据库书籍都会描述这两种算法。
是的,例如,对于同一文件的不同访问,您重复了有关文件的信息(名称、大小、数据创建等)。
以下分解既是第三范式又是 Boyce-Codd 范式,并且没有数据丢失和依赖关系丢失。它可以通过应用“分析算法”来生成 BCNF 和“合成算法”来生成 3NF 来获得,但请注意,通常只有后者才能保证避免任何依赖性丢失:
任何好的数据库书籍都会描述这两种算法。