心心傷心 Ответов: 2

Разработка базы данных о компании с большим количеством филиалов в разных местах.


Напр..
Больница может иметь множество отделений в разных местах. Название больницы для каждого отделения одинаковое.

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

Можно ли это сделать так, как показано ниже?


Спасибо за любой совет.

Что я уже пробовал:

hospital : hospital_id,name,...
appointment : appointment_id,hospital_id,location_id
location : location_id,....


или мы можем просто сделать это так, просто использовать адрес для отслеживания?

hospital : hospital id,name,address,...
appointment : appointment_id,hospital_id,..etc

2 Ответов

Рейтинг:
2

OriginalGriff

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

ID         INT, IDENTITY, PRIMARY KEY
Name       NVARCHAR(255)
Address    NVARCHAR(MAX)

Пациенты
ID         INT, IDENTITY, PRIMARY KEY
Name       NVARCHAR(255)
Address    NVARCHAR(MAX)

Назначения
ID         INT, IDENTITY, PRIMARY KEY
BranchID   INT, Foreign key to Branches.ID
PatientID  INT, Foreign key to Patients.ID
At         DATETIME

И тренируйтесь оттуда.


心心傷心

Поэтому, если я пациент, я выберу больницу из списка, например, 1 название больницы ABC, которое имеет 2 местоположения на востоке и западе. Как пациент узнает на самом деле расположение больницы, он/она хочет быть там? Просто используйте адрес, чтобы дифференцировать его?

Рейтинг:
1

Peter Leow

Сначала выясните свои требования, что может быть лучше, чем пройти через макет.
Если бы я записался на прием в эту больницу онлайн через ваше веб-приложение, название больницы было бы просто подписью на экране, и один из важных вариантов-это то, в какое отделение идти. У вас есть способ для меня выбрать один из списка филиалов на основе некоторых описательных имен, а не идентификационного кода, так как у вас нет другого названия филиала, кроме того же названия больницы, поможет какое-то уникальное название местоположения.
Чтобы сделать название местоположения еще более показательным, сделайте его адрес показанным при наведении курсора мыши пациентом. Это также один из способов улучшить пользовательский опыт.
Подводя итог, поставьте себя на место пациентов, сделайте макет и пройдите через него сами или, еще лучше, попросите реальных пациентов пройти через него.
Как только требования и дизайн пользовательского интерфейса будут утверждены, вы сможете с уверенностью приступить к проектированию своей базы данных.