軟件設計文檔三步曲
在大學做綜合實驗時,開發軟件到最后總是要寫報告。學到最后,開發軟件前就要先有相關文檔,寫不同方面的各種設計,哎~有時候就搞不懂這3個東西,記下來記下來🤸♂️
| 概念結構設計 | 邏輯結構設計 | 物理結構設計 |
| er圖 | 實體關系描述 | 字段約束表格 |

圖1 醫院管理系統E-R圖
邏輯結構設計
醫師(工作證號ID,姓名,性別,職稱,出生日期,就職年數,科室ID)
科室(科室編號ID,科名,人員,科室電話,科室地址)
病人(病歷號ID,姓名,性別,年齡,聯系方式,診斷說明,就診日期,病房ID,葯單ID,掛號門診ID)
掛號類別(類別號ID,類別名稱)
病房(病房號ID,床位個數,病房級別)
葯單(葯單ID,條形碼ID)
葯品(條形碼ID,名稱,價格,數量)
醫師與科室屬於多對一關系,醫師與病人屬於多對一關系,病人與病房屬於多對一關系,病人與葯單屬於一對一關系,葯單與葯品屬於一對多關系。病人與掛號類別屬於多對一關系。
物理結構設計
1、科室表
科室表department包括5個字段,分別是科室編號,科名,人員,科室電話,科室地址。科室表如表1.1所示。
表1.1 科室表
| 屬性 |
列名 |
數據類型 |
長度 |
約束 |
| 科室編號 |
dID |
int |
11 |
主鍵、Not null |
| 科名 |
dName |
varchar |
100 |
Not null |
| 人員 |
dPernum |
int |
3 |
|
| 科室電話 |
dPhone |
varchar |
20 |
|
| 科室地址 |
uOffice |
varchar |
50 |
|
2、醫師表
醫師表physician包括7個字段,分別是工作證號,科室ID,姓名,性別,職稱,出生日期,就職年數。醫師表如表1.2所示。
表1.2 醫師表
| 屬性 |
列名 |
數據類型 |
長度 |
約束 |
| 工作證號 |
pID |
int |
11 |
主鍵、Not null |
| 科室ID |
dID |
int |
11 |
外鍵 |
| 姓名 |
pName |
varchar |
30 |
Not null |
| 性別 |
pSex |
enum |
('男','女') |
默認男 |
| 職稱 |
pOccname |
varchar |
30 |
|
| 出生日期 |
pBirth |
datetime |
0 |
|
| 就職年數 |
pYear |
year |
|
|
3、病房表
病房表inpatient包括3個字段,分別是病房號,床位個數,病房級別。病房表如表1.3所示。
表1.3 病房表
| 屬性 |
列名 |
數據類型 |
長度 |
約束 |
| 病房號 |
iID |
int |
11 |
主鍵、Not null |
| 床位個數 |
iNum |
int |
11 |
|
| 病房級別 |
iType |
varchar |
100 |
|
4、掛號類別表
掛號類別表regtype包括2個字段,分別是類別號,類別名稱。掛號類別表如表1.4所示。
表1.4 掛號類別表
| 屬性 |
列名 |
數據類型 |
長度 |
約束 |
| 類別號 |
rID |
int |
11 |
主鍵、Not null |
| 類別名稱 |
rName |
varchar |
100 |
|
5、葯品表
葯品表inpatient包括4個字段,分別是條形碼,名稱,價格,數量。葯品表如表1.5所示。
表1.5 葯品表
| 屬性 |
列名 |
數據類型 |
長度 |
約束 |
| 條形碼 |
drID |
int |
11 |
主鍵、Not null |
| 名稱 |
drame |
varchar |
100 |
|
| 價格 |
drPrice |
float |
|
默認0 |
| 數量 |
drNum |
int |
11 |
|
6、葯單表
葯單表plist包括2個字段,分別是病歷號,條形碼。葯單表如表1.6所示。
表1.6 葯單表
| 屬性 |
列名 |
數據類型 |
長度 |
約束 |
| 病歷號 |
bid |
int |
11 |
Not null |
| 條形碼 |
drID |
int |
11 |
Not null |
7、病人表
病人表patient包括11個字段,分別是病歷號,醫師ID,病房ID,葯單ID,掛號門診ID,姓名,性別,年齡,聯系方式,診斷說明,就診日期。病人表如表1.6所示。
表1.7 病人表
| 屬性 |
列名 |
數據類型 |
長度 |
約束 |
| 病歷號 |
bid |
int |
11 |
主鍵、Not null |
| 醫師ID |
pID |
int |
11 |
外鍵 |
| 病房ID |
iID |
int |
11 |
外鍵 |
| 葯單ID |
drID |
int |
11 |
外鍵 |
| 掛號門診ID |
rID |
int |
11 |
外鍵 |
| 姓名 |
bName |
varchar |
30 |
Not null |
| 性別 |
bsex |
enum |
('男','女') |
默認男 |
| 年齡 |
bAge |
date |
|
|
| 聯系方式 |
bPhone |
varchar |
20 |
|
| 診斷說明 |
bInfo |
longtext |
|
|
| 就診日期 |
bBirth |
date |
|
|
