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

Как я могу хранить данные о крови, чтобы отслеживать их в базе данных?


Может ли кто-нибудь сказать мне,какой способ лучше хранить детали крови,такие как A+, O+и т. д..

Группа крови-а, в, АБ, О...
Группа крови положительная, отрицательная..

Мне нужно отслеживать детали крови, такие как O+ в моем инвентаре крови.

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

Вместо того чтобы помещать группу крови и группу крови в таблицу доноров, могу ли я просто сделать это, как показано ниже?

Donors : donorID, bloodGroupID, bloodTypeID, ..etc
BloodGroups : bloodGroupID, remarks..etc
BloodTypes : bloodTypeID, remarks..etc



или

Donors : donorID, bloodID, ..etc
Bloods : bloodID, bloodGorup, bloodTypeID, remarks..etc
BloodTypes : bloodTypeID, remarks..etc

1 Ответов

Рейтинг:
1

CHill60

Так как существует всего 8 групп крови

O+
O-
A+
A-
B+
B-
AB+
AB-

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

Лично я бы предпочел BloodTypes таблица с 8 строками, перечисленными выше, и храните BloodTypeID против человека (донора).

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


心心傷心

ладно, спасибо.