2016下半年数据库系统第一次作业

导读:A.关系规范化、数据操纵、数据控制,B.数据定义、数据操纵、数据控制,C.数据定义、关系规范化、数据控制,D.数据定义、关系规范化、数据操纵,1.Armstrong公理系统的三条推理规则是___增广___、__自反__、_,2.SQL语言支持数据库三级模式结构,2.结合题1的数据库,?2016下半年数据库系统第一次学习活动活动内容:设有关系EMP(ENO,一、单项选择题1.自然连接是构成新关系

2016下半年数据库系统第一次作业

一、单项选择题

1.自然连接是构成新关系的有效方法。一般情况下,当对关系R和S使用自然连接时,要求R和S含有一个或多个共有的( D )。

A.元组 B.行 C.记录 D.属性

2.现有关系表:学生(宿舍编号,宿舍地址,学号,姓名,性别,专业,出生日期)的主码是( B )。

A.宿舍编号

B.学号

C.宿舍地址,姓名

D.宿舍编号,学号

3.下列关系运算中,( C )运算不属于专门的关系运算。

A.选择 B.连接

C.广义笛卡尔积 D.投影

4.SQL语言具有( B )的功能。

A.关系规范化、数据操纵、数据控制

B.数据定义、数据操纵、数据控制

C.数据定义、关系规范化、数据控制

D.数据定义、关系规范化、数据操纵

5.假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。

要查找某个学生的基本信息及其选课的平均成绩,将使用关系( A )

A.S和SC

C.S和C B.SC和C D.S、SC和C

二、填空题

1.Armstrong公理系统的三条推理规则是___增广___、__自反__、__传递___。

2.SQL语言支持数据库三级模式结构。在SQL中,外模式对应于__视图和部分基本表_________、模式对应于基本表__、内模式对应于___储存文件______。

三、设计题

1.用SQL的有关语句定义

1) 教师关系T,包括教师编号TNo,姓名TN,系别TD,办公室电话TEL;

2) 课程关系C,包括课程号CNo,课程名CN,任课教师TN;

3) 教师教授课程关系TC,包括TNo,CNo和工作量Q。

注意:说明主键码和外键码。

答:

CREATE TABLE T{

TNo INT PRIMARY KEY,

TN CHAR(30),

TD CHAR(20),

TEL CHAR(20)

}

2)

CREATE TABLE C{

CNo INT PRIMARY KEY,

CN CHAR(30),

TN CHAR(30)

}

3)

CREATE TABLE TC{

TNo INT,

CNo INT,

Q INT,

PRIMARY KEY(TNo,CNo),

FOREIGN KEY(TNo) REFERENCES T(TNo),

FOREIGN KEY(CNo) REFERENCES C(CNo)

}

2.结合题1的数据库,用SQL的嵌套查询语句找出不教D5(课程号)的教师的姓名。 答:

SELECT TN

FROM T

WHERE NOT EXISTS

( SELECT *

FROM TC

WHERE TNo=T.TNo AND CNO=’D5’);

? 2016下半年数据库系统第一次学习活动 活动内容: 设有关系EMP(ENO,ENAME,SALARY,DNO),其中各属性的含义依次为职工号、姓名、工资和所在部门号,以及关系DEPT(DNO,DNAME,MANAGER),其中各属性含义依次为部门号、部门名称、部门经理的职工号。试用SQL语句完成以下查询:

列出各部门中工资不低于600元的职工的平均工资。写出“查询001号职工所在部门名称”的关系代数表达式。请用SQL语句将“销售部”的那些工资数额低于600的职工的工资上调10%。

1)列出各部门中工资不低于600元的职工的平均工资

select dname as 部门名称,avg(salary) as 平均工资

from emp a,dept b

where a.dno=b.dno and salary>=600

group by dname

(2)写出“查询001号职工所在部门名称”的关系代数表达式

select b.DNAME

from emp a,dept b

where a.DNO=b.DNO and a.ENO='001'

(3)用SQL语句将“销售部”的那些工资数额低于600的职工的工资上调10% update EMP

set SALARY=SALARY*1.1

where DNO in

(select DNO

from emp, dept

where emp.dno=dept.dno

and dname=‘销售部’

and salary<600)

1)列出各部门中工资不低于600元的职工的平均工资

SELECT DNO, AVG (SALARY)

FROM EMP

WHERE SALARY>=600

GROUP BY DNO 2)请用SQL语句将“销售部”的那些工资数额低于600的职工的工资上调10%。

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)

或者

UPDATE EMP

SET SALERY = SALERY * 1.1

FROM EMP A,ENO B

WHERE A.DNO = B.DNO

AND B.DNAME=’销售部’

AND B.SALARY<600

博泰典藏网btdcw.com包含总结汇报、教学研究、行业论文、外语学习、旅游景点、表格模板、人文社科、出国留学、高中教育、自然科学、高等教育、IT计算机、资格考试、初中教育以及2016下半年数据库系统第一次作业等内容。