用戶訪問數據庫的過程
現以用戶通過應用程序讀取一個記錄為例,說明用戶訪問數據庫過程中的主要步驟
(1)用戶在應用程序中,首先要給出他使用的子模式名稱,而后在需要讀取記錄處嵌入一個用數據操作語言書寫的讀記錄語句(其中給出要讀記錄的關鍵字值或其它數據項值)。當應用程序執行到該語句時,即轉入DBMS的特定程序或向DBMS發出讀記錄的命令。
(2)DBMS按照應用程序的子模式名,查找子模式表,確定對應的模式名稱。可能還要檢驗操作的合法性,核對用戶的訪問權限,如果通不過,則拒絕執行該操作,并向應用程序狀態字回送出錯誤狀態信息。
(3)DBMS按模式名查閱模式表,找到對應的目標模式,從中確定該操作所涉及的記錄類型,并通過模式到存儲映射(往往也在模式中)找到這些記錄類型的存儲模式。這里還有可能進一步檢查操作的有效性、保密性。如不通過,則拒絕執行該操作并回送出錯誤狀態信息。
(4)DBMS查閱存儲模式,確定應從哪個物理文件、區域、設備、存儲地址、調用哪個訪問程序去讀取所需紀錄。
(5)DBMS的訪問程序找到有關的物理數據塊(或頁面)地址,向操作系統發出讀塊(頁)操作命令。
(6)操作系統收到該命令后,啟動聯機I/O程序,完成讀塊(頁)操作,把要讀取的數據塊或頁面送到內存的系統緩沖區。
(7)DBMS收到操作系統I/O結束回答后,按模式、子模式定義。將讀入系統緩沖區的內容映射為應用程序所需要的邏輯紀錄,送到應用程序工作區。
(8)DBMS向應用程序狀態字回送反映操作執行結果的狀態信息,如“執行成功”、“數據未找到”等。
(9)記載系統工作日志
(10)應用程序檢查狀態字信息。如果執行成功,則可對程序工作區中的數據作正常處理;如果數據未找到或有其他錯誤,則決定程序下一步如何執行。