地区———>医院——>科室——>医生——>订单——>病人
area_tbl
,hosp_tbl
,dep_tbl
,doc_tbl
,odr_tbl
,pat_tbl
area_tbl
和 hosp_tbl
因为这个 his 挂号项目是准备推广到全国的,所以,首先得有个地区表 area_tbl
,存储细分到区、县、县级市一级的数据,id字段作为主键,还有 name 字段、还有一个 fid(fatherid) ,默认值是 0,代表中国。
地区下面又分为医院表 hosp_tbl
,医院表分为 h_id字段,该字段作为主键,还有 h_name
、h_pic
等用来描述该医院的字段,还有一个 类似于 area_tbl
中 fid 字段的字段为 id 字段,为什么还要有 这个 id 字段呢,举个例子,比如在这个 hosp_tbl
中有一条记录:
h_id= 40,h_name=丹阳市第三人民医院,h_rate=3,
在 hosp_tbl
表中,如果没有代表该医院所在地区的字段,即 id 字段,我们就无法查询到该医院属于哪个地区,也无法得到丹阳市这个地区所有的医院列表。所以在 hosp_tbl
表中,这个起到 fatherid 作用的 id 字段,对于hosp_tbl
表来说,跟 h_name
,h_pic
等字段一样是一个描述医院情况的字段,代表所在地区,而在整个 his 数据库中来说,起到一个索引的作用,跟area_tbl
建立了联系,通过该字段可获知某地区的医院列表,医院数量等信息。
以下表格为示例,不是真实记录。
假设在 area_tbl
表中,有如下记录,id=23的是丹阳市,fid=0,中国。
id | name | fid |
---|---|---|
23 | 丹阳市 | 0 |
24 | 句容市 | 0 |
25 | 镇江市 | 0 |
假设在 hosp_tbl
表中,有如下记录,h_id=40 的是丹阳市第二人民医院,h_id=41 的是丹阳市第三人民医院,h_id=42 的是丹阳市中医院,他们的 id 字段值都是 23 表示都是丹阳地区的医院。而 h_id = 43代表的是句容市第一人民医院,id 字段值是 id=24,代表该医院属于句容市。
h_id | h_name | id |
---|---|---|
40 | 丹阳市第二人民医院 | 23 |
41 | 丹阳市第三人民医院 | 23 |
42 | 丹阳市中医院 | 23 |
43 | 句容市第一人民医院 | 24 |
那么假设现在有这么一个问题:
丹阳市有多少个医院?
答案就是:
只要在
hosp_tbl
表中,搜索 符合 id= 23 的有多少条记录就可以了。
这就是 在 hosp_tbl
表中,必须要有 id 字段的原因。
根据上面对 area_tbl
表和 hosp_tbl
表的分析,我们继续分析另外几个表之间的联系。
hosp_tbl
)和科室表(dep_tbl
)一个医院有多个具体的科室,比如外科,内科,耳鼻喉科,儿科等等。
对于 科室表 dep_tbl
来说,主要的字段跟医院表 hosp_tbl
差不多,比如,dep_id,dep_name,dep_range,dep_master,dep_desc,dep_pic
,为了跟医院表 hosp_tbl
建立联系,还必须要有一个 h_id
字段,代表该科室所属的医院。同样的,要获知某个医院有多少个科室,只要知道这个医院的 h_id
,然后在 科室表 dep_tbl
中查询符合的记录,即可得知。
dep_tbl
)和医生表(doc_tbl
)跟医院表和科室表的分析类似,这里就不重复了。
odr_tbl
)订单表中,除了有 odr_id,odr_desc,odr_time,odr_timeto,odr_pay
等字段外,还应该有就诊医院字段即 h_id
,就诊科室字段 dep_id
,主治医师字段 doc_id
,还有表示这是哪个病人的订单的病人 id 字段 pat_id
。
pat_tbl
)病人表中,主要有 pat_id,pat_name,pat_pid,pat_tel,pat_desc,pat_pic
等字段,分别表示,病人id,姓名,身份证号,联系方式,病历,头像等。
odr_tbl
中,通过该病人的 pat_id
,查看有多少条记录 odr_tbl
中,通过该病人的id pat_id
和医院的id hosp_id
和科室的id dep_id
,查看所有记录 id=XX
查询医院表 hosp_tbl
,得到该地区的所有医院的 h_id
,然后,再通过该地区的所有医院id h_id
,查询订单表 odr_tbl
,有多少条记录,就说明该地区产生了多少订单。相关文章推荐: