设商场业务系统中有销售单据表(销售单据号,收款员,销售时间),销售明细表(销售明细条目号,销售单据号,商品号,数量,单位,金额)和商品表(商品号,商品名,价格)。该系统业务繁忙,保存的数据量非常大,每次换班时要统计收款员的收入总额,每天停业后要统计各个商品的当天销售量,销售过程中经常需要查询某笔销售业务的情况。为了优化系统性能,下列优化方案合理的是______。
A) 在销售单据表的收款员属性上建立聚集索引,在销售明细表的销售单据号属性上建立非聚集索引,在商品表的商品号属性上建立聚集索引
B) 在销售单据表的销售单据号属性上建立聚集索引,在销售明细表的销售单据号属性上建立非聚集索引,在商品表的商品号属性上建立聚集索引,建立收款员单班销售量表和商品当天镑售汇总表,在每笔销售成交后分别累计统计相应数据
C) 在销售单据表的销售时间属性和收款员属性上分别建立聚集索引,在销售明细表的销售单据号属性上建立非聚集索引,在商品表的商品号属性上建立聚集索引,建立收款员单班销售量表和商品当天销售汇总表,在每笔销售成交后分别累计统计相应数据
D) 在销售单据表的销售单据号属性和收款员属性上分别建立聚集索引,在销售明细表的商品号属性上建立聚集索引
A.
B.
C.
D.
第1题:
设某商品经营管理系统使用SQL Server 2000数据库管理系统。在数据库中存在销售明细表,其建表语句为:
CREATE TABLE销售明细表(
销售单据编号varchar(8),
商品编号varchar(8),
单价money,
数量int,
总价money
) ,
为了保证数据的一致性,建有如下触发器:
CREATE TRIGGER AutoCountSum
ON销售明细表FOR INSERT,UPDATE
AS
DECLARE@UnitPrice money,@Quantity int
DECLARE@Amount money
SELECT@UnitPrice=单价,@Quantity=数量
FROM inserted
SET@Amount=@UnitPrice*@Quantity
UPDATE销售明细表SET总价=@Amount
WHERE销售单据编号IN(SELECT销售单据编号FROM inserted)
AND商品编号IN(SELECT商品编号FROM inserted)
①设系统运行一段时间后此表中有近一百万条记录,此时发现对该表的插入操作速度很慢,请分析插入速度慢的原因。(3分)
在不改变数据库服务器硬件和表结构、不清理数据的情况下,请说明应如何优化此表的插入操作。(2分)
②在解决了①中的问题后,程序员在数据库中执行如下SQL语句:
SELECT商品编号,sum(总价)FROM销售明细表
WHERE单价>50
GROUP BY商品编号
请在不改变该SQL语句的情况下,给出提高该查询执行效率的方案。(5分)
第2题:
销售出库单与销售发货单是同一种销售业务单据。()
第3题:
50、销售系统的3个核心单据包括()
A.销售订单
B.销售发票
C.销售出库单
D.发货通知单
第4题:
A.销售专用发票
B.销售普通发票
C.销售出库单
D.销售调拨单
第5题:
普通销售业务处理主要包括()等业务单据的处理。
A.销售发货单
B.销售出库单
C.销售发票
D.收款单