软题库 移动APP 扫码下载APP 随时随地移动学习 培训课程
当前位置:信管网 >> 在线考试中心 >> 信息系统项目管理师题库 >> 试题查看
试卷年份2017年上半年
试题题型【分析简答题】
试题内容

阅读下列说明,回答问题 1 至问题 5 ,将解答填入答题纸的对应栏内。
【说明】
某公司要对其投放的自动售货机建立商品管理系统,其数据库的部分关系模式如下:
售货机: VEM(VEMno, Location) ,各属性分别表示售货机编号、部署地点;
商品: GOODS(Gno, Brand, Price) ,各属性分别表示商品编号、品牌名和价格;
销售单: SALES(Sno, VEMno,Gno,SDate,STime),各属性分别表示销售号、售货机编号、商品编号、日期和时间。
缺货单: OOS(VEMno,Gno,SDate,STime ),各属性分别表示售货机编号、商品编号、 日期和时间。
相关关系模式的属性及说明如下: (1)售货机摆放固定种类的商品,售货机内每种商品最多可以储存10 件。管理员在每天结束的时候将售货机中所有售出商品补全
(2)每售出一件商品,就自动向销售单中添加一条销售记录。如果一天内某个售货机上某种商品的销售记录达到10 条,则表明该售货机上该商品已售完,需要通知系统立即补货,通过自动向缺货单中添加一条缺货记录来实现。
根据以上描述,回答下列问题,将 SQL 语句的空缺部分补充完整。
【问题 1】 (3 分)
请将下面创建销售单表的  SQL 语句补充完整,要求指定关系的主码和外码约束。
CREATE TABLE SALES(
       Sno CHAR(8)  (a)
       VEMno CHAR(5)   (b)
       Gno CHAR(8) (c) 
       SDate DATE,
       STime TIME);
【问题 2】 (4分)
创建销售记录详单视图 SALES_Detail ,要求按日期统计每个售货机上各种商品的销售数量,属性有 VEMno、Location 、Gno、Brand 、Price 、amount 和 SDate。为方便实现,首先建立一个视图 SALES_Total ,然后利用SALES_Total 完成视图 SALES_Detail 的定义。
CREATE VIEW SALES _Total(VEMno,Gno,SDate,amount) AS
     SELECT VENno ,Gno ,SDate ,count(*)
     FROM SALES
     GROUP BY  (d);
CREATE VIWE (e) AS
       SELECT  VEM.VEMno,Location ,GOODS.Gno ,Brand,Price,amount,SDate
        FROM VEM,GOODS,SALES_Total
             WHERE  (f)  AND  (g)
【问题 3】 (3分)
          每售出一件商品,就自动向销售单中添加一条销售记录。如果一天内某个售货机上某种商品的销售记录达到 10 条,则自动向缺货单中添加一条缺货记录。需要用触发器来实现缺货单的自动维护。程序中的 GetTime()获取当前时间。
CREAT(h) OOS_TRG AFTER  (i)   ON SALES 
REFERENCING new row AS nrow 
FOR EACH  ROW
BEGIN
        INSERT INTO  OOS
             SELECT  SALES .VENno, (j) GetTime()
             FROMSALES
             WHERE  SALES.VEMno = nrow.VEMno AND  SALES.Gno  = nrow.Gno
                            AND SALES.SDate = nrow.SDate
            GROUP BY SALES.VEMno,SALES.Gno,SALES.SDate
                           HAVING count(*)> 0 AND mod(count(*), 10)=0;
END
【问题 4】 (3分)
查询当天销售最多的商品编号、品牌和数量。程序中的 GetDate()获取当天日期。
SELECT GOODS.Gno ,Brand,   (k)
FROM GOODS,SALES
WHERE GOODS.Gno=SALES.GNO AND SDATE =GetDate()
 GROUP BY (1)
          HAVING(M) (SELECT count(*)
                             FROM SALELS
                             WHERE SDATE = GetDate()
                             GROUP BY Gno);
【问题5】 (2分)
查询一件都没有售出的所有商品编号和品牌。
SELECT Gno ,Brand
FROM GOODS
WHERE GNO(N)
     SELECT DISTINCT GNO
     FROM(o);


相关试题

推荐文章
合作网站内容