地区———>医院——>科室——>医生——>订单——>病人
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,有多少条记录,就说明该地区产生了多少订单。相关文章推荐: