数据库原理复习题(2)

2019-09-01 23:19

( )

sno char(8) primary key, sname varchar2(20) not null,

ssex varchar2(2) check(ssex in (‘男’,’女’)), sageint check(sage between 15 and 40), sdept varchar2 (20)

(2)、

INSERT into student (sno, sname,ssex, sage, sdept) values (‘0910010001’,’吴鹏’,’男’,21,’计算机系’) (3)、

UPDATE student set sname=’张萌’,ssex=’女’,sage=22,sdept=’传媒技术系’ where sno=’0910010012’ (4)、

SELECT sname From student

Where sdept=’计算机系’ and sage<20 (5)、

CREATE view v_ student As

SELECT sdept, avg(sage) 平均年龄 From student Group by sdept

Having avg(sage)>19 (6)、

GRANT select on student to admin with grant option 7、

Πname(σ

2、(1)、

sdept=’计算机系’ and sage<20(student))

CREATE table teacher

( No char(8) primary key, Name varchar(20) not null, Sex varchar(2) check(sex in ('男','女')), Age intcheck(age between 15 and 40), Prof varchar(6), Depart varchar(20) ) (2)、

INSERT into teachar(no, name, sex, prof, depart) values ('021912','王敏','女','助教','计算机系') (3)、

UPDATE teacher set name='朱湘',sex='女',prof='教授',depart='传媒技术系' where no='021923' (4)、

SELECT no,name From teacher

Where depart='计算机系' and age>30 and sex='女' (5)、

CREATE view v_teacher As

SELECT depart, avg(age) 平均年龄 From teacher Group by depart Having avg(age)>30 (6)、

GRANT select on teacher to U1 with grant option (7)、

Πname(σ

六、查询优化 1、

depart='计算机系' and age>30 and sex='女'(teacher))

Select sno,sname,ldate From student,l

Where student.lno=l.lno and bno='B001' 2、

Πsno,sname,ldate(σ

3、

bno='B001'

(student∞l))

Πsno,sname,ldateσbno=’B001’σstudent.lno=l.lno×lstudent

4、

Πsno,sname,ldateσstudent.lno=l.lno×σbno=’B001’lstudent

七、关系数据理论

答:student不属于3NF,它属于2NF

因为student的候选关键字为“学号”,而:学号→系号, 系号→系名,系号→学号,所以: 学号→系名,即存在非主属性“系名”对候选关键字“学号”的传递函数依赖,student不是3NF,在student中所有非主属性均依赖于码学号,所以student是2NF。

将student分解成:student1(学号,学生名,年龄,性别,系号)、student2(系号,系名),分解后的student1与student2如图所示:

关系模式student1如下:

学号 学生名 年龄 性别 系号 100001 王 婧 18 女 D3 100002 张 露 19 女 D1 200001 黎明远 20 男 D2 200002 潘 建 21 男 D3 关系模式student2如下:

部门号 部门名 D3 通信工程 D1 电子工程 D2 计算机 D3 通信工程

因为关系模式student1、student2上无传递依赖,所以它们是3NF。 八、

1、查找所有喜欢喝“青岛啤酒”的喝酒者的姓名和电话。 Πdrinkername,phones (σbeername=’青岛啤酒’(likes)∞drinkers) SELECT drinkername,phones FROM drinkers, likes

WHERE drinkers.drinkerid=likes.drinkerid and beers.beername=’青岛啤酒’

2、查找“李明”喜欢喝的所有啤酒的名称和生产厂商。 Πbeername, manf(σdrinkername=’李明’(drinkers)∞likes∞beers) SELECT beername,manf FROM beers

WHERE beername in ( SELECT beername FROM likes WHERE drinkerid in ( SELECT drinkerid FROM drinkers WHERE drinkername=’李明’

)

)

3、查找“刘晨”喜欢喝的所有啤酒的名称,价格以及刘晨的住址和联系电话。 Πbeers.beername, price,addr,phones(σdrinkername=’刘晨’(drinkers)∞likes∞beers) SELECT beers.beername,price,addr,phones FROM drinkers, likes,beers

WHERE drinkers.drinkerid=likes.drinkerid and beers.beername=likes.beername and

drinkername =’刘晨’

4、查找喝酒者编号为“3002”的喝酒者喜欢喝的啤酒的名称、生产厂商以及价格。 Πbeers.beername, manf,price(σdrinkerid=’3002’(likes)∞beers) SELECT beers.beername,manf,price FROM likes,beers

WHERE beers.beername=likes.beernameand drinkerid =’3002’ 九、

十、

解:R不属于3NF,它是2NF。

R的候选码为职工号和职工名,而:

职工号→单位号,单位号→职工号,单位号→单位名.所以,职工号→单位名,即存在非主属性“单位名”对候选关键字职工号的传递函数依赖,所以 R不是3NF. 规范化后的关系子模式为如下图。

R1如下: 职工号 E1 E2 E3 E4 R2如下: 单位号 D3 D1 单位名 CCC AAA 职工名 ZHAO QIAN SEN L1 年龄 20 25 38 25 性别 F M M F 单位号 D3 D1 D3 D3


数据库原理复习题(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:缠中说禅《线段中枢走势趋势盘整背驰概念》

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: