本人课业作业笔记,仅供学习参考
根据 jwgl 数据库完成
(1)对学生基本信息表xsjbxxb的籍贯jg字段,建立全文索引index_jg,并验证索引的建立。
代码如下:
create fulltext index index_jg on xsjbxxb(jg);
验证:
show index from xsjbxxb;
或者:
show create table xsjbxxb;
(2)对学生基本信息表xsjbxxb的xm和bjbh字段,建立复合索引index_xm_bjbh,并验证索引的建立。
create index index_xm_bjbh on xsjbxxb(xm,bjbh);
show index from xsjbxxb;
explain select * from xsjbxxb where xm='张宇' and bjbh='2017204091';
(3)对部门代码表bmdmb的部门名称bmmc字段,建立唯一降序索引index_bmmc,并验证索引的建立。
create unique index index_bmmc on bmdmb(bmmc desc);
show create table bmdmb;
(4) 建立视图v_xs_1,要求包含男生的学号,姓名,性别,出生日期,班级编号,专业名称字段,并要求视图操作数据时进行检查。
create view v_xs_1
as
select xh,xm,xb,csrq,bjbh,zymc
from xsjbxxb
where xb='男'
with check option;
(5)建立一个学院教师的视图v_xyjs,包含部门号,部门名称,教师姓名字段。
create view v_xyjs
as
select bmdmb.bmh,bmmc,jsxm
from bmdmb,jsjbxxb
where bmdmb.bmh=jsjbxxb.bmh;
(6)在jwgl数据库中,创建学生的选课信息视图v_xs_xk,包括学生的学号,姓名,性别,专业名称,课程名称,成绩字段。
create view v_xs_xk
as
select xs.xh,xm,xb,zymc,kcmc,cj
from xsjbxxb as xs join xsxkb
on xs.xh=xsxkb.xh
join kcdmb
on kcdmb.kcdm=xsxkb.kcdm;
(7)创建一个计算每门课程平均成绩的视图v_kc_avg,要包含课程名称,课程平均成绩字段。
create view v_kc_avg
as
select kcmc as 课程名称,avg(cj) as 课程平均成绩
from kcdmb ,xsxkb
where kcdmb.kcdm=xsxkb.kcdm
group by kcmc;
(8)通过视图v_xs_xk,查询男同学的选课信息。
select * from v_xs_xk
where xb='男';
(9)修改视图v_xs_xk,要求视图包含2000年及以后出生的男生信息。
alter view v_xs_xk
as
select xs.xh,xm,xb,zymc,kcmc,cj
from xsjbxxb as xs join xsxkb
on xs.xh=xsxkb.xh
join kcdmb
on kcdmb.kcdm=xsxkb.kcdm
where xb='男' and year(csrq)>=2000;
(10)利用视图查询微机原理与应用这门课程的课程平均分。
select * from v_kc_avg
where 课程名称='微机原理与应用';
(11)输入一条数据验证视图v_xs_1的WITH CHECK OPTION功能。
insert into v_xs_1 values('201920505101','王红','女','2001-4-9','2019205051','财务管理');
(12)删除索引index_bmmc。
drop index index_bmmc on bmdmb;
(13)删除视图v_xyjs。
drop view v_xyjs;