![數(shù)據(jù)庫設(shè)計范例—圖書管理系統(tǒng)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/27/fc4af83a-c84d-49f7-8a37-a190851470f3/fc4af83a-c84d-49f7-8a37-a190851470f31.gif)
![數(shù)據(jù)庫設(shè)計范例—圖書管理系統(tǒng)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/27/fc4af83a-c84d-49f7-8a37-a190851470f3/fc4af83a-c84d-49f7-8a37-a190851470f32.gif)
![數(shù)據(jù)庫設(shè)計范例—圖書管理系統(tǒng)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/27/fc4af83a-c84d-49f7-8a37-a190851470f3/fc4af83a-c84d-49f7-8a37-a190851470f33.gif)
![數(shù)據(jù)庫設(shè)計范例—圖書管理系統(tǒng)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/27/fc4af83a-c84d-49f7-8a37-a190851470f3/fc4af83a-c84d-49f7-8a37-a190851470f34.gif)
![數(shù)據(jù)庫設(shè)計范例—圖書管理系統(tǒng)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-4/27/fc4af83a-c84d-49f7-8a37-a190851470f3/fc4af83a-c84d-49f7-8a37-a190851470f35.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上第10章 圖書管理系統(tǒng)數(shù)據(jù)庫設(shè)計實例通過前面章節(jié)對數(shù)據(jù)庫基礎(chǔ)知識的學(xué)習(xí),本章將通過一個圖書管理系統(tǒng)的數(shù)據(jù)庫設(shè)計實例來重點講述如何設(shè)計數(shù)據(jù)庫。在設(shè)計數(shù)據(jù)庫的過程中應(yīng)該遵循哪些設(shè)計原則及技巧。通過本章的數(shù)據(jù)庫實例設(shè)計,要求對數(shù)據(jù)庫的整體過程有個概念性的理解,并能通過所學(xué)知識,在具體的開發(fā)環(huán)境下設(shè)計一個較優(yōu)化數(shù)據(jù)庫并實現(xiàn)設(shè)計過程。10.1 數(shù)據(jù)庫設(shè)計原則及技巧10.1.1數(shù)據(jù)庫設(shè)計原則隨著計算機技術(shù)越來越廣泛地應(yīng)用于國民經(jīng)濟的各個領(lǐng)域,在計算機硬件不斷微型化的同時,應(yīng)用系統(tǒng)向著復(fù)雜化、大型化的方向發(fā)展。數(shù)據(jù)庫是整個系統(tǒng)的核心,它的設(shè)計直接關(guān)系系統(tǒng)執(zhí)行的效率和系統(tǒng)的穩(wěn)定性。因
2、此在軟件系統(tǒng)開發(fā)中,數(shù)據(jù)庫設(shè)計應(yīng)遵循必要的數(shù)據(jù)庫范式理論,以減少冗余、保證數(shù)據(jù)的完整性與正確性。只有在合適的數(shù)據(jù)庫產(chǎn)品上設(shè)計出合理的數(shù)據(jù)庫模型,才能降低整個系統(tǒng)的編程和維護難度,提高系統(tǒng)的實際運行效率。雖然對于小項目或中等規(guī)模的項目,開發(fā)人員可以很容易地利用范式理論設(shè)計出一套符合要求的數(shù)據(jù)庫,但對于一個包含大型數(shù)據(jù)庫的軟件項目,就必須有一套完整的設(shè)計原則與技巧。1. 設(shè)計原則在設(shè)計數(shù)據(jù)庫時,至關(guān)重要的工作就是要理解為之建模的業(yè)務(wù)職能和表示這些業(yè)務(wù)職能的數(shù)據(jù)庫概念及功能,并能準確地設(shè)計數(shù)據(jù)庫,進而建立優(yōu)化的業(yè)務(wù)模型。因為數(shù)據(jù)庫的設(shè)計在整個系統(tǒng)中是至關(guān)重要的一步,一旦數(shù)據(jù)庫設(shè)計完成,在進行修改及優(yōu)
3、化就需花費大量的時間。因此,再設(shè)計數(shù)據(jù)庫時,應(yīng)考慮以下事項:1) 規(guī)范命名。所有的庫名、表名、域名必須遵循統(tǒng)一的命名規(guī)則,并進行必要說明,以方便設(shè)計、維護、查詢。2) 控制字段的引用。在設(shè)計時,可以選擇適當(dāng)?shù)臄?shù)據(jù)庫設(shè)計管理工具,以方便開發(fā)人員的分布式設(shè)計和數(shù)據(jù)小組的集中審核管理。采用統(tǒng)一的命名規(guī)則,如果設(shè)計的字段已經(jīng)存在,可直接引用;否則,應(yīng)重新設(shè)計。3) 庫表重復(fù)控制。在設(shè)計過程中,如果發(fā)現(xiàn)大部分字段都已存在,開發(fā)人員應(yīng)懷疑所設(shè)計的庫表是否已存在。通過對字段所在庫表及相應(yīng)設(shè)計人員的查詢,可以確認庫表是否確實重復(fù)。4) 并發(fā)控制。設(shè)計中應(yīng)進行并發(fā)控制,即對于同一個庫表,在同一時間只有一個人有控
4、制權(quán),其他人只能進行查詢。5) 必要的討論。數(shù)據(jù)庫設(shè)計完成后,數(shù)據(jù)小組應(yīng)與相關(guān)人員進行討論,通過討論來熟悉數(shù)據(jù)庫,從而對設(shè)計中存在的問題進行控制或從中獲取數(shù)據(jù)庫設(shè)計的必要信息。6) 數(shù)據(jù)小組的審核。庫表的定版、修改最終都要通過數(shù)據(jù)小組的審核,以保證符合必要的要求。7) 頭文件處理。每次數(shù)據(jù)修改后,數(shù)據(jù)小組要對相應(yīng)的頭文件進行修改(可由管理軟件自動完成),并通知相關(guān)的開發(fā)人員,以便進行相應(yīng)的程序修改。2.設(shè)計技巧分類拆分數(shù)據(jù)量大的表。對于經(jīng)常使用的表(如某些參數(shù)表或代碼對照表),由于其使用頻率很高,要盡量減少表中的記錄數(shù)量。例如,銀行的戶主賬表原來設(shè)計成一張表,雖然可以方便程序的設(shè)計與維護,但經(jīng)
5、過分析發(fā)現(xiàn),由于數(shù)據(jù)量太大,會影響數(shù)據(jù)的迅速定位。如果將戶主賬表分別設(shè)計為活期戶主賬、定期戶主賬及對公戶主賬等,則可以大大提高查詢效率。索引設(shè)計。對于大的數(shù)據(jù)庫表,合理的索引能夠提高整個數(shù)據(jù)庫的操作效率。在索引設(shè)計中,索引字段應(yīng)挑選重復(fù)值較少的字段;在對建有復(fù)合索引的字段進行檢索時,應(yīng)注意按照復(fù)合索引字段建立的順序進行。例如,如果對一個萬多條記錄的流水表以日期和流水號為序建立復(fù)合索引,由于在該表中日期的重復(fù)值接近整個表的記錄數(shù),用流水號進行查詢所用的時間接近秒;而如果以流水號為索引字段建立索引進行相同的查詢,所用時間不到秒。因此在大型數(shù)據(jù)庫設(shè)計中,只有進行合理的索引字段選擇,才能有效提高整個數(shù)
6、據(jù)庫的操作效率。數(shù)據(jù)操作的優(yōu)化。在大型數(shù)據(jù)庫中,如何提高數(shù)據(jù)操作效率值得關(guān)注。例如,每在數(shù)據(jù)庫流水表中增加一筆業(yè)務(wù),就必須從流水控制表中取出流水號,并將其流水號的數(shù)值加一。正常情況下,單筆操作的反應(yīng)速度尚屬正常,但當(dāng)用它進行批量業(yè)務(wù)處理時,速度會明顯減慢。經(jīng)過分析發(fā)現(xiàn),每次對流水控制表中的流水號數(shù)值加一時都要鎖定該表,而該表卻是整個系統(tǒng)操作的核心,有可能在操作時被其他進程鎖定,因而使整個事務(wù)操作速度變慢。對這一問題的解決的辦法是,根據(jù)批量業(yè)務(wù)的總筆數(shù)批量申請流水號,并對流水控制表進行一次更新,即可提高批量業(yè)務(wù)處理的速度。數(shù)據(jù)庫參數(shù)的調(diào)整。數(shù)據(jù)庫參數(shù)的調(diào)整是一個經(jīng)驗不斷積累的過程,應(yīng)由有經(jīng)驗的系
7、統(tǒng)管理員完成。以informion數(shù)據(jù)庫為例,記錄鎖的數(shù)目太少會造成鎖表的失?。贿壿嬋罩镜奈募?shù)目太少會造成插入大表失敗等,這些問題都應(yīng)根據(jù)實際情況進行必要的調(diào)整。必要的工具。在整個數(shù)據(jù)庫的開發(fā)與設(shè)計過程中,可以先開發(fā)一些小的應(yīng)用工具,如自動生成庫表的頭文件、插入數(shù)據(jù)的初始化、數(shù)據(jù)插入的函數(shù)封裝、錯誤跟蹤或自動顯示等,以此提高數(shù)據(jù)庫的設(shè)計與開發(fā)效率。避免長事務(wù)。對單個大表的刪除或插入操作會帶來大事務(wù),解決的辦法是對參數(shù)進行調(diào)整,也可以在插入時對文件進行分割。對于一個由一系列小事務(wù)順序操作共同構(gòu)成的長事務(wù)(如銀行交易系統(tǒng)的日終交易),可以由一系列操作完成整個事務(wù),但其缺點是有可能因整個事務(wù)太大而
8、使不能完成,或者,由于偶然的意外而使事務(wù)重做所需的時間太長。較好的解決方法是,把整個事務(wù)分解成幾個較小的事務(wù),再由應(yīng)用程序控制整個系統(tǒng)的流程。這樣,如果其中某個事務(wù)不成功,則只需重做該事務(wù),因而既可節(jié)約時間,又可避免長事務(wù)。適當(dāng)超前。計算機技術(shù)發(fā)展日新月異,數(shù)據(jù)庫的設(shè)計必須具有一定前瞻性,不但要滿足當(dāng)前的應(yīng)用要求,還要考慮未來的業(yè)務(wù)發(fā)展,同時必須有利于擴展或增加應(yīng)用系統(tǒng)的處理功能??傊?,相對于中小型數(shù)據(jù)庫,大型數(shù)據(jù)庫的設(shè)計與開發(fā)要復(fù)雜得多,因此在設(shè)計、開發(fā)過程中,除了要遵循數(shù)據(jù)庫范式理論、增加系統(tǒng)的一致性和完整性外,還要在總體上根據(jù)具體情況進行分布式設(shè)計,緊緊把握集中控制、統(tǒng)一審核的基本原則,
9、保證數(shù)據(jù)庫設(shè)計結(jié)構(gòu)緊湊、分布平衡、定位迅速。在數(shù)據(jù)庫操作上,要采用一定的技巧提高整個應(yīng)用系統(tǒng)的執(zhí)行效率,并注意適當(dāng)超前,以適應(yīng)不斷變化的應(yīng)用及系統(tǒng)發(fā)展的要求。10.2 圖書管理系統(tǒng)數(shù)據(jù)庫設(shè)計實例設(shè)計一個系統(tǒng)的核心是前期的分析設(shè)計,如果前期的分析設(shè)計沒有合理、正確、可預(yù)見且清晰的思路,整個系統(tǒng)就無法實現(xiàn)一個優(yōu)化的高性能系統(tǒng)。那么數(shù)據(jù)庫的設(shè)計是整個系統(tǒng)設(shè)計的關(guān)鍵。本章重點介紹圖書管理系統(tǒng)的數(shù)據(jù)庫設(shè)計,而對于數(shù)據(jù)庫應(yīng)用的什么開發(fā)環(huán)境設(shè)計的系統(tǒng),本文不再介紹。從數(shù)據(jù)庫的設(shè)計過程可知,數(shù)據(jù)庫設(shè)計的首要任務(wù)就是需求分析,可見如果需求分析做不好,就不可能設(shè)計出一個合理、優(yōu)化的數(shù)據(jù)庫。10.2.1數(shù)據(jù)庫設(shè)計過
10、程數(shù)據(jù)庫設(shè)計是設(shè)計一個數(shù)據(jù)庫管理系統(tǒng)的核心技術(shù),因此,在設(shè)計一個系統(tǒng)之前必須設(shè)計好數(shù)據(jù)庫,目前數(shù)據(jù)設(shè)計的一般過程分為六個階段如圖10.1所示:需求分析階段、概念結(jié)構(gòu)設(shè)計階段、邏輯結(jié)構(gòu)設(shè)計階段、物理結(jié)構(gòu)設(shè)計階段、實施階段和運行與維護階段。1、需求分析階段:需求分析階段的主要任務(wù)是指通過充分調(diào)查現(xiàn)實世界要處理的對象, 詳細了解計算機系統(tǒng)的工作情況, 明確用戶的各種需求, 然后確定系統(tǒng)的各項功能。數(shù)據(jù)庫系統(tǒng)不僅要按照當(dāng)前的應(yīng)用要求來設(shè)計, 而且必須充分考慮今后可能的擴充和改變。 2、概念結(jié)構(gòu)設(shè)計階:概念結(jié)構(gòu)設(shè)計階段的主要任務(wù)是將需求分析階段所得到的用戶需求抽象為概念模型, 而描述概念模型的具體工具主
11、要是E-R模型。 如圖10.1 數(shù)據(jù)庫設(shè)計的一般過程3、邏輯結(jié)構(gòu)設(shè)計階段:邏輯結(jié)構(gòu)設(shè)計階段的主要任務(wù)是把概念結(jié)構(gòu)設(shè)計階段設(shè)計的基本E-R模型轉(zhuǎn)換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。具體來說, 就是首先將概念結(jié)構(gòu)轉(zhuǎn)換為一般的關(guān)系、網(wǎng)狀、層次模型, 然后將轉(zhuǎn)換來的模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換, 最后對數(shù)據(jù)模型進行優(yōu)化。 4、物理結(jié)構(gòu)設(shè)計階段:物理結(jié)構(gòu)設(shè)計階段的主要任務(wù)是為一個指定的邏輯數(shù)據(jù)模型選取一個符合應(yīng)用要求的物理結(jié)構(gòu)。具體來說, 就是首先確定數(shù)據(jù)庫的物理結(jié)構(gòu), 即數(shù)據(jù)庫的存取方法和存儲結(jié)構(gòu);然后對數(shù)據(jù)庫的物理結(jié)構(gòu)進行評估, 評估的重點是存取時間的長短和存儲空間的大
12、小。5、實施階段:實施階段的主要任務(wù)是用RDBMS 提供的數(shù)據(jù)定義語言和其他實用程序?qū)⑦壿嫿Y(jié)構(gòu)設(shè)計和物理結(jié)構(gòu)設(shè)計的結(jié)果詳細描述出來,成為DBMS 可以接受的源代碼;再經(jīng)過系統(tǒng)調(diào)試產(chǎn)生目標模式, 最后完成數(shù)據(jù)的載入工作。 6、運行與維護:運行與維護階段的主要任務(wù)包括數(shù)據(jù)庫的轉(zhuǎn)儲和恢復(fù), 數(shù)據(jù)庫完整性和安全性控制, 數(shù)據(jù)庫性能改造、分析和監(jiān)督, 數(shù)據(jù)庫的重構(gòu)造和重組織。10.2.2需求分析階段 10.2.2.1 概述進行系統(tǒng)設(shè)計,首先要對系統(tǒng)的現(xiàn)狀進行分析。根據(jù)系統(tǒng)的目標、需求和功能,制定和選擇一個較好的系統(tǒng)方案,從而達到一個合理的優(yōu)化系統(tǒng)。而需求分析是在于要弄清用戶對所開發(fā)的數(shù)據(jù)庫應(yīng)用系統(tǒng)的確切
13、要求。所以,數(shù)據(jù)庫設(shè)計的第一步是明確數(shù)據(jù)庫的目的和如何使用,也就是說需要從數(shù)據(jù)庫中得到哪些信息。明確目的之后,就可以確定您需要保存哪些主題的信息(表),以及每個主題需要保存哪些信息(表中字段)。在構(gòu)造系統(tǒng)時,首先從需求出發(fā)構(gòu)造數(shù)據(jù)庫表,然后再由數(shù)據(jù)庫表結(jié)合需求劃分系統(tǒng)功能模塊。這樣,就把一個大的系統(tǒng)分解成了幾個小系統(tǒng)。經(jīng)過對圖書管理系統(tǒng)的分析,因圖書數(shù)量、規(guī)模大,管理信息量大,建立圖書管理系統(tǒng)是為了解決人工手動管理圖書信息在實踐的問題。這里把系統(tǒng)的層次劃分為了四個部分:圖書維護,人員信息管理,圖書借閱管理,信息查詢。能夠?qū)崿F(xiàn)以下功能:1) 進行新書入庫、現(xiàn)有圖書信息修改以及刪除;2) 能夠?qū)崿F(xiàn)
14、對讀者基本信息的查詢和編輯管理;3) 能夠進行超期罰款功能;4) 能夠進行借閱信息的查詢功能;10.2.2.2 需求階段的目標及任務(wù)需求分析的目標及任務(wù)就是為了提取有效的信息,概念模型的抽象化,轉(zhuǎn)化為計算機系統(tǒng)能夠識別的信息。則通過需求分析所得的信息如下:l 處理對象讀者信息:讀者編號,姓名,性別,學(xué)號,學(xué)院,專業(yè),年級,類型,類別編號,辦證日期管理員信息:管理員編號,姓名,性別,權(quán)限,登錄口令,住址,電話館藏圖書信息:圖書編號,索書號,圖書名稱,作者,出版社,單價,摘要,關(guān)鍵字,副本數(shù),分類,出版日期,狀態(tài)借閱信息:圖書編號,讀者編號,圖書名,作者,借閱日期,歸還日期,歸還日期,應(yīng)還日期,罰
15、金借閱歷史信息:圖書編號,讀者編號,圖書名,作者,借閱日期,還書日期罰款信息:讀者編號,圖書編號,圖書名,作者,借閱日期,應(yīng)還日期,歸還日期,罰款金額,處理狀態(tài),管理員編號l 處理功能及要求用戶對圖書管理系統(tǒng)的功能及要求如下:1. 能夠存儲一定數(shù)量的圖書信息,并方便有效的進行相應(yīng)的書籍?dāng)?shù)據(jù)操作和管理,這主要包括:a) 圖書信息的錄入、刪除及修改。b) 圖書信息的多關(guān)鍵字檢索查詢。c) 圖書的出借、返還及超期罰款或丟失賠償。2. 能夠?qū)σ欢〝?shù)量的讀者、管理員進行相應(yīng)的信息存儲與管理,這其中包括:a) 讀者信息的登記、刪除及修改。b) 管理員信息的增加、刪除及修改。c) 讀者資料的統(tǒng)計與查詢。3.
16、 能夠提供一定的安全機制,提供數(shù)據(jù)信息授權(quán)訪問,防止隨意刪改、查詢。4. 對查詢、統(tǒng)計的結(jié)果能夠列表顯示。10.2.2.3安全性和完整性要求1) 安全性要求系統(tǒng)安全性要求體現(xiàn)在數(shù)據(jù)庫安全性、信息安全性和系統(tǒng)平臺的安全性等方面。安全性先通過視圖機制,不同的用戶只能訪問系統(tǒng)授權(quán)的視圖,這樣可提供系統(tǒng)數(shù)據(jù)一定程度上的安全性,再通過分配權(quán)限、設(shè)置權(quán)限級別來區(qū)別對待不同操作者對數(shù)據(jù)庫的操作來提高數(shù)據(jù)庫的安全性;系統(tǒng)平臺的安全性體現(xiàn)在操作系統(tǒng)的安全性、計算機系統(tǒng)的安全性和網(wǎng)絡(luò)體系的安全性等方面。2) 完整性要求系統(tǒng)完整性要求系統(tǒng)中數(shù)據(jù)的正確性以及相容性。可通過建立主、外鍵,使用check約束,或者通過使用
17、觸發(fā)器和級聯(lián)更新。在系統(tǒng)進行設(shè)計時,一定根據(jù)第七章所學(xué)知識對數(shù)據(jù)的安全性及完整性進行設(shè)計。以保證數(shù)據(jù)庫更為完善。10.2.2.4 建立數(shù)據(jù)業(yè)務(wù)流程及數(shù)據(jù)字典系統(tǒng)需求分析主要是通過對本校圖書管理員的咨詢、請教,了解我校圖書館的管理規(guī)則和運行機制,并通過上網(wǎng)搜索有關(guān)圖書管理系統(tǒng)的知識,了解到了圖書管理的現(xiàn)狀,以及在管理中的一些問題,然后通過所了解的文字信息,理解數(shù)據(jù)業(yè)務(wù)流程及數(shù)據(jù)字典,為后期數(shù)據(jù)庫設(shè)計提供概念基礎(chǔ)。l 圖書管理系統(tǒng)業(yè)務(wù)流程圖圖10.2 圖書管理系統(tǒng)業(yè)務(wù)流程圖本文的業(yè)務(wù)流程是從讀者角度考慮的業(yè)務(wù)流程圖:l 圖書管理系統(tǒng)數(shù)據(jù)流程圖圖 10.3 頂層數(shù)據(jù)流(一) 頂層數(shù)據(jù)流圖:(二) 第
18、2層數(shù)據(jù)流圖:(讀者借閱,讀者還書,讀者查詢,管理員查詢,管理員修改)圖10.4第2層數(shù)據(jù)流圖(三) 第3層數(shù)據(jù)流圖:(讀者借閱)圖10.5 讀者借閱數(shù)據(jù)流圖(四) 第3層數(shù)據(jù)流圖:(讀者還書)圖10.6 讀者還書數(shù)據(jù)流圖(五) 第3層數(shù)據(jù)流圖:(查詢圖書信息,查詢讀者信息,查詢借閱歷史,查詢罰款信息)圖10.7管理員、讀者查詢數(shù)據(jù)流圖(六) 第3層數(shù)據(jù)流圖:(管理員添加、刪除、修改圖書信息)圖10.8 圖書的維護數(shù)據(jù)流圖(七) 第3層數(shù)據(jù)流圖:(管理員添加、刪除、修改讀者信息)圖10.9 更改讀者信息的數(shù)據(jù)流圖(八) 第3層數(shù)據(jù)流圖:(管理員添加、刪除、修改管理員信息)圖10.10 更改管理
19、員信息的數(shù)據(jù)流圖l 圖書管理系統(tǒng)數(shù)據(jù)字典(a)數(shù)據(jù)項:系統(tǒng)涉及的數(shù)據(jù)項有44項表1.1 數(shù)據(jù)項列表數(shù)據(jù)項編號數(shù)據(jù)項名數(shù)據(jù)項含義與其它數(shù)據(jù)項的關(guān)系存儲結(jié)構(gòu)別名DI-1BookID圖書條碼號char(9)條碼號DI-2BookNo圖書索書號char(10)索書號DI-3BookName圖書名char(20)書名DI-4BookWriter圖書作者char(8)作者DI-5BookPublish圖書出版社char(20)出版社DI-6BookPrice圖書單價char(7)單價DI-7BookDate圖書出版日期Date出版日期DI-8BookClass圖書分類char(20)類別DI-9BookM
20、ain圖書摘要char (200)摘要DI-10BookPrim圖書關(guān)鍵字char (30)關(guān)鍵字DI-11BookCopy圖書副本數(shù)char (5)副本數(shù)DI-12BookState圖書是否可借char(10)狀態(tài)DI-13BookRNo所屬館室號同RoomNochar(5)館室號DI-14ReaID讀者條碼號char(9)條碼號DI-15ReaName讀者姓名char(10)姓名DI-16ReaSex讀者性別char(2)性別DI-17ReaNo讀者學(xué)號char (9)學(xué)號DI-18ReaLBID讀者類別編號同LBIDchar(5)類別編號DI-19ReaType讀者類型(職務(wù))char(
21、20)類型DI-20ReaDep讀者所在學(xué)院char(20)學(xué)院DI-21ReaGrade讀者所屬年級char(5)年級DI-22ReaPre讀者所讀專業(yè)char(20)專業(yè)DI-23ReaDate讀者辦證時間Date辦證時間DI-24OutDate借閱日期Date借閱時間DI-25InDate歸還日期Date歸還時間DI-26YHDate應(yīng)還日期Date應(yīng)還時間DI-27Fine罰款金額char(3)罰款金額DI-28CLState是否交納罰金char(8)處理狀態(tài)DI-29LBID類別編號同ReaLBIDchar(5)類別編號DI-30LBName讀者類別名char(20)類別名DI-31
22、LBnum允許最多借書數(shù)量char(5)借閱數(shù)量DI-32LBbqx允許最長持有時間char(4)借閱期限D(zhuǎn)I-33LBqx借閱卡有效期char(3)有效期限D(zhuǎn)I-34MID管理員編號同RoomMIDchar(10)編號DI-35MName管理員姓名char(10)姓名DI-36MSex管理員性別char(2)性別DI-37Mpwd管理員口令char(8)口令DI-38MAuth管理員權(quán)限級別char(4)權(quán)限級別DI-39MTeleph管理員電話char(15)電話DI-40MAddre管理員地址char(30)住址DI-41RoomNo館室號同BookRNochar(5)館室號DI-42R
23、oomMID館室管理員編號同MIDchar(10)編號DI-43RoomNum館室內(nèi)圖書數(shù)目char(5)數(shù)量DI-44RoomAddre館室地址char(20)地址(b)數(shù)據(jù)結(jié)構(gòu):表1.2 數(shù)據(jù)結(jié)構(gòu)列表數(shù)據(jù)結(jié)構(gòu)編號數(shù)據(jù)結(jié)構(gòu)名數(shù)據(jù)結(jié)構(gòu)含義組成DS-1Book館藏圖書信息BookID,BookNo,BookName,BookWriter,BookPublish,BookPrice,BookDate,BookClass, BookMain,BookPrim,BookCopy,BookState,BookRNo DS-2Reader讀者信息ReaID, ReaName, ReaSex, ReaNo,
24、 ReaLBID, ReaType, ReaDep, ReaGrade, ReaPref, ReaDate, DS-3Borrow借閱信息BookID,ReaID,BookName,BookWriter, Outdate,YHdateDS-4History借閱歷史BookID,ReaID,BookName,BookWriter, Outdate,IndateDS-5Fine罰款信息BookID,ReaID,BookName,Outdate,Indate,Fine, CLState,MIDDS-6ReaderType讀者類別LBID, LBName, LBnum, LBbqx, LBqxDS-7
25、Maneger管理員信息MID,MName,MSex,Mpwd,MAuth,MTeleph,MAddreDS-8Room館室信息RoomNO, RoomMID, RoomNum, RoomAddre (c)處理邏輯描述表1.3 處理邏輯列表處理編號處理功能處理過程PR-1判斷讀者查詢涉及的功能模塊館藏圖書信息模塊、讀者信息模塊、讀者類別信息模塊、借閱信息模塊、借閱歷史信息模塊、罰款信息模塊、管理員模塊、館室信息模塊:先確定查詢所涉及的功能模塊;然后,根據(jù)要查詢的內(nèi)容,確定查詢數(shù)據(jù)流向;最后顯示查詢結(jié)果。PR-2判斷圖書、讀者修改要涉及的模塊,同時把相應(yīng)的修改數(shù)據(jù)傳到相應(yīng)的模塊之中館藏圖書信息模
26、塊、讀者信息模塊、讀者類別信息模塊、管理員信息模塊、館室信息模塊:先確定更新所涉及的功能模塊;然后,把更新信息傳送到相應(yīng)的模塊中;最后,進行相應(yīng)的更新操作。10.2.3概念分析階段概念設(shè)計階段主要是將需求分析階段得到的用戶需求抽象為信息結(jié)構(gòu)(概念模型)的過程,它是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵。本圖書管理系統(tǒng)的主要任務(wù)及目標如下:(1) 選擇中層數(shù)據(jù)流為切入點,通常選擇實際系統(tǒng)中的子系統(tǒng);(2) 設(shè)計分E-R圖,即各子模塊的E-R圖;(3) 生成初步E-R圖,通過合并方法,做到各子系統(tǒng)實體、屬性、聯(lián)系統(tǒng)一;(4) 生成全局E-R圖,通過消除沖突等方面。在本圖書管理系統(tǒng)中,從第3層數(shù)據(jù)流程圖下手。分析各3
27、層數(shù)據(jù)流圖和數(shù)據(jù)字典,知道整個系統(tǒng)功能圍繞“讀者”、“管理員”和“圖書”的處理。根據(jù)實體與屬性間的兩條準則: 作為“屬性”,不能再具有需要描述的性質(zhì)。 “屬性”不能與其他實體具有聯(lián)系。數(shù)據(jù)流程圖10.5 、圖10.6、圖10.7可綜合成借閱子系統(tǒng)的分E-R圖10.11,數(shù)據(jù)流程圖10.8可抽象為分E-R圖10.12,數(shù)據(jù)流程圖10.9可抽象為分E-R圖10.13,數(shù)據(jù)流程圖10.10可抽象為分E-R圖10.14。然后采用逐步集成的方式將各分E-R圖合并,消除不必要的冗余和沖突后就生成了基本E-R圖10.15。其各個ER圖如下:(1)根據(jù)不同的對象,從第3層數(shù)據(jù)流程圖入手,分別畫出各分ER圖:(
28、a)從數(shù)據(jù)流程圖10.5 、圖10.6、圖10.7抽象出的分ER圖:圖10.11 分E-R圖(b)從數(shù)據(jù)流程圖10.8可抽象為分E-R圖:圖10.12 分E-R圖(c)從數(shù)據(jù)流程圖10.9抽象出的分ER圖:圖10.13 分E-R圖(d)從數(shù)據(jù)流程圖10.10抽象出的分ER圖:圖10.14 分E-R圖(2)合并各分圖,消除屬性沖突、命名沖突、結(jié)構(gòu)沖突等三類沖突,得到初步E-R圖,再消除不必要冗余,得到的基本E-R圖如下所示:圖10.15 分E-R圖(3)各ER圖各實體的屬性如下所示:圖書:Book(BookID, BookNo, BookName, BookWriter, BookPublish
29、, BookPrice, BookDate, BookClass, BookMain, BookPrim, BookCopy, BookState,BookRN)讀者:Reader(ReaID, ReaName, ReaSex, ReaNo, ReaLBID, ReaType, ReaDep, ReaGrade, ReaPref, ReaDate)管理員:Maneger(MID, MName, MSex, Mpwd, MAuth, MTeleph, MAddre) 館室:Room(RoomNo,RoomMID,RoomNum,RoomAddre)讀者類別:ReaderTpye(LBID, LB
30、Name, LBnum, LBbqx, LBqx) 各ER圖中聯(lián)系的屬性如下所示:借閱信息:Borrow (BookID,ReaderID,BookName,BookWriter, Outdate,YHdate)借閱歷史:History(BookID,ReaderID,BookName, BookWriter, Outdate,Indate)罰款信息:Fine(BookID,ReaderID,BookName, Outdate,Indate, Fine, CLState, MID)10.2.4邏輯設(shè)計階段以上的概念設(shè)計階段是獨立于任何一種數(shù)據(jù)模型的,但是邏輯設(shè)計階段就與選用的DBMS產(chǎn)品發(fā)生關(guān)
31、系了,系統(tǒng)邏輯設(shè)計的任務(wù)就是將概念設(shè)計階段設(shè)計好的基本E-R圖轉(zhuǎn)換為選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。具體內(nèi)容包括數(shù)據(jù)組織(將E-R圖轉(zhuǎn)換成關(guān)系模型、模型優(yōu)化、數(shù)據(jù)庫模式定義、用戶子模式設(shè)計)、數(shù)據(jù)處理(畫出系統(tǒng)功能模塊圖)兩大任務(wù)。10.2.4.1數(shù)據(jù)組織1. 將E-R圖轉(zhuǎn)換為關(guān)系模型實體型轉(zhuǎn)換為關(guān)系模式。實體的屬性就是關(guān)系的屬性,實體的碼就是關(guān)系的碼。對于實體間的聯(lián)系則有以下不同的情況:一個m:n聯(lián)系轉(zhuǎn)換為一個關(guān)系模式。與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為各實體碼的組合。一個1:n聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與n端對應(yīng)的關(guān)系
32、模式合并。如果轉(zhuǎn)換為一個獨立的關(guān)系模式,則與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為n端實體的碼。 一個1:1聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與任意一端對應(yīng)的關(guān)系模式合并。三個或三個以上實體間的一個多元聯(lián)系可以轉(zhuǎn)換為一個關(guān)系模式。與該多元聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為各實體碼的組合。具有相同碼的關(guān)系模式可合并。由于讀者類別與讀者、館室與圖書的聯(lián)系方式是1:n(一對多),可以將其之間的聯(lián)系與n端實體讀者、圖書合并,管理員與圖書之間的維護聯(lián)系也是1:n(一對多),同樣也將其之間的聯(lián)系與n端實體合并,而讀者與圖書之間的借
33、閱和歸還聯(lián)系方式則是n:m(多對多),這樣要把它們之間的聯(lián)系轉(zhuǎn)化為獨立的關(guān)系模式,讀者與管理員之間的罰款聯(lián)系是m:n(多對多),將其聯(lián)系也轉(zhuǎn)化成獨立的關(guān)系模式,具體的基本E-R圖向關(guān)系模型的轉(zhuǎn)化如下:圖書:Book(BookID, BookNo, BookName, BookWriter, BookPublish, BookPrice, BookDate,BookClass,BookMain,BookPrim,BookCopy,BookState,BookRNo)讀者:Reader(ReaID,ReaName,ReaSex,ReaNo,ReaLBID,ReaType, ReaDep, ReaG
34、rade, ReaPref, ReaDate)管理員: Maneger (MID,MName,MSex,Mpwd,MAuth,MTeleph,MAddre)讀者類別:ReaderTpye(LBID, LBName, LBnum, LBbqx, LBqx)館室: Room(RoomNo,RoomMID,RoomNum,RoomAddre)借閱信息:Borrow(BookID,ReaderID,BookName,BookWriter, Outdate,YHdate)借閱歷史:History(BookID,ReaderID,BookName,BookWriter, Outdate,Indate,YH
35、date)罰款信息:Fine (BookID,ReaderID,BookName,Outdate,Indate,Fine, CLState,MID) (注:標有直線下劃線的為主屬性,標有波浪線下劃線的是外鍵屬性,主屬性與外鍵屬性一起構(gòu)成主碼)2. 模型優(yōu)化關(guān)系模式Book,Reader,Room,ReaderType ,Maneger不存在非主屬性對主屬性的部分函數(shù)依賴,也不存在傳遞函數(shù)依賴,已經(jīng)達到了3NF,但是借閱關(guān)系模式、借閱歷史關(guān)系模式、罰款關(guān)系模式(Borrow,History,Fine)中存在著一些數(shù)據(jù)冗余,現(xiàn)將三個關(guān)系模型進行合并,消除冗余,優(yōu)化為:借閱信息:Borrow ( B
36、ookID,ReaderID,BookName,BookWriter,Outdate,Indate,YHdate,Fine,CLStaer,MID)3. 數(shù)據(jù)庫模式定義根據(jù)分析,本數(shù)據(jù)庫共創(chuàng)建如下6個表。表10.1 館藏圖書信息表列名數(shù)據(jù)類型可否為空說明BookIDCharnot null圖書編號BookNoCharnot null圖書的索書號BookNameCharnot null圖書的書名BookWriterCharnot null圖書作者BookPulishCharnot null圖書出版社BookPriceChar圖書的單價BookDateDate出版日期BookClassChar圖書
37、的分類BookMainChar圖書的摘要BookPrimChar圖書的關(guān)鍵字BookCopyChar圖書的副本數(shù)BookStateCharnot null圖書是否可借BookRNoCharnot null圖書所在館室號表10.2 讀者信息表列名數(shù)據(jù)類型可否為空說明ReaIDCharnot null讀者編號ReaNameCharnot null讀者姓名ReaSexCharnot null讀者性別ReaNoCharnot null讀者學(xué)號ReaLBIDCharnot null讀者類別編號ReaTypeChar讀者類型ReaDepChar讀者所在學(xué)院ReaPrefChar讀者所屬專業(yè)ReaGrade
38、Char讀者的年級ReaDateDatenot null辦證日期表10.3 管理員信息表列名數(shù)據(jù)類型可否為空說明MIDCharnot null管理員編號MNameCharnot null管理員姓名MSexChar管理員性別MpswCharnot null管理員密碼MAuthCharnot null管理員權(quán)限MTelephChar管理員電話MAddreChar管理員地址表10.4 館室信息表列名數(shù)據(jù)類型可否為空說明RoomNoCharnot null館室號RoomMIDCharnot null館室管理員編號RoomNumChar館室擁有圖書數(shù)目RoomAddreChar館室地址表10.5 讀者類
39、別信息表列名數(shù)據(jù)類型可否為空說明LBIDCharnot null讀者類別編號LBNameCharnot null讀者類別名LBnumCharnot null允許借閱圖書最大數(shù)LBbqxCharnot null持有圖書最長期限LBqxCharnot null借閱證期限表10.6 借閱信息表列名數(shù)據(jù)類型可否為空說明ReaIDCharnot null讀者編號BookIDCharnot null圖書編號BookNameCharnot null圖書名BookWriterChar作者OutdateDatenot null借閱時間IndateDate歸還時間YHdateDatenot null應(yīng)還時間Fin
40、eChar罰款金額CLStateChar處理狀態(tài)MIDCharnot null管理員編號4. 用戶子模式定義表10.7 用戶子模式定義編號用戶子模式(View)作用(共性:提供數(shù)據(jù)保密和安全保護機制)V1BookView便于查詢和修改圖書的基本信息V2ReaderView方便讀者基本信息的查詢、更新V3HistoryView便于借閱歷史信息的查詢V4BorrowView用于當(dāng)前借閱信息的查詢V5FineView便于查詢罰款信息表10.8 讀者基本信息視圖列名數(shù)據(jù)類型可否為空說明ReaIDCharnot null讀者編號ReaNameCharnot null讀者姓名ReaSexCharnot n
41、ull讀者性別ReaTypeChar讀者類型ReaDepChar讀者所在學(xué)院ReaDateDatel辦證日期表10.9 圖書基本信息視圖列名數(shù)據(jù)類型可否為空說明BookNoCharnot null圖書的索書號BookNameCharnot null圖書的書名BookWriterCharnot null圖書作者BookPulishCharnot null圖書出版社BookStateCharnot null圖書是否可借BookRNoCharnot null圖書所在館室號表10.10 讀者當(dāng)前借閱信息視圖列名數(shù)據(jù)類型可否為空說明BookIDCharnot null圖書編號BookNameCharno
42、t null圖書名OutdateDatenot null借閱時間YHdateDatenot null應(yīng)還時間表10.11 讀者借閱歷史信息視圖列名數(shù)據(jù)類型可否為空說明BookIDCharnot null圖書編號BookNameCharnot null圖書名OutdateDatenot null借閱時間IndateDate歸還時間表10.12 讀者罰款信息視圖列名數(shù)據(jù)類型可否為空說明BookIDCharnot null圖書編號BookNameCharnot null圖書名OutdateDatenot null借閱時間IndateDate歸還時間FineCharnot null罰款金額CLStat
43、eCharnot null處理狀態(tài)10.2.4.2 數(shù)據(jù)處理結(jié)合系統(tǒng)的需求,本系統(tǒng)的基本的系統(tǒng)功能模塊如下圖10.16。圖10.16 系統(tǒng)功能模塊圖10.2.5物理設(shè)計階段 數(shù)據(jù)庫的物理設(shè)計就是為邏輯數(shù)據(jù)模型選取一個最合適應(yīng)用要求的物理結(jié)構(gòu)的過程,在這個階段中要完成兩大任務(wù):(1)確定數(shù)據(jù)庫的物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫中主要是存取方法和存儲結(jié)構(gòu);(2)對物理結(jié)構(gòu)進行評價,評價的重點是時間和空間效率。10.2.5.1數(shù)據(jù)存儲方面為數(shù)據(jù)庫中各基本表建立的索引如下:1) 由于基本表Reader,Book的主碼ReaID,BookID經(jīng)常在查詢條件和連接操作的連接條件中出現(xiàn),且它們的值唯一,在兩個屬性上建
44、立唯一性索引;2) 由于基本表Reader的屬性ReaDep,Book的屬性BookPublish經(jīng)常在查詢條件中出現(xiàn)在兩個屬性上建立聚簇索引;3) 借閱信息基本表Borrow的一屬性ReaID,BookID,經(jīng)常在查詢條件中出現(xiàn),考慮在其之上建立聚簇索引;4) 罰款信息基本表Fine的一屬性ReaID,BookID,經(jīng)常在查詢條件中出現(xiàn),考慮在其之上建立聚簇索引;10.2.5.2系統(tǒng)功能模塊(一) 讀者基本信息的查詢和更新模塊將實現(xiàn)對讀者基本信息的查詢和更新(修改、添加、刪除)操作,用于新生入學(xué),畢業(yè)生離校,以及讀者補辦借閱證或更改信息的情況,具體的功能模塊圖如下:圖10.17 讀者信息的查
45、詢和更新模塊(二) 圖書基本信息的查詢和更新模塊將完成對圖書基本信息的查詢、更新(修改、添加、刪除)操作,用于讀者對圖書信息的查詢及管理員添加新書、刪除淘汰的舊書,具體的功能模塊圖如下所示:圖10.18圖書信息的查詢和更新模塊10.2.6數(shù)據(jù)庫實施階段10.2.6.1建立數(shù)據(jù)庫、數(shù)據(jù)表、視圖、索引(一) 建立數(shù)據(jù)庫create database Book;(二) 建立數(shù)據(jù)表1) 讀者類別信息表的建立:create table ReaderType(LBID char(5) primary key,LBName char(20) not null,LBnum char(5) not null,L
46、Bbqx char(4) not null,LBqx char(3) not null,)2) 管理員基本信息表的建立:create table Maneger(MID char(10) primary key,MName char(10) not null,MSex char(2),Mpwd char(8) not null,MAuth char(40) not null,MTeleph char(15),MAddre char(30),check(MSex ='男' or MSex ='女')3) 圖書館室基本信息表的建立:create table Room
47、(RoomNo char(5) primary key,RoomMID char(10) not null,Roomnum char(5),RoomAddre char(20),foreign key(RoomMID) references Maneger(MID),)4) 館藏圖書基本信息表的建立:create table Book( BookID char(9) primary key, BookNo char(20) not null, BookName char(50) not null, BookWriter char(30) not null, BookPublish char(2
48、0) not null, BookPrice char(7), BookDate datetime, BookClass char(20), BookMain char(200), BookPrim char(30), BookCopy char(5), BookState char(10) not null, BookRNo char(5) not null,foreign key(BookRNo) references Room(RoomNo),)5) 讀者基本信息表的建立:create table Reader(ReaID char(9) primary key,ReaName char
49、(10) not null,ReaSex char(2) not null,ReaNo char(9) not null,ReaLBID char(5) not null,ReaType char(20),ReaDep char(20),ReaGrade char(5),ReaPref char(20),ReaDate Datetime,foreign key(ReaLBID) references ReaderType(LBID),check(ReaSex ='男' or ReaSex ='女')6) 借閱基本信息表的建立:create table Borro
50、w(BookID char(9),ReaID char(9),Outdate Datetime not null,YHdate Datetime not null,Indate Datetime,Fine char(5),CLState char(8),MID char(10) not null,primary key(BookID,ReaID),foreign key(MID) references Maneger(MID)(三) 建立視圖(1)用于查詢圖書基本信息的視圖定義如下: create view Bookview (索書號, 書名, 作者, 出版社, 圖書狀態(tài))asselect B
51、ookNo,BookName,BookWriter,BookPublish,BookStatefrom Book(2)用于讀者基本信息查詢的視圖定義如下:create view Readerview (讀者姓名,類型,學(xué)院,專業(yè),辦證日期)asselect ReaName,ReaType,ReaDep,ReaPref,ReaDatefrom Reader(3)用于顯示當(dāng)前借閱基本信息的視圖定義如下:create view Borrowview (讀者編號,書名,作者,借閱日期,到期日期)asselect ReaID,BookName,BookWriter,Outdate,YHdatefrom
52、Borrow,Bookwhere Borrow.BookID=Book.BookID and Borrow.Indate is null(4)用于借閱歷史信息查詢的視圖定義如下:create view Historyview (讀者編號,書名,借閱日期,歸還日期)asselect ReaID,BookName,Outdate,Indatefrom Borrow,Bookwhere Borrow.BookID=Book.BookID and Borrow.Indate is not null(5)用于查詢罰款信息的視圖定義如下:create view Fineview (讀者編號,書名,借閱日期,歸還日期,罰款,處理狀態(tài))asselect ReaID,BookName,Outdate,Indate,Fine,CLStatefrom Borrow,Bookwhere Borrow.BookID=Book.BookID and Fine is not null(四) 6.1.4 建立索引create clu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代展覽建筑中新型材料的環(huán)保性能研究
- 建筑綠化材料種類與養(yǎng)護考核試卷
- 醫(yī)學(xué)基礎(chǔ)知識模擬考試題及答案
- 會計信息系統(tǒng)考試模擬題含答案
- 拆船業(yè)的拆解作業(yè)標準化考核試卷
- 生物信息學(xué)在科研領(lǐng)域的應(yīng)用及影響
- 環(huán)氧脂肪酸甲酯行業(yè)的可持續(xù)發(fā)展路徑探討
- 電商營銷中的情感營銷策略探討
- 2025-2030年微波消融肝癌治療儀行業(yè)跨境出海戰(zhàn)略研究報告
- 電商平臺中消費者行為分析與商業(yè)模式優(yōu)化
- 中興ZCTP 5GC高級工程師認證考試題庫匯總(含答案)
- 2023年考研考博-考博英語-西安建筑科技大學(xué)考試歷年真題摘選含答案解析
- 反接制動控制線路電路圖及工作原理
- MCNP-5A程序使用說明書
- java基礎(chǔ)知識大全
- SMM英國建筑工程標準計量規(guī)則中文 全套
- GB 18030-2022信息技術(shù)中文編碼字符集
- SB/T 10977-2013倉儲作業(yè)規(guī)范
- GB/T 854-1988單耳止動墊圈
- GB/T 2520-2017冷軋電鍍錫鋼板及鋼帶
- 【QC成果】提高地下室抗浮錨桿一次驗收合格率
評論
0/150
提交評論