索引与视图:学生管理系统练习

前言:

学生管理数据库还是那个数据库,推荐去看一下前两篇,都用的同一个学生管理数据库 链接: https://blog.csdn.net/weixin_43912621/category_9808797.html.

进入正题:

(1)分别使用SQL Server管理平台和Transact-SQL语句为studentsdb数据库的student_info表和curriculum表创建主键索引。
(2)使用SQL Server管理平台按curriculum表的课程编号列创建唯一性索引。
(3)分别使用SQL Server管理平台和Transact-SQL语句为studentsdb数据库的grade表的“分数”字段创建一个非聚集索引,命名为grade_index。
(4)为studentsdb数据库的grade表的“学号”和“课程编号”字段创建一个复合唯一索引,命名为grade_id_c_ind。
(5)分别使用SQL Server管理平台和系统存储过程sp_helpindex查看grade和student_info表上的索引信息。
(6)使用SQL Server管理平台对curriculum表创建一个聚集索引。
(7)分别使用SQL Server管理平台和Transact-SQL语句Drop index删除索引grade_index。再次使用系统存储过程sp_helpindex查看grade表上的索引信息。
(8)在studentsdb数据库中,以student_info表为基础,使用SQL Server管理平台建立名为v_stu_i的视图,使视图显示学生姓名、性别、家庭住址。
(9)在studentsdb数据库中,使用Transact-SQL语句CREATE VIEW建立一个名为v_stu_c的视图,显示学生的学号、姓名、所学课程的课程编号,并利用视图查询学号为0003的学生情况。
(10)基于student_info表、curriculum表和grade表,建立一个名为v_stu_g的视图,视图中具有所有学生的学号、姓名、课程名称、分数。使用视图v_stu_g查询学号为0001的学生的所有课程与成绩,如下图所示。
在这里插入图片描述
图 学号为0001的学生的视图信息

(11)分别使用SQL Server管理平台和Transact-SQL语句修改视图v_stu_c,使之显示学号、姓名、每个学生所学课程数目。
(12)使用Transact-SQL语句ALTER VIEW修改视图v_stu_i,使其具有列名学号、姓名、性别。
(13)利用视图v_stu_i为student_info表添加一行数据:学号为0015,姓名为陈婷,性别为女。
(14)利用视图v_stu_i删除学号为0015的学生记录。
(15)利用视图v_stu_g修改姓名为刘卫平的学生的高等数学的分数为84。
(16)使用Transact-SQL语句Drop view删除视图v_stu_c和v_stu_g。

(1)create clustered index curIndex on curriculum(课程编号)

(3)create index grade_index on grade(分数)

(4)create unique index grade_id_c_ind on grade(学号,课程编号)

(5)sp_helpindex grade
   sp_helpindex student_info

(7)drop index grade_index on grade
   sp_helpindex grade
   
(9)create view v_stu_c
   as 
   select student_info.学号,student_info.姓名,grade.课程编号
   from
   student_info inner join grade on student_info.学号= grade.学号

   select *from v_stu_c where 学号='0003'

(10)select 课程名称,分数from v_stu_g where 学号='0001'

(11)alter view v_stu_c(学号,姓名,课程号)
    as
    select student_info.学号,student_info.姓名,count(student_info.学号) as 课程数
from student_info inner join grade on student_info.学号=grade.学号
    group by student_info.学号,student_info.姓名

(12)alter view v_stu_i(学号,姓名,性别)
    as select 学号,姓名,性别from student_info

(13)insert into v_stu_i
    values('0015','陈婷','女')

(14)delete from v_stu_i
    where 学号='0015'

(15)update _stu_g  set 分数=84  where 姓名='刘卫平' and 课程名称='高等数学'

(16)drop view  _stu_c,v_stu_g 
后记:

最近偶然听到了《追光者》,或许是成长了吧,再听到这首歌,扣人心弦。如果说你是夏夜的萤火,孩子们为你唱歌,那么我是想要画你的手;你看我多么渺小一个我,因为你有梦可做,也许你不会为我停留,那就让我站在你的背后。

今天,五月四日,我们都是追光者!!!
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43912621/article/details/105916468