福师数据库管理与应用考试复习题及参考答案资料
福师《数据库管理与应用》考试复习题三套
一、选择题(1)
1、数据流程图(DFD)是用于描述结构化方法中_C__阶段的工具。
A可行性分析 B.详细设计 C.需求分析 D.程序编码
2、数据库的基本特点是_B__。
A.(1)数据可以共享(或数据结构化)(2)数据独立性
(3)数据冗余大,易移植(4)统一管理和控制
B.(1)数据可以共享(或数据结构化)(2)数据独立性
(3)数据冗余小,易扩充(4)统一管理和控制
C.(1)数据可以共享(或数据结构化)(2)数据互换性
(3)数据冗余小,易扩充(4)统一管理和控制
D.(1)数据非结构化(2)数据独立性
(3)数据冗余小,易扩充(4)统一管理和择制
3、关系模型中,一个关键字是_C__。
A.可由多个任意属性组成
B.至多由一个属性组成
C.可由一个或多个其值能惟一标识该关系模式中任何元组的属性组成
D.以上都不是
4、在数据库的三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是_D___。
A.外模式B.内模式C.存储模式D.模式
5、如下图所示的E-R图在转换成关系模型时可转换为__C__关系模式。
A.1个 B.2个 C.3个 D.4个
6、从关系中挑选出指定的属性组成新关系的运算称为_B__。
A.“选择”运算B.“投影”运算C.“联接”运算D.“交”运算
7、用__D__形式表示实体类型和实体间的联系是关系模型的主要特征。
A.指针B.链表C.关键字D.表格
8、设有学生表S、课程表C和学生选课表SC,它们的结构如下:
S(S#,SN,SEX,AGE,DEPT)
C(C#,CN)
SC(S#,C#,GRADE)
其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程
号,CN为课程名,GRADE、为成绩。
检索选修课程“C2”的学生中成绩最高的学生的学号。正确的SELECT语句是_D__。
A.SELECT S# FORM SC WHERE C#=“C2” AND GRADE >=
(SELECT GRADE FORM SC WHERE C#=“C2”)
B.SELECT S# FORM SC WHERE C#=“C2” AND GRADE IN
(SELECT GRADE FORM SC WHERE C#=“C2”)
C.SELECT S# FORM SC WHERE C#=“C2” AND GRADE NOT IN
(SELECT GRADE FORM SC WHERE C#=“C2”)
D.SELECT S# FORM SC WHERE C#=“C2” AND GRADE>=ALL
(SELECT GRADE FORM SC WHERE C#=“C2”)
9、__C___是DBMS的基本工作单位,它是用户定义的一组逻辑一致的程序序列。
A.程序B.命令C.事务D.文件
10、事务的隔离性是指__C__。
A.事务中包括的所有操作要么都做,要么都不做
B.事务一旦提交,对数据库的改变是永久的
C.一个事务内部的操作及使用的数据对并发的其他事务是隔离的
D.事务必须是使数据库从一个一致性状态变到另一个一致性状态
一、选择题(2)
1.数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是_ A_。
A.DBS包括DB和DBMS B.DBMS包括DB和DBS
C.DB包括DBS和DBMS D.DBS就是DB,也就是DBMS
2.按照传统的数据模型分类,数据库系统可以分为三种类型C
A.大型、中型和小型 B.西文、中文和兼容
C.层次、网状和关系 D.数据、图形和多媒体
3.关系数据库管理系统应能实现的专门关系运算包括B。
A.排序、索引、统计 B.选择、投影、连接
C.关联、更新、排序 D.显示、打印、制表
4.数据流程图(DFD)是用于描述结构化方法中_C_阶段的工具。
A可行性分析 B.详细设计 C.需求分析 D.程序编码
5.设有学生表S、课程表C和学生选课表SC,它们的结构如下:
S(S#,SN,SEX,AGE,DEPT),C(C#,CN),SC(S#,C#,GRADE)
其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程
号,CN为课程名,GRADE、为成绩。
检索选修课程“C3”的学生中成绩最高的学生的学号。正确的SELECT语句是_A__。
A.SELECT S# FORM SC WHERE C#=“C3” AND GRADE >=
(SELECT GRADE FORM SC WHERE C#=“C3”)
B.SELECT S# FORM SC WHERE C#=“C3” AND GRADE IN
(SELECT GRADE FORM SC WHERE C#=“C3”)
C.SELECT S# FORM SC WHERE C#=“C3” AND GRADE NOT IN
(SELECT GRADE FORM SC WHERE C#=“C3”)
D.SELECT S# FORM SC WHERE C#=“C3” AND GRADE=
(SELECT MAX(GRADE) FORM SC WHERE C#=“C3”)
6.在关系代数的传统集合运算中,假定有关系R和S,运算结果为W。如果W中的元组属于R而不属于
S,则W为_C__运算的结果。
A.笛卡尔积B.并C.差D.交
7.在关系代数的专门关系运算中,从表中取出满足条件的属性的操作称为__B__。
A.选择B.投影C.连接D.扫描
8.自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然连接时,要求R和S含
有一个或多个共有的_D__。
A.元组B.行C.记录D.属性
9.下面哪个不是数据库系统必须提供的数据控制功能__A_。
A.建立B.插入C.删除D.查询
10.事务的一致性是指_D__。
A.事务中包括的所有操作要么都做,要么都不做
B.事务一旦提交,对数据库的改变是永久的
C.一个事务内部的操作及使用的数据对并发的其他事务是隔离的
D.事务必须是使数据库从一个一致性状态变到另一个一致性状态
一、选择题(3)
1、数据库的概念模型独立于_B__。
A.E-R图B.具体的机器和DBMS C.信息世界D.现实世界
2、数据库是在计算机系统中按照一定的数据模型组织、存储和应用的__B__。
A.文件的集合 B.数据的集合C.命令的集合D.程序的集合
3、支持数据库各种操作的软件系统叫__B__。
A.命令系统B.数据库管理系统C.数据库系统D.操作系统
4、数据库管理系统中用于定义和描述数据库逻辑结构的语言称为__B__。
A.数据库模式描述语言B.数据库子语言
C.数据操纵语言D.数据结构语言
5、数据库系统的数据独立性是指_B___。
A.不会因为数据的变化而影响应用程序
B.不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序
C.不会因为存储策略的变化而影响存储结构
D.不会因为某些存储结构的变化而影响其他的存储结构
6、同一个关系模型的任两个元组值_A__。
A.不能全同B.可全同C.必须全同D.以上都不是
7、关系规范化中的删除操作异常是指_A__。
A.不该删除的数据被删除B.不该插入的数据被插入
C.应该删除的数据未被删除D.应该插入的数据未被插入
8、消除了部分函数依赖的1NF的关系模式,必定是B__。
A.1NF B.2NF C.3NF D.4NF
9、如下面的数据库的表中,若职工表的主关键字是职工号,部门表的主关键字是部门号,SQL操作_B__不能执行。
职工表部门表
B.将行(‘005’,‘乔兴’,‘04’,750)插入至职工表中
C.将职工号为‘001’的工资改为700
D.将职工号为‘038’的部门号改为‘03’
10、若事务T对数据R已加X锁,则其他对数据R__D__。
A.可以加S锁不能加X锁B.不能加S锁可以加X锁
C.可以加S锁也可以加X锁D.不能加任何锁
二、填空题(1)
1、数据独立性又可分为______________①和______________②。
答案:物理独立性;逻辑独立性
2、外模式是 _____的子集。
答案:模式
3、数据库管理系统包含的主要程序有______________①、______________②和______________③。
答案:语言编译处理程序;系统运行控制程序;实用程序
4、关系代数运算中,专门的关系运算有__________①、__________②和_________③。
答案:选择;投影;连接
5、SQL语言的数据定义功能包括___________________①、___________________②、___________________
③和___________________④。
答案:定义数据库;定义基本表;定义视图;定义索引
6、设有如下关系表R:
R(NO,NAME,SEX,AGE,CLASS),主关键字是NO,其中NO为学号,NAME为姓名,SEX为性别,AGE 为年龄,CLASS为班号。写出实现下列功能的SQL语句:
(1)插入一个记录(25,‘李明’,‘男’,21,‘95031’);______________________①。
(2)将学号为10的学生姓名改为‘王华’; _________________________②。
(3)删除学号为20的学生记录;_________________________③。
答案:INSERT INTO R V ALUES (25, ‘李明’,’男’,21,’95031’ );
UPDA TE R SET NAME=’王华’ WHERE NO=10;
DELETE FROM R WHERE NO=20
7、关系规范化的目的是____________________________。
答案:控制冗余,避免插入和删除异常,从而增强数据库结构的稳定性和灵活性
8、在关系数据库的规范化理论中,在执行“分解”时,必须遵守规范化原则:保持原有的依赖关系和____。答案:无损连接性
9、有两种基本类型的锁,它们是________和排它锁。
答案:共享锁
10、数据库设计的几个步骤是____①、___②、____③、物理设计、编码和调试。
答案:需求分析;概念设计;逻辑设计
11.数据库技术主要研究如何_存储、使用和管理数据__。
二、填空题(2)
1.DBMS是指_为数据库的建立、使用和维护而配置的系统软件①,它是位于__数据库____②和操作系统之间的一层管理软件。
2.一个数据模型的组成包括:数据结构、_数据操作①和_数据的完整性约束条件②。
3.关系的三种类型是_一对多一对一多对多。
4.己知科室(科室编号,名称,电话,地点)和职工(职工号,姓名,性别,调入日期,科室编号)两个关系,科室关系的主关键字是科室编号,科室关系的外关键字是_无外关键字①,职工关系的主关键字是_职工号②,外关键字是_科室编号③。
5.数据库设计的几个步骤是_需求分析;概念设计;逻辑设计_、实施、运行和维护。
6.设有如下关系表R:
R(NO,NAME,SEX,AGE,CLASS),主关键字是NO,其中NO为学号,NAME为姓名,SEX为性别,AGE 为年龄,CLASS为班号。
写出实现下列功能的SQL语句:
(1)插入一个记录(25,‘李明’,‘男’,21,‘95031’);______________________①。
(2)将学号为10的学生姓名改为‘王华’; ________________________②。
(3)删除学号为20的学生记录;_________________________③。
答案:INSERT INTO R V ALUES (25, ‘李明’,’男’,21,’95031’ );
UPDA TE R SET NAME=’王华’ WHERE NO=10;
DELETE FROM R WHERE NO=20
8、数据库系统一般是由_数据库①、_操作系统②、_数据库管理系统③、_应用程序④、_用户⑤组成。
9、指出下列缩写的含义:
(l)DML _数据操纵语言①
(2)DBMS _数据库管理系统②
(3)DDL _数据定义语言③
(4)DBS _数据库系统④
(5)SQL _结构化查询语言⑤
(6)DB __数据库⑥
(7)DD __数据字典⑦
(8)DBA __数据库管理员⑧
10、在一个实体表示的信息中,称_可用于区别实体中不同个体的一个或几个属性的组合_为关键字。
二、填空题(3)
1、数据库系统的体系结构通常分为三层,其中_外模式_是数据库用户和数据库系统的接口;_概念模式_是数据库中全部数据的逻辑结构的描述;_内模式_是数据库物理结构的描述。
2、实体之间的联系可抽象为三类,它们是_______①、________②和_______③。
答案:一对一联系;一对多联系;多对多联系
3、一个关系模式的定义格式为__________________________。
答案:关系名(属性名1,属性名2,…,属性名n)
4、关系代数运算中,传统的集合运算有__________①、__________②、_________③和__________④。答案:并、交、差、笛卡尔积
5、己知系(系编号,系名称,系主任,电话,地点)和学生(学号,姓名,性别,入学日期,专业,系编号)两个关系,系关系的主关键字是__________①,系关系的外关键字是_________②,学生关系的主
关键字是__________③,外关键字是__________④。
答案:系编号;无外关键字;学号;系编号
6、SQL是___________________。
答案:结构化查询语言
7、SQL SERVER中的编程语言就是_______________语言。
答案:SQL
8、在一个关系R中,若每个数据项都是不可再分割的,那么R一定属于_________。
答案:1NF
9、数据库的完整性是指数据的__________①和__________②。
答案:一致性;正确性
10、数据冗余可能导致的问题有__________①和__________②。
答案:浪费存储空间及修改麻烦;潜在的数据不一致性
三、简答题(1)
1.试述DBMS的功能。(4分)
答案:DBMS的功能包括:数据定义语言、数据操纵功能、数据库运行管理功能、数据库建立和维护功能。
2.把E-R模型转换为关系模型的转换规则有哪些?(4分)
答案:E-R图向关系模型的转换规则:一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。
对于实体间的联系则有以下不同的情况:
(1)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。
(2)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
(3)一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体码的组合组成该关系的码,或码的一部分。
(4)三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
(5)具有相同码的关系模式可合并。
3.已知关系R,T如下图所示,求R*T即R与T的自然连接。(4分)
R T
A B B C
C D D M
C D D N
E F F N
4.一个图书管理系统中有如下信息:(8分)
描述读者的属性有:读者编号、姓名、性别、出生年月、单位
描述图书的属性有:书号、书名、作者、出版社
其中约定:每个读者可借看多本图书,每本图书可被多个读者借看,借出时要记录借出时间,还回时要记录还回时间。
请用E-R模型描述图书和读者的联系,注明属性和联系类型;并将E-R模型转换成关系模型,同时标明各关系模式的主键和外键。
答案:E-R图:
关系模型:
读者(读者编号,姓名,性别,出生年月,单位)
图书(书号,书名,作者,出版社)
借阅(读者编号,书号,借阅时间,归还时间)
三、简答题(2)
1、简述什么事数据库的索引,以及建立索引的目的。(4分)
答案:索引是SQL在基本表中列上建立的一种数据库对象,也可称其为索引文件,它和建立于其上的基本表是分开存储的,建立索引的主要目的是提高数据检索性能。
2、简述E-R模型向关系模型的转换方法。(4分)
答案:
(1)若实体间的联系是1:1联系,可以在两个实体类型转换成的两个关系模式中的任意一个关系模式的属性中,加入另一个关系模式的主码和联系类型的属性。
(2)若实体间的联系是1:n联系,则在n端实体类型转换成的关系模式中,加入1端实体类型转换成的关系模式的主码和联系类型的属性。
(3)若实体间的联系是m:n联系,则将联系类型也转换成关系模式,其属性为两端实体类型的主码加上联系类型的属性,而该主码为两端实体主码的组合。
3、简述C/S结构的优点。(4分)
答案:优点有:数据集中存储;业务逻辑和安全规则可以在服务器上定义一次,而后被所有的客户使用;关系数据库服务器仅返回应用程序所需要的数据,这样可以减少网络流量;节省硬件开销;备份和恢复数据变得非常容易。
三、简答题(3)
1、简述局部变量和全局变量的区别。
答案:局部变量由用户定义,仅在声明它的批处理、存储过程或者触发器中有效,处理结束后,局部变量变成无效。全局变量不能被显式的赋值或声明,而且不能由用户定义。
2、简述创建视图的原则。
答案:①只能在当前数据库中创建视图;②视图名字必须遵守标识符的规则,且对每个用户必须唯一;
③可以在其他视图和引用视图的过程之上建立视图;④定义视图的查询不可以包含ORDER BY、COMPUTE或COMPUTE BY子句以及INTO关键字;⑤不能在视图上定义全文索引;⑥不能创建临时视图,也不能在临时表上创建视图;⑦不能对视图执行全文查询,但是如果查询所引用的表被配置为支持全文索引,就可以在视图定义中包含全文查询。
3、简述主键约束和唯一性约束的区别。
答案:主键约束强制唯一性,但是不允许为空值;唯一约束在列集内强制执行值的唯一性,但是允许为空。主键约束每个表中主键只能有一个,但是唯一约束列却可以有多个。唯一约束优先于唯一索引。4、简述范式各等级的定义。
答案:
1NF:设R是一个关系模式,R属于1NF当且仅当R中每一个属性A的值域只包含原子项,即不可分割的数据项。
2NF:设R是一个关系模式,R属于2NF当且仅当R是1NF,且每个非主属性都完全函数依赖于主码。3NF:设R是一个关系模式,R属于3NF当且仅当R是2NF,且每个非主属性都非传递函数依赖于主码。BCNF:对于关系模式R,若R中的所有非平凡的、完全的函数依赖的决定因素是码,则R属于BCNF。
四、编写程序题(1)
1、假设数据库std_dbs中有3个表,各表逻辑结构设计如下:
①学生表student其结构为:学号(定长字符串,12),姓名(变长字符串,20,非空),性别(定长字符串,2,默认值“男”),年龄(整数,非空)。主键:学号
②课程表course其结构为:课程号(定长字符串,3),课程名称(变长字符串,20)。主键:课程号
③成绩表grade其结构为:学号(定长字符串,12),课程号(定长字符串,3),成绩(整数,取值0~100)。主键:(学号,课程号)。外键:学号,其值取自表“学生”主键“学号”的值;课程号,其值取自表“课程”主键“课程号”的值。
请用SQL语句完成如下操作:(10分)
(1)按课程名称、学号二重排序输出:课程名称,学号,姓名,成绩。
(2)查询与“刘晨”年龄一样的学生。
答案:(1)SELECT course.课程名称, student.学号, student.姓名, grade.成绩
FROM grade,course,student
WHERE course.课程号=grade.课程号AND student.学号=grade.学号
ORDER BY course.课程名称,student.学号
(2)SELECT * FROM student WHERE 年龄=
(SELECT 年龄FROM student WHERE 姓名='刘晨')
2、假设数据库factory中有3个表,各表逻辑结构设计如下:
①部门表depart,其结构为:部门号(整数),部门名(定长字符串,10)。主键:部门号。
②职工表worker,其结构为:职工号(整数),姓名:(定长字符串,8),性别:(定长字符串,2,默认值“男”),出生日期(日期型),党员否(逻辑型),参加工作(日期型),部门号(整数)。主键:职工号;外键:部门号。
③职工工资表salary,其结构为:职工号(整数),日期(日期型),工资(数字型,(6,1),取值<=15000)。主键:职工号+日期;外键:职工号。
请用SQL语句完成下列操作:
(1)显示所有职工的职工号、姓名和平均工资。
(2)显示所有职工的职工号、姓名和部门类型,其中财务处和人事处属管理部门,市场部属市场部门。
答案:(1)Select worker.职工号,姓名,avg(工资)from worker, salary where worker.职工号=salary.职工号group by worker.职工号
(2)select worker.职工号, worker.姓名,case depart.部门名
when '财务处' then '管理部门' when '人事处'then'管理部门' when '市场部'then'市场部门' end as '部门类型' from worker, depart where worker.部门号= depart.部门号
3、编写一个存储过程能根据用户提供CHZH(储户账号)、CQKS(存取款数)进行存取款处理。CHYEB(CHZH CHAR(12),CHYE DECIMAL(12,2))是储户余额表;其中CHYE是储户剩余的金额。CQKMXB(CHZH CHAR(12), CQKS DECIMAL(12,2),CQBZ BIT, CQRQ DATETIME)是存取款明细表,其中CQBZ为存取标志(1为存款,0为取款),CQRQ为存取日期。
答案:
Create proc in_out
@ZHANGHAO char(12), @JINE decimal(12,2), @BIAOZHI bit, @RIQI datatime
as
declare @YUE decimal(12,2)
insert CQKMXB(CHZH,CQKS,CQBZ,CQRQ)
V alues(@ZHANGHAO,@JINE,@BIAOZHI,@RIQI)
//注释:向明细表中添加存取款明细
select @YUE = CHYE from CHYEB where CHZH = @ZHANGHAO
//注释:将账号的原有剩余金额保存到变量中
if @BIAOZHI = 1
@YUE = @YUE + @JINE
//如果是存款,则将账号余额增加
if @BIAOZHI = 0
@YUE = @YUE - @JINE
//如果是取款,则将账号余额减少
update CHYEB set CHZH = @ZHANGHAO, CHYE = @YUE
//在数据库中更新该账号信息
Go
四、编写程序题(2)
1、在教学管理系统中,含有二个关系:
学生(学号,姓名,性别,出生日期,系名)
成绩(学号,课程名,成绩)
(1)若查询每个学生的选修课程数、总成绩、平均成绩,写出实现上述要求的SQL语句
(2)用SQL语句写出往成绩表中插入一个元组(20010101,管理信息系统,80)
答案:
(1)SELECT 学生,学号,姓名,COUNT(成绩.学号),SUM(成绩),A VG(成绩)FROM 学生,成绩
WHERE 学生.学号=成绩.学号
GROUP BY学生.学号
(2)INSERT INTO 成绩(学号,课程名,成绩)V ALUES('20010101','管理信息系统',80)
2、基于数据库中的学生表、成绩表、任课表:
学生(学号,姓名,性别,出生日期,系名)
成绩(学号,课程名,成绩)
任课(课程名,任课教师名)
用SQL语言中的CREATE语句创建一个含有学号、姓名、性别、系名、课程名、成绩、任课教师名的学生成绩视图。
答案:
CREATE VIEW 学生成绩
AS
SELECT 学生.学号,姓名,性别,系名,成绩,学生.课程名,任课教师名
FROM 学生,成绩,任课
WHERE 学生.学号=成绩.学号AND 成绩.课程名=任课.课程名
3、设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式;
S(SNO,SNAME,STATUS,CITY);
P(PNO,PNAME,COLOR,WEIGHT);
J(JNO,JNAME,CITY);
SPJ(SNO,PNO,JNO,QTY):
供应商表S由供应商代码(SNO),供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;
零件表P由零件代码(PNO)、零件名(PNAME),颜色(COLOR),重量(WEIGHT)组成;
工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市 (CITY)组成:
供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表
示某供应商供应某种零件给某工程项目的数量为QTY。
针对建立的四个表试用SQL语言完成如下查询:
(1)求供应工程J1零件的供应商号码;
(2)求供应工程J1零件P1的供应商号码;
(3)求零件颜色为红色和兰色的零件号码;
(4)求重量在5和20公斤范围内的零件名称;
(5)查询所有与"高碳钢"有关的零件号码;
(6)查询没有登记零件供应数量的零件名称;
(7)查询上海供应商且状态标志为'A'级的供应商情况;
(8)查询零件号码为'TB_435'的零件颜色和重量;
(9)查询既不在上海和天津也不在北京的供应商情况;
(10)查询与"聚四氟乙稀"化学制品有关的零件情况。
答案:
(1)SELECT SNO FROM SPJ WHERE JNO='J1'
(2)SELECT SNO FROM SPJ WHERE JNO='J1' AND PNO='P1'
(3)SELECT PNO FROM P WHERE COLOR='红色' OR COLOR='兰色'
(4)SELECT PNAME FROM P WHERE WEIGHT BETWEEN 5 AND 20
(5)SELECT PNO FROM P WHERE PNAME LIKE '%高碳钢%'
(6)SELECT P.PNAME FROM P,SPJ WHERE P.PNO=SPJ.PNO AND SPJ.QTY IS NULL
(7)SELECT * FROM S WHERE CITY='上海' AND STA TUS='A'
(8)SELECT COLOR,WEIGHT FROM P WHERE PNO='TB_435'
(9)SELECT * FROM S WHERE CITY<>'上海' AND CITY<>'天津' AND CITY<>'北京'
(10)SELECT * FROM P WHERE PNAME LIKE '%聚四氟乙稀%'
四、编写程序题(3)
1、设有如下关系模式:(10分)
学生表:student(sno,sname,ssex,sbirthday,class)
教师表:teacher(tno,tname,tsex,tbirthday,prof,depart)
课程表:course(cno,cname,tnum)
成绩表:score(sno,cno,degree)
教学表:stc(class,cno,tno)
其中tnum为该课程的计划任课教师数。请用SQL语句完成如下操作:
(1)查询所有学生的sno、cname、degree。
(2)查找给学生“刘芳”上“操作系统”课程的教师姓名。
答案:
(1)SELECT score.sno, https://www.360docs.net/doc/5915985570.html,ame, score.degree FROM score, course WHERE https://www.360docs.net/doc/5915985570.html,o= https://www.360docs.net/doc/5915985570.html,o
(2)SELECT teacher.tname FROM student, teacher, course, stc WHERE student.sno=score.sno AND https://www.360docs.net/doc/5915985570.html,o=https://www.360docs.net/doc/5915985570.html,o AND https://www.360docs.net/doc/5915985570.html,o=https://www.360docs.net/doc/5915985570.html,o AND stc.tno=teacher.tno AND student.sname=’刘芳’ AND https://www.360docs.net/doc/5915985570.html,ame=’操作系统’
2、学校有多名学生,财务处每年要收一次学费。为财务处收学费工作设计一个数据库,包括两个关系:
学生 (学号,姓名,专业,入学日期)
收费 (学年,学号,学费,书费,总金额)
假设规定属性的类型:学费、书费、总金额为数值型数据;学号、姓名、学年、专业为字符型数据;入学日期为日期型数据。列的宽度自定义。
试用SQL语句定义上述表的结构。(定义中应包括主键子句和外键子句)
答案:CREATE TABLE学生 (学号char(6) primary key,
姓名char(4),
专业char(6),
入学日期datetime);
CREATE TABLE收费 (学年char(6),
学号char(6),
学费int,
书费int,
总金额int,
constraint pk_sf1 primary key (学年,学号),
constraint pk_sf2 foreign key (学号) references 学生(学号));
3、设有关系EMP(ENO,ENAME,SALARY,DNO),其中各属性的含义依次为职工号、姓名、工资和所在部门号,以及关系DEPT(DNO,DNAME,MANAGER),其中各属性含义依次为部门号、部门名称、部门经理的职工号。
试用SQL语句完成以下任务:
(1)试用SQL语句完成查询:列出各部门中工资不低于600元的职工的平均工资。
(2)请用SQL语句将“销售部”的那些工资数额低于600的职工的工资上调10%答案:
(1)SELECT DNO, AVG (SALARY) FROM EMP WHERE SALARY>=600 GROUP BY DNO
(2)UPDATE EMP SET SALARY=SALARY*1.1 WHERE ENO IN (SELECT ENO FROM EMP, DEPT WHERE EMP.DNO=DEPT.DNO AND DNAME='销售部' AND SALARY<600)