2016-10-22 2 views
-4

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

+1

Этот вопрос не имеет ничего общего с C# или visual studio 2010. Это вопрос о дизайне базы данных – pinkfloydx33

+0

Я извиняюсь за неправильный тег, который я сделал .. снова я все еще новичок в программировании и на этом сайте. Я буду держать это в виду для будущих вопросов, которые я сделаю Чанчами для вашего ответа^_^ –

ответ

0

Вы должны сделать таблицу пациентов и таблицу истории пациентов. Как это зависит от того, что вам нужно хранить в таблице «История», но таблица «История пациентов» должна иметь внешний ключ в таблице «Пациент».

+0

можно ли связать имя пациента с другой таблицей, содержащей его историю? –

+0

Конечно! Как я писал ранее, вы связываете таблицу пациентов с историей пациентов с внешним ключом. В таблице «Пациент» создайте поле PatientId (или что-то в этом роде). В таблице «История» вы создаете поле с именем Patient_FK (внешний ключ или что-то еще). Каждый раз, когда вы вставляете новую строку в таблицу «История», вам нужно добавить PatientId в эту строку. –

0

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

0

Вы имеете в виду новый стол, как в базе данных? Хотя это возможно в некоторых машинах, если у вас нет особых требований к нему (например: для разделения разрешений на одного пациента в двигателе, который не имеет разрешения на строку), вы должны использовать таблицу для пациентов с идентификаторами, а затем столбец идентификатора пациента в таблице для истории пациентов с ссылочной целостностью (через внешний ключ), связывающей их.

Для начала, пожалуйста, обратитесь к Database Normalization. Есть некоторые случаи, когда вам может понадобиться Denormalization для производительности (или в более редких случаях для обеспечения безопасности), но общий совет - создать дизайн для базы данных, нормализованный и затем денормализовать по мере необходимости.

+0

просто стол. я думал о подключении имени пациента к истории пациента .. потому что, если моя программа просто добавит пациента, я не думаю, что это может дать хороший ха-ха. Мне нужно иметь возможность хранить историю болезни. и может подключить его к пациенту, чтобы ничто не могло быть неуместным. –

+0

@JohnSheldonCo, что вы делаете, когда есть пациенты с таким же именем? Вы не должны рисковать, поэтому вам нужна какая-то уникальная идентификация. – Theraot

0

SQL 'table' несколько похож на C# 'class'. Поэтому вместо того, чтобы определять новый класс во время кодирования для каждого пациента, вы создаете экземпляр класса для каждого пациента во время выполнения. И так с SQL, а не CREATE TABLE PatientJoeBloggs для каждого пациента, вы INSERT INTO Patients VALUES ('Joe Bloggs' ...);.

Теперь я не знаю, как выглядят ваши классы C#, но в свое время я видел несколько схем медицинской документации пациента, и я могу сказать вам, что вам понадобится довольно много таблиц. Некоторые таблицы могут иметь исторический элемент (консультации, медикаментозная терапия и т. Д.), Но другие могут не быть (например, ближайшими родственниками). Удачи!

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