Удаление аномалий из таблиц - PullRequest
0 голосов
/ 17 февраля 2011

У меня есть эта таблица, и я должен перепроектировать ее, чтобы удалить из нее все аномалии.Я не буду приводить таблицу, но зависимости.

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

Product и Store являются ключами в этом отношении

Хорошо, поэтому я должен удалить аномалии, разбив таблицу и создав новуюи укажите, что будет в каждой таблице.Я не уверен, как это сделать.

1 Ответ

1 голос
/ 17 февраля 2011

Применять аксиомы Армстронга и вытекающие из них правила. (Я уверен, что это в вашем учебнике. Проверьте индекс.) Например, учитывая эти две функциональные зависимости (FD):

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

Вы можете применить правило транзитивности для определения неустановленного FD:

(Product, Store) -> Assist

Из заданных вами FD выведите неприводимый набор FD; этот набор определяет ваши таблицы.

Этот пример взят из Даты Введение в системы баз данных . (Он дает более полную трактовку этого.) Учитывая

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 -> D до A -> D, и мы можем устранить AB -> C. И мы можем устранить A -> C, оставив

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

Из этого неприводимого набора FD вы получите две таблицы

A -> BD
B -> C
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...