Создание отношений между таблицами PHPMYADMIN
Пожалуйста, помогите мне! Я создаю базу данных для хранения данных о пациентах в отделе A&E. Тем не менее, я не уверен, как соотносить таблицы.
Структура таблицы:
ПАЦИЕНТЫ (PatientID(PK), имя, фамилия, пол, DOB, адрес, история, болезнь, приоритет)
A&E (ID(PK), PatientID(FK), адрес, город, почтовый индекс, номер телефона)
NURSE (NurseID (PK), имя, фамилия)
СОСТОЯНИЕ (ID(PK), PatientID(FK) симптомы, диагностика, лечение)
В основном отношения между ними:
ПАЦИЕНТ посещает A&E
ПАЦИЕНТ seen_by медсестра
Медсестра оценивает состояние пациента
Вот отношения, которые необходимо добавить:
- Время должно быть связано с пациентами и медсестрой
- Приоритет должен быть связан как с пациентами, так и с медсестрой
- Врачи должны быть связаны со временем и приоритетом (врачи будут принимать решение, основываясь на времени ожидания и приоритете пациента). Нет прямой связи между врачом и пациентами.
Это непостоянно, что я правильно понимаю эти отношения, поэтому любая помощь будет принята с благодарностью. Спасибо.
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)