数据库复习题 下载本文

12、封锁对象的大小称为粒度。

13、多粒度封锁协议允许多粒度树中的每个结点被独立地加锁。

14、在多粒度封锁中一个数据对象可能以两种方式封锁:隐式封锁和显示封锁。 15、数据库的并发控制以事务为单位,通常使用封锁技术实现并发控制。

课后作业:

1.学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若干研究生;每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。请用 E 一 R 图画出此学校的概念模型。

2.某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料制成,不同零件所用的材料可以相同。这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。请用 E 一 R 图画出此工厂产品、零件、材料、仓库的概念模型。

3.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式: 1)求供应工程J1零件的供应商号码SNO: πSno(σSno=‘J1’(SPJ))

2)求供应工程J1零件P1的供应商号码SNO: πSno(σSno=‘J1’∧Pno=‘P1‘(SPJ))

3)求供应工程J1零件为红色的供应商号码SNO:

πSno(σPno=‘P1‘ (σCOLOR=’红‘ (P)∞SPJ)) 4)求没有使用天津供应商生产的红色零件的工程号JNO:

πJno(SPJ)- πJNO(σcity=‘天津’∧Color=‘红‘ (S∞SPJ∞P) 5)求至少用了供应商S1所供应的全部零件的工程号JNO: πJno,Pno(SPJ)÷ πPno(σSno=‘S1‘ (SPJ)) 4.针对习题3中的四个表试用SQL语言完成以下各项操作: (1)找出所有供应商的姓名和所在城市。 SELECT SNAME,CITY FROM S

(2)找出所有零件的名称、颜色、重量。

SELECT PNAME,COLOR,WEIGHT FROM P

(3)找出使用供应商S1所供应零件的工程号码。 SELECT DIST JNO FROM SPJ WHERE SNO='S1' (4)找出工程项目J2使用的各种零件的名称及其数量。 SELECT PNAME,QTY FROM SPJ,P

WHERE P.PNO=SPJ.PNO AND SPJ.JNO='J2' (5)找出上海厂商供应的所有零件号码。 SELECT PNO FROM SPJ,S

WHERE S.SNO=SPJ.SNO AND CITY='上海' (6)出使用上海产的零件的工程名称。 SELECT JNAME FROM SPJ,S,J

WHERE S.SNO=SPJ.SNO AND S.CITY='上海' AND J.JNO=SPJ.JNO (7)找出没有使用天津产的零件的工程号码。 注意: SELECT DISP JNO FROM SPJ

WHERE JNO NOT IN (SELECT DIST JNO

FROM SPJ,S

WHERE S.SNO=SPJ.SNO AND S.CITY='天津') 适用于JNO是唯一或不唯一的情况. (8)把全部红色零件的颜色改成蓝色。 UPDATE P SET COLOR='蓝' WHERE COLOR='红'

(9)由S5供给J4的零件P6改为由S3供应。 UPDATE SPJ SET SNO='S3'

WHERE SNO='S5' AND JNO='J4' AND PNO='P6'

(10)从供应商关系中删除供应商号是S2的记录,并从供应情况关系中删除相应的记录。 A、 DELETE FROM S WHERE SNO=’S2’ B、DELETE FROM SPJ WHERE SNO=‘S2’ (11)请将(S2,J6,P4,200)插入供应情况关系。

INSERT INTO SPJ VALUES(‘S2’,‘J6’,‘P4’,200) 5.今有两个关系模式:

职工(职工号,姓名,年龄,职务,工资,部门号) 部门(部门号,名称,经理名,地址,电话号)

请用SQL的GRANT 和REVOKE语句(加上视图机制)完成以下授权定义或存取控制功能: ( a )用户王明对两个表有SELECT 权力。 GRANT SELECT ON 职工,部门 TO 王明

( b )用户李勇对两个表有INSERT 和DELETE 权力。 GRANT INSERT,DELETE ON 职工,部门 TO 李勇 ( c ) 每个职工只对自己的记录有SELECT 权力。

GRANT SELECT ON 职工 WHEN USER()=NAME TO ALL;

( d )用户刘星对职工表有SELECT 权力,对工资字段具有更新权力。 GRANT SELECT,UPDATE(工资) ON 职工 TO 刘星 ( e )用户张新具有修改这两个表的结构的权力。 GRANT ALTER TABLE ON 职工,部门 TO 张新;

( f )用户周平具有对两个表所有权力(读,插,改,删数据),并具有给其他用户授权的权力。

GRANT ALL PRIVILIGES ON 职工,部门 TO 周平 WITH GRANT OPTION;

( g )用户杨兰具有从每个部门职工中SELECT 最高工资、最低工资、平均工资的权力,他不能查看每个人的工资。 CREATE VIEW 部门工资 AS

SELECT 部门.名称,MAX(工资),MIN(工资),AVG(工资) FROM 职工,部门

WHERE 职工.部门号=部门.部门号 GROUP BY 职工.部门号

GRANT SELECT ON 部门工资 TO 杨兰;

6 .假设有下面两个关系模式:职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码;部门(部门号,名称,经理名,电话),其中部门号为主码。用 sQL 语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义:定义每个模式的

主码;定义参照完整性;定义职工年龄不得超过 60 岁。

答 CREATE TABLE DEPT (Deptno NUMBER(2), Deptname VARCHAR(10), Manager VARCHAR(10), PhoneNumber Char(12)

CONSTRAINT PK_SC RIMARY KEY(Deptno)); CREATE TABLE EMP (Empno NUMBER(4), Ename VARCHAR(10), Age NUMBER(2),

CONSTRAINT C1 CHECK ( Aage<=60), Job VARCHAR(9), Sal NUMBER(7,2),

Deptno NUMBER(2),

CONSTRAINT FK_DEPTNO FOREIGN KEY(Deptno) REFFERENCES DEPT(Deptno));

7.现有一局部应用,包括两个实体:“出版社”和“作者”,这两个实体是多对多的联系,请读者自己设计适当的属性,画出 E 一 R 图,再将其转换为关系模型(包括关系名、属 性名、码和完整性约束条件)。 答:

8.请设计一个图书馆数据库,此数据库中对每个借阅者保存读者记录,包括:读者号,姓名,地址,性别,年龄,单位。对每本书存有:书号,书名,作者,出版社。对每本被借出的

书存有读者号、借出日期和应还日期。要求:给出 E 一 R 图,再将其转换为关系模型。 答 :E 一 R 图为: