某公司要对其投放的自动售货机建立商品管理系统,其数据库的部分关系模式如下: 售货机:VEM(VEMno,Location),各属性分别表示售货机编号、部署地点; 商品:GooDs(Gno,Brand,Price),各属性分别表示商品编号、品

admin2018-04-19  32

问题 某公司要对其投放的自动售货机建立商品管理系统,其数据库的部分关系模式如下:
    售货机:VEM(VEMno,Location),各属性分别表示售货机编号、部署地点;
    商品:GooDs(Gno,Brand,Price),各属性分别表示商品编号、品牌名和价格;
    销售单:sALEs(Sno,vEMno,Gno,SDate,sTime),各属性分别表示销售号、售货机编号、
    商品编号、日期和时间。  ………
    缺货单:OOs(VEMno,Gno,SDate,STime),各属性分别表示售货机编号、商品编号、日期和
    时间。    ………
    相关关系模式的属性及说明如下:
    (1)售货机摆放固定种类的商品,售货机内每种商品最多可以储存10件。管理员在每天结束的时候将售货机中所有售出商品补全。
    (2)每售出一件商品,就自动向销售单中添加一条销售记录。如果一天内某个售货机上某种商品的销售记录达到10条,则表明该售货机上该商品己售完,需要通知系统立即补货,通过自动向缺货单中添加一条缺货记录来实现。
    根据以上描述,回答下列问题,将SQL语句的空缺部分补充完整。
创建销售记录详单视图SALES—Detail,要求按日期统计每个售货机上各种商品的销
1售数量,属性有VEMno、Location、Gno、Brand、Price、amount和SDate。为方便实现,
首先建立一个视图SALES_Total,然后利用SALES_Total完成视图SALES_Detail的定义。
    CREATE VIEW SALES_Total(VEMno,Gno,SDate,amount)  AS
    SELECT VEMno,Gno,SDate,Count(*)
    FROM SALES
    GROUP BY ____(d)__;
    CREATE VIEW_____(e)__ AS
    SELECT VEM,VEMno, Location, GOODS.Gno, Brand,Price, amount, SDate
    FROM VEM,GOODS,SALES_Total
    WHERE___(f)___AND___(g)___;

选项

答案(d)VEMno,Gno,SDate (e)SALES_Detail(VEMno,Location,Gno,Brand,Price,amount,SDate) (f)VEM.VEMno=SALES Total.VEMno (g)GOODS.Gno=SALES_Total.Gno 注:(f)、(g)可互换

解析  本问题考查SQL创建视图的操作及应用。
    需创建的第一个视图SALES_Total(VEMno,Gno,SDate,amount)来自SALES表,属性分别对应SALES表中的VEMno、Gno、SDate、Count(*),其中,Count(*)要对SALES表中的VEMno、Gno、SDate进行分组计数,因此空(d)应填入“VEMno,Gno,SDate”。
    需要创建的第二个视图SALES_Demil基于第一个已经创建的视图SALES_TOTAL和基本表VEM、GOODS。因此只需要把题意中需要统计的VEMno、Location、Gno、Brand、Price、amount、SDate从上述三个表中提取出来即可。空(e)应填入“SALES Detail(VEMno,Location,Gno,Brand,Price,amount,SDate)”。
    WHERE条件后需要将三个表按照公共属性列连接起来,因此空(f)和(g)分别填入“VEM.VEMno=SALES_Total.VEMn0”和“GOODS.Gno=SALES Total.Gno”即可(顺序可以互换)。
转载请注明原文地址:https://jikaoti.com/ti/qVN7FFFM
0

相关试题推荐
最新回复(0)