从表中删除异常

发布于 2024-10-17 19:34:44 字数 339 浏览 4 评论 0原文

我有这张表,我应该重新设计它以消除其中的所有异常情况。我不会给出表,而是给出依赖项。

The functional dependencies are
(Product, Store) -> Dept
Store -> Manager
Dept-> Assist
(Product, Store)->Price
Product-> Weight
Product-> Manufact
Manufact-> Manuloc

产品和商店是这种关系中的关键

好吧,所以我必须通过分解表并创建新表来消除异常,并说明每个表中的内容。我不确定该怎么做。

I have this table and I am supposed to re-design it to remove all anomalies from it. I will not give the table but the dependencies.

The functional dependencies are
(Product, Store) -> Dept
Store -> Manager
Dept-> Assist
(Product, Store)->Price
Product-> Weight
Product-> Manufact
Manufact-> Manuloc

Product and Store are the keys in this relation

Ok so I have to remove the anomalies by breaking up the table and creating new ones and state what will be in each table. I am unsure how to do that.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

最终幸福 2024-10-24 19:34:44

应用阿姆斯特朗公理以及从中得出的规则。 (我确定这在你的教科书中。检查索引。)例如,给定这两个函数依赖关系 (FD):

(Product, Store) -> Dept
Dept -> Assist

你可以应用传递性规则来确定未声明的 FD:

(Product, Store) -> Assist

从给定的 FD 中,导出一个FD 的不可约集合;这组决定了你的桌子。

此示例来自 Date 的数据库系统简介。 (他对此进行了更完整的处理。)

A  -> BC
B  -> C
A  -> B
AB -> C
AC -> D

使用阿姆斯特朗公理对右手单例进行了重写:

A  -> B
A  -> C
B  -> C
A  -> B
AB -> C
AC -> D

FD A -> B 出现两次;我们可以丢弃一个而不丢失信息。我们可以减少AC -> DA -> D,我们可以消除AB -> C。我们可以消除 A -> C

A -> B
B -> C
A -> D

从这个不可约的 FD 集合中,您将得出两个表

A -> BD
B -> C

Apply Armstrong's axioms and the rules derived from them. (I'm sure this is in your textbook. Check the index.) For example, given these two functional dependencies (FDs):

(Product, Store) -> Dept
Dept -> Assist

you can apply the transitivity rule to determine an unstated FD:

(Product, Store) -> Assist

From the FDs you're given, derive an irreducible set of FDs; this set determines your tables.

This example is from Date's Introduction to Database Systems. (He gives a more complete treatment of it.) Given

A  -> BC
B  -> C
A  -> B
AB -> C
AC -> D

rewrite for right-hand singletons using Armstrong's axioms:

A  -> B
A  -> C
B  -> C
A  -> B
AB -> C
AC -> D

The FD A -> B occurs twice; we can discard one without losing information. We can reduce AC -> D to A -> D, and we can eliminate AB -> C. And we can eliminate A -> C, leaving

A -> B
B -> C
A -> D

From this irreducible set of FDs, you'd derive the two tables

A -> BD
B -> C
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文