Sqlite 介紹及應用

明太宗朱棣發表於2024-05-20

1.1.1.1 資料庫介紹

軟體採用SQLITE資料庫作為核心管理軟體,SQLite資料庫以其高效、輕便的特性,在全球範圍內得到了廣泛的應用SQLite資料庫最大支援128TB這種資料庫支援標準的SQL語言,但與其他資料庫管理系統相比,它不需要執行在客戶端-伺服器架構上,所有的資料都儲存在一個本地檔案中。這種獨特的架構簡化了資料庫的配置和維護,大大減少了開發的複雜性和成本。SQLite的主要技術特性、它的優勢以及適用的場景,如下所述。

1) 基本介紹

SQLite是一個在全球範圍內廣泛使用的輕量級資料庫管理系統,它以其獨特的單檔案格式和無需服務端的特性,在眾多環境中提供可靠的資料儲存解決方案。SQLite資料庫完全自足、高度可靠、配置簡單,且不需要依賴於複雜的設定或外部伺服器。因此,SQLite成為了那些需要簡單、有效且獨立執行的資料庫系統的首選。

2) 設計目標

SQLite設計之初就是為了提供一個輕便、快速和可靠的資料庫解決方案,尤其適合那些不需執行在傳統的客戶端-伺服器架構上的應用。它的目標是減少資料庫的維護和操作複雜性,使開發者能夠更加專注於應用本身的開發,而不是資料庫的維護和最佳化。這一設計哲學使得SQLite在全球得到了快速的推廣和應用,特別是在移動裝置和桌面應用中。

SQLite具備以下技術特性:

1) ACID相容性

SQLite遵循ACID(原子性、一致性、隔離性、永續性)原則,提供了與其他大型資料庫系統相媲美的事務管理能力。這意味著使用SQLite的應用可以確保資料的完整性和一致性,即使在應用崩潰或系統突然斷電的情況下也能保護資料不受損害。SQLite的這一特性非常重要,特別是在移動裝置或其他可能遭遇意外中斷的環境中。

2) SQL標準支援

儘管SQLite不是一個完全遵循SQL標準的系統,但它支援絕大部分的SQL語法和功能。這包括複雜的查詢操作、觸發器、檢視以及最近版本中加入的外來鍵約束等功能。這使得SQLite不僅可以在小型和中等規模的應用中使用,還可以在那些需要高階資料庫功能但又不想引入複雜資料庫系統的場合中使用。

3) 自主管理

SQLite的另一個顯著特點是它的自主管理能力。資料庫能夠自動進行日常的維護任務,如索引的建立和重建、資料庫的壓縮和整理等。這一點大大減輕了開發者的負擔,特別是對於那些沒有專職資料庫管理員的小型專案或個人專案來說尤為重要。

SQLite資料庫的應用場景包括以下幾個方面:

1) 嵌入式裝置

SQLite廣泛用於嵌入式系統中,如工業自動化裝置、消費電子產品、醫療裝置等。其小巧的體積和高度自足的特性使其成為嵌入式應用的理想選擇。例如,在智慧家居裝置中,SQLite可以用來儲存裝置的執行狀態、使用者配置和歷史資料。由於這些裝置通常不具備與外部資料庫通訊的能力,SQLite的本地儲存能力提供了一種高效和可靠的解決方案。

在工業環境中,SQLite被用於記錄生產線的資料,如機器的執行時間、產量統計和維護日誌。這些資料通常用於監控生產效率和預測維護需求,幫助提高操作效率和減少停機時間。SQLite的輕量級特性使其能夠在資源受限的工業計算機上執行,而不影響系統的整體效能。

此外,SQLite也在醫療裝置中扮演著重要角色,如行動式心電監測器和血糖測量裝置。這些裝置利用SQLite儲存患者的歷史醫療記錄和裝置操作日誌,確保資料隨時可用於緊急醫療分析和日常健康管理。

2) 移動桌面應用

SQLite是移動應用開發中使用最廣泛的資料庫之一。它預設整合在AndroidiOS平臺中,使開發者可以輕鬆地實現資料儲存功能。在移動裝置上,SQLite幫助應用儲存使用者設定、遊戲得分、交易記錄等資料。這種資料通常需要快速訪問和高頻更新,SQLite的高效效能和簡單的操作使得它在這些場景下表現出色。

