Как однозначно идентифицировать нормализацию отношения один к другому

88
8

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

                        |----SCHEDULE1 ----|----OCCURRENCE1

|----SCHEDULE1 ----|----OCCURRENCE2

MEDICATION_REMINDER --- |----SCHEDULE2 ----|----OCCURRENCE1

|----SCHEDULE2 ----|----OCCURRENCE2

Теперь я могу хранить эти значения как

MEDICATION_REMINDER (MEDICATION_REMINDER_ID, OTHER_DETAILS)

SCHEDULE (MEDICATION_REMINDER_ID_FK, SCHEDULE_ID, TIMES)//PK - MEDICATION_REMINDER_ID_FK, SCHEDULE_ID

OCCURRENCE (SCHEDULE_ID_FK, OCCURRENCE_ID, DATE_TIME)//NO PRIMARY KEY AS WITH NOW

В настоящее время определение местоположения невозможно однозначно идентифицировать, например

M1 и M2 имеют два графика S1 (7:00 AM) и S2 (8:00 PM), а S1 имеет три случая: o1, o2, o3 и S2 также имеют три события: o1, o2, o3

Теперь моя таблица

MEDICATION_REMINDER
_____________________
M1
M2
_____________________

SCHEDULE
__________________
M1 S1 7:00AM
M1 S2 8:00PM
M2 S1 7:00AM
M2 S2 8:00PM
__________________

OCCURRENCE
__________________
S1 O1 21-04-13 7:00AM
S1 O2 22-04-13 7:00AM
S1 O3 23-04-13 7:00AM
S2 O1 21-04-13 9:00PM
S2 O2 22-04-13 9:00PM
S2 O3 23-04-13 9:00PM

S1 O1 21-04-13 7:00AM
S1 O2 22-04-13 7:00AM
S1 O3 23-04-13 7:00AM
S2 O1 21-04-13 9:00PM
S2 O2 22-04-13 9:00PM
S2 O3 23-04-13 9:00PM

__________________

Как однозначно идентифицировать строки таблицы вхождения. Хорошо хранить MEDICATION_REMINDER_ID в таблице OCCURRENCE. Я не хочу этого делать, потому что таблица OCCURRENCE и MEDICATION_REMINDER не имеют прямых отношений. Пожалуйста, заранее помогите мне

спросил(а) 2013-04-17T12:54:00+04:00 6 лет, 9 месяцев назад
1
Решение
80

Хотя MEDICATION_REMINDER и OCCURRENCE не имеют прямой связи, OCCURRENCE имеет прямую связь с SCHEDULE. Первичный ключ для SCHEDULE - MEDICATION_REMINDER_ID, SCHEDULE_ID, поэтому, чтобы установить связь между SCHEDULE и OCCURRENCE, вам нужно иметь отношение внешних ключей между двумя таблицами. Это означает, что первичный ключ SCHEDULE должен отображаться в OCCURRENCE, поэтому MEDICATION_REMINDER_ID необходимо включить в OCCURRENCE. Это также обеспечивает возможность уникальной идентификации экземпляра OCCURRENCE.

ответил(а) 2013-04-17T14:05:00+04:00 6 лет, 9 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема