数据库给学生期末复习题 下载本文

内容发布更新时间 : 2024/5/8 9:46:54星期一 下面是文章的全部内容请认真阅读。

单选、填空、简答、计算、操作、综合

操作题:

一、设有关系模式:

SB(SN,SNAME,CITY); SB为供应商关系,其中SN表示供应商代号,SNAME为供应商名字,CITY为供应商所在城市,主码为SN。

PB(PN,PNAME,COLOR,WEIGHT);PB为零件关系。其中PN为零件代号,PNAME为零件名字,COLOR为零件颜色,WEIGHT为零件重量,主码为PN。

JB(JN,JNAME,CITY),JB为工程关系,其中JN为工程编号,JNAME为工程名字,CITY为工程所在城市,主码为JN。

SPJB(SN,PN,JN,QTY),SPJB表示供应关系,其中SN是为指定工程提供零件的供应商代号,PN为所提供的零件代号,JN为工程编号,QTY表示提供的零件数量,主码为SN,PN,JN。

用SQL的有关语句完成以下操作:

1.定义上述关系表JB,注意:说明主码,并在主码属性上建立索引; 2.查找为工程号为J1的工程提供红色零件的供应商代号(去掉重复元组); 3.查找上海供应商不提供任何零件的工程的代号; 4.插入一个记录到关系JB中,其记录内容为:(“J1”, “北京”,“华新大厦工程”)。

二、1.设有选课关系SC(学号,课号,成绩),试用SQL语句定义一个有关学生学号及其平均成绩的视图SV。

2.设有两个关系:学生关系S(学号,姓名,年龄,性别)和选课关系SC(学号,课号,成绩),试用关系代数表达式检索没有选修B5课程的学生姓名。

3.设有选课关系SC(学号,课号,成绩),试用SQL语句检索选修B2或B5课程的学生学号。

4.设有学生关系S(学号,姓名,性别,奖学金),选课关系SC(学号,课号,成绩),用SQL语句完成如下操作:对成绩得过满分(100)的学生,如果没有得过奖学金(NULL值),将其奖学金设为1000元。

5.设有学生关系S(学号,姓名,性别,年龄),课程关系C(课号,课名),选课关系SC(学号,课号,成绩),试用SQL语句检索选修课程名为BC的学生姓名和成绩。

三、请参照下面三个关系表完成后面题目。

Student表

学 号 姓 名 性 别 年 龄 所 在 系 Sno Sname Ssex Sage Sdept

95001 20 CS 李勇 男

95002 19 IS 刘晨 女

95003 18 MA 王敏 女

course表

课程号 课程名 Cno Cname 先行课 学分 Cpno Ccredit 1 2 3 4 5 6 学 号 课 程 成 绩 Sno Cno Grade 95001 95001 95001 95002 95002 1 2 3 2 3 92 85 69 74 90 数据库 数学 信息系统 操作系统 数据结构 数据处理 SC表 5 1 6 7 7 4 2 4 3 4 2 PASCAL语言 6 4

1.利用关系代数完成下面题目(每小题2分,共10分) (1)查询性别为男的学生姓名和年龄。

(2)查询年龄大于18并且小于20岁的学生学号。 (3)查询学号为95002选修的课程名称及成绩。 (4)查询直接先行课为5号课程的课程名。 (5)查询性别为女的学生选修课程的名称及学号

2.利用SQL语句完成下面题目(每小题3分,共21分) (1)查询CS系学生的姓名和性别。

(2)查询CS系学生选修课程的平均成绩。

(3)查询选修了1号课程的学生姓名及成绩,查询结果按分数升序排序 (4)查询学号95001选修的课程的总门数

(5)向学生表插入一条记录(95007,张帅,女,20,CS) (6)将学号为950001的学生年龄改为23 (7)将学号为950003的学生信息删除

3.分析表之间的关系,用SQL语句完成Student表的建表,并给出主键(5分) 答案示范:

1.利用关系代数完成下面题目(每小题2分共10分) (1)查询性别为男的学生姓名和年龄。

?Sname,Sage(?Ssex?'男'(student))

(2)查询年龄大于18并且小于20岁的学生学号。

?Sno(?sage?18andSage?20(student))

(3)查询学号为95002选修的课程名称及成绩。

?Cname(?Cno(?Sno?'95002'(SC))??Cno,Cname(Course))

(4)查询直接现行课为5号课程的课程名。

?Cname(?Cpno?'5'(course))

(5)查询性别为女的学生选修课程的名称及学号

?Cname,Grade(?Sno(?Ssex?'女'(Student))?SC??Cno,Cname(Course))

评分标准:以上各题答案不唯一,只要结果正确即可。 2.利用SQL语句完成下面题目(每小题3分共21分) (1)查询CS系学生的姓名和性别。

Select Sname,Ssex from student where sdept =‘CS’

评分标准:答案不唯一,只要运行结果正确即可,如果查询参数中漏掉单引号减1分。 (2)查询CS系学生选修课程的平均成绩。

Select avge(Grade) from student,SC where student.sno=Sc.sno and student.sdept=’CS’ 评分标准:只要运行结果正确即可,如果查询参数中漏掉单引号减1分 (3)查询选修了1号课程的学生姓名及成绩,查询结果按分数升序排序

Select Sname,Grade from student,SC where student.sno=Sc.sno and Cno=1 order by grade asc 评分标准:如果漏掉“order by grade asc”不减分 (4)查询学号95001选修的课程的总门数

Select count(cno) from SC where sno=’95001’

评分标准:只要运行结果正确即可, 如果查询参数中漏掉单引号不减分 (5)向学生表插入一条记录(95007,张帅,女,20,CS)

Insert into student (sno,sname,Ssex,Sage,sdept ) values (‘95007’,’ 张帅’, ’女’,20,’CS’)