例如,在一個電商應用中,SQLite可以用來儲存使用者的購物車資訊和購買歷史。這些資訊需要在使用者每次啟動應用時快速載入,SQLite的本地儲存能力可以提供即時的資料訪問,改善使用者體驗。同樣,在社交應用中,SQLite常用於儲存使用者的訊息記錄和聯絡人資訊,這些資料的快速訪問對於應用的響應速度和流暢性至關重要。

3) 網路應用

儘管SQLite在處理大規模併發請求時存在侷限性,但它在小到中型的Web應用中仍然是一個優秀的選擇。許多小型企業和個人專案傾向於使用SQLite作為資料儲存解決方案,因為它易於部署且維護成本低。例如,個人部落格、小型電子商務站點和內容管理系統都可以從SQLite的簡單性和效率中受益。

在這些應用中,SQLite提供了足夠的效能來處理相對較低的使用者量和資料請求。例如,在一個個人部落格中,SQLite可以用來儲存文章、評論和使用者配置。由於部落格的訪問量相對較低,SQLite能夠提供快速的資料讀寫速度,而無需複雜的資料庫架構或持續的資料庫管理。這使得開發者可以更專注於內容的創造和網站的其他方面,而不是資料的儲存和處理。

SQLite具備優秀的效能,具體如下:

1) 讀寫效能

SQLite在多種應用場景下展示了其卓越的讀寫效能。對於讀操作,由於所有資料都儲存在本地磁碟上,SQLite可以快速訪問這些資料,這在大多數桌面和移動應用中足以滿足需求。例如,在消費者級的應用中,如個人財務管理軟體,使用者期望能夠即時檢視他們的交易記錄和報表,SQLite在這些場景中能夠提供極快的響應時間。

寫效能方面,雖然SQLite不如某些專用的資料庫伺服器那樣處理高併發寫操作,但它在單使用者或小型多使用者環境中表現良好。SQLite使用事務來保證寫操作的原子性和一致性,這意味著即使在應用程式崩潰或系統意外關閉的情況下,資料的完整性也可以得到保護。

2) 併發處理

SQLite透過檔案鎖定機制來控制對資料庫的併發訪問。在預設配置下,SQLite在執行寫操作時會鎖定整個資料庫檔案,防止其他操作干擾。這種簡單的鎖定策略在單使用者應用中非常有效,但在高併發環境中,它可能成為效能瓶頸。例如,在一個多使用者協作工具中,頻繁的寫操作和資料更新要求資料庫能夠處理多個併發寫入,這是SQLite可能不足以應對的場景。

儘管如此,對於許多應用場景,SQLite的併發處理能力已經足夠。在許多實際應用中,開發者可以透過最佳化事務處理和合理的資料庫設計來充分利用SQLite的效能,例如,透過將大事務分解為多個小事務來減少鎖定時間,或者透過使用更復雜的鎖定機制如寫前日誌來提高併發效能。這些策略可以幫助開發者在不犧牲SQLite輕量級和易用性的前提下,提高應用的效能和響應速度。

SQLite同樣有一定的使用限制,其優缺點如下:

1) 優點

  1. 輕量級和自足

SQLite的主要優點之一是它的輕量級和自足性。它不需要一個傳統的資料庫管理系統那樣的獨立伺服器程序,也不需要依賴任何外部的庫。這意味著在SQLite的世界裡,所有的資料庫操作都是透過簡單的庫呼叫實現,整個資料庫只是一個單一的檔案。這種簡單性不僅使得SQLite非常適合小型應用和移動應用,也意味著部署和維護成本大大降低。例如,在移動裝置上,一個應用可能只需要將一個小的資料庫檔案包含在應用安裝包內,便可以實現資料儲存的所有功能,而無需複雜的配置或管理。

  1. 跨平臺支援

SQLite的另一個顯著優點是其出色的跨平臺支援。它可以在幾乎所有主流的作業系統上執行,包括各種版本的WindowsmacOSLinux以及各種移動作業系統如iOSAndroid。這一特性使得SQLite成為開發跨平臺應用的理想選擇。開發者可以使用相同的資料庫檔案格式和API,在不同的作業系統上實現資料的無縫遷移和訪問。

  1. 易於整合和維護

