У меня есть эта таблица, что правила таковы: Студент сдает экзамен по дисциплине и получает место в списке классов. Известно, что два студента не могут получить одну и ту же позицию по одному и тому же предмету. Это база данных 3NF или BCNF, у меня нет стопроцентного ответа на этот вопрос.
Прямо сейчас вы просто просите нас переписать ваш учебник с помощью индивидуального учебника и выполнить вашу (домашнюю) работу, и вы не приложили никаких исследований или других усилий. Пожалуйста, смотрите Как задать вопрос, погуглите «домашнее задание stackexchange» и наведите курсор мыши на тексты со стрелкой голосования. Покажите этапы своей работы в соответствии с учебником с обоснованием и задайте 1 конкретный вопрос о том, где вы застряли. Приведите определения, теоремы, алгоритмы и эвристики, на которые вы полагаетесь. Все шаги также являются часто задаваемыми вопросами.
-- Student STUDENT examined in course COURSE
-- obtained position POSITION on class list.
--
test {STUDENT, COURSE, POSITION}
KEY {STUDENT, COURSE}
KEY {COURSE, POSITION}
Нетривиальный FDs
:
{STUDENT, COURSE} --> {POSITION}
{COURSE, POSITION} --> {STUDENT}
Используйте это как быструю проверку для NF
:
---------------------------------------
For each nontrivial |
FD X --> Y |
at least one holds | 2NF 3NF BCNF
---------------------------------------
X is a superkey ✔ ✔ ✔
Y is a subkey ✔ ✔
X is not a subkey ✔
---------------------------------------
FD X --> Y is trivial iff Y ⊆ X
Для обеих нетривиальных ФД X является суперключом; БКНФ.
Пожалуйста используйте для текста текст, а не изображения/ссылки, включая таблицы и ERD. Используйте изображения только для того, что не может быть выражено в виде текста или для дополнения текста. Включите легенду / ключ и объяснение с изображением.