某工程项目公司的信息管理系统的部分关系模式如下: 职工(职工编号,姓名,性别,居住城市); 项目(项目编号,项目名称,状态,城市,负责人编号); 职工项目(职工编号,项目编号)。 其中: 1)一个职工可以同时参与多个项目,一个项目需要多个职工参与。 2)职

admin2009-09-12  53

问题 某工程项目公司的信息管理系统的部分关系模式如下:
职工(职工编号,姓名,性别,居住城市);
项目(项目编号,项目名称,状态,城市,负责人编号);
职工项目(职工编号,项目编号)。
其中:
1)一个职工可以同时参与多个项目,一个项目需要多个职工参与。
2)职工的居住城市与项目所在城市来自同一个域。
3)每个项目必须有负责人,且负责人为职工关系中的成员。
4)项目状态有两个:0表示未完成,1表示已完成。
写出下列SQL语句。
1)写出创建项目关系的SQL语句,请实现相关的完整性约束。查询至少参加两个项目
的职工编号和参与的项目数。
2)假设项目编号为"P001”的项目负责人李强(其用户名为u1)有对参与该项目的职工
进行查询的权限。写出建立视图emp和进行授权的SQI_,语句。

选项

答案1)CREATE TABLE项目(项目编号CHAR(6)项目名称VARCHAR(20),状态CHAR(1)CHECK(状态=‘l’OR状态=‘O’),城市VARCHAR(20),负责人编号CHAR(6)NOT NULLL,FOREIGN KEY(项目编号)REFERENCES职工项目(项目编号)); SELECT职工编号,COUNT(项目编号) FROM职工项目 GROUP BY 职工HAVING COUNT(项目编号)>=2; 2)CREATE VIEW emp As SELECT职工编号,姓名,性别,城市FROM职工WHERE职工编号IN(SELECT职工编号 FROM职工项目 WHERE项目编号=‘P001’) WITH CHECK OPTION; GRANT SELECT ON emp T0 Ul:

解析 主要考查了SQIL的数据查询功能、数据定义功能和数据操纵功能。这类问题主要是考查对SELECT FROM WHERE语句的掌握。
转载请注明原文地址:https://kaotiyun.com/show/LKNZ777K
0

最新回复(0)