教老狗新花樣

9 月 10

Raima徽標在灰色的背景上

RDM是在1980年代中期以dbVista的名義首次引入的。 RDM軟件的原始版本是為當時可用的硬件和操作系統而設計的,與當前版本的RDM相比,幾乎沒有什麼共同之處。多年來,該產品已通過不斷變化的軟件市場所需的功能進行了增強。添加了多用戶功能,使引擎成為線程安全的,然後可重入,添加了新的編程接口(SQL,ODBC,ADO.Net,Objective-C,C ++),但是直到現在,這一點一直保持不變RDM的將近30年的生命是核心C API。

奇怪的是,1980年代開發的dbVista程序的數據庫訪問代碼可以用RDM 12.0進行編譯,而只需進行最少的更新即可。已經添加了一些東西,但是這些年來,核心接口一直保持一致。

多年來,RDM核心API保持不變的主要原因是,它旨在滿足當時和現在的開發人員的需求。但是,我們最近決定進行一次練習,以弄清如果我們今天第一次設計RDM Core接口會是什麼樣子。我們設計的參數是新的API必須與我們當前的文件格式兼容,並且它與SQL無關。這個小組的任務是由兩個人組成,一個是具有15年使用RDM引擎工作經驗的工程師,另一個是從未使用過RDM或從未使用RDM的高級工程師。協作的結果是在RDM 12.0版本中引入了新的基於Cursor的界面。這個新的Cursor界面不會替代原始界面,該界面仍然可用並且將得到維護。它是一個替代界面,能夠以一種簡潔直觀的方式執行原始界面可以執行的任何操作。

顧名思義,我們的新界面基於游標或記錄集合的概念。使用游標樣式界面訪問這些游標。您在表上請求一個游標,然後遍歷該游標中的記錄。游標可能包含表中的每個記錄,也可能僅包含記錄的一個子集。該接口的功能是,某個游標有時可以基於多種事物,我們支持五種不同類型的游標,所有游標都使用完全相同的一組API進行訪問。

RDM 12.0中可用的五種游標類型是

  • 記錄掃描游標–原始數據庫順序中單一類型的所有記錄的集合
  • 按鍵掃描游標–按索引順序包含單個類型的所有記錄的集合
  • 鍵範圍游標–索引值範圍內按索引值排序的單一類型記錄的集合
  • 設置掃描光標–相關記錄的集合(一對多設置關係的大小)
  • 單例光標–包含單個記錄的光標

當您請求一個游標時,您可以選擇指定游標最初放置的位置。游標可以最初定位到特定的數據庫地址,特定的索引值,或者位於集合中任何記錄之前的位置(“ BeforeFirst”)。一旦創建了游標,便可以使用迭代器函數在游標中的整個記錄集合中定位自己(dc_fist,dc_next,dc_prev和dc_last)。如果您不希望通過游標串行導航,則可以按數據庫地址(dc_findByDBA)或索引/哈希值(dc_findByKey)定位游標。定位光標後,就可以對光標定位到的記錄執行典型的數據庫CRUD操作(創建,刪除,更新和檢索)。基於RDM引擎的游標API,還有用於管理網絡模型集的游標功能。您可以將成員添加到集合(dc_addMember / dc_connect),並從集合中刪除成員(dc_removeMember / dc_disconnect)。游標API可以完成核心API所能做的一切,而且在許多情況下,可以用更少的API調用來完成。除了這些操作(所有這些操作都可以通過核心API進行)之外,游標API還添加了一組功能強大的新操作。確定游標位置並將一個游標與另一個游標的位置進行比較的能力。

無論您是第一次接觸RDM還是第一次接觸RDM,建議您查看RDM 12.0中的Cursor API。它是功能強大且直觀的界面,可連接市場上最好的嵌入式數據引擎。

Get notified about new RDM updates

Be the first to know about new Raima Database Manager updates when they go live, use cases, industry trends and more.