Должен ли я добавить общее свойство внешних ключей к моей таблице? - PullRequest
0 голосов
/ 21 марта 2011

У меня есть база данных тестовых данных, которые были собраны от имени агентов. Тестовые данные сгруппированы (после факта) в наборы результатов. По мере поступления тестов они сохраняются в базе данных с идентификатором соответствующего агента:

TEST_ID TEST_OWNER TIMESTAMP RESULT_ID
      1          1         0      null
      2          1        15      null
      3          2        30      null
      4          2        32      null
      5          1        34      null

Наборы результатов генерируются позднее таким образом, чтобы группировать тесты, которые проводились в течение аналогичного периода времени. Это суждение не может быть сделано, поскольку тесты входят.

RESULT_ID
        1
        2
        3

Все тесты в наборе результатов должны принадлежать одному владельцу. Я могу гарантировать это (в коде), когда назначаю идентификаторы результатов для тестов в моей более поздней операции, но некоторые вещи были бы проще, если бы в моем наборе результатов было поле TEST_OWNER.

Будет ли добавление этого поля нарушением какой-либо цели нормализации? Информация TEST_OWNER будет продублирована, даже если один ее экземпляр действительно неявный. Я не администратор баз данных, и я не хочу заниматься плохим стилем.

1 Ответ

1 голос
/ 21 марта 2011

Джим Я не совсем уверен, если вы говорите, что это таблица в вашей БД ??

TEST_ID TEST_OWNER TIMESTAMP RESULT_ID
      1          1         0      null
      2          1        15      null
      3          2        30      null
      4          2        32      null
      5          1        34      null

Если это так, первое, что я хотел бы сделать, это вытащить атрибут результата из этой таблицы для достижения нормализации.Или это ваша таблица результатов?

Независимо от того, получены ли эти результаты из других данных в БД?Если это так, я не вижу необходимости дублировать вещи и сохранять результаты (рассчитанные) также.Просто извлекайте информацию по мере необходимости и храните базу данных в чистоте.

Если вам нужна дополнительная информация, мне нужно лучше понять, что вы представляете.

...