Нормализация: для двух столбцов в одной строке требуются данные из одной таблицы - PullRequest
1 голос
/ 14 января 2010

У меня есть таблица со следующими полями:

Назначено и завершено

Эти поля ссылаются на таблицу сотрудников.

Мне просто интересно, нормализовано ли это или я что-то пропустил.

Спасибо

Ответы [ 2 ]

3 голосов
/ 14 января 2010

Да, хорошо (и целесообразно), чтобы более одного столбца в таблице было внешним ключом в другой таблице. Ваш случай является хорошим примером этого ...

На самом деле существует множество примеров. Таблица клиентов может иметь почтовый адрес и адрес доставки, которые оба указывают на таблицу адресов. Таблица контактов может иметь столбцы HomePhone, WorkPhone, Fax и Mobile, которые указывают на телефонный стол (хотя есть и другие способы сделать это лучше)

0 голосов
/ 14 января 2010

Примечание. Я буду называть вашу вторую таблицу "материалом", поскольку не знаю, как еще ее назвать.

Это 3NF , если поля AssignedTo и CompletedBy являются внешними ключами таблицы Employee. Если вы действительно хотите сходить с ума от нормализации, вы можете иметь третью таблицу StuffCompletion, в которой есть столбец идентификаторов и эти два значения, и заменить эти два значения в таблице Stuff внешним ключом StuffCompletion. Я думаю, что большинство людей сочтут это излишним, и боги схемы могут пролить на тебя разрушение.

...