孔繁勝
[摘 要]通過詳細闡述數據庫編程技術的基本內容,從數據庫設計原則和數據庫構建步驟兩個方面著手,對軟件工程中數據庫的設計和構建進行詳細分析,并深入探索軟件工程中的數據庫編程技術的實踐應用,以期為滿足計算機用戶多樣化需求提供參考思路。
[關鍵詞]軟件工程;數據庫;編程技術;設計;構建;應用
doi:10.3969/j.issn.1673-0194.2023.13.038
[中圖分類號]TP315 [文獻標識碼]A [文章編號]1673-0194(2023)13-0131-05
0? ? ?引 言
隨著社會經濟的發展和科學技術的進步,各類計算機和計算機軟件逐漸成為人們日常生活和工作中的重要工具,尤其是五花八門的軟件程序,已然成為人們每日工作和娛樂不可或缺的組成部分,因此軟件工程成為計算機學科中非常重要的內容。由于軟件的使用主要依賴于對數據的存儲和提取,涉及與用戶之間進行的數據交互,所以數據庫成為軟件開發的重中之重,與之相關的數據庫編程設計也成為了軟件工程專業教學的核心。數據庫編程技術作為一項新興的技術,能夠充分提高軟件工程使用的安全性和穩定性,保證數據庫的高效運行,從而發揮出數據信息的價值,有效地推動了計算機領域的發展。
1? ? ?數據庫編程技術介紹
1.1? ?計算機數據庫
計算機數據庫是按照數據結構進行組織、存儲和管理的數據倉庫,是長期存儲在計算機內的有組織、可共享、統一管理的大量數據的集合,它可以存儲文本、圖像、聲音等信息,是保證計算機軟件穩定運行的基石。在軟件工程中,當工程師進行軟件開發時,第一個考慮的便是數據庫的設計和構建,工程師應當根據軟件工程的需求分析對數據和存儲模式進行設計和定義,然后謹慎、認真地按照設計過程建立起性能較高的數據庫,以保證軟件工程開發的順利進行[1]。
1.2? ?數據庫編程技術
為了順利構建數據庫,可以使用數據庫編程技術,它涵蓋了數據庫的各個環節,如數據分析、數據共享和數據存儲等。工程師需要熟練掌握數據庫編程技術,從而構建數據庫框架,選擇操作對象,創建數據庫工程,并完善內部的具體內容。如圖1所示,在具體創建數據庫時,數據庫編程技術可以提供創建數據庫表、聲明變量、引入文件、處理函數等功能,讓數據庫在后續應用中可以獲得穩定的運行條件,提高了數據使用的流暢性和安全性。現如今各類成熟的數據庫應用程序如Oracle、MySQL、DB2等已經實現了可視化的操作,將數據庫編程技術轉化為可拖動的代碼塊,更加方便了工程師的數據庫開發工作。
數據庫編程技術還包括了訪問數據庫的一系列方法,如數據庫客戶端編程主要使用ODBC API、ADO、OCI、OTL等方法,數據庫服務端編程主要使用OLE DB等方法,這些方法多數存在于軟件開發的程序設計中[2]。目前軟件開發提倡分層開發,即數據訪問層、業務邏輯層和界面顯示層,這樣做的好處是每一層都有自己的職責,不用關心其他層的實現細節,便于分工協作、代碼復用和程序拓展。數據庫編程技術中的訪問數據庫等方法存在于數據訪問層,需要設計具體的實體類、實現類、基類接口類和接口實現類,實體類對應數據庫中的數據庫表,實現類提供了對數據庫表進行數據增刪改查的操作,基類接口類和接口實現類與業務邏輯層對接,方便數據的傳遞。
1.3? ?計算機軟件工程中數據庫編程技術的作用
1.3.1? ?鑒別身份
數據庫編程技術提供了數據庫對所有客戶進行驗證和鑒別的功能。當用戶在使用程序時,通過HTTP鏈接,登錄賬戶和密碼后,數據庫便可以將內部的已有數據與輸入數據進行比對,比對成功后用戶才可以順利進入軟件。鑒別身份的功能有效提升了數據信息的安全性,防止了他人利用網絡渠道竊取數據;與此同時,為了防止賬戶和密碼被竊取,軟件程序一般會將密碼自動存儲到TACACS服務器中,這種私密文件能夠將安全風險降到最低,降低了密碼泄露的可能。
1.3.2? ?可用性
數據庫編程技術提供了數據庫自動替換的功能。當正在運行的數據庫出現故障時,數據在前后端的傳遞出現錯誤,嚴重的甚至會造成數據的丟失,為了避免這種情況,應用數據庫編程技術可以自動切換至備用數據庫,保證了軟件的正常運作,為原數據庫的故障修復提供了時間,可減少經濟損失。
1.3.3? ?隱藏信息
為了保護用戶的網絡地址,數據庫編程技術可以將用戶地址統一顯示為公共地址訪問,避免用戶因暴露地址而受到網絡攻擊。尤其是企業管理中,隱藏信息的功能使得企業可以有效限制外部訪問者對內部網絡的訪問,提高了企業的安全信息保障[3]。
1.3.4? ?提高軟件運行速度
數據庫編程技術可以有效利用計算機硬件的性能,加快數據處理速度。比如說分布式數據庫能夠極大地提高數據的傳遞效率,讓原有的線性串聯傳遞變為并聯,從而在軟件運行的過程中幫助用戶更快地獲得數據信息反饋,加快軟件運行速度。
2? ? ?軟件工程中數據庫的設計和構建
2.1? ?數據庫設計原則
計算機數據庫設計指的是按照用戶的需求,在某一具體的數據庫管理系統中,設計數據庫結構和建立數據庫的過程。數據庫設計并不是一蹴而就的,需要反復探尋,與相關程序運行相匹配,還要優化數據處理速度。數據庫設計原則如下。
2.1.1? ?一對一設計原則
一對一關系是軟件開發過程中最重要的設計原則,能夠避免數據大且雜的現象出現,與此對應的是數據庫對數據實體間的必然聯系進行梳理,實現將分散數據整合的目的。一對一設計原則能夠盡量減少數據維護問題的出現,降低了維護工作的難度,提高了軟件應用程序的可靠性、科學性和安全性。
2.1.2? ?獨特命名原則
獨特命名原則主要是為了減少數據庫設計過程中重復命名和規范命名現象的出現,能夠減少數據冗雜和沖突,維護了數據的一致性。獨特命名原則也增加了工程師對數據的理解,對不同數據之間存在的聯系有著更加清楚的認知[4]。
2.1.3? ?雙向使用原則
雙向使用原則包括事務使用原則和索引功能原則,前者為非事務性單元操作工作提供保障,保證其能夠及時更新和獲取數據;后者為多屬性的列數據信息提供索引,幫助其靈活排序,提高訪問準確度。
2.2? ?數據庫的構建步驟
數據庫的構建步驟如圖2所示。
(1)分析需求:當用戶提出相關需求后,工程師需要對需求進行解析,弄清楚數據的種類、范圍、數量等,以及數據使用要求和各種約束條件。
(2)創建工程:當需求分析完畢后,工程師需要先創建工程框架和內在邏輯,保證數據庫的完整性和可運行性。
(3)概念設計:按照第一步分析的相關需求,進一步建立抽象的概念數據模型,模型應當反映出各類信息的結構、流動情況和互相制約情況等。目前E-R模型是最流行的模型方法,它能明確數據的屬性、相互之間的聯系,從而形成多個局部描述和全局視圖。
(4)邏輯設計與物理設計:前者是將概念模型設計成數據庫的一種邏輯模式,即“邏輯數據庫”,后者是根據數據庫編程技術提供的存儲結構和存儲方法實現的最合適的物理存儲結構、存儲方法和存取路徑等,即“物理數據庫”。
(5)驗證設計:當數據庫初步構建完畢后,與前端代碼結合,構成的數據傳遞的完整邏輯需要進行多次循環往復,驗證數據庫設計的正確性和合理性,如有問題需要返回前幾步進行修改[5]。
3? ? ?軟件工程中的數據庫編程技術的實踐應用
在數據庫的設計、構建和訪問的過程中,數據庫編程技術全程參與,有著至關重要的作用,接下來介紹三個重點應用。
3.1? ?數據存儲模式的設計
數據存儲模式的設計關乎數據的分類、訪問權限和加密程度,與用戶的需求息息相關,是數據庫構建之初應該考慮的關鍵。
首先,對于數據的分類來說,工程師需要考慮到數據的特點、內容、形式、大小和使用頻繁程度。最基礎的分類是按照數據的內容劃分,比如人的屬性、地點的屬性、物的屬性都有明顯的不同,應該將它們存入不同的數據庫表中,然后分類命名,減少冗余數據的出現,促進資源的優化;進階的分類在基礎分類之上,考慮到各個數據庫表之間的關聯情況,利用數據庫編程技術中“外鍵”的作用,為每一個表單提供可與其他表單銜接的屬性,促成表單之間的聯系;若是考慮到程序運行速度和數據訪問優化的問題,可以將頻繁調用的表單數據,按照表單之間的關聯生成“視圖”,使得數據利用過程達到更理想的效果。
其次,對于訪問權限來說,數據庫編程技術提供了對不同表單屬性進行顯示和隱藏的功能,工程師可以按照用戶的身份等級情況和用戶的自主設置情況,對訪問權限進行定義。第一,不同訪問權限等級的用戶能夠看到的軟件程序中的內容有所不同,可以促使軟件更有層次感;第二,不同訪問權限的用戶在軟件中存儲的數據信息有著不同的安全等級,權限越高代表數據信息的安全程度越高,保證了重要信息的安全性;第三,不同用戶之間的互相訪問,可以針對其進行一些權限設計,保證了用戶的軟件使用感受,滿足了不同用戶的使用需求。
最后,對于數據加密程度來說,數據庫編程技術能夠按照不同等級的數據,提供不同難度的加密算法,并且為了提高數據的安全性,數據存儲的物理位置也可以進行針對性設置。
3.2? ?數據庫的開發技術
數據庫的開發技術也是數據庫編程技術應用的一部分,主要包括數據庫的構建和訪問。
在數據庫的構建中,工程師應當按照不同的數據庫表選擇獨特的命名規范,根據表單中的每項數據選擇合適的字段名稱,針對常用的數據設計簡潔明確的索引,比如靈活運用大小寫字母、數字編碼等。如果想要進一步深度研究編程內容,工程師應該在選擇數據庫管理系統時,選擇功能齊全、使用方便的編程工具,從而提升數據庫編程質量。尤其需要注意的是數據冗余問題和數據庫效率優化問題,工程師應該提升數據庫的資源利用效率,利用有限的表單最大限度地利用系統資源,比如采用粗粒度的方式設計數據量較大的表;或是適當進行技術改造,減少編程成本的投入,比如利用有簇索引和非簇索引這兩種方式提升數據查找效率[6]。
在數據庫的訪問中,工程師應當重視SQL語句的合理運用。現在的軟件開發,在數據訪問層進行編程設計可以直接應用數據庫管理系統的SQL語句,比如MyBatis框架,它支持定制化SQL、存儲過程和高級映射,避免了繁雜代碼的手動設置,使用XML或注解就可以直接配置映射原生信息,使得編程變得極其靈活。總而言之,選擇合理的數據庫管理系統,使用成熟的編程框架,再搭配一支具有較強編程素質的專業團隊,能夠全面提升數據庫編程效果。
3.3? ?數據文件的加密設計
對于軟件工程來說,減少重要信息被他人盜取和利用的風險是所有工程師編程關注的要點,數據庫編程技術中,有關提高數據安全、創造文件穩定存儲的編程技術被稱作數據加密技術。數據加密技術可以分為三個層次:第一層次主要涉及密鑰的設置,用戶可以為某些數據文件設置密碼,沒有輸入正確密碼的用戶無法獲取內部的數據信息,輸入密碼的行為會被數據庫詳細記錄,一旦數據被不法分子惡意攻擊和竊取,這些記錄可以為有關部門提供必要的數據協助;第二層次為數據庫加密,多針對于傳輸信息鏈路的加密和重要網絡節點的加密,因為數據在前后端傳遞時會以數據包的形式經過大量網絡傳輸節點,一些不法分子可以在這些節點完成網絡攻擊,竊取數據包,同時也會造成信號不穩定、數據丟包的現象,鏈路加密能夠屏蔽外界攻擊,提高數據傳輸的穩定性,節點加密能夠保證解密條件在內部進行,杜絕了其他人員的查看;第三層次則是文件編譯加密,利用某種數據編譯方式,將文件中的數據轉譯成其他表現形式,這種加密方法保密程度最高,即使不法分子突破了前兩層加密,不了解轉譯方法,也只能得到垃圾信息,文件編譯加密多用于珍貴數據信息的保存,能夠穩定提高用戶信息和隱私內容的安全性。如果三種加密方式共同作用,數據泄密的風險將會大大降低。
主要參考文獻
[1]朱建峰.數據庫基于計算機軟件工程的編程技術策略淺析[J].計算機產品與流通,2020(4):21,34.
[2]林鏘,胡科.計算機軟件工程的數據庫編程技術分析[J].集成電路應用,2022,39(4):138-139.
[3]陳燁暉.基于計算機軟件工程的數據庫編程技術分析[J].電腦編程技巧與維護,2020(11):88-89,97.
[4]平金珍,王茜.計算機軟件開發中數據庫安全設計的應用實踐分析[J].電子元器件與信息技術,2020,4(5):34-35,42.
[5]張赟.計算機軟件開發的數據庫測試技術[J].電子技術與軟件工程,2020(17):150-151.
[6]廉若榕.基于大數據環境下計算機軟件的應用[J].電子技術與軟件工程,2020(18):35-36.