《数据库原理及应用》课程设计.docx

上传人:b****7 文档编号:16444104 上传时间:2023-07-13 格式:DOCX 页数:29 大小:788.59KB
下载 相关 举报
《数据库原理及应用》课程设计.docx_第1页
第1页 / 共29页
《数据库原理及应用》课程设计.docx_第2页
第2页 / 共29页
《数据库原理及应用》课程设计.docx_第3页
第3页 / 共29页
《数据库原理及应用》课程设计.docx_第4页
第4页 / 共29页
《数据库原理及应用》课程设计.docx_第5页
第5页 / 共29页
《数据库原理及应用》课程设计.docx_第6页
第6页 / 共29页
《数据库原理及应用》课程设计.docx_第7页
第7页 / 共29页
《数据库原理及应用》课程设计.docx_第8页
第8页 / 共29页
《数据库原理及应用》课程设计.docx_第9页
第9页 / 共29页
《数据库原理及应用》课程设计.docx_第10页
第10页 / 共29页
《数据库原理及应用》课程设计.docx_第11页
第11页 / 共29页
《数据库原理及应用》课程设计.docx_第12页
第12页 / 共29页
《数据库原理及应用》课程设计.docx_第13页
第13页 / 共29页
《数据库原理及应用》课程设计.docx_第14页
第14页 / 共29页
《数据库原理及应用》课程设计.docx_第15页
第15页 / 共29页
《数据库原理及应用》课程设计.docx_第16页
第16页 / 共29页
《数据库原理及应用》课程设计.docx_第17页
第17页 / 共29页
《数据库原理及应用》课程设计.docx_第18页
第18页 / 共29页
《数据库原理及应用》课程设计.docx_第19页
第19页 / 共29页
《数据库原理及应用》课程设计.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

《数据库原理及应用》课程设计.docx

《《数据库原理及应用》课程设计.docx》由会员分享,可在线阅读,更多相关《《数据库原理及应用》课程设计.docx(29页珍藏版)》请在冰点文库上搜索。

《数据库原理及应用》课程设计.docx

《数据库原理及应用》课程设计

《数据库原理及应用》

课程实习报告

学号:

姓名:

时间:

2009年6月19日

 

目录

 

1数据库的建立3

1.1数据库及数据表结构3

1.2数据表数据3

2.数据库简单查询及连接查询5

2.1基本操作实验5

2.2提高实验8

3.数据库的嵌套查询10

4.数据库的组合查询和统计查询13

5.数据库视图及图表定义17

1数据库的建立

1.1数据库及数据表结构

1.2数据表数据

学生数据表

课程数据表

选课数据表

附录图书——借阅数据表结构

借阅数据表

读者数据表

图书数据表

2数据库的简单查询和连接查询

2.1基本实验操作

(1)简单查询操作

1)求计算机系学生的学号与姓名

select学号,姓名

from学生

where所在系='计算机'

运行结果

2)求选修了课程的学生学号

selectdistinct学号

from选课

运行结果

3)求选修了00011课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同,则按学号的升序排列。

select学号,成绩

from选课

where课程号='00011'

Orderby成绩desc,学号asc

运行结果

4)求选修了课程00011且成绩在70—90之间的学生学号和成绩,并将成绩乘以系数0.8.

select学号,成绩*0.8

from选课

where课程号='00011'and成绩between70and90

运行结果

5)求数学系或物理系姓高的学生的信息。

select*

from学生

where所在系in('数学','物理')and姓名like'高%'

运行结果

6)求缺少了成绩的学生的学号和课程号

select学号,课程号

from选课

where成绩isnull

运行结果

7)查找这样的图书类别:

要求类别中最高的图书定价不低于全部按类别分组的图书的平均定价的1.5倍。

selectA.类别

from图书A

groupbyA.类别

havingmax(A.定价)>=all(select2*AVG(B.定价)from图书B

groupbyB.类别)

运行结果

(2)连接查询实验

1)查询每个学生的情况以及所选修的课程。

select学生.*,选课.*

from学生,选课

where学生.学号=选课.学号

运行结果

2)求学生的学号,姓名,选修的课程名以及成绩

select学生.学号,姓名,课程名,成绩

from学生,选课,课程

where学生.学号=选课.学号and课程.课程号=选课.课程号

运行结果

3)求选修了00011课程且成绩为90分以上的学生的学号,姓名以及成绩。

select学生.学号,姓名,成绩

from学生,选课

where学生.学号=选课.学号and课程号='00011'and成绩

运行结果

4)查询每一门课的间接先行课(即是先行课的先行课)

selectA.课程号,A.课程名,B.先行课

from课程A,课程B

whereA.先行课=B.课程号

运行结果

5)查询读者的编号,姓名,单位,所借书号,书名,借阅日期

select编号,姓名,单位,借阅.书号,书名,借阅日期

from读者innerjoin借阅on编号=读者编号innerjoin图书on借阅.书号=图书.书号

