У меня есть несколько таблиц, которые все ссылаются друг на друга с отношениями «многие ко многим», но не имеют нормального вида.
Обычно отношение «многие ко многим» имеет таблицу соединения, которая объединяет две другиетаблицы на их первичных ключах.
В моем случае у меня есть несколько таблиц, которые связаны друг с другом путем совместного использования соответствующих внешних ключей.
У меня есть записи пациентов с двумя таблицами.
- Врачи, которые назначены пациенту.
- Результаты теста пациента.
Мне не разрешается хранить что-либо о пациенте, кроме его идентификатора пациента (и у меня естьнет причин для этого), поэтому в таблице пациентов нет никакого смысла.
Как я могу связать докторов с TestResults?
Они оба имеют внешний ключ к несуществующей таблице.то есть у них обоих есть номера записей о пациентах, но нет таблицы номеров записей о пациентах (номера записей генерируются системой, к которой у меня нет доступа).
Так что на самом деле они находятся в-множество отношений друг с другом.
Я действительно думал о создании таблицы только для хранения идентификаторов записей.В этой таблице будет один столбец, который является первичным ключом, и ничего больше.
Это решение не будет работать для меня вообще.
- Моя библиотека хранения данных (poco), которая будетУправление и анализ этих записей не могли бы проверить, был ли пациент в нашей системе при добавлении нового результата теста.
- Даже если бы я передал Контекст базы данных управляющей библиотеке.Это будет означать, что система должна будет делать вызов в базу данных каждый раз, когда она хочет добавить запись теста, просто чтобы посмотреть, были ли у пациента какие-либо предыдущие записи с нами или это была первая запись.Все, чтобы добавить запись в таблицу, которая не имела цели.Во время пиковой обработки это может быть тысячи раз в минуту.Что-то, что было бы тривиально, если бы вы просто обращались к объектам clr, но было бы крайне сложно, если вам нужно сделать вызов базы данных для каждого из них.
Спасибо!