張建莉 高欣

摘要:關系數據模型是以集合論中的關系概念為基礎發展起來的,是數據庫領域中常用的邏輯模型,根據用戶要求,開發滿足特定管理需求的數據庫的過程稱為數據庫設計。如何在開發實際業務信息系統中收集和組織業務中所涉及的數據,以及按一定的組織結構將這些數據裝入數據庫中,本文以小型“門診管理系統”數據庫的設計為例,根據具體任務的需求和關系數據庫管理系統提供的功能進行了數據庫設計。
關鍵詞:關系數據模型;數據庫設計;門診管理系統;關系
中圖分類號:TP315? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2019)16-0001-02
開放科學(資源服務)標識碼(OSID):
1 引言
數據邏輯模型是數據庫系統設計的核心,它既要規范數據庫中數據的組織形式,同時要表示數據及數據之間的聯系,邏輯模型構建得好壞直接影響數據庫的性能。關系模型(Relational Model)是數據庫領域中常用的邏輯模型,它是以集合論中的關系概念為基礎發展起來的,有嚴格的數學基礎,抽象級別比較高,而且簡單清晰,特別是在描述事物間的關系方面更加簡潔合理,便于理解和使用,現已為絕大多數數據庫設計所用。
使用數據庫技術解決來自客觀世界的各種管理問題、開發實際業務信息系統,首先碰到的問題是如何收集和組織業務中所涉及的數據,以及按什么樣的組織結構將這些數據裝入數據庫中,也就是要根據具體任務的需求和數據庫管理系統提供的功能進行數據庫設計。本文以小型“門診管理系統”數據庫的設計為例進行了數據庫設計。
2數據庫設計步驟
根據用戶要求,開發滿足特定管理需求的數據庫的過程稱為數據庫設計。通常設計分成以下四步。
需求分析:按照用戶的需求和系統功能要求,確定新建數據庫所需要完成任務的目的。
確定所需要的表:根據信息管理的需求確定要創建的表,每個表應該只包含一個主題的信息,而且各個表不應該包含重復的信息。
確定所需要的字段:一個表包含一個主題的信息,表中的各個字段都是該主題的各個組成部分。每個字段應直接與表的主題相關;字段盡可能不是推導或計算出的數據;字段是不可分割的數據單位。
定義主關鍵字:為了連接保存在不同表中的數據,為了唯一地確定一條記錄,需要為每個表定義一個主關鍵字。
優化設計:在初步設計數據庫的表、字段及表的關系后,還需要對所做的設計進一步分析,檢查可能存在的缺陷和需要改進的地方,使得設計更合理、更符合用戶和輸出信息的需要,便于數據的使用和維護。
3門診管理系統數據庫設計
3.1需求分析
對“門診管理系統”進行業務分析后,“門診管理系統”信息系統所要包括的基本功能:需要管理醫生、科室、藥品、病人的基本信息,需要管理處方,需要管理處方明細,包括處方的錄入、修改、查詢、刪除等功能;在使用過程中有時需要打印報表,所以還得有打印的功能;如果該系統規定專人負責,還需要規定用戶名和登錄密碼,體現保密性等等。即“門診管理系統”基本功能包括:系統管理(界面管理、退出系統)、基本信息管理(輸入數據、修改數據、查詢數據、刪除數據)、信息輸出處理(輸出一般數據、輸出統計數據)。
3.2確定所需要的表
根據“門診管理系統”系統的需求,不難發現數據庫中包含了4類信息:一是藥品基本信息,如藥品編號、藥品名稱藥品規格等;二是醫生、病人、科室的基本信息,如醫生工號、病人ID等;三是處方信息,如處方號、病人ID、開出日期、臨床診斷等;四是單據信息,如掛號單號、掛號費、收費單號、金額等。如果將這些信息放在一個表中,必然出現大量的重復,不符合信息分類的原則。因此,根據已確定的“門診管理系統”數據庫應完成的任務以及信息分類原則,初步擬定該數據庫應包含8個數據表,即科室表、病人表、醫生表、藥品表、處方表、掛號單表、收費單表、處方明細表等。
3.3確定所需要的字段
對于上面已經確定的每一個表,還要設計它的結構,即要確定每個表應包含哪些字段。為了使保存在不同表中的數據產生聯系,數據庫中的每個表必須有主關鍵字能唯一標識每條記錄,主關鍵字可以是一個字段,也可以是多個字段的組合。
關系數據庫利用主關鍵字迅速關聯多個表中的數據,不允許在主關鍵字字段中有重復值或空值。常使用唯一的標識作為這樣的字段,例如,在“門診管理系統”數據庫中,可以將科室號、病人ID、醫生工號、藥品編號、處方號、掛號單號、收費單號分別作為科室表、病人表、醫生表、藥品表、處方表、掛號單表、收費單表的主關鍵字字段,處方號和藥品編號這兩個字段組合作為處方明細表的主關鍵字。
3.4確定表之間的關系
在數據庫中,每個表不是完全孤立的部分,表與表之間有可能存在著相互的聯系。例如,前面創建的“門診管理系統”數據庫中有8個表,不同表中有相同的字段名,如科室表中有“科室號”,醫生表中也有“科室號”,通過這個字段,就可以建立起這兩個表之間的關系。
確定關系的目的是使表的結構合理,不僅存儲了所需要的實體信息,并且反映出實體之間客觀存在的關聯。前面各個步驟已經把數據分配到了各個表中。因為有些輸出需要從幾個表中得到信息,為了能夠將這些表中的內容重新組合,得到有意義的信息,就需要確定外部關鍵字。例如,在“門診管理系統”數據庫中,病人ID是病人表中的主關鍵字,也是處方表中的一個字段。處方表中的病人ID字段稱為“外部關鍵字”,因為它是另外一個表即病人表的主關鍵字。
如果表中沒有可作為主關鍵字的字段,可以在表中增加一個字段,該字段的值為序列號,以此來標識不同記錄。主鍵是用于將表聯系到其他表的外部關鍵字上,從而使不同表中的信息發生聯系。如前所述,表之間的聯系可以歸結為一對一、一對多、多對多三種類型。
在“門診管理系統”數據庫中,科室表和醫生表之間就是一對多的關系,因為一個科室可以有多位醫生。
而在多對多聯系中,應將多對多關系分解成兩個一對多關系,其方法就是在具有多對多關系的兩個表之間創建第3個表,即紐帶表。紐帶表不一定需要自己的主關鍵字,如果需要,可以將它所聯系的兩個表的主關鍵字作為組合關鍵字指定為主關鍵字。在“門診管理系統”數據庫中,處方表和藥品表之間就是多對多的關系。一個處方可以包含多種藥品,同樣一種藥品也可以出現在多個處方中。因此設置一個處方明細表,該表作為處方表和藥品表之間的紐帶表,應將處方表的主關鍵字“處方號”和藥品表的主關鍵字“藥品編號”放入其中。
根據上述考慮,這樣,在“門診管理系統”數據庫中各個表之間的關系如圖1所示。
3.5完善數據庫
在設計數據庫時,信息復雜和情況變化會造成考慮不周,如有些表沒有包含屬于自己主題的全部字段,或者包含了不屬于自己的主題字段,或者沒有很好地滿足實際應用中的需要。此外,數據庫中常存在著多種復雜交叉關系,而這些關系又是實現數據庫動態、有效管理的重要線索。因此,在初步確定了數據庫需要包含哪些表、每個表包含哪些字段以及各個表之間的關系以后,還要重新研究一下設計方案,檢查可能存在的缺陷,并進行相應的修改。只有通過反復修改,才能設計出一個完善的數據庫系統。
在信息社會里,信息都是儲存在計算機系統中的,它們的組織形式多為數據庫。門診管理系統數據庫案例分析與設計,以實例的形式講解了信息的組織方法,在此基礎上可根據實際應用需要進行豐富和完善,并綜合數據庫管理系統提供的其他功能構建一個數據庫應用系統。
參考文獻:
[1] 趙丹青,雷虎,涂小琴. Access數據庫技術與應用教程[J]. 電子科技大學出版社,2016(1).
[2] 王軍委. Access數據庫應用基礎教程[J]. 清華大學出版社,2014(4).
【通聯編輯:王力】