Нормализация требует, чтобы вы знали, как связаны различные части схемы. До 3NF и BCNF (почти, но не совсем то же самое —, хотя вам будет трудно найти практический пример 3NF, который также не относится к BCNF), наиболее важной функцией является функциональная зависимость.
Другим ключевым моментом является «сохранение»; вы не должны терять столбцы вообще. Например, ваша оригинальная таблица Faculty имеет идентификационный номер, имя и декан. В вашей пересмотренной версии отсутствует имя факультета; это ошибка в вашей редизайне.
Вы определили, что каждый отдел принадлежит факультету, который кажется достаточно правдоподобным.
Ваши пересмотренные таблицы Студенческих групп выглядят так же, как и в оригинале. Вероятно, это нормально, хотя, возможно, курс/специальная часть этого означает, что студенческая группа связана с отделом и, следовательно, с факультетом. Если да, то вам может понадобиться таблица курсов/специальностей, которая идентифицирует курс/специальность и отдел, оставляя студенческую группу идентифицировать определенную группу в течение курса/специальности.
Ваша исходная таблица студентов имеет курс/специальность, а также группу студентов; это оставляет открытой возможность того, что данные скажут, что студент X делает археологию в таблице «Студенты», но Студенческая группа указывает, что Student X выполняет музыку. Это разрешено? Если нет, лучше бы вам лучше всего было бы иметь Студенческую группу в таблице «Студенты», оставив это для определения курса/специальности, а также года, отдела и, следовательно, факультета? Ваша пересмотренная схема добавляет идентификатор факультета к таблице учеников (но удаляет курс/специальность); что все еще оставляет возможности для конфликта внутри данных.
Вам нужен стол для определения действительных академических лет? Возможно, нет. Должна быть таблица для персонала, чтобы вы могли идентифицировать деканов и руководителей отделов. Может ли декан факультета быть руководителем отдела? Из отделов за пределами их факультета?
Это может помочь узнать, почему * вы пытаетесь достичь 3NF (если это домашняя работа, вы можете добавить тег домашней работы? Люди готовы помочь, но предпочли бы знать). Кроме того, что это за дизайн, который у вас есть, что вы не думаете, что это 3NF? –
Я добавил тег домашней работы, я забыл сделать это, я пытался учиться на нормализации, я думал, что просто делаю это как пример, чтобы помочь мне понять больше. – kryticrecte
Я просто хочу быть уверенным, что если я сделаю это правильно, я? – kryticrecte