基于csv数据和mysql的简单等待时间项目数据库结构

cqoc49vn  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(304)

假设我有一些如下所示的示例数据(有更多的条目),我的主要用例是查找一种特定的食物,并提供一个提供这种治疗的不同医院的等待时间列表。
我对db设计不是很有经验,我不知道在这个例子中使用单独的表是否有好处,或者只需将csv导入一个表就足够了。
如果我使用单独的table,我猜他们可能是医院和疾病?
如果有人告诉我最好的方法,我会非常感激。

ID,Main Department,Specific Complaint,Hospital ,Waiting time
1,Cardiology,general,Hospital 1,7
2,Cardiology,general,Hospital 2,7
3,Cardiology,general,Hospital 3,7
4,Cardiology,general,Hospital 4,21
5,Cardiology,traumatology,Hospital 1,8
6,Cardiology,traumatology,Hospital 2,7
7,Dermatology,general,Hospital 1,21
8,Dermatology,general,Hospital 2,14
9,Dermatology,general,Hospital 3,21
10,Dermatology,erysipelas,Hospital 1,7
11,Dermatology,erysipelas,Hospital 3,7
...
7hiiyaii

7hiiyaii1#

一个细节你必须了解,所以不是一个教学网站,教程丰富的。更重要的是解决在开发解决方案时出现的具体问题。也就是说,我喜欢这种类型的问题,就这样。
要实现的解决方案类型(简单csv或完整数据库)取决于数据量和所需报告的类型。
csv实现起来很快。
数据库需要更多的时间,但通过使用查询,可以生成比csv更复杂的报告。
csv通常被用作加载或提取数据的媒介,但对于查询来说,它并没有那么强大。
数据库可以扩展。今天你只考虑医院的名字。你可以扩展你的表格,包括地址,电话号码。。。您还可以扩展您的模型,添加保险公司链接,医生。。。
基本建模:
确定你的目标。在这里我会考虑疾病,医院,投诉。
确定对象之间的关系及其类型。疾病和医院是联系在一起的,那联系是n-n。也就是说一个病可以在很多医院治疗,一个医院可以治疗很多病。
我不知道该怎么处理投诉。在你的问题中,你没有具体说明是否所有的医院治疗所有的(疾病-投诉)duos或没有。稍后再谈。
在定义结构时,请确保应用正规形式。在大多数情况下,表格1-3就足够了。
1nf:原子值,无重复组。例如,您将创建一个表,表中的“医院”和“疾病”列用逗号分隔。1行==1家医院<->1种疾病。
2nf:1nf实现,所有非键属性都依赖于主键。例如,不应该创建一个链接疾病和等待时间的表。等待时间并不取决于疾病,而是取决于疾病和医院的结合。
3nf:2nf已经实现,并且没有可传递的函数依赖关系。所以a依赖于b,b依赖于c,所以a传递地依赖于c。
在建立数据模型之前,必须回答一些关键问题:
医院可以治疗某种疾病。在所有情况下?
你能有:1号医院可以在投诉是a和b而不是c的情况下处理1号病吗?
所有医院都可以为心脏病患者提供初级保健,但心脏外科手术只能像一些医院那样进行。
在这种情况下,你不能把疾病和医院直接联系起来。(病痛、抱怨)的结合可能导致死亡。这会影响等待时间。
基于现实,我会把(疾病和抱怨)联系起来,把这对夫妇和医院联系起来。
这是我的第一个模型“for fun”,可能需要根据您的需要进行修改:

等候时间在餐桌医院,您有病,您有投诉。在我的模型中,一家医院只有知道病人患了什么病,有什么抱怨,才能估计等待时间。
最后一个测试模型的练习是尝试我需要的主要查询。如果一个查询无法使用模型完成,则需要对其进行更改。
哪家医院治疗心脏病?好的,选择“疾病==心脏病,投诉==”的医院。
哪家医院可以接受有外伤的病人。好的,选择病痛==
、投诉==外伤的医院。等等。。。

相关问题