Создание отношений между таблицами PHPMYADMIN

Пожалуйста, помогите мне! Я создаю базу данных для хранения данных о пациентах в отделе A&E. Тем не менее, я не уверен, как соотносить таблицы.

Структура таблицы:

ПАЦИЕНТЫ (PatientID(PK), имя, фамилия, пол, DOB, адрес, история, болезнь, приоритет)

A&E (ID(PK), PatientID(FK), адрес, город, почтовый индекс, номер телефона)

NURSE (NurseID (PK), имя, фамилия)

СОСТОЯНИЕ (ID(PK), PatientID(FK) симптомы, диагностика, лечение)

В основном отношения между ними:

ПАЦИЕНТ посещает A&E

ПАЦИЕНТ seen_by медсестра

Медсестра оценивает состояние пациента

Вот отношения, которые необходимо добавить:

  1. Время должно быть связано с пациентами и медсестрой
  2. Приоритет должен быть связан как с пациентами, так и с медсестрой
  3. Врачи должны быть связаны со временем и приоритетом (врачи будут принимать решение, основываясь на времени ожидания и приоритете пациента). Нет прямой связи между врачом и пациентами.

Это непостоянно, что я правильно понимаю эти отношения, поэтому любая помощь будет принята с благодарностью. Спасибо.

1 ответ

Ваш вопрос мне совсем не понятен. Например, вы говорите о том, что пациенты и медсестры связаны с "Приоритетом", а врачи - с "Время" и "Приоритет" - и вы пишете, как будто это другие таблицы, - но вы не описываете их.

Ниже показано, как я могу решить вашу проблему, основываясь на туманном понимании вашей проблемы.

Я не знаю, что означает A&E. Я предполагаю, что это клиника, больница или другое учреждение.

aes
    id                  unsigned int(P)
    street_address      varchar(75)
    city_id             unsigned int(F cities.id)
    postcode            varchar(10) // Whatever the size of your postal code.
    telenumber          varchar(10) // Whatever the size of your telenumber.

Очевидно, ваше "состояние" может быть другим. Здесь, в Соединенных Штатах, все наши штаты имеют уникальный двухсимвольный код.

cities
    id                      unsigned int(P)
    name                    varchar(50)
    state_id                char(2)(F states.id)

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

doctors
    id                  unsigned int(P)
    forename            varchar(50)
    surname             varchar(50)

Такие вещи, как: грипп, бронхит, пазухи и др

illnesses
    id                  unsigned int(P)
    description         varchar(75)

nurses
    id                  unsigned int(P)
    forename            varchar(50)
    surname             varchar(50)

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

patient_history
    id                  unsigned int(P)
    patient_id          unsigned int(F patients.id)
    illness_id          unsigned int(F illnesses.id)
    qwhen               date

patients
    id                  unsigned int(P)
    forename            varchar(50)
    surname             varchar(50)
    gender              enum('f','m')
    dob                 date
    street_address      varchar(75)
    city_id             unsigned int(F cities.id)
    postcode            varchar(10) // Whatever the size of your postal code.
    telenumber          varchar(10) // Whatever the size of your telenumber.

Опять же, ваши "состояния" могут иметь другой идентификатор или имя размера.

states
    id                      char(2)(P)
    name                    varchar(50)

Вещи как: головокружение, усталость, заложенность носа, одышка и т. Д.

symptoms
    id                  unsigned int(P)
    description         varchar(50)

Эта таблица содержит информацию о каждом посещении пациентом A&E. Любая запись, которая не имеет end_time, будет представлять пациента, который в настоящее время находится в A&E, ожидая, пока его осмотрит врач / медсестра. Вы можете определить, сколько времени пациент ждал, сравнивая текущее время с beg_time. И, конечно же, приоритет будет указываться / обновляться приемным клерком, медсестрой, врачом и т. Д.

visits
    id                  unsigned int(P)
    patient_id          unsigned int(F patients.id)
    nurse_id            unsigned int(F nurses.id)
    ae_id               unsigned int(F aes.id)
    priority            unsigned tinyint // 1 = Critical, 2 = Urgent, 3 = whatever...
    beg_time            datetime
    end_time            datetime

Несколько врачей могут видеть пациента...

visits_doctors
    id                  unsigned int(P)
    visit_id            unsigned int(F visits.id)
    doctor_id           unsigned int(F doctors.id)

И несколько медсестер могут видеть пациента...

visits_nurses
    id                      unsigned int(P)
    visit_id                unsigned int(F visits.id)
    nurse_id                unsigned int(F nurses.id)

Пациент обычно имеет несколько симптомов, когда они приходят в гости...

visits_symptoms
    id                  unsigned int(P)
    visit_id            unsigned int(F visits.id)
    symptom_id          unsigned int(F symptoms.id)
Другие вопросы по тегам