Нормализация требует, чтобы вы знали, как связаны различные части схемы.До 3NF и BCNF (почти, но не совсем одно и то же - хотя вам будет трудно найти практический пример 3NF, которого нет также в BCNF), наиболее важной особенностью является функциональная зависимость.
Другим ключевым моментом является «сохранение»;Вы не должны терять колонки вообще.Например, ваша оригинальная таблица факультета имеет идентификационный номер, имя и декан.В вашей исправленной версии отсутствует название факультета;это ошибка в вашем редизайне.
Вы определили, что каждый факультет принадлежит факультету, что кажется достаточно правдоподобным.
Ваша пересмотренная таблица групп учеников кажется такой же, как воригинал.Это, вероятно, хорошо, хотя, возможно, часть курса / специальности означает, что группа студентов связана с отделом, а следовательно, и факультетом.Если это так, то вам может понадобиться таблица курсов / специальностей, в которой указываются курс / специальность и отдел, и группа студентов может определить конкретную группу в рамках курса / специальности.
В исходной таблице студентов естькурс / специальность, а также студенческая группа;это оставляет открытой возможность того, что в данных будет сказано, что ученик Х занимается археологией в таблице учеников, но группа учеников указывает, что ученик Х занимается музыкой.Это разрешено?Если нет, то лучше ли вам было бы обслуживать группу учеников за столом студентов, оставляя это для определения курса / специальности, а также года, факультета и, следовательно, факультета?Ваша пересмотренная схема добавляет идентификатор факультета в таблицу студентов (но удаляет курс / специальность);это все еще оставляет возможность конфликта в данных.
Вам нужна таблица для определения действительных академических лет?Возможно нет.Должен ли быть стол для персонала, чтобы вы могли определить деканов и руководителей департаментов.Может ли декан факультета быть заведующим кафедрой?Из кафедр вне их факультета?