夏笑麗 馮達(dá) 巴騰滿 曹博奕
摘要:電梯需要進(jìn)行檢驗以保障安全運行,但越來越多的電梯給電梯檢驗工作的管理增加了難度。隨著各行業(yè)的信息化和數(shù)字化程度也不斷提高,數(shù)字化管理的重要性愈發(fā)凸顯,而數(shù)據(jù)庫技術(shù)是軟件工程對數(shù)字化管理的饋贈,數(shù)據(jù)庫技術(shù)的成熟給信息管理提供了一種高效的工具。分析了目前電梯檢驗工作在信息管理方面存在的問題,結(jié)合各項國家標(biāo)準(zhǔn)和實際檢驗工作需要,設(shè)計了基于MySQL的電梯檢驗信息管理系統(tǒng),助推了電梯檢驗工作的順利開展。
關(guān)鍵詞:MySQL數(shù)據(jù)庫;系統(tǒng)設(shè)計;ER模型;電梯檢驗;管理
一、前言
近十幾年來我國國民經(jīng)濟(jì)迅猛發(fā)展,高樓大廈拔地而起,運用到電梯的場合越來越多,電梯作為中高層建筑不可缺少的設(shè)備之一,其質(zhì)量與安全非常重要。為確保其使用安全,需要有專業(yè)人員進(jìn)行檢驗。電梯檢驗分為定期檢驗和監(jiān)督檢驗,定期檢驗是指對日常維護(hù)保養(yǎng)工作的檢驗,而監(jiān)督檢驗是指電梯經(jīng)過安裝、改造或重大修理后,檢驗機(jī)構(gòu)需要對其進(jìn)行的檢驗[1]。開展電梯檢驗工作需要涉及眾多的使用單位、電梯型號、檢驗人員等信息,且檢驗記錄難以被系統(tǒng)地保管起來。因此,為推動電梯檢驗工作的有序進(jìn)行和確保電梯檢驗記錄的長期保存,需要建立一個完善的數(shù)據(jù)庫管理系統(tǒng)對檢驗數(shù)據(jù)進(jìn)行管理[2-3]。
該系統(tǒng)內(nèi),與電梯檢驗相關(guān)的信息是數(shù)據(jù),把這些相關(guān)的數(shù)據(jù)加以整合,共享給有授權(quán)的用戶,這稱之為數(shù)據(jù)庫,而數(shù)據(jù)庫管理系統(tǒng)是指支持用戶對數(shù)據(jù)庫進(jìn)行定義、創(chuàng)建、維護(hù)及控制訪問的軟件系統(tǒng)[4]。MySQL是一種應(yīng)用廣泛的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它不僅性能強大而且容易學(xué)習(xí),操作方便,支持使用國際標(biāo)準(zhǔn)化組織采納的SQL語言進(jìn)行操作和訪問。此外,MySQL依靠其開放源碼、體積小和支持多國語言等特點,被眾多企業(yè)所采用。本系統(tǒng)基于MySQL對檢驗人員、電梯和檢驗記錄等信息進(jìn)行存儲,使用SQL語言維護(hù)數(shù)據(jù)庫,實現(xiàn)電梯檢驗信息的數(shù)字化和持久化,推動檢驗工作的有序開展,為電梯安全提供保障。
電梯檢驗信息管理系統(tǒng)的設(shè)計首先需要考慮系統(tǒng)的使用需求,綜合目前電梯檢驗工作存在的困難,明確設(shè)計目標(biāo)。完成需求分析后,結(jié)合數(shù)據(jù)庫的設(shè)計方法,先后從概念數(shù)據(jù)庫設(shè)計、邏輯數(shù)據(jù)庫設(shè)計和物理數(shù)據(jù)庫設(shè)計三個層面逐漸深入和細(xì)化,搭建數(shù)據(jù)庫,并不斷驗證和完善,實現(xiàn)系統(tǒng)功能目標(biāo)。
二、系統(tǒng)需求分析
目前,與電梯檢驗工作相關(guān)的檢驗員多,被檢單位分散,電梯信息量大,檢驗信息缺少統(tǒng)一的平臺管理維護(hù),存在電梯檢驗信息散亂、容易丟失的問題。因此,電梯檢驗管理系統(tǒng)需要滿足以下需求:
(1)檢驗機(jī)構(gòu)內(nèi)檢驗員的工號、職稱和聯(lián)系方式等身份信息存儲完整;
(2)檢驗員根據(jù)其工號可查找今日和本月的檢驗任務(wù),過去的電梯檢驗記錄;
(3)可查找被檢單位或被檢單位內(nèi)任意電梯的設(shè)備信息,包括電梯基本信息、電梯檢驗日期、電梯檢驗報告編號和檢驗結(jié)論等信息;
(4)可實現(xiàn)本次電梯檢驗工作完成后,數(shù)據(jù)庫記錄本次電梯檢驗的相關(guān)信息。
三、數(shù)據(jù)庫設(shè)計
由于數(shù)據(jù)庫設(shè)計的第一目標(biāo)是滿足用戶需求,所以數(shù)據(jù)庫設(shè)計必須建立在上述電梯檢驗工作需求分析的基礎(chǔ)上。其次,在設(shè)計數(shù)據(jù)庫時,各個表名、字段名應(yīng)含義明確,方便SQL語句的編寫和不同部門、不同人員的交流溝通。同時數(shù)據(jù)庫內(nèi)的信息需要減少數(shù)據(jù)冗余,提高查詢速度。
數(shù)據(jù)庫的設(shè)計主要分成三個階段,按先后順序分別是概念數(shù)據(jù)庫設(shè)計階段、邏輯數(shù)據(jù)庫設(shè)計階段和物理數(shù)據(jù)庫設(shè)計階段,各個階段圍繞不同的設(shè)計目標(biāo)和采取不同的設(shè)計方法。ER(Entity-Relationship)模型廣泛運用于數(shù)據(jù)庫設(shè)計中,包含實體和聯(lián)系等要素,采用統(tǒng)一建模語言圖形化地表示不同要素,如矩形、菱形和橢圓分別表示實體、聯(lián)系和屬性,促進(jìn)了不同人員在數(shù)據(jù)庫設(shè)計上的理解,推動各方的溝通交流。
(一)概念數(shù)據(jù)庫設(shè)計
概念數(shù)據(jù)庫設(shè)計由各方共同討論,獨立于硬件和軟件,綜合目前電梯檢驗工作存在的難題和未來檢驗工作可能產(chǎn)生的需求,聚焦主要矛盾構(gòu)建系統(tǒng)模型。針對上述需求,對系統(tǒng)建立檢驗人員、電梯和檢驗記錄三個實體,其聯(lián)系為檢驗人員檢驗電梯,由于多名檢驗員一次共同檢驗一部電梯,所以檢驗人員和電梯實體間的聯(lián)系類型為m:n。電梯實體和檢驗記錄實體的聯(lián)系是檢驗記錄記載電梯的檢驗信息,因為一部電梯可以對應(yīng)多條檢驗記錄,所以電梯和檢驗記錄實體間聯(lián)系的類型為1:n。其中,檢驗人員主體內(nèi)主要包括檢驗人員的身份信息等屬性,電梯主體內(nèi)主要包括電梯參數(shù)等屬性,檢驗記錄主要包括和每一次檢驗相關(guān)的日期、狀態(tài)等信息。
基于上述分析,得到ER圖如圖1所示。
(二)邏輯數(shù)據(jù)庫設(shè)計
邏輯數(shù)據(jù)庫設(shè)計是數(shù)據(jù)庫設(shè)計的第二個階段,需要建立在上述概念數(shù)據(jù)庫設(shè)計和ER圖的基礎(chǔ)上,對概念數(shù)據(jù)庫進(jìn)行轉(zhuǎn)換,將數(shù)據(jù)庫的概念轉(zhuǎn)換成具體的邏輯,驗證上述關(guān)系設(shè)計的合理性和模型建立的正確性。
分析電梯這一實體,檢驗工作需要確定被檢驗的電梯,每次檢驗至少安排兩名檢驗員開展檢驗,其中一名為項目負(fù)責(zé)人。若檢驗工作依靠MySQL內(nèi)的信息開展,需要電梯的以下信息:電梯的唯一號、管轄區(qū)、詳細(xì)地址、單位名稱、制造廠商、電梯型號、檢驗次數(shù)、下次檢驗日期、檢驗項目負(fù)責(zé)人、其余檢驗員、出廠編號、安裝日期、產(chǎn)品編號、施工合同編號、設(shè)備類型、設(shè)備代碼、單位負(fù)責(zé)人和負(fù)責(zé)人電話,這些和電梯有關(guān)的信息就是屬性,在ER圖中如圖2所示。
電梯檢驗記錄是后期追查檢驗工作的重要憑證。每一次檢驗工作結(jié)束后,本系統(tǒng)記錄當(dāng)次電梯檢驗的相關(guān)信息,自動生成對應(yīng)的電梯檢驗記錄。為確保檢驗信息的后期追溯,需要對電梯檢驗記錄賦予檢驗類型、檢驗日期、開始檢驗時間、結(jié)束檢驗時間、檢驗報告編號和檢驗項目負(fù)責(zé)人等屬性,其ER圖如圖3所示。
同理,電梯檢驗員是開展檢驗工作的主體,其基本信息需要存儲完整。該系統(tǒng)完整存儲每一位電梯檢驗員的工號、姓名、電話和職稱信息。由于定期檢驗的檢驗員需要持國家市場監(jiān)督總局的電梯檢驗員證,監(jiān)督檢驗需要持電梯檢驗師證書,職稱體系包括不同級別的工程師,因此對檢驗員添加職稱的屬性。
(三)物理數(shù)據(jù)庫設(shè)計
物理數(shù)據(jù)庫設(shè)計旨在在物理層面實現(xiàn)上述模型的邏輯功能。首先建立myelevators數(shù)據(jù)庫,在該數(shù)據(jù)庫內(nèi)新建三張表,分別是inspector表用于管理檢驗人員信息,elevator表用于管理電梯信息和record表用于管理檢驗信息,并設(shè)計當(dāng)下必備的字段和檢驗工作中可能用到的字段。例如,record表其包含的字段、類型、約束及其字段說明如表1所示。
四、系統(tǒng)應(yīng)用和維護(hù)
(1)數(shù)據(jù)庫建表過程:在myelevator數(shù)據(jù)庫下創(chuàng)建inspector表,并增加各個字段、字段的數(shù)據(jù)類型和約束,執(zhí)行的SQL代碼如下:
CREATE TABLE inspector
(id_inspector INT PRIMARY KEY AUTO_INCREMENT,
name_inspector VARCHAR(10) NOT NULL,
tel_inspector VARCHAR(11) NOT NULL,
position_inspector VARCHAR(10) NOT NULL
)ENGINE=INNODB CHARSET=utf8;
(2)員工本月任務(wù)檢索功能:檢索工號為11的檢驗員本月的檢驗任務(wù),包括檢驗電梯的唯一號、被檢單位及其地址,執(zhí)行的SQL語句如下:
SET @inspector_id=11;
SELECT unique_id,CONCAT(location,site),company
FROM elevator
WHERE MONTH(next_inspect_date)=MONTH(CURDATE())
AND (`main_inspector `=@inspector_id OR `else_inspector `=@inspector_id);
本系統(tǒng)使用HTML、CSS和JavaScript設(shè)計用戶使用頁面,調(diào)用MySQL數(shù)據(jù)庫內(nèi)的數(shù)據(jù),為檢驗員提供今日任務(wù)、本周任務(wù)和本月任務(wù)的計劃數(shù)、完成數(shù),并陳列出電梯待檢驗項目的地理位置、制造廠商、電梯型號和檢驗次數(shù)等基本信息。該系統(tǒng)頁面設(shè)計簡約,信息展示直觀,其中待檢驗項目頁面的功能實現(xiàn)效果如下圖所示:
(3)增加電梯檢驗記錄功能:在每次檢驗工作完成后,在檢驗記錄表(record)內(nèi)新增本次的工作記錄,新增信息包括本次檢驗的電梯唯一號、檢驗日期、開始檢驗時間、結(jié)束檢驗時間、檢驗項目負(fù)責(zé)人和其余檢驗員。同時需要對電梯表(elevator)內(nèi)的下次檢驗日期和檢驗次數(shù)予以更新,下次檢驗日期為一年后,檢驗次數(shù)加一。上述功能使用存儲過程實現(xiàn),開始檢驗時,在變量@now_time內(nèi)預(yù)存一個開始檢驗的時間,在檢驗工作完成時用CALL語句執(zhí)行存儲過程,傳入各字段值。存儲過程的創(chuàng)建代碼如下:
SET @now_time=CURTIME();#開始檢驗時執(zhí)行語句,旨在存儲開始檢驗的時間
DELIMITER //
CREATE PROCEDURE record_add
(IN id INT,ty VARCHAR(4),a VARCHAR(10),b VARCHAR(20),s TIME)
BEGIN
INSERT INTO record
(`unique_id`,`inspect_type`,`main_inspector`,`else_inspector`,`inspect_date`,`start_inspect`,`end_inspect`)
VALUES(id,ty,a,b,CURDATE(),s,CURTIME());
UPDATE elevator
SET `inpect_num`=`inpect_num`+1,
`next_inspect_date`=DATE_ADD(CURDATE(),INTERVAL 1 YEAR)
WHERE elevator.`unique_id`= id;
END//
DELIMITER;
五、結(jié)語
數(shù)據(jù)庫技術(shù)在各行各業(yè)中應(yīng)用越來越廣泛,針對目前電梯檢驗工作在數(shù)據(jù)管理和維護(hù)方面存在的問題,本文設(shè)計的信息管理系統(tǒng)主要從電梯檢驗員、電梯和的檢驗記錄三方面管理電梯檢驗中的信息,圍繞電梯檢驗工作的需求,設(shè)計了基于MySQL的電梯檢驗信息管理系統(tǒng),該系統(tǒng)有效管理電梯和電梯檢驗員的相關(guān)信息,方便存儲和查看電梯的每一次檢驗記錄,可以檢索電梯檢驗員每天、每周和每月的工作任務(wù),并使用SQL語言維護(hù)數(shù)據(jù)庫管理系統(tǒng),推動了電梯檢驗工作信息的數(shù)字化管理,減輕信息管理的壓力,實現(xiàn)數(shù)據(jù)共享。而數(shù)據(jù)庫設(shè)計和管理是一個臻于至善、精益求精的過程,需要后期不斷調(diào)整和完善,增加更多功能,提高系統(tǒng)的適用性和可靠性。
參考文獻(xiàn)
[1]TSG T7001-2009,電梯監(jiān)督檢驗和定期檢驗規(guī)則曳引與強制驅(qū)動電梯[S].
[2]王虹宇,孫建華,陳朝暉,等.基于MySQL數(shù)據(jù)庫的儲氣庫數(shù)據(jù)管理系統(tǒng)[J].內(nèi)蒙古石油化工,2020,46(05):37-41.
[3]王一竹.基于MySQL的圖書館信息管理系統(tǒng)設(shè)計[J].電腦編程技巧與維護(hù),2022,(01):93-95+116.
[4][英]Thomas M.Connolly,Carolyn E.Begg.數(shù)據(jù)庫系統(tǒng)設(shè)計、實現(xiàn)與管理(原書第六版)[M].寧洪,等,譯.北京:機(jī)械工業(yè)出版社,2019:348-412.
基金項目:1.國家級大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計劃項目(202110356030);2.浙江省市場監(jiān)督管理局科研計劃項目(ZC2021B075)
(作者單位:夏笑麗、巴騰滿,中國計量大學(xué)質(zhì)量與安全工程學(xué)院;馮達(dá),湖州市特種設(shè)備檢測研究院;曹博奕,中國計量大學(xué)光學(xué)與電子科技學(xué)院)