数据库(14分)
一、综合题(10分)
一家超市的会员卡管理系统,会员卡分为三类:折扣卡,本次累计消费折扣卡和累计消费折扣卡。超市为消费者发放会员卡,每一会员只能拥有一种卡,当消费者购物时,根据消费者拥有的卡的类型进行打折消费,并记下消费金额以及折扣信息。存在的参考模型如下:
卡类别:Type(tid, tname),
卡信息:Card(cid, cname, tid),
会员信息:Member(mid, mname, age, job, cid),
会员的消费信息:Sell(sid, mid, date, cid, sum),
消费明细信息:Selldetail(sid, did, price, pid, number, subtotal)。其中tid,tname分别为卡类别id和类别名称;
cid,cname分别为卡id和卡名称;
mid,mname,age,job分别为会员id,会员姓名,年龄和职业;
sid,sdate,sum分别为销售id,销售日期和消费金额合计;
did,pid,price,number,subtotal分别为销售明细id,商品id,单价,数量和小计。
- (3分)要求:画出E-R模型,并标出主要的属性。
- (7分)用SQL完成
(1)统计各种类型卡的销售总金额;
(2)列出拥有所有会员卡的会员的所有信息,并写出代数关系式;
(3)求单次销售金额大于5000元的商品信息,(商品id,单价,数量),并建立视图;
(4)基于cid在sell表中建立索引;
(5)将所有2004年之前的销售信息删除。
二、判断下列说法是否正确(4分)
- 事务故障不会破坏数据库,所以只需日志就可以恢复系统故障。
- 索引可以加快査询速度,所以越多越好。
- 遵守两阶段封锁协议的事务其并发调度不会产生死锁。
- 如果一个关系模型经过模式分解之后,得到的所有关系模式都属于BCNF,那么在函数依赖范畴内,这个关系模式已经实现了彻底的分离。