返回信息流第一个题目:
设有一个供应商、零件、工程项目数据库SPJ,并有如下关系,完成一下SQL语句:
S(Sno,Sname,Status,City), 分别表示:供应商代码,供应商名,供应商状态,供应商所在城市;
J(Jno, Jname, City), 分别表示:工程号,工程名,工程项目所在城市;
P(Pno,Pname, Color, Weight)分别表示:零件代码,零件名称,零件的颜色,零件的重量;
SPJ(Sno, Pno, Jno, Qty)表示供应的情况,由:供应商代码,零件代码,工程号及数量组成;
(1) 查询使用供应商编号S1所供应零件的工程号码;
(2) 查询供应商编号S1供应工程号J3的零件的名称;
(3) 查询供应工程号J3红色零件的北京供应商的名称;
(4) 现有一新工程,工程号是BJ003,工程名是 “学生建筑”,工程项目所在地是北京。供应商代码为gys007的供应商为此工程供应了零件代码为ljdm008的零件数量为10000。把这些数据插入到数据库中。
(5) 创建一个视图,包含供应商为项目供应零件的信息,包括:供应商名称、工程名称、零件名称和数量。
(6) 把供应商“红星公司”的地址改成湖南长沙。
第二个题目:
18 假设某集团下属多个公司,集团数据库中有一关系模式R表示各公司项目和公司部门项目申请情况:
R(公司编号,项目编号,预算经费,部门编号,负责人)
如果规定:
(1) 公司编号都不同,一个公司内部门编号不同,但公司间部门编号有可能相同;
(2) 公司内项目编号不同,但不同公司的项目编号有可能相同;
(3) 每个公司的每个项目只能由一个部门申请;
(4) 每个公司的每个部门只有一个负责人,而一个人可能负责多个部门;
(5) 每个公司的每个项目只有一个预算经费。 则:
(1) 写出函数依赖。
(2) 给出此关系的候选键。
(3) 此关系模式最高属于第几范式?
(4) 此关系模式有何异常?如何分解?
这是一条镜像帖。来源:北邮人论坛 / database / #4930同步于 2010/10/21
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖
跪求帮做!急急急。。。。对我来说比较复杂,对高手来说很简单
ppoo
2010/10/21镜像同步1 回复
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复
/*1、设有一个供应商、零件、工程项目数据库SPJ,并有如下关系,完成一下SQL语句:
S(Sno,Sname,Status,City), 分别表示:供应商代码,供应商名,供应商状态,供应商所在城市;
J(Jno, Jname, City), 分别表示:工程号,工程名,工程项目所在城市;
P(Pno,Pname, Color, Weight)分别表示:零件代码,零件名称,零件的颜色,零件的重量;
SPJ(Sno, Pno, Jno, Qty)表示供应的情况,由:供应商代码,零件代码,工程号及数量组成;
(1) 查询使用供应商编号S1所供应零件的工程号码;
(2) 查询供应商编号S1供应工程号J3的零件的名称;
(3) 查询供应工程号J3红色零件的北京供应商的名称;
(4) 现有一新工程,工程号是BJ003,工程名是 “学生建筑”,工程项目所在地是北京。供应商代码为gys007的供应商为此工程供应了零件代码为ljdm008的零件数量为10000。把这些数据插入到数据库中。
(5) 创建一个视图,包含供应商为项目供应零件的信息,包括:供应商名称、工程名称、零件名称和数量。
(6) 把供应商“红星公司”的地址改成湖南长沙。
(1)
select Jno
from SPJ
where Sno='S1';
(2)
select p.Pname
from SPJ,J,P
where SPJ.Sno='S1'
and SPJ.Jno='J3'
and SPJ.Jno=J.Jno
and SPJ.Pno=P.Pno;
(3)
select S.Sname
from S,J,P,SPJ
where S.City='北京'
and J.Jno='J3'
and P.Color='红色'
and S.Sno=SPJ.Sno
and J.Jno=SPJ.Jno
and P.Pno=SPJ.Pno;
(4)
insert into J(Jno, Jname, City) values('BJ003','学生建筑','北京');
commit;
insert into SPJ(Sno, Pno, Jno, Qty) values('gys007','ljdm008','BJ003',10000);
commit;
(5)
create view as
select S.Sname,J.Jname,P.Pname,SPJ.Qty
from S,J,P,SPJ
where S.Sno=SPJ.Sno
and J.Jno=SPJ.Jno
and P.Pno=SPJ.Pno;
(6)
update S
set S.City='湖南长沙'
where S.Sname='红星公司';
commit;
2、
18 假设某集团下属多个公司,集团数据库中有一关系模式R表示各公司项目和公司部门项目申请情况:
R(公司编号,项目编号,预算经费,部门编号,负责人)
如果规定:
(1) 公司编号都不同,一个公司内部门编号不同,但公司间部门编号有可能相同;
(2) 公司内项目编号不同,但不同公司的项目编号有可能相同;
(3) 每个公司的每个项目只能由一个部门申请;
(4) 每个公司的每个部门只有一个负责人,而一个人可能负责多个部门;
(5) 每个公司的每个项目只有一个预算经费。 则:
(1) 写出函数依赖。
(2) 给出此关系的候选键。
(3) 此关系模式最高属于第几范式?
(4) 此关系模式有何异常?如何分解?
(1)公司编号:部门编号-->1:n即f(公司编号,部门编号)=1:n依次类推
公司编号:项目编号-->1:n
部门编号:项目编号-->1:n(n>=1)
部门编号:负责人-->n:1(n>1)
项目编号:预算经费-->1:1
(2)候选键:(公司编号,项目编号)
(3)第二范式
(4)存在非候选键的传递依赖的关系,所以是第二范式,不满足第三范式
可能存在删除异常,删除一条记录,可能把部门的信息也删除掉
分解方式一:
R(公司编号,项目编号,预算经费,部门编号)
R2(部门编号,负责人)
*/