SQLite提供的API簡潔明瞭,易於理解和使用。這使得開發者可以快速整合SQLite到他們的應用中,並且不需要深入瞭解複雜的資料庫理論或管理技術。此外,SQLite的自管理能力意味著在許多情況下,開發者幾乎不需要對資料庫進行維護。SQLite會自動處理諸如資料檔案的整理、索引的維護和事務的日誌管理等任務。

  1. 高度可靠和遵循ACID

SQLite非常重視資料的可靠性和完整性。它完全遵循ACID事務原則,確保即使在應用或系統崩潰的情況下,資料也不會丟失或損壞。這一點對於需要高可靠性儲存解決方案的應用尤其重要,如金融服務應用或個人資料記錄應用。

1) 缺點

  1. 併發限制

雖然SQLite在單使用者或低併發的環境中表現出色,但它在處理高併發訪問時存在侷限性。SQLite的寫操作是序列的,這意味著在任何時刻只有一個寫操作可以訪問資料庫。在高併發場景,如多使用者Web應用或大規模的資料收集應用中,這一限制可能會導致效能瓶頸。

  1. 資料規模限制

儘管SQLite適合處理中小規模的資料,但當資料量達到一定規模時,其效能可能會受到影響。對於大型資料庫,SQLite的資料讀取和寫入操作可能會變得較慢,尤其是當資料庫檔案體積龐大且分散在硬碟的多個位置時。此外,大規模資料管理通常需要更復雜的查詢最佳化和資料分析功能,而這些是SQLite不擅長的。

  1. 缺乏一些高階資料庫特性

雖然SQLite支援SQL的許多核心功能,但它仍然缺少一些大型資料庫系統所提供的高階功能,如儲存過程、全文搜尋引擎和複雜的使用者許可權管理。這意味著對於那些需要這些高階特性的應用,SQLite可能不是最佳選擇。

  1. 檔案鎖定和寫入延遲

由於SQLite的寫入是透過檔案鎖定實現的,這可能導致在多個程序或執行緒試圖同時寫入資料庫時出現延遲。雖然最新版本的SQLite已經引入了更多的鎖定機制來改進這一點,但在某些高要求的應用場景中,這種寫入延遲仍然可能成為一個問題。

SQLite是一個功能強大而靈活的資料庫解決方案,特別適合於那些需要輕量級、可靠且容易部署的資料庫的應用。它在許多場景下都能提供優秀的效能和良好的使用者體驗。然而,正如任何技術選擇一樣,使用SQLite之前應仔細考慮應用的具體需求。對於那些需要處理高併發訪問或管理大規模資料的應用,可能需要考慮其他更專業的資料庫解決方案。總的來說,SQLite的優點使其成為許多型別應用的優選。

1.1.1.2 資料表設計

在現代資料管理中,精確而高效地設計資料庫表是確保資料可用性、完整性和效能的關鍵。特別是在儲存複雜的模型資訊和RCS資料時,設計一個合理的資料庫結構是至關重要的。這些資料通常涉及大量的測量和計算結果,需要透過精心設計的資料表來最佳化資料訪問和處理效能。

在進行資料庫設計時,細緻入微的設計思路不僅關乎資料庫的實現,還直接影響到資料的完整性、可訪問性及未來的擴充套件性。本部分將詳細闡述設計資料庫以儲存模型資訊及雷達散射截面(RCS)資料的方法,包括資料庫結構的初步設想、資料歸一化、完整性、安全性與效能最佳化等關鍵方面。

資料表的設計按照以下幾個步驟實施:

1. 設計初步

設計的初步步驟是定義資料庫的基本結構和功能。針對模型資訊和RCS資料,需要考慮以下幾個方面:

資料的種類和來源:明確所需儲存的資料型別,如模型的基本描述、技術引數、以及RCS的測量資料等。

使用者的需求:考慮終端使用者在資料庫中查詢、修改、新增或刪除資料時的需求。

資料訪問頻率:根據資料被訪問的頻率來最佳化儲存結構,頻繁訪問的資料可以設計為更容易訪問的格式。

2. 資料模型和歸一化

資料歸一化是資料庫設計中關鍵的一步,主要目的是減少資料冗餘和改善資料完整性。歸一化過程通常包括幾個正規化的應用:

第一正規化(1NF):確保每個表列的原子性,即列不能再分成更小的資料項。

第二正規化(2NF):在第一正規化的基礎上,確保表中的所有資料項都完全依賴於主鍵。

