Ситуация:дизайн базы данных, это отношения один к одному?
Наша лаборатория получает образцы из разных источников. После получения мы назначаем им номер идентификатора лаборатории, который является уникальным для каждого образца. Мы выполняем множество тестов по каждому образцу, давайте скажем, test1, test2, test3 .... и результаты этих тестов часто бывают нескольких значений.
Пока что я думаю:
Образцы Таблицы:
- Лабид (PK)
- SampleDescription
- SourceId (FK)
Источники Таблица :
- SourceId (PK-генерироваться автоматически)
- Источник
Очевидно, что там будет один ко многим отношений между источниками к образцам Таблица, поскольку один источник может иметь несколько образцов, которые отправляются на наш лаборатория
Теперь моя проблема начинается с создания таблицы, в которой хранятся данные из каждого теста. Я думаю, что я должен хранить результаты каждого теста в отдельной таблице. Каждый образец может быть подвергнут одному или нескольким испытаниям.
Например, test1 таблица может быть, как это:
Тест1 Таблица:
- Лабид (ПК)
- Test1_data_1
- Test1_data_2
- ...... .
Аналогично, другие таблицы испытаний:
Test2 Таблица:
- Лабид (ПК)
- Test3_data_1
- Test3_data_2
- .......
Test3 Таблица:
- Лабид (ПК)
- Test1_data_1
- Test1_data_2
- .......
и так далее .. .
Моя дилемма (вещи Я неясно):
Это для меня ясно, что Lab ID может служить уникальный ключ (PK) для каждого из тестовых таблиц. Теперь, если я создаю отношения «один к одному» между таблицей Образцов и таблицей «Тесты», это требует, чтобы каждый LabID повторялся во всей таблице тестов (исправьте меня, если я ошибаюсь!). Однако образец не может подвергаться такому конкретному тесту.
Почему я думаю, что один-на-один не правильный выбор?
Если запись удалена из таблицы Test1, все же могут быть другие тесты и данные в другой таблице, поэтому удаление записи из таблицы образцов (что, я думаю, произойдет, если я пойду с отношением один к одному) не является правильным.
Мой вопрос:
Как я могу указать правильные отношения в подобной ситуации? Я совершенно новичок в дизайне базы данных, и мой опыт - это 3-х дневные случайные тит-биты чтения здесь и там.
Являются ли ваши результаты тестов всегда одинаковыми для каждого теста? например test1 всегда имеет 3 значения - значение1, значение2, значение3 - test2 всегда имеет 2 значения - значение1, значение2 или test1 может иметь 2 значения для значений sample1 и 5 для образца2? – geoandri
Нет, результаты различны для испытаний, проведенных на каждом образце. Представьте себе, как измерение углерода, водорода, азота для одного образца (таблица испытаний), цифры будут отличаться для другого образца, а также следует с другими тестами. –
Да, это было ясно, я спрашивал, будет ли тест1, например, всегда иметь 3 параметра для измерения. – geoandri