orderby编号asc

运行结果

2.2提高操作实验

1)学生与选课内连接:

查询结果中只保留匹配的元组

select学生.*,姓名,所在系

from学生,选课

where学生.学号=选课.学号

2)学生与选课左外连接:

左外连接符号”*=”,在查询结果中保留连接表达式左表中的非匹配记录

select学生.*,姓名,所在系

from学生,选课

where学生.学号*=选课.学号

3)选课与课程内连接:

select选课.*,课程名

from选课,课程

where课程.课程号=选课.课程号

4)选课与课程的右外连接:

左外连接符号”=*”,在查询结果中保留连接表达式右表中的非匹配记录

select选课.*,课程名

from选课,课程

where选课.课程号=*课程.课程号

3数据库的嵌套查询

3.1基本实验操作

1)求选修了高等数学的学生的学号和姓名

select学号,姓名

from学生

where学号in(select学号

from选课

where课程号in(select课程号

from课程

where课程名='高等数学')

2)求高等数学的成绩高于高山的学生的学号和成绩

select学号,成绩

from选课,课程

where选课.课程号=课程.课程号and课程名='高等数学'and成绩>(select成绩

from选课,课程,学生where选课.课程号=课程.课程号and课程名='高等数学'and选课.学号=学生.学号and姓名='高山')

3)求其他系中比计算机系中某一学生年龄小的学生

select*

from学生

where年龄'计算机系')

4)求其他系中比数学系的学生年龄都大的学生

select*

from学生

where年龄>All(select年龄from学生where所在系='数学系')and所在系<>'数学系'

5)求选修了00011课程的学生姓名

select姓名

from学生

whereexists(select*from选课where学生.学号=学号and课程号='00011')

6)求没有选修00011课程的学生姓名

select姓名

from学生

wherenotexists(select*from选课where学生.学号=学号

and课程号='00011')

7)查询选修了全部课程的学生姓名

select姓名

from学生

wherenotexists(select*from课程wherenotexists

(select*from选课where学生.学号=学号and课程.课程号=课程号))

8)求选修了学号为78001的学生所选的全部课程的学生的姓名与学号

select学号,姓名

from学生

wherenotexists(select*from选课选课1where选课1.学号='78001'andnotexists

(select*from选课选课2where学生.学号=选课2.学号and选课2.课程号=选课1.课程号))

4数据库的组合查询与统计查询

4.1基本操作实验

1)查找这样的图书类别:

要求类别中最高的图书定价不低于全部按类别分组的图书的平均定价的1.5倍。

selectA.类别

from图书A

groupbyA.类别

havingmax(A.定价)>=all(select1.5*avg(B.定价)

from图书BgroupbyB.类别)

2)求高等教育出版社出版的各种图书的平均定价,用groupby表示

select类别,avg(定价)平均定价

from图书

where出版社='高教版'

groupby类别

orderby类别asc

3)列出数学类书的书号,书名,价格,并求出各出版社这类书的总价格

select书号,书名,定价

from图书

where类别='数学'

orderby书号asc

computecount(书号),sum(定价)

4)列出数学类图书的书号,书名,价格以及各出版社这类数的总价格

select书号,书名,定价

from图书

where类别='数学'

orderby出版社

computecount(书号),sum(定价)by出版社

computecount(书号),sum(定价)

5)查询数学类和机工社出版的图书

select*

from图书

where类别='数学'

unionall

select*

from图书

where出版社='机工社'

4.2提高操作实验

1)求选修了课程00011并且选修了课程00012的学生学号

select学号

from选课

where课程号='00011'

intersect

select学号

from选课

where课程号='00012'

2)求选修了课程00011但没有选修00021的学生学号

select学号

from选课

where课程号='00011'

minus

select学号

from选课

where课程号='00021'

3)求学生的总人数

selectcount(*)

from学生

4)求选修了课程的学生人数

selectcount(distinct学号)

from选课

5)求课程和选修该课程的人数

select课程号,count(学号)

from选课

groupby课程号

6)求选修了超过3门课的学生学号

select学号

from选课

groupby学号havingcount(*)>3

5数据库的视图和图表定义

5.1基本操作实验

1)在SQLSever企业管理器中,调出创建视图向导,在图书-读者库中按下列Transact-SQL描述创建读者视图.

2)在SQLServer企业管理器中调出创建视图向导,按要求定义借阅__物理图书视图。

3)在SQLSever企业管理器中调出创建图表向导,完成在图书_读者数据库中建立一个图书_借阅图表操作,要求该图表包括图书和借阅两个表,并包括图书与借阅之间的,符合表达式‘‘图书.书号=借阅.书号’’的,外码与被参照表之间的关联。

5.2提高操作实验

1)建立物理系学生的视图

2)由学生,课程,和选课3个表,定义一数学系的学生成绩视图,属性包括学号,姓名,课程名和成绩。

3)将学生的学号,总成绩,平均成绩定义成一个视图。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2