第三正規化(3NF):在第二正規化的基礎上,確保所有的欄位之間沒有傳遞依賴,即非主鍵列之間不能相互依賴。

例如,對於模型資訊,我們可以設計一個主表,包含模型ID、名稱、建立時間等資訊,而技術引數可以分離到另一個表中,透過模型ID與主表關聯。這樣的設計不僅最佳化了資料儲存,還便於維護和查詢。

3. 資料完整性

資料完整性是確保資料庫中資料的準確和可靠的機制,包括實體完整性、參照完整性和使用者定義的完整性:

實體完整性:透過主鍵約束確保每個表的唯一性。

參照完整性:透過外來鍵約束確保表之間的資料一致性。

使用者定義的完整性:透過檢查約束(CHECK)和觸發器等方式,確保特定業務規則的實施。

例如,在RCS資料表中,模型ID欄位應設為外來鍵,引用模型資訊表的主鍵,確保RCS資料始終與一個有效的模型關聯。

4. 安全性設計

資料安全是設計中必須考慮的另一方面,特別是在處理包含敏感資訊的資料庫時。安全性設計包括:

訪問控制:確保只有授權使用者才能訪問資料庫,可以透過實現使用者登入機制和角色基礎的許可權系統來控制。

資料加密:對敏感資料進行加密儲存,確保資料即使在未授權訪問的情況下也不會洩露。

備份和恢復策略:定期備份資料,並確保在資料丟失或損壞時可以迅速恢復。

5. 效能最佳化

資料庫效能最佳化是確保資料快速響應使用者查詢的關鍵。效能最佳化可以從多個角度進行:

索引最佳化:為常用查詢的列建立索引可以大幅提高查詢效率。

查詢最佳化:最佳化SQL查詢語句,避免複雜的關聯和不必要的全表掃描。

硬體最佳化:在必要時透過升級伺服器硬體來提高資料庫的處理能力。

6. 擴充套件性與未來發展

在設計資料庫時,應考慮未來可能的擴充套件需求,包括資料量的增加、使用者數量的增長以及可能的功能擴充套件。設計應具有足夠的靈活性,以適應這些變化,例如透過模組化設計和使用可擴充套件的資料庫管理系統。

透過以上的設計思路,我們可以構建一個結構合理、效能優異且安全可靠的資料庫系統。這樣的系統不僅可以有效地儲存和管理模型資訊及RCS資料,還可以靈活應對未來的各種需求變化。在實際操作中,這些設計原則需要結合具體的業務需求和技術環境進行靈活調整和最佳化,以達到最佳的效果。

資料表的設計過程中需要考慮以下幾個問題:

  1. 資料型別選擇

在設計資料庫時,合理選擇資料型別是最佳化儲存、加快查詢速度和確保資料準確性的關鍵因素。對於模型資訊和RCS資料,每個欄位的資料型別選擇應基於資料的性質和預期的用途。

對於識別符號如ModelIDDataID,通常使用整數型別(如INT),因為它們提供足夠的範圍同時保持儲存效率。對於描述性欄位如模型名稱或引數名稱,適合使用字元型別(如VARCHAR),它允許變長輸入,節省儲存空間同時保持靈活性。對於日期和時間欄位,如CreationDateMeasurementDate,應使用日期時間型別(如DATETIME),這有助於執行時間查詢和時間計算。

在儲存RCS資料時,頻率、角度和測量值等數值資料應使用適合的數值型別。例如,頻率和角度可能使用浮點型別(如DOUBLE),因為這些欄位可能需要高精度的小數。選擇正確的資料型別不僅影響資料的儲存效率,也影響查詢效能和資料的準確性,尤其是在執行數值比較和聚合操作時。

總之,選擇最適合每個欄位的資料型別,是確保資料模型有效和高效的重要步驟。這需要在設計階段考慮全面,以避免後續複雜的資料遷移和型別轉換問題。

  1. 錯誤處理策略

在資料庫操作中,錯誤處理是維護資料完整性和提供穩定服務的關鍵部分。一個有效的錯誤處理策略應包括錯誤預防、錯誤檢測和錯誤恢復。

首先,預防措施包括在資料庫設計中使用適當的資料型別和約束,例如外來鍵、唯一性約束和檢查約束,以避免無效資料的輸入。其次,開發階段應採用事務管理,確保操作的原子性,這有助於在發生錯誤時保持資料的一致性。

