题库 题库

【简答题】

试题二(15分)
    阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】某工程项目公司的信息管理系统的部分关系模式如下:
    职工(职工编号,姓名,性别,居住城市)
    项目(项目编号,项目名称,状态,城市,负责人编号)
    职工项目(职工编号,项目编号)
    其中:
    (1)一个职工可以同时参与多个项目,一个项目需要多个职工参与
    (2)职工的居住城市与项目所在城市来自同一个域
    (3)每个项目必须有负责人,且负责人为职工关系中的成员
    (4)项目状态有两个:0表示未完成,1表示已完成

【问题1】(2分)
    下面是创建职工关系的SQL语句,职工编号唯一识别一个职工,职工姓名不能为空。请将空缺部分补充完整。
CREATE TABLE 职工(
    职工编号 CHAR(6),
    姓名 CHAR(8) ____(a)____,
    性别 CHAR(2),
    城市 VARCHAR(20),
    PRIMARY KEY  ____(b)____);
【问题2】(4分)
    下面是创建项目关系的SQL语句。请实现相关的完整性约束。
    CREATE TABLE 项目(
    项目编号 CHAR(6),
    项目名称 VARCHAR(20),
    状态 CHAR(1)  CHECK  ____(c)____,
    城市 VARCHAR(20),
    负责人编号 CHAR(6)  ____(d)____,
    FOREIGN KEY  ____(e)____ REFERENCES    ____(f)____ );
【问题3】(5分)
    请完成下列查询的SQL语句。
    (1)查询至少参加两个项目的职工编号和参与的项目数。
    SELECT 职工编号,  ____(g)____
    FROM 职工项目
    GROUP BY  ____(h)____
    HAVING    ____(i)____  ;
    (2)查询参与居住城市正在进行的工程项目的职工工号和姓名。
    SELECT 职工.职工编号, 姓名
    FROM 职工, 职工项目, 项目
    WHERE 职工.职工编号 = 职工项目.职工编号 AND 项目.项目编号 = 职工项目.项目编号 AND  ____(j)____  AND  ____(k)____  ;
【问题4】(4分)
    假设项目编号为“P001”的项目负责人李强(其用户名为U1)有对参与该项目的职工进行查询的权限。下面是建立视图emp和进行授权的SQL语句,请将空缺部分补充完整。
    (1)CREATE VIEW  ____(l)____
    AS SELECT 职工编号, 姓名, 性别, 城市
    FROM 职工
    WHERE 职工编号 IN  ( SELECT  ____(m)____
    FROM 职工项目
    WHERE  ____(n)____ )
    WITH CHECK OPTION;
    (2)GRANT  ____(o)____ ON emp TO U1;

参考答案

相关试题