2022年数据库上机习题及答案分享 .pdf
《2022年数据库上机习题及答案分享 .pdf》由会员分享,可在线阅读,更多相关《2022年数据库上机习题及答案分享 .pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库及应用复习题一、设计题有一个 学生课程 数据库,数据库中包括三个表:学生表 Student 由学号(Sno) 、姓名(Sname)、性别(Ssex) 、年龄(Sage)、所在系(Sdept) 五个属性组成,记为:Student(Sno,Sname,Ssex,Sage,Sdept),Sno 为关键字。课程表 Course 由课程号 (Cno)、课程名 (Cname)、先修课号 (Cpno)、学分(Ccredit)四个属性组成,记为: Course(Cno,Cname,Cpno,Ccredit)Cno为关键字。成绩表 SG由学号(Sno) 、课程号 (Cno)、成绩(Grade) 三个属性组
2、成,记为:SG(Sno,Cno,Grade) (SNO, CNO) 为关键字。用 SQL语言实现下列功能:1建立学生表 Student ,其中学号属性不能为空,并且其值是唯一的。2向Student 表增加“入学时间 (Scome)”列,其数据类型为日期型。3查询选修了 3号课程的学生的学号及其成绩,查询结果按分数的降序排列。4查询学习 1号课程的学生最高分数、平均成绩。5查询与“李洋”在同一个系学习的学生。6将计算机系全体学生的成绩置零。7删除学号为 05019的学生记录。8删除计算机系所有学生的成绩记录。1CREATETABLE Student(Sno CHAR(5) NOTNULLUNIQ
3、UE,SnameCHAR(20),Ssex CHAR(2),Sage INT,Sdept CHAR(15)2ALTERTABLEStudentADDScomeDATETIME3SELECTSno, GradeFROM SGWHERE Cno=3ORDER BY Grade DESC4SELECTMAX(Grade), AVG(Grade)FROM SCWHERE Cno=15SELECTSno, Sname, SdeptFROM StudentWHERE Sdept IN名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整
4、理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - (SELECTSdept FROM StudentWHERE Sname= 李洋)6 UPDATE SGSETGrade=0WHERE Sno in( SELECTSno FROM StudentWHERE Sdept = 计算机系 )7DELETE FROM StudentWHERE Sno=050198 DELETE FROM SGWHERE Sno in( SELECTSno FROM StudentWHERE Sdept = 计算机系 )二、设计题现有关系数据库如下:数据库名:教师数据库教师表(
5、编号 char(6) ,姓名,性别,民族,职称,身份证号)课程表(课号 char(6) ,名称)任课表(ID ,教师编号 , 课号,课时数)用 SQL语言实现下列功能的sql 语句代码:1. 创建上述三表的建库、建表代码(14 分);要求使用:主键 (教师表. 编号,课程表 . 课号)、外键(任课表. 教师编号,任课表. 课号)、默认(民族)、非空(民族,姓名)、唯一(身份证号 )、检查(性别、课时数 ), 自动编号 (ID)2. 将下列课程信息添加到课程表的代码(6 分)课号课程名称100001SQLServer 数据库100002数据结构100003VB程序设计修改课号为 100003的课
6、程名称: VisualBasic 程序设计删除课号为 100003的课程信息3. 写出创建 任课表视图 ( 教师编号,姓名,课号,课程名称,课时数)的代码;(4 分)4. 写出创建 某门课任课教师 内嵌表值函数以及检索的代码;(6 分)检索:所有代 SQL Server 数据库 这门课程的老师姓名;5. 写出创建 统计课时数 :输出最大课时数、最低课时数、平均课时的存储过程以及执行代码; (6 分)6. 写出创建: 计算某教师代课总课时, 并将值返回的存储过程以及执行代码。(6 分)执行:计算“郭老师”的总课时。(6 分)名师资料总结 - - -精品资料欢迎下载 - - - - - - - -
7、 - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - 7. 检索有一门或一门以上课程课时数大于90 的所有教师的信息,包括编号、姓名。(4 分)8.建一个规则,并将其绑定到教师表的职称列上,规定取值为( 教授,副教授,讲师, 助教 )之一。 (4 分)1.createdatabase 教师数据库- (2分)use 教师数据库gocreatetable教师表- (6分)( 编号char(6)primarykey, 姓名nchar(4)not null, 性别nchar(1)check( 性别in( 男, 女
8、), 民族nchar(8)default 汉族 not null, 职称nchar(12), 身份证号char(18)unique)createtable课程表- (2分)( 课号char(6)primarykey, 名称char(40)not null)createtable任课表- (4 分)(ID IDENTITY(1, 1), 教师编号char(6)references学生表(学号), 课号char(6)references课程表(课号), 课时数integercheck( 课时数between 0 and 200)2.insert课程表 values(100001,SQL Serve
9、r 数据库)insert课程表 values(100002, 数据结构 )insert课程表 values(100003,VB 程序设计 )update课 程 表set名 称 =VisualBasic 程 序 设 计 where 课 号=100003delete课程表 where 课号=1000033.createview 任课表视图asselect教师编号 , 姓名, 课号, 课程名称 , 课时数from 教师表, 任课表where 教师表. 编号=任课表. 教师编号4.createfunction 某门课任课教师 (课程名varchar(15)returnstableasreturn(se
10、lect课程名称, 课时数, 教师姓名 =姓名 from 任课表视图where 课程名= 课程名)goselect* from 某门课任课教师 (SQLServer 数据库)5.createprocedure 统计课时数名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - asselect最大课时数 =max(课时), 最小课时数 =min(课时), 平均课时数=avg(课时) from 任课表goexecute 统计课时6.crea
11、teprocedure 统计课时 教师名 nchar(16),asbegindeclare 总课时 intselect 总课时=sum (课时) from 任课表视图where 姓名 = 教师名endgoexecute 统计课时 郭老师7.select编号, 姓名 from 教师表where 编号in(selectdistinct教师编号from 任课表where 课时数=90)8.createrulezhicheng_ruleas zhichengin( 教授,副教授,讲师, 助教)gosp_bindrulezhicheng_rule, 教师表. 职称三、设计题 (共 50 分)现有关系数据
12、库如下:数据库名:医院数据库医生表(编号,姓名,性别,出生日期,职称)病人表(编号,姓名,性别,民族,身份证号)病历表(ID ,病人编号 , 医生编号,病历描述)用 SQL语言实现下列功能的sql 语句代码:1. 创建上述三表的建库、建表代码;要求使用:主键 (师医生表 . 编号,病人表 . 课号)、外键(病历表. 医生编号,病历表. 病人课号 )、非空(职称,姓名 )、检查(性别), 自动编号 (ID)(16分)2. 将下列医生信息添加到医生表的代码编号姓名 性别 出生日期 职称100001 杜医生 男 1963-5-18 副主任医师100002 郭医生 女 1950-7-26 副主任医师1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年数据库上机习题及答案分享 2022 数据库 上机 习题 答案 分享
限制150内