第6次作业-索引和视图

发布时间 2023-10-20 11:54:54作者: James_Harden1

1.使用SQL语句ALTER TABLE分别删除studentsdb数据库的student_info表、grade表、curriculum表的主键索引。

alter table STUDENT_INFO 
DROP PRIMARY KEY ;
alter table GRADE
DROP PRIMARY KEY ;
alter table curriculum
DROP PRIMARY KEY ;

2.使用SQL语句为curriculum表的课程编号创建唯一性索引,命名为cno_idx。

CREATE UNIQUE INDEX CON_IDX ON CURRICULUM (课程编号);

3.使用SQL语句为grade表的“分数”字段创建一个普通索引,命名为grade_idx。

create index grade_inx on grade (分数);

4.使用SQL语句为grade表的“学号”和“课程编号”字段创建一个复合唯一索引,命名为grade_sid_cid_idx。

create UNIQUE index grade_sid_cid_idx on grade (学号 ,课程编号);

5.查看grade表上的索引信息。

show index from grade;

6.使用SQL语句删除索引grade_idx。再次查看grade表上的索引信息。

drop index grade_inx on grade;

show index from grade ;

7.使用SQL语句CREATE VIEW建立一个名为v_stu_c的视图,显示学生的学号、姓名、所学课程的课程编号,并利用视图查询学号为0003的学生情况。

create view v_stu_c
AS
select s.学号 ,姓名 ,课程编号 from student_info s , grade g 
where s.学号=g.学号 ;

select * from v_stu_c
where 学号='0003';

8.基于student_info表、curriculum表和grade表,建立一个名为v_stu_g的视图,视图包括所有学生的学号、姓名、课程名称、分数。使用视图v_stu_g查询学号为0001的学生的课程平均分。