У меня есть таблица foo
. В foo
4 колонны: id
, barTypeA
, barTypeB
, barTypeC
. Единственный ключ-кандидат - id
. barTypeA
, B
, C
- все нестандартные атрибуты. Атрибуты являются технически не просто списком; тот факт, что a bar
имеет тип A, B или C, не является тривиальным. Однако barTypeA
, B
и C
являются общими.Модель как один на один или один на один Отношения
Я мог бы сделать эту таблицу на три таблицы (например, foo
, fooToBar
и barType
) с отношением один-ко-многим из foo
к fooToBar
, но я интересно, если/как оригинальный дизайн нарушает стандарт проектирования баз данных или нормальной формы.
Я думаю, что это интересно - если это не абстрактно, скажите информацию о классе с 150 столбцами для каждого потенциального идентификатора студента, вы бы быстро поняли, почему это плохой дизайн. По какой-то причине, потому что это всего лишь 3 предмета, вы чувствуете, что ваш дизайн в порядке – Hogan
Мои 2 цента: если ваша система не будет содержать больше баров, сохраните исходный дизайн. Существует такая вещь, как чрезмерная нормализация. –
Я думаю, что @ZoharPeled в точности прав, если что-то реализовано и работает, возможно, нет причин для его изменения - с другой стороны, правила и методы нормализации существуют по какой-то причине .... – Hogan