阅读以下说明和关系表,回答问题1~5,将解答填入对应的解答栏内。
[说明]
试用SQL查询语句表达下列对教学数据库中的3个基本表STUDENT,COURSE,SC的查询
[关系表]
查询全体学生的姓名和年龄。
第1题:
设数据库中已有教材中的Student(Sno,Sname,Ssex,Sage,Sdept)、Course(Cno,Cname,Credit,Semster)和SC(Sno,Cno,Grade)表。现要查询学生选的第2学期开设课程的情况,只需列出学号、姓名、所在系和所选的课程号。该查询涉及到的表是()。
A仅Student表
B仅Student和SC表
C仅Student和Course表
DStudent、SC和Course表
第2题:
第3题:
A.把查询Student表权限授给用户U1GRANT SELECTON TABLE StudentTO U1
B.把对表SC的查询权限授予所有用户GRANT SELECT ON TABLE SCTO PUBLIC
C.把对Student表和Course表的全部权限授予用户U2和U3GRANT ALL PRIVILIGESON TABLE Student, Course TO U2,U3
D.把查询Student表和修改学生学号的权限授给用户U4GRANT UPDATE, SELECTON TABLE StudentTO U4
第4题:
阅读下列说明,回答与数据库相关的下列问题,将解答填入答题纸的对应栏内。 [问题1](4分) 数据模型是数据库系统的核心和基础,它通常由哪三部分组成?Oracle、DB2、Sybase等是基于哪种数据模型的数据管理系统? [问题2](9分) 某学校的学生成绩管理数据库的关系模式如下: S(SNO,SNAME,SEX); C(CNO,CNAME); SC(SNO,CNO,SCORE); 其中,S表示学生表,各字段依次为学号、姓名、性别;C表示课程表,各字段依次为课程号、课程名;SC表示成绩表,各字段依次为学号、课程号和分数。 (1)使用SQL语句,将课程号为“1”、课程名为“计算机网络”的一条记录插入C表。 (2)使用SQL语句,将课程号为“1”的课程从C表删除。 (3)使用SQL语句,查询选修了课程名为“数据库”课程的学生的姓名和分数,并按分数降序排序。
第5题:
阅读以下说明和关系表,回答问题1~4,将解答对应的解答栏内。
[说明]
关系变量R{A,B,C,D,E,F}满足如下的函数依赖
AD→E,AEB→D,B→CF,DE→B,DC→E,EC→FA,EF→DB,E→A
求此模型的最小函数依赖集。
第6题:
在考生文件夹下“student.mdb”数据库中有student、课程和成绩三张表。
(1)以student表为数据源,创建查询“查询1”,查询>=20岁的男学生信息。结果显示学号、姓名、性别和年龄字段。查询结果如图所示。
(2)以student表为数据源,创建更新查询“查询2”,将每个学生的年龄增加一岁
第7题:
已知表S(学号,姓名,年龄)
SC(学号,课程号,成绩)
C(课程号,课程名,教师名)
试用SQL查询语句表达下列对教学数据库中的三个基本表S、SC、C的查询:
(1)统计有学生选修的课程门数.
(2)求选修C4课程的学生的平均年龄.
(3)求王平老师所授课程的每门课程的学生平均成绩.
(4)统计每门课程的学生选修人数(超过10人的课程才统计).要求输出课程号和选修人数.
(5)查询姓名以WANG开头的所有学生的姓名和年龄.
第8题:
学生表:Student 学生表 (学号,姓名,性别,年龄,组织部门)
Course 课程表 (编号,课程名称)
Sc 选课表 (学号,课程编号,成绩)
表结构如下:
(1).写一个SQL语句,查询选修了’计算机原理’的学生学号和姓名
(2).写一个SQL语句,查询’周星驰’同学选修了的课程名字
(3).写一个SQL语句,查询选修了5门课程的学生学号和姓名
select sno,sname
from student
where sno in (
select sno
from sc
where cno = (
select cno
from course
where cname=计算机原理
)
)
(2)
select cname
from course
where cno in (
select cno
from sc
where sno =
(
select sno
from student
where sname=周星驰
)
)
(3) select sno,sname
From student
Where sno in (
select sno
from scgroup by sno having count(sno)=5
)
第9题:
(一)编写SQL语句
以下各小题题基于教学数据库的三个基本表
学生 S(S#,SNAME,AGE,SEX)
学习 SC(S#,C#,GRADE)
课程 C(C#,CNAME,TEACHER)
1. 试用元组表达式和关系代数表达式表示下列查询语句:检索年龄小于23岁的男同学的姓名和学号。
2. 试用SQL的查询语句表达下列查询: 检索"王兰"同学不学的课程的课程号。
3. 试用SQL的查询语句表达下列查询: 检索全部学生都选修的课程的课程号与课程名。
4.试用SQL更新语句表达以下更新操作:把低于总平均成绩的女同学成绩提5%。
答案:
元组表达式:{t|(?u)(S(u)∧u[3]<23∧u[4]='男'∧t[1]=u[1]∧t[2]=u[2])}
关系代数表达式:πS#,SNAME(σAGE<23∧SEX='男'(S))
select C# from C where C# not in(select C# from SC where S# in(select S# from S where SNAME='王兰'))
select C#,CNAME from C where not exists(select * from S where not exists(select * from SC where SC.S#=S.S# and SC.C#=C.C#))
update SC set GRADE=GRADE*1.05 where GRADE<(select AVG(GRADE) from SC) and S# in(select S# from S where SEX='女')