




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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.删除计算机系所有学生的成绩记录。1.CREATETABLE Student(Sno CHAR(5 NOT NULL
3、 UNIQUE,Sname CHAR(20,Ssex CHAR(2,Sage INT,Sdept CHAR(152.ALTER TABLE Student ADD Scome DATETIME3.SELECT Sno, GradeFROM SGWHERE Cno='3'ORDER BY Grade DESC4.SELECT MAX(Grade, AVG(GradeFROM SCWHERE Cno='1'5.SELECT Sno, Sname, SdeptFROM StudentWHERE Sdept IN(SELECT Sdept FROM StudentWHE
4、RE Sname='李洋 '6. UPDATE SGSET Grade=0WHERE Sno in( SELECT Sno FROM StudentWHERE Sdept = '计算机系 '7. DELETE FROM StudentWHERE Sno='05019'8. DELETE FROM SGWHERE Sno in( SELECT Sno FROM StudentWHERE Sdept = '计算机系 '二、设计题现有关系数据库如下:数据库名:教师数据库教师表 (编号 char(6,姓名,性别,民族,职称,身份证号 课程
5、表 (课号 char(6,名称 任课表 (ID,教师编号 , 课号,课时数 用 SQL 语言实现下列功能的 sql 语句代码:1. 创建上述三表的建库、建表代码 (14分 ;要求使用:主键 (教师表 . 编号,课程表 . 课号 、外键 (任课表 . 教师编号, 任课表 . 课号 、 默认 (民族 、 非空 (民族, 姓名 、 唯一 (身份证号 、 检查 (性 别、课时数 , 自动编号 (ID2. 将下列课程信息添加到课程表的代码 (6分 课号 课程名称100001 SQL Server数据库100002 数据结构100003 VB程序设计修改 课号为 100003的课程名称:Visual Ba
6、sic程序设计删除 课号为 100003的课程信息3. 写出创建 任课表视图 (教师编号,姓名,课号,课程名称,课时数 的代 码; (4分 4. 写出创建 某门课任课教师 内嵌表值函数以及检索的代码; (6分 检索:所有代 'SQL Server数据库 ' 这门课程的老师姓名;5. 写出创建 统计课时数 :输出最大课时数、最低课时数、平均课时的存储 过程以及执行代码; (6分 6. 写出创建:计算某教师代课总课时, 并将值返回的存储过程以及执行代码。 (6分 执行:计算“郭老师”的总课时。 (6分 7. 检索有一门或一门以上课程课时数大于 90的所有教师的信息,包括编号、 姓名
7、。 (4分 8. 建一个规则,并将其绑定到教师表的职称列上,规定取值为(' 教授 ',' 副教授 ',' 讲师 ', '助教 ' 之一。 (4分 1.create database 教师数据库 -(2分use 教师数据库 gocreate table 教师表 -(6分(编号 char(6 primary key,姓名 nchar(4 not null,性别 nchar(1 check(性别 in ('男 ', '女 ',民族 nchar(8 default '汉族 ' not nul
8、l,职称 nchar(12,身份证号 char(18 uniquecreate table 课程表 -(2分(课号 char(6 primary key,名称 char(40 not nullcreate table 任课表 -(4分(ID IDENTITY(1, 1,教师编号 char(6 references 学生表 (学号 ,课号 char(6 references 课程表 (课号 ,课时数 integer check(课时数 between 0 and 2002.insert 课程表 values('100001', 'SQL Server数据库 'in
9、sert 课程表 values('100002', '数据结构 'insert 课程表 values('100003', 'VB程序设计 'update 课 程 表 set 名 称 ='Visual Basic 程 序 设 计 ' where 课 号 ='100003'delete 课程表 where 课号 ='100003'3.create view 任课表视图 asselect 教师编号 , 姓名 , 课号 , 课程名称 , 课时数 from 教师表 , 任课表 where 教师
10、表 . 编号 =任课表 . 教师编号4.create function 某门课任课教师 (课程名 varchar(15returns table asreturn (select 课程名称 , 课时数 , 教师姓名 =姓名 from 任课表视图 where 课程名 =课程名 goselect * from 某门课任课教师 ('SQL Server数据库 '5.create procedure 统计课时数 asselect 最大课时数 =max(课时 ,最小课时数 =min(课时 , 平均课时数 =avg(课时 from 任课表goexecute 统计课时 6.create pr
11、ocedure 统计课时 教师名 nchar(16,asbegindeclare 总课时 intselect 总课时 =sum (课时 from 任课表视图where 姓名 = 教师名endgoexecute 统计课时 '郭老师 '7.select 编号 , 姓名 from 教师表where 编号 in (select distinct 教师编号 from 任课表 where课时 数 >=908.create rule zhicheng _ruleas zhicheng in ('教授 ',' 副教授 ',' 讲师 ', &
12、#39;助教 'gosp_bindrule zhicheng_rule, '教师表 . 职称 '三、设计题 (共 50分 现有关系数据库如下:数据库名:医院数据库医生表 (编号,姓名,性别,出生日期,职称 病人表 (编号,姓名,性别,民族,身份证号 病历表 (ID,病人编号 , 医生编号,病历描述 用 SQL 语言实现下列功能的 sql 语句代码:1. 创建上述三表的建库、建表代码;要求使用:主键 (师医生表 . 编号,病人表 . 课号 、外键 (病历表 . 医生编号, 病历表 . 病人课号 、非空 (职称,姓名 、检查 (性别 , 自动编号 (ID (16分 2. 将
13、下列医生信息添加到医生表的代码编号 姓名 性别 出生日期 职称100001 杜医生 男 1963-5-18 副主任医师100002 郭医生 女 1950-7-26 副主任医师100003 刘医生 男 1973-9-18 医师修改 编号为 100002的医生职称为主任医师删除 编号为 100003的医生信息 (8分 3. 写出创建:医疗表视图 (医生编号,姓名,病人姓名,病历 的代码; (4分 4. 写出所有病人编号、姓名、病历、以及病人所对应的医生编号的查询语句; (4分 7. 写出创建:输出某医生(根据医生编号即可看病人数存储过程以及执 行过程(要求输入医生姓名的参数,输出病人数 (6分 。
14、8. 写出查询 1970年以前出生的医生 (4分 。7. 检索有病人的医生信息。 (4分 8. 创建一个默认,并将其绑定到医生表的成绩职称列上,默认值为“医师” 。 (4分 1.create database 医院数据库 use 医院数据库 gocreate table 医生表(编号 char(6 primary key,姓名 nchar(4 not null,性别 nchar(1 check(性别 in ('男 ', '女 ' ,出生日期 datetime ,职称 char(18 not nullcreate table病人表(课号 char(6 primar
15、y key,姓名 nchar(4 not null,性别 nchar(1 check(性别 in ('男 ', '女 ' ,民族 nchar(10,身份证号 char(18 not nullcreate table病历表(ID IDENTITY(1, 1,病人编号 char(6 references 病人表 (学号 ,医生编号 char(6 references 医生表 (编号 ,病历描述 varchar(10002.insert 医生表 values('100001', '杜医生 ', '男 ', '19
16、63-5-18', '副 主任医师 'insert 医生表 values('100002', '郭医生 ', '女 ', '1950-7-26', '副 主任医师 'insert 医生表 values('100003', '刘医生 ', '男 ', '1973-9-18', '医 师 'update 医生表 set 职称 ='主任医师 ' where 编号 ='100002'del
17、ete 医生表 where 编号 ='100003'3.create view 医疗表视图 as select br.姓名,ys.姓名,yl.病历 from 病人表 as br join 医疗表 as yl on br.编号 yl.病人编号 join 医生表 as ys on yl.医生编号=ys.编号 4 Select br.编号, br.姓名, br.病历, yl.医生编号 from 病人表 br left join 医疗表 yl on br.编号 = yl.病人编号 5 create procedure 某医生看病人数 医生编号 nchar(16, 人数 int outp
18、ut as select 人数=count(病人编号 from 病人表 where 医生编号 = 医生编号 go declare TOTAL int execute 某医生看病人数 '100001', TOTAL 6 select * from 医生表 where 出生日期<'1970-01-01' 9. select 编号, 姓名, 性别, 出生日期, 职称 from 医生表 where 编号 in (select 医生编号 from 医疗表 8. create default zhicheng AS '医师' go exec sp_bi
19、ndefault 'zhicheng', '医生表.职称' 四、设计题(共 50 分 设计题( 现有关系数据库如下: 数据库名:学生选课数据库 学生表(学号,姓名,性别,年龄,专业) 课程表(课程号,课程名,学分,先行课程号) 选课表(ID, 学号,课程号,分数) 用 SQL 语言实现下列功能的 sql 语句代码: 1. 创建数据库学生选课数据库代码(2 分; 2. 创建课程表代码(2 分; 课程表(课程号 char(6,课程名,学分,先行课程号 要求使用:主键(课程号、非空(课程名, 学分 3. 创建学生表代码(6 分; 学生表(学号 char(6,姓名,性别
20、,年龄,专业 要求使用:主键(学号、非空(姓名,专业、检查(性别 4. 创建选课表代码(4 分; 选课表(ID,学号,课号,分数 要求使用: 外键(选课表.学号, 选课表.课程号、 检查(分数,自动编号(ID 5. 将下列课程信息添加到课程表的代码(8 分 课程号 课程名 学分 先行课程号 100001 C 语言 2 100002 数据结构 2 100001 100003 数据库原理 2 修改 课程号为 100003 的课程名:SQL 数据库 删除 课程号为 100002 的课程信息 6. 写出创建:选课表视图(学号,姓名,课程号,课程名,学分,分数的代 码;(4 分 7. 写出创建:某门课程
21、成绩 内嵌表值函数以及检索的代码;(6 分 检索:所有修 SQL 数据库 这门学生的成绩; 8. 写出创建:某门课程高低均分 计算某门课程成绩最高分、最低分、平均 分 存储过程以及执行的代码;(6 分 执行:所有修 SQL 数据库 这门学生的最高分、最低分、平均分; 9. 检索姓张的女同学的情况:姓名、学号、专业。(2 分 10.检索有一门或一门以上课程成绩小于 60 分的所有学生的信息,包括学号、 姓名。(4 分 1. create database 学生选课数据库 go use 学生选课数据库 go 2. create table 学生表 (学号 char(6 primary key, 姓
22、名 nchar(4 not null, 性别 nchar(1 check(性别 in ('男', '女', 年龄 numeric(2 , 专业 char(18 not null 3. create table 课程表 (课程号 char(6 primary key, 课程名 char(40 not null, 学分 numeric(2 not null, 先行课程号 char(6 4. create table 选课表 (ID IDENTITY(1, 1, 学号 char(6 references 学生表(学号, 课程号 char(6 references 课程表(课程号, 分数 integer check(分数 between 0 and 100 5. insert 课程表 values('100001', 'C 语言',2 insert 课程表 values('100002', '数据结构', 2, '100001' insert 课程表 values('100003', '数据库原理', 2 update 课程表 set 课程名='SQL 数据库' where 课程号='100
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年知识产权法相关考试试卷及答案解析
- 2025年高级经济师考试试题及答案
- 股权价值评估与调整及投资并购决策支持、股权激励实施、企业战略调整、风险控制、并购重组及股权融资合作协议
- 美团外卖特色餐饮店装修设计及外卖配送合作合同
- 高效生物技术研发平台共建及资源共享合作协议
- 职业技能培训学校品牌加盟与师资输出服务标准合作协议
- 电子产品保险托运补充协议
- 保险托运补充协议(食品饮料)
- 环境监测测绘公司股权合作协议书
- 网红饮品店品牌区域代理与物料供应及品牌培训服务协议
- 双语客运值班员红十字药箱课件
- 黑龙江省地方标准黑龙江省建设工程施工操作技术规程市政桥梁工程
- 前厅服务与管理课件 处理客人投诉
- 幼儿园注意饮食卫生教育
- 科技公司员工道德与伦理培训计划
- 科举制度的演变及认识 论文
- 台球厅员工入职合同(2025年版)
- 2023WGDF糖尿病相关足病预防和管理指南
- 中共东莞市委办公室公开招考劳务派遣人员高频重点模拟试卷提升(共500题附带答案详解)
- 2025年焊工(高级技师)职业技能鉴定理论考试指导题库(含答案)
- 高标准农田建设项目验收技术方案
评论
0/150
提交评论