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