牙医应用程序的数据库设计

标签 database medical

所以我正在为我妹妹做一个网络应用程序,因为她最近获得了 dentry 学位。

虽然我在数据库设计方面遇到了一些困难......

我显然应该有一个约会表 (tbl_appointment),约会可能有与之关联的治疗,并且这些治疗都有不同的属性(列)。

所以我想我应该有一个 tbl_appointment 和一个 tbl_treatment,我不确定如何链接这些表以具有多种治疗类型、不同的治疗参数并保存与预约相关的治疗数据。

您认为解决此问题的好方法是什么?我已经画出了一些东西,但它看起来肯定不太好,因为我最终为每种治疗类型准备了一张 table ,我认为这不是最好的解决方案。

编辑

由于这还不够清楚,下面是我的实际数据库的屏幕截图。

如果我像做牙周图一样实现治疗,我最终会得到 20 个表格,每个表格对应一种治疗类型。我想避免这种情况!

enter image description here

编辑

@Ian Kenney,所以如果我理解你的建议,那么我们正在讨论的数据库部分应该是这样的......

enter image description here

我说的对吗?不要注意关系类型,因为它们都是 1:1,我知道我应该在那里使用一些 M:N,但这只是为了示例。

最佳答案

针对各种治疗类型的一种方法是查看它们之间的共同属性,例如它可能包括:

  • 姓名
  • 描述
  • 价格
  • time_required

这些成为tbl_treatment的列

然后为其他(治疗特定的)属性 tbl_treatment_attributes 使用一个额外的表,其结构如下:

  • 治疗编号
  • 属性名称
  • 属性值

每个处理可以有许多额外的属性,可接受的属性(包括默认值)可以在 tbl_treatment_defaults 中管理

  • 治疗编号
  • 属性名称
  • 字段类型
  • 验证
  • 默认值

编辑

+-------------------+              +--------------------+
| tbl_treatment     |              | tbl_treatment_type |
+===================+              +====================+
|*treatment_id      |              |*treatment_type_id  |
|+treatment_type_id |<-------------| treatment_name     |
|  ......           |              | ......             |
+-------------------+              +--------------------+
         |                                   |
         v                                   v
+--------------------------+       +------------------------+
| tbl_treatment_attributes |       | tbl_treatment_defaults |
+==========================+       +========================+
|*treatment_id             |       |*treatment_type_id      |
| attribute_name           |<------| attribute_name         |
| attribute_value          |       | default_value          |
| ........                 |       | .......                |
+--------------------------+       +------------------------+

关于牙医应用程序的数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21616547/

相关文章:

database - 索引两个 varchar 列以使用字符串连接进行查询

java - 在FDA管制的软件中使用Spring Hibernate

python - 如何在 Keras 中使用 Hausdorff 度量?

mysql - JSON 字符串 - 在 MySQL 数据库中包含单引号

python - 使用 numpy 从卷中提取并保存切片

machine-learning - 疾病命名实体识别

python - 如何在 python 中以 Nifti 格式编辑和保存体素大小以及 3D 体积的相应仿射?

android - 如何使用推送通知同步 SQLite 和 MySQL 数据库?

database - 在产品表的人工主键和自然键之间做出决定

sql - 在调试 SQL 查询时需要帮助