- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]数据库技术及应用实践考核上机练习题B201010
数据库技术及应用实践考核上机考试练习题B(201010)
给定的学生_选课库中数据库表结构及样本记录表1-表6数据如下:
学生(学号,姓名,年龄,性别,所在系); 课程(课程号,课程名,先行课); 选课(学号,课程号,成绩).
表1 学生表结构
字段名 数据类型 长度 是否为空 约束 学号 CHAR 5 否 主键 姓名 CHAR 8 否 年龄 SMALLINT 默认20 性别 CHAR 2 “男”或“女” 所在系 CHAR 20
表2 课程表结构
字段名 数据类型 长度 是否为空 约束 课程号 CHAR 5 否 主键 课程名 CHAR 20 否 先行课 CHAR 5
表3 选课表结构
字段名 数据类型 长度 是否为空 约束 学号 CHAR 5 否 主键,外键 课程号 CHAR 5 否 主键,外键 成绩 SMALLINT 0~100
表4 学生表数据
序号 学号 姓名 性别 年龄 所在系 1 S1 李明 男 21 计算机 2 S2 张小红 男 21 计算机 3 S3 李和明 女 22 计算机 4 S4 张三 男 21 计算机 5 S5 刘宏 男 23 计算机 6 S6 王红应 女 20 计算机 7 S7 吴非 男 19 数学 8 S8 丁玉 男 21 数学 9 S9 赵名 女 21 数学 10 S12 张共可 男 22 物理
表5 课程表数据
序号 课程号 课程名 先行课 1 C1 计算机引论 2 C2 数据结构 C3 3 C3 C语言编程 C1 4 C4 软件工程 C6 5 C6 数据库 C2 6 C5 计算机文化 7 C7 高等数学 8 C8 概率统计 C9 9 C9 线性代数 C7 10 C10 力学
表6 选课表数据
序号 学号 课程号 成绩 1 S1 C1 60 2 S2 C1 93 3 S3 C1 4 S4 C1 89 5 S1 C2 79 6 S2 C2 7 S3 C2 80 8 S4 C3 90 9 S1 C3 92 10 S2 C3 81 11 S1 C7 85 12 S4 C7 75
一、根据给定的样本数据,按顺序完成下列操作:
1、数据定义和输入记录
(1)创建学生-课程数据库。
(2)创建学生表、课程表和选课表,并满足约束条件。
(3)输入样本记录。
(4)查询输入的样本记录,并保存结果。
(5)创建计算机系学生成绩视图。属性包括:学号、姓名、课程名和成绩。
(6)查询已创建的视图,并保存结果。
(7)创建学生表、课程表和选课表的数据库关系图表。
2、数据更新
(1)输入一条新学生记录,例如:(‘S11’, ’李阳’, ’男’,21,’计算机’)
(2)删除一条学生记录,例如:删除学号=‘S5’的记录。
(3) 修改一条学生记录,例如:将学号=‘S5’的记录的系修改为计算机。
(4)查询当前的学生记录,并保存结果。
(5)求每个系的学生的平均年龄,并将结果存入到系平均年龄数据库中。
select 所在系, avg(年龄) avg_age into tab_avg_age from stu
group by 所在系;
3、单表查询
(1)求计算机系的学生学号和姓名。
(2)求选修了课程的学生学号。
select distinct 学号from select_curr;
(3)求选修C1课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列。
(4)求数学系或计算机系姓张的学生的信息。
(5)求缺少了成绩的学生的学号和课程号。
4、连接查询
(1)求学生的学号、姓名、选修的课程名及成绩。
(2)求选修C1课程且成绩为90分以上的学生学号、姓名及成绩。
(3)查询每一门课的间接先行课(即先行课的先行课)。
select a.课程号, b.先行课from curr a, curr b
where a.先行课=b.课程号;
(4)求学生表与选课表的左外连接。
select * from stu left join select_curr
on stu.学号=select_curr.学号;
(5)求选课表与课程表的右外连接。
5、嵌套查询
(1)求选修了高等数学的学生学号和姓名。
select 学号, 姓名from stu where 学号in(
select 学号from select_curr where 课程号=(
select 课程号from curr where 课程名=高等数学
));
(2)求C1课程的成绩高于张三的学生学号和成绩。
select 学号, 成绩from select_curr whe
文档评论(0)