0

У меня есть набор функциональных зависимостей F, R = {cid, cname, bid, name, rentdate, returndate, cost} в книжном магазине, есть только одна таблица.Может ли один атрибут в функциональной зависимости быть нулевым?

customerid, bookid, bookname, дата аренды и возвращения этой книги этим лицом.

Очевидные, это не BCNF

, но как определить F не-Trival функциональных зависимостей для этого?

на мой взгляд:

чид -> CNAME

ставка -> BNAME

ставка, rentdate -> returndate, ИДС

это нормально? в последних функциональных зависимостях, я думаю, что каждый заказ, один из которых будет арендован в определенное время, будет иметь уникальную дату возвращения и принадлежит только одному человеку

, но я также смущен об этом Функциональные зависимости, поскольку в этой таблице , rentdate и returndate также могут быть нулевыми !!!

таким образом, делает

ставка, rentdate -> returndate, ИДС

правильно?

+0

Не имеет значения, если «rentdate» или «returndate» имеют значение NULL. Если кто-то проверяет книгу (или снимает книгу или заказывает книгу, что бы вы ни говорили), то вы знаете, в какую дату это произошло. –

+0

@ MikeSherrill'CatRecall 'Оказывается, что часто, если вы подмигиваете библиотекарям, они [не нуждаются ни в каком stinkin'] (http://en.wikipedia.org/wiki/Stinking_badges) returndates. – philipxy

+0

Повторное обнаружение FD см. [Этот недавний ответ] (https://stackoverflow.com/a/26813819/3404097). Re "bid, rentdate -> returndate, cid", в любое время, учитывая книгу и арендную плату, есть только один клиент и только одна дата возвращения? (Вопрос: Можно ли брать книгу дважды в день?) – philipxy

ответ

0

Codd просто исключил бы кортежи с нулями из приложения функциональных зависимостей. Насколько я знаю, нет самосогласованного способа справиться с функциональными зависимостями в чистом SQL, используя 3-значную логику Codd.

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

Тем не менее, если вы заинтересованы, была академическая работа по этой теме. У нас есть документ, который охватывает конкретный этот вопрос:

Antonia Бадиа и Даниэль Lemire, функциональные зависимости с нулевыми маркерами, Computer Journal The Computer Journal (2015) 58 (5): 1160-1168. http://arxiv.org/abs/1404.4963

Смежные вопросы