У меня возникла проблема, связанная с переводом отношения к отношениям в BCNF. Поэтому в первую очередь мне пришлось преобразовать это в 3NF. Итак, вот что я получил.Правильно ли это преобразование BCNF?
Отгрузка (судно, мощность, дата, груз, стоимость) PK: Корабль, дата.
FDs: Ship-> Capacity, (Ship, Date) -> Cargo, (Capacity, Cargo) -> Значение.
Вот что я получил, когда преобразован в 3NF.
R1 (корабль, дата, Грузовой) Кол-во: Корабль, дата R2 (корабль, емкости) Кол-во: Корабль R3 (Calacity, Грузовой, Значение) PK: Calacity грузов,
Так первый и второй удовлетворяет BCNF так
- корабль, дата является первичным ключом R1 и только FD из R1 есть, Ship, дата -> Грузовые и
- судно является первичным ключом R2 и доступны только FD R2, является Ship-> Capacity.
Но R3 не потому, что Cargo и Capacity не являются ключом к доставке. Так что я должен сделать еще одно соотношение R4 таким образом, что,
R4 (Ship, емкости, Cargo)
Поэтому, пожалуйста, может кто-то проверить мой результат? Я изучаю BCNF в эти дни.
Не могли бы вы объяснить, что алгоритм? Я не могу понять, что при создании новых отношений. В качестве примера в этом отношении стоит Ship-> Capacity FD в BCNF? – User9125
PK отгрузки является Корабль и дата. – User9125
Существует стандартный алгоритм для разложения на BCNF. Определение того, является ли отношение * в * BCNF, является другим алгоритмом/тестом. (И это часть предыдущего алгоритма.) (Найдите определение BCNF.) Получите, насколько сможете, затем отправьте вопрос о том, где вы собрались, указав, какие ссылки вы используете, и попросите, что вам нужно открепить , – philipxy