《数据库原理及应用》实验六 视图与索引

一、实验目的与要求

1.熟悉视图的概念,以及视图与表的联系和区别

2.掌握视图的定义方法

3.掌握对视图的查询操作

  1. 掌握对视图的更新操作,并了解视图的更新条件
  2. 掌握同时对视图和表进行操作的方法
  3. 熟悉索引的概念与作用
  4. 掌握索引的建立与删除操作

二、实验内容

1.定义一个名称为‘supplying_view’的视图,要求其对应的数据是由‘天天食品公司’供应的商品ID、商品单价。

2.查询采购员‘李云’和供应商‘神州数码有限公司’签订的所有采购单的采购单ID、采购金额、签订日期,并将其建立为一个名称为‘stock_view_1’的视图。

3.建立一个名称为‘commodity_100’的视图,其对应所有的库存量小于100的商品的信息。

4.使用视图supplying_view和相关基本表查找由供应商‘天天食品公司’供应的商品ID、商品名称和商品单价。

5.使用视图‘stock_view_1’和相关基本表查询‘李云’和供应商‘神州数码有限公司’签订的所有采购单的采购明细信息,要求显示采购单ID、商品ID、商品名称、采购数量、和商品单价。

6.为supermarket数据库中的任意一个表建立索引(按升序建唯一索引号)。

7.使用DROP INDEX语句删除新建的索引

8.建立一个视图,其对应的数据是在2005年签订的销售单总额超过100万的销售员的I D和姓名。

9.使用上述建立的视图和NOT IN关键字查询在2005年签订的销售单总额没有超过100万的销售员的I D和姓名。

提供的引用内容中未涉及数据库原理应用实验三关于索引视图的相关内容,无法根据引用准确回答该问题。不过,数据库原理应用实验中关于索引视图实验指导及相关内容通常如下: ### 实验目的 理解索引视图的概念作用和工作原理,掌握在数据库中创建、使用和管理索引视图的操作。 ### 实验环境 常见的数据库管理系统,如 MySQLSQL Server 等。 ### 实验准备 - 安装好相应的数据库管理系统并启动服务。 - 准备个测试数据库及相关数据,例如创建个包含学生信息的`students`,包含`id`、`name`、`age`、`gender`等字段。 ```sql -- 创建 students CREATE TABLE students ( id INT PRIMARY KEY, name VARCHAR(50), age INT, gender VARCHAR(10) ); ``` ### 实验内容及操作示例 #### 索引部分 - **创建索引** - **创建普通索引**:为`students`的`name`字段创建普通索引。 ```sql CREATE INDEX idx_name ON students (name); ``` - **创建唯索引**:确保`students`的`id`字段值唯。 ```sql CREATE UNIQUE INDEX idx_unique_id ON students (id); ``` - **查看索引** 查看`students`的所有索引。 ```sql SHOW INDEX FROM students; ``` - **删除索引** 删除`students`的`idx_name`索引。 ```sql DROP INDEX idx_name ON students; ``` #### 视图部分 - **创建视图** 创建视图`v_students`,只显示`students`的`id`和`name`字段。 ```sql CREATE VIEW v_students AS SELECT id, name FROM students; ``` - **查询视图** 查询`v_students`视图。 ```sql SELECT * FROM v_students; ``` - **修改视图** 修改`v_students`视图,使其还显示`age`字段。 ```sql CREATE OR REPLACE VIEW v_students AS SELECT id, name, age FROM students; ``` - **删除视图** 删除`v_students`视图。 ```sql DROP VIEW v_students; ``` ### 注意事项 - 索引虽然可以提高查询速度,但会增加数据插入、更新和删除的开销,因此要合理创建索引。 - 创建视图时要确保视图的查询语句语法正确,避免因基础结构变化导致视图无法正常使用。 - 在进行删除索引视图操作时要谨慎,确认操作的必要性,避免误删影响数据库的正常使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值