第4章数据库技术上机题及原代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.利用企业管理器创建一个“教学”数据库,新建一个teacher表,包括以下信息:教师编码tno、教师姓名tname,教龄tage;新建course表,内容包括:课程号cno、课程名称cname、学时ctime;新建tc表,内容包括:教师编码tno、课程号cno、评价grade。
实现的内容有:(1)建立3个表格之间的关联,其中教师编码(tno)是teacher表的主键,课程号(cno)是course表的主键,tno+cno是tc表的主键;教师编码(tno)、课程号(cno)分别为授课表(tc)的外键。
(2)将“教学”数据库更名为“jiaoxue”数据库。
Exec sp_renamedb “教学”,”jiaoxue”
Go
(3)在3个表上用SQL做如下操作:
①列出教“数据结构”的教师的姓名。
②列出教龄在20年以上(包括20年)的教师姓名。
③查询与刘伟上同样课程的教师名。
④查询讲授两门以上课程的教师名。
⑤删除“计算机网络”课程及相关信息。
⑥添加一门新课程“信息技术”。
⑦将所有教师的教龄增加1。
⑧把48学时的课程放到一个新表CC中。
SQL语句如下:
①列出教“数据结构”的教师的姓名。
select tname
from teacher, course,tc
where teacher.tno=tc.tno and o=o and ame=’数据结构’
②列出教龄在20年以上(包括20年)的教师姓名。
select tname
from teacher
where tage>=20
③查询与刘伟上同样课程的教师名。
Select tname
From teacher
Where not exists
(select *
From tc as x, teacher
Where x.tno= teacher.tno and =’刘伟’ not exists
( Select *
From tc as y
Where o=o and y.tno= teacher.tno))
④查询讲授两门以上课程的教师名。
Select tname
From teacher
Where tno in
(select tno
from tc
group by tno
having count(cno)>2)
⑤删除“计算机网络”课程及相关信息。
删除“计算机网络”课程的教学信息
delete
from tc
where cno in
(select cno
from course
where cname='计算机网络')
删除“计算机网络”课程信息:
delete
from course
where cname='计算机网络'
⑥添加一门新课程“信息技术”。
insert into course
values(' C2 ','信息技术',64)
⑦将所有教师的教龄增加1。
update teacher
set tage=tage+1
⑧把48学时的课程放到一个新表CC中。
首先建CC表,然后利用查询把48学时的课程放到表CC中。
Create table cc
(cno char(8) constraint cno_prim primary key,
cname char(20) not null,
ctime int)
insert into cc
select *
from course
where ctime=48。