(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语句。
|