好文档 - 专业文书写作范文服务资料分享网站

数据库复习1

天下 分享 时间: 加入收藏 我要投稿 点赞

任务6 教务数据库的索引设计

课堂实践1

1. 在major表的majorid列上创建唯一性聚集索引index_majorid。

create unique clustered index index_majorid on major(majorid)

2. 在class表的classroom列上创建唯一性非聚集索引index_classroom。

create unique clustered index index_classroom on class(classroom)

3. 在学生表的studentname列上创建非聚集索引index_studentname。

crecreate nonclustered index index_studentname on student(student_name)

4. 在教师表的profession列和teachername列上创建复合非聚集索引

index_profession_teachername。

create nonclustered index index_profession_tezchername on teacher(profession,teacher_name)

5. 创建学生表的全文索引并进行查询(可上网查找采用SQL语句进行创建全文索引的

相关资料,用SQL语句进行操作)。

6. 根据教务管理的查询需要自行设计并创建3-5个索引。 7. 认真记录各题操作后的结果情况。

课堂实践2

8. 将teacher表的索引文件index_teacher_phone改名为index_t_p。

create nonclustered index index_teacher_phone on teacher(telephone)

sp_rename 'teacher.index_teacher_phone','teacher.index_t_p'

9. 删除上面的index_t_p索引。

drop index teacher.index_t_p

10. 查看课堂实践1中所创建的索引的基本信息。

sp_helpindex student

exec sp_helpindex teacher

11. 选择其中的几个进行重命名和删除操作。

drop index teacher.index_profession_tezchername sp_rename 'student.index_studentname','student.name'

12. 选择一个索引,查看它的数据和索引的碎片信息。 dbcc showcontig(student,index_student_id) 13. 选择一个索引进行重建。

dbcc dbreindex ('book',index_book_name)

14. 选择一个表或一个索引更新索引的分布统计页。 update statistics book

15. 认真记录各题操作后的结果情况。

任务7 教务数据库查询设计

课堂实践1

1. 查询教师的所有信息。

use jwgl go

select * from teacher

2. 查询课程表的课程代号和课程名称。

select course_id,course_name from course

3. 显示书名,出版社,作者及价格。

select book_name,publish_company,author,price from book

4. 将所有书的价格打九折显示。

select book_name , price*0.9 from book

5. 查询87年以后出生的学生的姓名、性别、班级及出生日期。

select student_name,sex,class_id,birth from student where year(birth)>1983

6. 查询j0601班的男生的所有信息

select * from student

where sex=1 and class_id='g99402'

7. 按出生日期排序显示学生的姓名、性别、出生日期及住址。 select * from student order by birth 8. 查询姓?王?的名字是三个字的同学信息。

select * from student

where student_name like '张%'

9. 查询班级为j0602的同学成绩并按从高到低排列。

select course_id,student.student_id,grade,class_id from student_course,student

where student.class_id ='g99402' order by grade desc

10.查询女生的信息并生成一张新表。

select * into #temp_girl from student where sex=0 use tempdb go

select *from #temp_girl

11.根据需要及课程知识自行设计几个查询并写出SQL查询语句。 12.认真记录各题操作后的结果情况。

课堂实践2

1. 查询 每个学生的学号、姓名、班级、课程名称、成绩及总分。

select student.student_id,student.student_name, class_id,course_name,grade

from student,course,student_course

where student.student_id=student_course.student_id and student_course.course_id=course.course_id order by student.student_id

compute sum(grade) by student.student_id

2. 查询 各班的各门功课的最高分、最低分和平均分。

select substring(student_id,1,6),course_name,'最高分'=max(grade),'最低分'=min(grade),'平均分'=avg(grade) from student_course,course

group by substring(student_id,1,6),course_name order by course_name

3. 检索86年、87年出生的学生姓名、班级、性别、年龄和出生日期。

create function js_old

(@vardate datetime , @curdate datetime) returns tinyint as begin

return datediff(yyyy,@vardate,@curdate)

end

select student_name,class_id,sex,birth,

'年龄'= dbo.js_old(birth,getdate()) from student where year(birth)=1983 or year(birth)=1984

4. 查询 各位教师的姓名、任教课程及相应班级及上课地点。

select teacher_name,course_id,course_classroom from teacher,teacher_course_class

where teacher.teacher_id=teacher_course_class.teacher_id

5. 统计不同职称的教师的人数,并查询 教师姓名、职称。

select teacher_name,profession from teacher order by profession

compute count(profession)by profession

6. 查询 每个学生的学号,总分。

select student_id,sum(grade) from student_course group by student_id

7. 按学号排序查询 每个学生的学号,姓名,课程号及成绩。

select student.student_id,student_name,course_id,grade from student,student_course

where student.student_id=student_course.student_id order by student.student_id

8. 查询 每个学生的学号,姓名,课程名称及成绩。

select student.student_id,student_name,course_name,grade from student,student_course,course

where student.student_id=student_course.student_id and student_course.course_id=course.course_id

9. 查询 成绩不及格,及80分以上的学生学号,姓名,课程名称及成绩。

select A.student_id,student_name,course_id,grade from student A,student_course B where grade < 60 or grade > 80

11.根据需要及课程知识自行设计几个查询并写出SQL查询语句。 12.认真记录各题操作后的结果情况。

任务8 教务数据库的视图设计

课堂实践1

1. 创建一个只包含j0602班同学的基本信息的视图。

create view student_class_view2 as

select * from student where class_id ='g99402'

2. 创建一个视图,包含表teacher中教师的姓名、性别、出生日期、职称信息。

create view teacher_view as

select teacher_name,sex,birth,profession from teacher

3. 在上一题视图的基础上创建包含职称为副教授职称的老师的视图。

create view teacher_view1 as

select * from teacher_view where profession='副教授'

4. 创建一个包含不及格同学及90分以上同学的学号、姓名、课程名称及成绩的视图。

create view student_score as

select student.student_id,student_name,course_name,grade from student join student_course on

student.student_id = student_course.student_id join course

on course.course_id =student_course.course_id

where grade <60 or grade>90

5. 创建一个视图,是由表course、book及majorclasscourse创建的一个显示“j0601”班所开课程的课程名称,所用教材的教材名、出版社及作者的视图。

create view g99402_view as

select distinct substring(student_id,1,6) as '班级', course_name,book_name,publish_company,author from book,course,student_course

where (substring(student_id,1,6)='g99402' and book.book_id=course.book_id

and course.course_id=student_course.course_id)

6.根据需要自行选择创建几个视图。 7. 认真记录各题操作后的结果情况。

课堂实践2

1. 选择一个上面创建的视图,查看视图的信息。

sp_help student_class_view2

sp_helptext student_class_view2

2. 选择一个上面创建的视图,修改删除其中的一列 3. 选择一个上面创建的视图,将其修改成加密视图

alter view student_score with encryption as

select student.student_id,student_name,course_name,grade from student join student_course on

student.student_id = student_course.student_id join course

数据库复习1

任务6教务数据库的索引设计课堂实践11.在major表的majorid列上创建唯一性聚集索引index_majorid。createuniqueclusteredindexindex_majoridonmajor(majorid)2.在class表的classroom列上创建唯一性非聚集索引index_
推荐度:
点击下载文档文档为doc格式
7soyq4g2g51jxus0i33s
领取福利

微信扫码领取福利

微信扫码分享