如何设计医疗产品数据库

时间:2015-09-26 19:40:39

标签: database-design

我正在开发一个C#应用程序,用于存储医疗(药品)产品,准备销售和购买发票等。

我有一个表(使用SQL Server)来存储产品详细信息(名称,制造商,类别等)。

如果该商店有例如扑热息痛(2016年10月到期)。然后一批新货物带着相同的产品(Paracetamol)进入商店,但有效期(2017年9月),我该如何存储细节?我应该用2张桌子吗?

1 个答案:

答案 0 :(得分:2)

您需要有两个表,一个用于存储有关药物的信息,另一个用于存储库存。

数据库是彼此相关的表的集合。我们可以有一个大表,其中包含有关药物的所有信息,但在添加或更新现有数据时会产生很多问题。

使用单表的模型(名称,制造商,类别,expirydate)存在很多问题。如果我有五个具有不同失效日期的扑热息痛,其他三个列(名称,制造商,类别)将具有相同的数据,这将浪费资源。因此,我们可以将所有公共数据移动到另一个表中,并将不同的信息保存在不同的表中。这样我们就会有两个表medicine(medicine_id, name, manufacturer, category)inventory (inventory_id, medicine_id, expiry_date)。现在我们只将一般信息输入药物表一次,并在库存表中更新每个项目的失效日期。

此过程称为Database normalization。您可以在网上找到与此相关的大量资源。