【填空题】 1. 视图是从【基表(base table)】中导出的表,数据库中实际存放的是视图的【定义(definition)】。 2. 如果在视图中删除或修改一条记录,则相应的【基表数据(base table data)】也会发生变化。 3. 当对视图进行UPDATE、INSERT和DELETE操作时,要求所有的操作都必须符合由查询语句设置的规则,可以在视图定义中加上【WITH CHECK OPTION】。 4. 在MySQL中,有两种基本类型的索引,【普通索引(index)】和唯一索引。 5. 创建唯一索引时,如果创建索引的列有重复值,应先将其【去除重复(remove duplicates)】,否则索引不能创建成功。 6. 索引一旦创建,将由【数据库管理系统(DBMS)】管理和维护。 7. 在每次访问视图时,视图都是从【基表(base tables)】中提取所包含的列。 8. 索引存放在表的【数据页(data pages)】上。 9. 【非聚簇索引(non-clustered index)】就是在创建索引时,不附加任何限制条件。 10. 唯一索引要求索引列的值是唯一的,需要使用关键字【UNIQUE】来标明是唯一索引。 11. 每张表都有一个【主键(primary key)】并且只有一个,一般都是在创建表时,为表创建主键时自动创建的。 12. 在MySQL中,提供了一种称为【全文索引(full-text indexing)】的技术,主要关联在数据类型为CHAR、VARCHAR和TEXT等长字符字段上。 13. 可以使用关键字SHOW CREATE TABLE或关键字【SHOW INDEX】来查看索引信息。 14. 删除索引可以使用DROP关键字,也可以使用【ALTER TABLE】关键字。 15. 当视图的内容来自【多张(multiple)】基表时,不允许添加和删除数据。 16. 创建视图的关键字是【CREATE VIEW】。 17. 在一般情况下,最好将视图作为查询数据的虚拟表,而不要通过视图【直接修改数据(directly modify data)】。 【选择题】 1. A. 数据物理独立(不属于视图特点) 2. B. 表(数据物理存储的地方) 3. C. 在一个UPDATE语句中,一次可以修改多个视图对应的基表(错误描述,因为更新视图可能受到定义限制) 4. A. 提高查询的效率(创建索引的主要目的) 5. D. 创建唯一索引(创建聚集索引可以保持数据排序) 6. C. 使用索引可以提高数据查询速度,但会降低数据更新速度(正确描述) 7. B. CREATE INDEX(创建索引的关键字) 8. A. DROP VIEW(删除视图的关键字) 【简答题】 1. 索引的作用:提高数据查询速度,减少磁盘I/O操作,支持数据库的完整性约束,帮助优化器选择更有效的查询路径。 2. 视图与表的区别:视图是虚拟表,不存储数据,只存储查询语句;而表是实际存储数据的结构。视图可以隐藏数据细节,提供数据的安全性,简化复杂查询,而表是数据存储的基本单元,具有物理存储。 3. 创建视图的优点:提供数据抽象,简化复杂的查询,提高安全性,控制数据的可见性,方便数据共享。 【课外实践任务】 任务一:创建一个名为“V_不及格学生信息”的视图,SQL语句可能如下: ```sql CREATE VIEW V_不及格学生信息 AS SELECT 学号, 姓名, 专业名, 课程号, 成绩 FROM 学生表, 课程表 WHERE 成绩 < 60; ``` 任务二:创建一个名为“V_选课信息”的视图,SQL语句可能如下: ```sql CREATE VIEW V_选课信息 AS SELECT 学号, 姓名, 课程名 FROM xsqk WHERE 专业名 = '网络工程'; ``` 任务三:创建一个名为“V_开课信息”的视图,SQL语句可能如下: ```sql CREATE VIEW V_开课信息 AS SELECT 课程号, 课程名, 开课学期, 学时 FROM 开课表 WHERE 开课学期 <= 3; ``` 任务四:为kc表的课程名字段创建唯一索引,索引名为INDEX_课程名,SQL语句可能如下: ```sql CREATE UNIQUE INDEX INDEX_课程名 ON kc (课程名); ```
- 粉丝: 1001
- 资源: 298
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
评论0