在錯誤檢測方面,應透過實現適當的異常處理機制來捕捉和記錄錯誤。例如,在資料庫操作失敗時,應記錄詳細的錯誤資訊,包括錯誤型別、時間、影響的資料和操作上下文。這些資訊對於分析和解決問題至關重要。

錯誤恢復策略包括實現回滾操作,以撤銷因錯誤引起的所有更改,保證資料庫狀態的一致性。此外,應定期備份資料庫,以便在資料丟失或損壞時能快速恢復到錯誤發生前的狀態。

有效的錯誤處理不僅限於技術實現,還包括為使用者提供必要的錯誤資訊和操作指導,幫助他們理解和解決問題,從而提高系統的整體可用性和使用者滿意度。

  1. 歷史資料遷移

歷史資料遷移是資料庫升級和維護中的一個重要環節,它涉及將舊系統中的資料轉移到新系統。這個過程需要確保資料的完整性、準確性和可用性不受影響。

首先,遷移計劃應詳細定義遷移的資料範圍、時間計劃和資源需求。應透過分析歷史資料的結構和質量,識別可能的資料相容問題和資料清洗需求。例如,可能需要轉換資料格式、合併重複記錄或修正錯誤資料。

遷移過程中,應採取措施減少對業務執行的影響。這可能包括在低峰時段進行資料遷移,或採用分階段遷移策略。同時,應實施詳細的測試計劃,驗證遷移後資料的完整性和功能的正確性。

此外,為了應對遷移過程中可能出現的問題,應制定詳細的回滾計劃。這包括備份原始資料和準備應急操作,以便在遷移失敗時能夠快速恢復到遷移前的狀態,最大限度地減少資料丟失和服務中斷的風險。

  1. 未來可能的擴充套件性問題

設計資料庫時考慮未來的擴充套件性是非常重要的,它確保隨著業務的發展,資料庫能夠適應更大的資料量、更復雜的查詢需求和可能的功能變更,而不需要進行昂貴的重構。

首先,資料庫架構應具有模組化和靈活性,以便於將來新增新的資料表或修改現有表結構。例如,使用抽象的資料型別和泛化的表結構可以方便地在未來整合新的資料型別或關聯關係。

其次,考慮到資料量的增長,應在設計時就考慮資料庫的水平擴充套件能力,如分散式資料庫系統或資料分割槽策略,這可以幫助處理更大的資料量和提高查詢效能。

在實際設計資料表時,我們可以分為幾個主要部分:

  1. 模型資訊表

這張表用於儲存模型的基本資訊,如模型ID、名稱、建立日期、修改日期模型所屬類別(軍用、民用)、和描述等。這些資訊幫助使用者快速識別和管理模型。

CREATE TABLE ModelInfo

ModelID INT PRIMARY KEY

ModelName VARCHAR255),

CreationDate DATETIME

LastModifiedDate DATETIME

ModelClass INT

ModelType INT

Description TEXT

);

  1. 模型詳細參數列

儲存與模型相關的具體引數,例如尺寸、材質和其他技術規格。這張表與模型資訊表透過ModelID關聯。

CREATE TABLE ModelDetails

DetailID INT PRIMARY KEY

ModelID INT

ParameterName VARCHAR255),

ParameterValue VARCHAR255),

FOREIGN KEY ModelID REFERENCES ModelInfoModelID

);

  1. RCS資料表

用於儲存與模型相關的RCS資料。每條記錄可以包含頻率、角度、測量值等資訊。這張表也透過ModelID與模型資訊表關聯。

CREATE TABLE RCSData

DataID INT PRIMARY KEY

ModelID INT

Frequency DOUBLE

Angle DOUBLE

MeasurementValue DOUBLE

MeasurementDate DATETIME

FOREIGN KEY ModelID REFERENCES ModelInfoModelID

);

1.1.1.3 軟體介面設計

對於一個專門用於管理目標散射特性資料(如雷達截面積,RCS)的軟體,其功能必須全面且直觀,以便使用者能夠高效地進行資料的輸入、管理、分析和報告生成。

1) 資料後處理

