Мой профессор (который утверждал, что много лет знает о развитии систем), и я спорю о дизайне нашей базы данных.Нормализация базы данных - кто прав?
В качестве примера: Мой профессор утверждает, что это дизайн прав: (список столбцов)
Subject_ID
Description
Units_Lec
Units_Lab
Total_Units
и т.д ...
Обратите внимание на столбец Всего единиц. Он сказал, что эта колонка должна быть включена. Я попытался объяснить, что это не нужно, потому что, если вы этого хотите, просто сделайте запрос, просто добавив два.
Я показал ему пример, который я нашел в книге, но он настаивает на том, что мне не нужно слишком много полагаться на книги в создании нашей системы. То же самое относится и к подобным случаям, как и в этом одном:
student_ID
prelim_grade
midterm_grade
prefinal_grade
average
ЭСТА ...
Он хотел, чтобы включать в себя среднем! В любом месте я могу найти статьи, которые убеждают меня, что это нарушение нормализации. Если бы я нуждался в среднем, я могу легко вычислить три класса. Он перечислял некоторые сценарии, в том числе («Эй!» Что делать, если запрос был случайно удален? Что вы будете делать? Вот почему вам нужно включить его в таблицу!)
Нужно ли мне восстановить мою базу данных (которая состоит из более чем 40 таблиц), чтобы соответствовать тому, что он хочет? Я ошибаюсь и просто упускаю из виду эти вещи?
EDIT:
Другое дело в том, что он хотел, чтобы включить общую сумму в таблице выплат, которые я считаю, нет необходимости (Просто вычислить цену за единицу продукта и количество.). Он указал, что нам нужна эта колонка для вычисления дебетов и/или кредитов, которые имеют решающее значение для общего управления системой, что это необходимо для балансировки транзакции. Пожалуйста, скажите мне, что вы думаете.
Это правда, что вы предлагаете более нормализованное решение. Но помните, что ваш профессор оценит ваше решение. Вы можете вызвать разногласия конструктивным образом. Но вы не должны отклоняться от его разрешения разногласий. – Andomar
@ redskins80 прямо здесь. Однако следует отметить, что никогда не рекомендуется слишком много спорить с вашим профессором, если вы хотите получить хороший класс в своем классе. Как бы он ни ошибался ... –
Andomar прямо на этом. Делайте то, что нужно, чтобы сделать оценку. Но когда вы выходите на собеседование (см. Мой комментарий ниже), убедитесь, что вы правильно ответили на этот вопрос. –