2017-01-03 8 views
0

В моей базе данных У меня есть таблицы под названием patient и target_metrics. Таблица target_metrics показывает показатели, относящиеся к пациенту.Как создавать таблицы, когда данные можно разделить на категории, но все они относятся к одной общей категории?

«Показатели» делятся на 3 категории. Они,

  1. глюкозы
  2. измерения
  3. активности

Все эти "принадлежит" к пациенту.

Поэтому я разделил эти разделы на отдельные таблицы, как показано ниже. В приведенном ниже изображении я удалил имена полей для соображений неприкосновенности частной жизни.

enter image description here

Во всяком случае, я также считаю, что это будет очень легко для реализации, если мы удалим всю target_metric таблицы и связать все другие таблицы непосредственно patient. Все эти таблицы будут содержать одну запись за один patient, образуя связь one-to-one.

В вашем опыте, какой совет? Храните его как на изображении или удалите target_metric, связав остальные таблицы с patient?

+0

Вы уверены, что для каждого пациента может быть только одна метрика каждого типа? –

+0

Я также создал медицинский SW в прошлом, но ответ зависит от деталей, которые вам нужно хранить с экзаменов. Потому что разные обследования производят разные показатели и зависят от того, например, если врач захочет увидеть графики уровня глюкозы во времени и т. Д. Если это так, я рекомендую отдельные таблицы для каждой метрики, все взаимосвязанные с patient_id. – JosMac

+0

@ ZoharPeled: Конечно. Вот как это ... –

ответ

2

Loose target_metric стол. Кроме того, потерять лишние id колонки:

target_metric_glucose table 
--------------------------- 
patient_id 
... 

Где patient_id является внешней и первичный ключ в таблице.

+0

Я рекомендую иметь уникальный идентификатор для каждой строки в каждой таблице для целостности. У пациентов будет больше записей для экзаменов с течением времени. Диабетики будут иметь тонны показателей глюкозы и т. Д. – JosMac

+0

OP явно заявляет об ином для своей системы. Из-за столбца 'last_update' это выглядит, как только последняя запись сохраняется и не имеет истории. –

+0

Спасибо! Я считаю, что лучше сохранить уникальный идентификатор для каждой таблицы ... –

 Смежные вопросы

  • Нет связанных вопросов^_^