在計算完成後,使用者可以執行資料後處理功能。資料後處理主要完成兩方面的工作:計算結果視覺化以及資料儲存。結算結果視覺化是指在計算完成後,生成的資料無法直觀表現出來,此時可以使用 Qt 所提供的 QCustomplot 圖形庫,對於結果進行二維圖形的繪製,使得結果展示更加直觀。資料儲存則是指在計算完成後,使用者需要記錄下此次的計算結果,以便於後續的資料增刪查改等工作,這項功能使用 Qt 提供的資料庫引擎 QSQLite,它是 SQLite 資料庫的 Qt 資料庫驅動程式。SQLite 是一款輕量級的資料庫,SQLite 資料庫具有輕量級、獨立性、隔離性、跨平臺等特點,易於上手且無需複雜配置。

2) 計算結果視覺化

計算結果視覺化功能依賴於 QCustomplot 圖形庫,這是一個基於 Qt 的畫圖和資料視覺化的 C++控制元件,支援靜態和動態曲線、柱狀圖、頻譜圖等。且在Qt中呼叫QCustomplot圖形庫非常方便,僅需在專案中加入標頭檔案 qcustomplot.h qcustomplot.cpp 原始檔即可。

32 QComplot官網上的一些繪製展示

QCustomplot 依靠 widget 控制元件進行實現,並可以使用 setLabel()setRange()setVisible()等函式進行座標軸標籤、座標軸範圍以及圖例等的設定。

3) 資料儲存管理

在使用者使用過程中,經常需要對計算結果進行增刪查改等操作,且由於計算資料的龐大,從大量資料中找到某個特定的計算結果往往是非常困難的。這時進行一個資料庫的建設就很有意義,它既可以實現使用者需要的增刪查改等操作,又可以根據檢索依據進行快速檢索。本軟體使用兩層索引機制,即從初始介面中選中需要檢視的模型,索引其所有的計算結果,再根據其����的值索引計算結果。

其邏輯如下圖所示:

33 資料庫索引邏輯圖

具體實現時,使用了 SQLite 資料庫,Qt5 以上的版本自帶其驅動,無需額外安裝配置,非常便利。使用 SQLite 進行開發時只需要引入相關標頭檔案:<QSqlDatabase><QSqlError><QSqlQuery>即可。

整體流程圖如下所示:

34 資料進行管理模組流程圖

軟體介面的示意圖如下所示:

1) 資料庫連結介面

資料庫進入連線介面,如下圖所示:

35 資料庫連線設定

使用者在此處可以輸入資料庫名、使用者名稱、密碼等訪問個人資料庫,也可在空輸入的情況下直接進入預設資料庫。連線後的初始介面如下圖所示,此處僅儲存了幾個用來展示的資料:

36 資料庫初始介面

工具欄:工具欄一共包含六個按鈕,它們的功能從左到右依次是:讀入新資料庫、匯出此資料庫、增加一條新的資料、刪除一條選中資料、改變選中資料、以 SQL 語言進行編輯。這裡的以 SQL 語言進行編輯按鈕可以使用 SQL 語言對資料庫進行更多操作,方便熟練使用資料庫的專業人員進行操作以及維護;而前五個按鈕則不需要任何使用基礎,點選即可操作;

檢索區:當資料量較大時,可以鎖定檢索依據進行檢索。檢索依據可以選擇資料區的所有列名,然後在檢索內容文字框中輸入需要檢索的資訊。本軟體檢索時支援模糊查詢。

37 資料庫模糊查詢

詳細資訊區:在資料區選定某一個模型後,詳細資訊區會自動顯示資料庫內此模型的詳細資訊,如 RCS 檔案數量等;

資料區:資料區是對資料進行展示的區域。使用者可以點選列名(如圖中的 ID

modelname)來進行升序或者降序排序,如果區域內的內容並非數字,則會按照其字典序進行排序;

功能區:功能區中含有兩個按鈕:查詢 RCS 與重新整理資料庫。其中查詢 RCS 按鈕是資料庫功能的核心,按下此按鈕可以進入下一級介面,即對此模型進行的各種不同引數所有計算結果,選擇某個引數,點選查詢計算結果即可查詢,同上文一樣,這裡仍可以進行模糊查詢,此處不再贅述;

38 二級查詢介面

39最終檢索頁面

重新整理資料庫按鈕則主要用於正在計算時,計算程式會不斷往資料庫中新增資料,點選重新整理資料庫按鈕則會得到最新的資料。此外,一些使用者使用 SQL 語言對資料庫進行的更改也要點選此按鈕使其生效。

相關文章