西南交大数据库管理系统小作业答案

导读:题目一1、E-R图2、关系模式学生(学号,姓名,出生年月,系名,专业名,班号,宿舍号)班级(班号,专业名,系名,人数,入校年份)专业(专业名,专业号,人数)系(系名,系号,系办公室地点,人数)学会(学会名,成立年份,地点,人数)宿舍区(宿舍号,地址,人数)学生学会(学号,姓名,学会名,入会年份)题目二1、用SQL语句建立这四个表(1)CREATETABLES

西南交大数据库管理系统小作业答案

题目一

1、E-R图

2、关系模式

学生(学号,姓名,出生年月,系名,专业名,班号,宿舍号) 班级(班号,专业名,系名,人数,入校年份) 专业(专业名,专业号,人数)

系(系名,系号,系办公室地点,人数) 学会(学会名,成立年份,地点,人数) 宿舍区(宿舍号,地址,人数)

学生学会(学号,姓名,学会名,入会年份)

题目二

1、用SQL语句建立这四个表

(1)CREATE TABLE S

(SNO CHAR(2) PRIMARY KEY,

SNAME CHAR(8) UNIQUE, NOT NULL, STATUS CHAR(4), CITYCHAR(5) );

(2)CREAT TABLE P

(PNG CHAR(2) PRIMARY KEY,

PNAME CHAR(6) UNIQUE, NOT NULL, COLOR CHAR(2), WEIGHT INT

);

(3)CREAT TABLE J

(JNO CHAR(2) PRIMARY KEY,

JNAME CHAR(8) UNIQUE, NOT NULL, CITY CHAR(5) );

(4)CREAT TABLE SPJ

(SNO CHAR(2), PNO CHAR(2), JNO CHAR(2), QTY CHAR(3)

PRIMARY KEY (SNO,PNO,JNO),

FOREIGN KEY (SNO) REFERENCE S(SNO), FOREIGN KEY (PNO) REFERENCE P(PNO), FOREIGN KEY (JNO) REFERENCE J(JNO) );

2、针对以上四个表用SQL语句完成以下操作

(1)找出所有供应商的姓名和所在城市

SELLECT SNAME, CITY FROM S;

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

SELLECT PNAME, COLOR, WEIGHT FROM P;

(3)找出使用供应商S1所供应零件的工程号码。

SELECT JNO FROM SPJ

WHERE SNO=’S1’;

(4)找出工程项目J2使用的各种零件的名称及其数量G、

SELECT PNAME, QTY FROM P, SPJ

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

SELLECT PNO FROM SPJ, S

WHERE SPJ.SNO=S.SNO AND CITY=’上海’; (6)找出使用上海产的零件的工程名称。

SELLECT DISTINCT(JNAME) FROM J, SPJ, S

WHERE J.JNO=SPJ.JNO AND SPJ.SNO=S.SNO AND S.CITY=’上海’; (7)找出没有使用天津产的零件的工程号码。

SELLECT DISTINCT(JNO) FROM SPJ

WHERE SPJ.SNO=S.SNO AND S.CITY<>’’天津; (8)把全部红色零件的颜色改成蓝色。

UPDATE P

SET COLOR=’蓝’ WHERE COLOR=’红’;

(9)由S5供给J4的零件P6改为由S1供应,请做必要的修改

UPDATE SPJ SET SNO=’S1’

WHERE SNO=’S5’ AND JNO=’J4’ AND PNO=’P6’;

(10)从供应商关系中删除s2的记录,并从供应情况关系中删除相应的记录。

DELETE FROM S, SPJ

WHERE S.SNO=’S2’ AND SPJ.SNO=’S2’;

(11)请将(S2,J6,P4,200)插入供应情况关系。

INSERT

INTO SPJ(SNO,JNO,PNO,QTY) VALUES(‘S2’,’J6’,’P4’,’200’);

(12)统计各个供应商供应的零件总数。

SELECE SNO, SUM(QTY) FROM SPJ

GROUP BY SNO;

(13)查询总供应量在600以上的供应商的姓名、供应商编号、总供应数量。

SELECT SNAME, S.SNO, SUM(QTY)//与集函数直接相关的,应该包含在group by 里面 FROM SPJ, S

WHERE SPJ.SNO=S.SNO GROUP BY SNAME,spj.sno HAVING SUM(QTY)>600;

3、请为三建工程项目建立一个供应情况的视图,包括供应两代码(SNO)、零件代码(PNO)、供应数量(QTY)。针对该视图完成下列查询:

CREAT VIEW IS_SPJ AS

SELLECT SNO, PNO, QTY FROM SPJ

WHERE JNO IN(SELLECT JNO FROM J WHERE JNAME=’三建’) (1)找出三建工程项目使用的各种零件代码及其数量。

SELLECT PNO, QTY FROM IS_SPJ; (2)找出供应商S1的供应情况。

SELLECT SNO, PNO, QTY FROM IS_SPJ

WHERE SNO=’S1’;

4、针以上表,用SQL语言完成以下各项操作:

(1)把对表S的INSERT权限授予用户‘张勇’,并允许他再将此权限授予其他用户。

GRANT INSERT ON TABLE S TO 张勇

WITH GRANT OPTION;

(2)把查询SPJ表和修改QTY属性的权限授予用户‘李天明’。

GRANT SELLECTUPDATE(QTY) ON TABLE SPJ

TO 李天明;

博泰典藏网btdcw.com包含总结汇报、高中教育、教学研究、计划方案、行业论文、人文社科、党团工作、农林牧渔、求职职场、高等教育、外语学习、经管营销、旅游景点、表格模板、初中教育以及西南交大数据库管理系统小作业答案等内容。