Я изучаю нормализацию в классе. И я нашел это упражнение в этом article hereНормализация таблицы 1NF до 3NF
Он просит нормализовать следующую таблицу до 3NF.
Вот как я это сделал.
Я хотел бы знать, правильно ли я организовал таблицы.
Я изучаю нормализацию в классе. И я нашел это упражнение в этом article hereНормализация таблицы 1NF до 3NF
Он просит нормализовать следующую таблицу до 3NF.
Вот как я это сделал.
Я хотел бы знать, правильно ли я организовал таблицы.
Я хотел бы знать, правильно ли я организовал таблицы, или нет.
Нет, это не так.
Во-первых, нормализация через BCNF основана на функциональных зависимостях. Вы не определили каких-либо функциональных зависимостей.
Во-вторых, нормализация никогда не вводит новые атрибуты, которые не были в том отношении, с которым вы начали. Вы ввели новые атрибуты «sFirstName», «sLastName», «dateOfBirth», «tuteId», «tutorName», «bookId» и «bookName».
Наконец, онлайн-упражнения, подобные тому, с которым вы связаны, не очень полезны. Автор явно ожидает, что вы получите все функциональные зависимости из предоставленной небольшой таблицы, но вы не можете сделать это надежно, если данные не являются репрезентативными. Например, вы можете определить путем осмотра Room-> Date, но в реальном мире это не имеет большого смысла.
Нормализация основывается на семантике - какие данные означает? Что означает «дата»? Данные поддерживают все эти интерпретации. (И еще.)
Основываясь исключительно на данные, вы можете утверждать, что Grade-> Date, но это не имеет смысла. Подобный вздор говорит вам, что данные не являются репрезентативными, и что вы можете нормализовать таблицу только с помощью информации , что автор не предоставил.
Нормализация не предполагает создания * новых * столбцов, таких как «bookId» и «tuteId». –