1、 张望 男,19, 信息 2)8.编写SQL语句,将学号为1022学生的姓名改为张旺update 学生表 set 姓名= 张旺 where 学号=9.编写SQL语句,删除没有选课的学生delete from 学生表 sno not in (select sno from sc)10.编写SQL语句,查询课程号9的先行课的情况select * from 课程表where 课程号=(select 先行课号from 课程表where 课程号=9)11.编写关系代数,查询选修3号课程的学生学号n学号(/课程号=3(选课表)12.编写关系代数,查询至少选修了一门直接先行课为 5号课程的学生姓名参看课本6
2、0页13.编写SQL语句,创建学生表班级Create table 学生表(学号 char (10),姓名 varchar(20),性别 char(2), 年龄 int, char(30)14.编写SQL语句,建立计算机1班男生的视图Create view as select * from 学生表 where 班级=计算机 1 班and 性别二男15.编写SQL语句,将对学生表的修改权限赋给用户 U1Grant update on table 学生表 to U11.1所示:设有一个学生课程数据库,包括学生关系 Student、课程关系Course、选修关系SC,图Stude nt学号Sno姓名S
3、n ame性别Ssex年龄Sage所在系Sdept95001李勇男20CS95002刘晨女19IS95003王敏18MA95004张立Course课程号课程名先行课学分CnoCn ameCpnoCcredit1数据库542数学3信息系统操作系统6数据结构7数据处理SCPASCALS言成绩Grade9285889080图1 学生-课程数据库写出完成下列要求的SQL语句:1) 查询所有年龄在20岁以下的学生姓名与年龄。1.select Sn ame,Sage from Stude nt where Sage=20;2) 查询年龄不在2023(包括20岁和23岁)之间的学生的姓名、系别和年龄。sel
4、ect Sn ame,Sdept,Sage from Stude nt where Sage not betwee n 20 and 23;3) 查询每个学生及其选修课程的情况。select Stude nt.*,SC.* from Stude nt,SC where Stude nt.S no=SC.S no;2.把下面用关系表示的实体、实体与实体之间的联系,用 E-R图表示出来,要求在图中表示联系的类型(1 : 1、 1 : n、 m: n)。实体1:学生(学号,姓名,性别,年龄) 关键字为:实体2:课程(课程号,课程名,学分数) 关键字为:实体1与实体2的联系:学习(学号,课程号,成绩)
5、 关键字为:学号+课程号注:一个学生可以选多门课程,一门课程也可以被多个学生选,学生选课后有成绩。学生选课关系E-R图翊五、编码题1下面给出三个关系模式:(1 )学生关系 S (SNO, SName, SAge, SSex)(2 )课程关系 C (CNO, CName, CTeache)(3)学习关系 SC (SNO, CNO, Grade)根据要求用T-SQL完成下列各题。(1)检索学习课程号为“ C01001 ”的学生学号与姓名;(2) 检索至少选修课程号为“ C00101”和“ C02341”的学生学号。答: (1) SELECT S.S#,SNAMEFROM S,SCWHERE S.S
6、#=SC.S# AND C#=C01001(2)SELECT X.S#FROM SC AS X,SC AS YWHERE X.S#=Y.S# AND X.C#=00101 AND Y.C#=C023412、图书管理数据库BookManager由以下四个关系模式组成,根据该结构用 T-SQL完成以下各题。(1)读者(借书证号,姓名,性别,出生日期)(2)图书(ISBN,图书名称,作者,出版社,价格,数量)(3)借阅(借书证号,ISBN,借出时间)根据要求完成下列各题。(1 )创建一个名称为BookManager的数据库,其初始大小为10MB最大为20MB允许数据库自动 增长;日志文件初始大小为2
7、MB最大为5MB文件存储在目录D:TEST下。(2)编写一个存储过程,查询某读者当前的借书情况。(3 )创建一个触发器,如果在图书表中添加或更改数据,则向客户端显示一条信息。解:(1) CREATE DATABASE BookManagerON( NAME= BookManager_DATA ,FILENAME= D: BookMa nager.MDF,SIZE=10MB,MAXSIZE=20MB,FILEGROWTH=10%)LOG ON( BookMa nager.LDFSIZE=2MB,MAXSIZE=5MB,(2) CREATE PROCEDURE proc_reader lib_nu
8、m char(8)ASSELECT A.借书证号,姓名,B.ISBN,书名FROM Reader A, JY B , BOOK CWHERE A.借书证号=B.借书证号 AND B.ISBN=C.ISBN AND A.借书证号= lib_num(3)CREATE TRIGGER trig_reminder ON ReaderFOR INSERT ,UPDATERAISEERROR(4OO8,16,1O)3、设有学生表S (SNO SN (SNC为学生号,SN为姓名)和学生选修课程表 SC (SNO CNO CN G) (CNC为课程号,CN为课程名,G为成绩),试用SQL语言完成以下各题:(1
9、) 建立一个视图 V_SSC(SNO,SN,CNO,CN,,并按CNO序排序;(2) 从视图V_SSCh查询平均成线在90分以上的SN CN和G ( 1)CREATE VIEW V_SSC(SNO,SN,CNO,CN,G)AS SELECT S.SNO,S.SN,CNO,SC.CN,SC.GWHERE S.SNO=SC.SNOORDER BY CNO(2) SELECT SN,CN,GFROM V_SSCGROUP BY SNOHAVING AVG(G)904、图书管理数据库BookManager由以下四个关系模式组成,根据该结构用 T-SQL完成以下各题(1) 读者(借书证号,姓名,性别,出
10、生日期)(2) 图书(JSBN,图书名称,作者,出版社,价格,数量)(3) 借阅(借书证号,ISBN.借出时间)(3 )创建一个触发器,如果在图书表中添加或更改数据,则向客户端显示一条信息字段名类型与宽度是否主码是否允许空值借书证号Char(8)是NOT NULL专业名Char(12)表4.1读者表(表名为XS)ISBNChar(16)书名Char(26)作者表4.2图书表(表名为BOOK)ON( NAME=BookManager_DATAFILENAME=D: BookManager.MDF BookManager.LDF( 2) CREATE PROCEDURE proc_readerSELECT A.借书证号,姓名,B.ISBN,书名 FROM Reader A, JY B , BOOK CWHERE A.借书证号=B.借书证号 AND B.lSBN=C.1SBN AND A.借书证号= lib_num(3) CREATE TRIGGE
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1