【问题标题】:Design of a medical stock management database (MLD)医疗库存管理数据库(MLD)的设计
【发布时间】:2021-06-12 19:05:56
【问题描述】:

我要实现的项目是一个用于医院库存管理的网络应用程序。

我们的想法是,在对患者进行干预期间,我们会扫描产品(我们库存中的产品) 我们在手术过程中使用的产品,以便我们可以将我们使用过的所有产品与患者联系起来。

作为数据库构建的新手,我制作了它的架构。 你能告诉我你的想法吗?为什么不告诉我你会做哪些修改。

MLD

【问题讨论】:

  • 我肯定会改变的一件事是,您不应该将患者治疗与患者核心数据本身混为一谈:emailphone 不是关于医疗的事实,并且与他们相关的发票。
  • 请提出具体问题,而不是“你怎么看”。最起码描述业务领域,询问设计是否与业务领域兼容。

标签: database-design database-schema


【解决方案1】:

您的架构存在一些问题。

我无法评论这些关系,但我可以看到一些明显的问题在等待你。

  • 您的varchar 列应指定为您期望的数据的正确大小。电话号码255个字符? 20 个就足够了,邮政编码 60 个字符 - 10 个肯定吗?
  • 价格作为整数?所以你总是用全部的钱工作......
  • 产品类型、存款类型等...最好由我怀疑的 int 提供服务
  • 条形码 - 通常是 13 位而不是 255
  • 作为 varchar 的金额...不,将来会咬你的
  • datetime 用于某些日期列,date 用于其他列,均名为“日期”
  • 名字而不是名字和姓氏?找到所有姓氏以“S”开头的医生……哦!

您没有说明您的目标数据库平台,但是错误的数据类型和任意长的字段长度会导致糟糕的执行计划和糟糕的性能。

我认为您需要仔细检查。

【讨论】:

  • 感谢您的反馈,我会根据您的建议进行更改。实际上我没有指定它,但我希望用 MySQL 制作这个数据库
  • 以上所有内容都是一般的良好做法,尤其是数据类型和货币值的正确类型之间的一致性!
【解决方案2】:

实际上,我认为您不应该进行任何更改。你做的所有桌子都应该有你需要的东西。如果您需要存储患者的血型,请添加它(我看到您有它,但我这么说是为了让您明白我的意思)。

你犯了一个(非常)小错误:在 doctor > medical_procedure > date 你把 date 而不是 datetime (我认为你需要时间也在那里,所以程序的日期更准确)

【讨论】:

  • 感谢您的反馈,我会根据您的建议进行更改。待会见:)
猜你喜欢
  • 1970-01-01
  • 2015-12-24
  • 2013-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多