|
(1) 設計特定的數據結構,用于存儲數據表、視圖、索引等數據庫對象的信息,即建立數據庫系統的數據字典;0.3 (2) 設計特定的數據結構,用于存儲數據表中的數據;1 (3) 設計特定的數據結構,用于存儲索引數據; (4) 設計特定的數據結構,分別用于存儲用戶和訪問權限的信息;0.5 (5) 輸入“help database”命令,輸出所有數據表、視圖和索引的信息,同時顯示其對象類型;輸入“help table 表名”命令,輸出數據表中所有屬性的詳細信息;輸入“helpview 視圖名”命令,輸出視圖的定義語句;輸入“help index 索引名”命令,輸出索引的詳細信息; (6) 解析CREATE、SELECT、INSERT、DELETE、UPDATE等SQL語句的內容;0.2 (7) 檢查SQL語句中的語法錯誤和語義錯誤; (8) 執行CREATE語句,創建數據表、視圖、索引等數據庫對象;創建數據表時需要包含主碼、外碼、唯一性約束、非空約束等完整性約束的定義;0.3 (9) 執行SELECT語句,從自主設計的數據表中查詢數據,并輸出結果;在SELECT語句中需要支持GROUP BY、HAVING和ORDERBY子句,需要支持5種聚集函數; (10) 執行INSERT、DELETE和UPDATE語句,更新數據表的內容;更新過程中需要檢查更新后的數據表是否會違反參照完整性約束。如果是,則提示違反哪一條完整性約束,并拒絕執行更新操作;如果否,提示數據表更新成功,并說明插入、刪除或修改了幾個元組。 (11) 當數據表的內容更新后,根據索引的定義,自動更新索引表的內容; (12) 在有索引的數據表上執行查詢語句時,首先利用索引找到滿足條件的元組指針,然后通過指針到數據表中取出相應的元組; (13) 執行GRANT語句,為用戶授予SELECT、INSERT、DELETE、UPDATE權限;執行REVOKE語句,收回上述權限; (14) 用戶登錄時,需要輸入用戶名;如果用戶沒有被授權,則拒絕執行用戶查詢或更新操作,并給出提示信息;1 (15) 將SELECT語句轉化為關系代數表達式,再利用查詢優化算法對關系代數表達式進行優化,輸出優化后的關系代數表達式或SELECT語句。
|