数据库系统概论(第四版)课后习题答案

上传人:桔**** 文档编号:510661847 上传时间:2023-06-28 格式:DOC 页数:5 大小:52KB
返回 下载 相关 举报
数据库系统概论(第四版)课后习题答案_第1页
第1页 / 共5页
数据库系统概论(第四版)课后习题答案_第2页
第2页 / 共5页
数据库系统概论(第四版)课后习题答案_第3页
第3页 / 共5页
数据库系统概论(第四版)课后习题答案_第4页
第4页 / 共5页
数据库系统概论(第四版)课后习题答案_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《数据库系统概论(第四版)课后习题答案》由会员分享,可在线阅读,更多相关《数据库系统概论(第四版)课后习题答案(5页珍藏版)》请在金锄头文库上搜索。

1、第1章 绪论 习题参考答案nm13某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料制成,不同零件所用的材料可以相同。这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。请用E-R图画山此工厂产品,零件,材料,仓库的概念模型。 产品零件原材料仓库构成存储制成存储 nm n L1n 第2章 关系数据库习题参考答案5设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:1)求供应工程J1零件的供应商号码SNO:Sno(Jno=J1(SPJ))2)求供应工程J1零件P1的供应商号码SNO:Sno(Jno=J1Pno=P1(SPJ)3

2、)求供应工程J1零件为红色的供应商号码SNO:Sno(Pno=P1 (COLOR=红 (P)SPJ))4)求没有使用天津供应商生产的红色零件的工程号JNO:Jno(SPJ)- JNO(city=天津Color=红 (SSPJP)5)求至少用了供应商S1所供应的全部零件的工程号JNO:Jno,Pno(SPJ) Pno(Sno=S1 (SPJ)第3章 SQL语言习题参考答案用SQL语句建立第二章习题5中的四个表。S(SNO,SNAME,STATUS,CITY); P(PNO,PNAME,COLOR,WEIGHT); J(JNO,JNAME,CITY); SPJ(SNO,PNO,JNO,QTY);

3、供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成:CREATE TABLE S( Sno CHAR(2) UNIQUE,Sname CHAR(6) ,Status CHAR(2),City CHAR(4);零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成:CREATE TABLE P( Pno CHAR(2) UNIQUE,Pname CHAR(6),COLOR CHAR(2),WEIGHT INT);工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、所在城市(C

4、ITY)组成:CREATE TABLE J( JNO CHAR(2) UNlQUE,JNAME CHAR(8), CITY CHAR(4);供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成:CREATE TABLE SPJ( SNO CHAR(2),PNO CHAR(2),JNO CHAR(2), QTY INT);4针对上题中建立的四个表试用SQL语言完成第二章习题5中的查询:求供应工程J1零件的供应商号码SNO:SELECT SNO FROM SPJ WHERE JNO=J1求供应工程J1零件P1的供应商号码SNO:SELECT S

5、NO FROM SPJ WHERE JNO=J1 AND PNO=P1求供应工程J1零件为红色的供应商号码SNO:SELECT SNO FROM SPJ,P WHERE JNO=J1 AND SPJ.PNO=P.PNO AND COLOR=红求没有使用天津供应商生产的红色零件的工程号JNO:SELECT JNO FROM SPJ WHERE JNO NOT IN (SELECT JNO FROM SPJ,P,S WHERE S.CITY=天津 AND COLOR=红 AND S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO);或者:SELECT JNO FROM J WHERE

6、NOT EXITS( SELECT * FROM SPJ,S,PWHERE S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO); 求至少用了供应商S1所供应的全部零件的工程号JNO。 解法一:将查询分为两步A、查询S1供应商供应的零件号SELECT DIST PNO FROM SPJ WHERE SNO=S1结果是(P1,P2)B、查询哪一个工程既使用P1零件又使用P2零件。SELECT JNO FROM SPJ WHERE PNO=P1 AND JNO IN (SELECT JNO FROM SPJ WHERE PNO=P2)解法二: SELECT DISTINCT JNO F

7、ROM SPJ SPJZWHERE NOT EXISTS (SELECT * FROM SPJ SPJX WHERE SPJX.SNO=S1 AND NOT EXISTS( SELECT * FROM SPJ SPJY WHERE SPJY.PNO=S AND SPJY.SNO=S1);5针对习题3中的四个表试用SQL语言完成以下各项操作: (1)找出所有供应商的姓名和所在城市。 SELECT SNAME,CITY FROM S(2)找出所有零件的名称、颜色、重量。SELECT PNAME,COLOR,WEIGHT FROM P (3)找出使用供应商S1所供应零件的工程号码。 SELECT D

8、IST 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 (7)找出没有使用天津产的零件的工程号码。注意: SELECT DISP JNO FROM SPJ WHERE JNO NOT I

9、N (SELECT DIST JNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND S.CITY=天津) (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(1

10、1)请将(S2,J6,P4,200)插入供应情况关系。 INSERT INTO SPJ VALUES(S2,J6,P4,200)第4章 数据库安全性8、(a)GRANT SELECT ON 职工,部门 TO 王明;(b)GRANT INSERT,DELETE ON 职工,部门 TO 李勇;(c)GRANT SELECT ON 职工 WHEN USER()=NAME TO ALL;(d)GRANT SELECT,UPDATE(工资) ON 职工 TO 刘星;(e)GRANT ALTER TABLE ON 职工,部门 TO 张新;(f)GRANT ALL PRIVILEGES ON 职工,部门 T

11、O 周平WITH GRANT OPTION;(g)CREATE VIEW 部门工资 AS SELECT MAX(工资),MIN(工资) ,AVG(工资),部门名称FROM 职工,部门GROUP BY 职工.部门号;GRANT SELECT ON 部门工资 TO 杨兰;第5章 数据库完整性6、CREATE TABLE DEPT(Deptno NUMERIC(2),Deptname VARCHAR(10),Manager VARCHAR(10),PhoneNumber Char(12),CONSTRAINT PK_SC PRIMARY KEY(Deptno);CREATE TABLE EMP(Em

12、pno NUMERIC(4),Ename VARCHAR(10),Age NUMERIC(3),CONSTRAINT C1 CHECK (Age=60),Job VARCHAR(9),Sal NUMERIC(7,2),Deptno NUMERIC(2),CONSTRAINT FK_DEPTNO FOREIGN KEY(Deptno) REFERENCES DEPT(Deptno);第6章 关系数据理论习题参考答案 2建立一个关于系、学生、班级、学会等诸信息的关系数据库。学生:学号、姓名、出生年月、系名、班号、宿舍区。班级:班号、专业名、系名、人数、入校年份。系:系名、系号、系办公地点、人数。学

13、会:学会名、成立年份、办公地点、人数。 语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。 请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。指出各关系模式的候选码、外部码,有没有全码存在?解:(1)关系模式如下: 学生:S(Sno,Sname,Sbirth,Dept,Class,Rno) 班级:C(Class,Pname,Dept,Cnum,Cyear) 系:D(Dept

14、,Dno,Office,Dnum) 学会:M(Mname,Myear,Maddr,Mnum) (2)每个关系模式的最小函数依赖集如下: A、学生S (Sno,Sname,Sbirth,Dept,Class,Rno) 的最小函数依赖集如下:SnoSname,SnoSbirth,SnoClass,ClassDept,DEPTRno 传递依赖如下:由于SnoDept,而DeptSno ,DeptRno(宿舍区)所以Sno与Rno之间存在着传递函数依赖。 由于ClassDept,Dept Class,DeptRno 所以Class与Rno之间存在着传递函数依赖。 由于SnoClass,ClassSno,ClassDept 所以Sn

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号