评分标准:只要运行结果正确即可, 如果查询参数中学号漏掉单引号不减分,其它漏掉单引号总共减1分。 (6)将学号为950001的学生年龄改为23

Update student set Sage=23 where sno=’95001’ (7)将学号为950003的学生信息删除

Delete from student where sno=’ 950003’

四、现有关系数据库如下:

学生(学号,姓名,性别,专业,奖学金) 课程(课程号,名称,学分) 学习(学号,课程号,分数)

用关系代数表达式实现下列1—2小题:

1.检索“数据库原理”课程成绩高于90分的所有学生的学号、姓名、专业和分数; 2.检索没有任何一门课程成绩不及格的所有学生的信息,包括学号、姓名和专业; 用SQL语言实现下列3—4小题:

3.检索不学课程号为“C135”课程的学生信息,包括学号,姓名和专业; 4.从学生表中删除成绩出现过0分的所有学生信息。

五、建立一个教职工关系表TEACHER,表中有6个字段:教职工编号NO(字符型),姓名NAME(字符型),性别SEX(字符型),出生日期BIRTHDAY(日期型),职称PROF(字符型),所在系DEPART(字符型),其中NO是关系的码;用SQL语言完成下列功能: 1.建立教职工关系表TEACHER。 2.查询计算机系所有教职工的姓名。

3.添加一个教职工记录,编号为20020003,姓名为吴珊,性别为女,出生日期为1976年10月20号,职称为助教,所在系为计算机系。

4.逻辑删除王珊老师的记录。

六、设某公司数据库中有关系模式如下: 职工(职工号,职工名,性别,年龄)

工作(职工号,公司号,工资) 公司(公司号,公司名,地址)

1.用关系代数表达式写出下列查询:不在“开元”公司工作的所有职工的职工号。 2.写出查询每个公司女职工的平均工资的SQL语句

3.试用SQL语句写出下列操作:超过50岁职工的工资增加200元。

4.把对职工表的插入权限授予A用户,并允许将此权限再授予其他用户。

七、请参照下面三个关系表完成后面题目。表同题三 1.利用关系代数完成下面题目(每小题2分,共10分) (1)查询年龄大于19的学生姓名和年龄。 (2)查询课程号1的现行课。 (3)查询李勇选修的课程名称及成绩。 (4)查询直接先行课为5号课程的课程名。 (5)查询CS系的学生选修课程的名称及学号。 2.利用SQL语句完成下面题目(每小题3分,共21分) (1)查询MA系学生的姓名、性别、年龄。

(2)查询CS系学生选修的数据库课程的平均成绩。

(3)查询选修了3号课程的学生姓名及成绩,查询结果按分数升序排序 (4)查询学号95003选修的课程的总门数

(5)向学生表插入一条记录(95008,张杰,女,20,CS) (6)将学号为95003的学生性别改为男 (7)将学号为950004的学生基本信息删除

3.分析表之间的关系,用SQL语句完成course表的建表,并给出主键(5分)

八、1.利用关系代数完成下面题目(每小题2分,共8分)表同题三 (1)查询既选择了课程号1又选择了课程号2的学生姓名和年龄。 (2)查询先行课为6的课程名称。 (3)查询李勇选修的课程名称及成绩。

(4)查询IS系的学生选修课程的名称及学生姓名。 2.利用SQL语句完成下面题目(每小题3分,共21分) (1)查询IS系学生的姓名、性别、年龄。

(2)查询CS系学生选修的课程号为2的课程总成绩。 (3)查询各系数据库总成绩。

(4)查询学号95003选修的课程的总门数

(5)向课程表插入一条记录(9,编译原理,2,2) (6)将course表中的课程名数据库改为数据库系统原理

(7)将学号为95002的选课信息删除

九、表同题3.

1.利用关系代数完成下面题目(每小题2分,共8分) (1)查询性别为男的学生姓名和年龄。

(2)查询课程名为数据库的课程号。

(3)查询选择了数据库的学生姓名及成绩。 (4)查询直接先行课为5号课程的课程名。

2.利用SQL语句完成下面题目(每小题2分,共14分) (1)查询MA系学生的姓名、性别、年龄。

(2)查询CS系学生选修的数据库课程的平均成绩。

(3)查询选修了3号课程的学生姓名及成绩,查询结果按分数升序排序 (4)查询学号95003选修的课程的总门数

(5)向学生表插入一条记录(95008,张杰,女,20,CS) (6)将学号为95003的学生性别改为男 (7)将学号为950004的学生基本信息删除

综合题:

一、设某商业集团数据库有三个实体集。一是“商店”实体集,属性有商店编号、商店名、地址等;二是“商品” 实体集,属性有商品编号、商品名、规格、单价等;三是“供应商” 实体集,属性有供应商编号、供应商名、地址等。商店与商品间存在“销售”联系,每个商店可销售多种商品,每个商品也可放在多个商店销售,每个商店销售一种商品,有月销售量;供应商与商品间存在着“供应” 联系,每个供应商供应多种商品,每种商品可以向多个供应商订购。供应商供应商品给每个商店有月供应量。

1.试画出E-R图,并在图上注明属性。

2.将E--R图转换成关系模型,并指明主码和外码。 答案:

(1)E-R图如图所示。

商店编号 商店名 地址 商店 月供应量月销售量 销售 供应 商品 供应商编供应商 商品编号 商品名 规格 单价 供应商名 地址

评分标准:本小题5分,其中实体2分、联系2分、属性1分。 (2)此E--R图转换成的关系模型如下

商店(商店编号,商店名,地址) 主码为商店编号 供应商(供应商编号,供应商名,地址) 主码为供应商编号 商品(商品编号,商品名,规格,单价) 主码为商品编号