版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库原理 复习,设计题一 有1个B2C电子购物网站,其业务规则如下: 购物网站公司负责维护商品分类信息(category),管理商品(goods)目录,每个商品都需要归属到某个商品分类下;网民可以注册成为网站买家(buyer),买家可以在购物网站通过商品名、商品类名搜索自己需要的商品,把选中的一定数量商品放入自己的购物车(trolley)中,选购完成后下订单(orders),订单需要在明细(detail)中记录商品数量、交易价格,下单时需要填写详细的收货人信息,然后通过第三方网银支付系统付款,付款成功后网银支付系统会在订单中标注付款成功标志,此标志的值分别为0:等待付款;1:等待发货;2:等
2、待收货;3:关闭;公司看到买家付款成功后负责物流快递商品,买家收到商品后确定收货;暂不考虑退、换货业务。 商品分类实体的属性包括分类号(cno)、类名(cname)。 商品实体的属性包括商品号(gno)、商品名(gname)、单位(unit)、商品详情(detail)、价格(price)。 买家实体的属性包括用户代码(bno)、姓名(bname)、电话(bphone)、身份证号(id_card)。 订单实体的属性包括订单号(ono)、时间(odate)、状态(status)、收货人(consignee)、总金额(money)。,1、概念模型设计 - ER图,1、进行数据库概念模型设计,补充完善
3、图1所示的ER模型,要求同时标出联系的连通词。(10分),2、将概念模型转化成关系模型,逻辑设计: 2、将概念模型转化成关系模型,标志出主、外键,判断每个关系模式的范式并说明理由。(5分),2、将概念模型转化成关系模型,逻辑设计: Category(cno,cname) BC范式 Buyer(bno,bname,bphone,id_card) 2范式,因为id_card的问题而存在传递依赖。 Goods(gno,gname,unit,detail,price,cno) BC范式 Trolley(tno,bno,gno,counts) BC范式 Orders(ono,odate,status,c
4、onsignee,money,bno) BC范式 Detail(dno,gno,ono,counts,price) BC范式,3、DDL,数据定义语言: 3、利用SQL语句完成数据库模型中其它表格的创建,要求创建相应的索引;另外需要修改buyer表结构, 为此表添加1个email字段,数据类型为varchar(32)。(15分) create table category (cno char(4) primary key, cname varchar(80); go; create index idx_category_name on category(cno); go; create tab
5、le goods (gno char(10) primary key, gname varchar(80), unit varchar(32), detail varchar(1024), price numeric(8,1) default 0, cno char(4) foreign key references category(cno) on update cascade ); go; create index idx_goods_name on goods(gname ); go; create table buyer (bno varchar(16) primary key, bn
6、ame varchar(32), bphone varchar(16), id_card varchar(18) ); go; create table orders (ono varchar(16) primary key,odate smalldatetime default getdate(),consignee varchar(256),status char(1) default 0,money numeric(8,1) default 0,bno varchar(16) foreign key references buyer(bno) on update cascade); go
7、; create index idx_orders_bno on orders(bno); go;,3、DDL,数据定义语言: 3、利用SQL语句完成数据库模型中其它表格的创建,要求创建相应的索引;另外需要修改buyer表结构, 为此表添加1个email字段,数据类型为varchar(32)。(15分) create table trolley ( tno int identity primary key, bno varchar(16) foreign key references buyer(bno) on update cascade, gno char(10) foreign key
8、references goods(gno) on update cascade, counts int default 1 ); go create index idx_trolley_bno on trolley(bno); create index idx_trolley_gno on trolley (gno); go,3、DDL,数据定义语言: 3、利用SQL语句完成数据库模型中其它表格的创建,要求创建相应的索引;另外需要修改buyer表结构, 为此表添加1个email字段,数据类型为varchar(32)。(15分) create table detail ( dno int ide
9、ntity primary key, ono varchar(16) foreign key references orders(ono) on update cascade, gno char(10) foreign key references goods(gno) on update cascade, counts int default 1, price numeric(8,1) ) go create index idx_detail_ono on detail(ono); create index idx_detail_gno on detail (gno); go,4、DML,4
10、、请用SQL语句完成以下数据更新操作。(20分) (1)往商品分类表中插入记录:(c001,食品)。 (2)往商品表中插入记录:添加1个商品信息,商品类别:食品、编号:g001、商品名:巧克力、单位:块、详情:榛子+牛奶味、价格:20元。 (3)进行商品调价操作,将所有食品类商品价格打9折。 (4)清空买家用户代码为考生学号的购物车,4、DML,4、请用SQL语句完成以下数据更新操作。(20分) (1)往商品分类表中插入记录:(c001,食品)。 insert category (cno, cname) values (c001,食品); (2)往商品表中插入记录:添加1个商品信息,商品类别:
11、食品、编号:g001、商品名:巧克力、单位:块、详情:榛子+牛奶味、价格:20元。 insert into goods (gno, gname,unit,detail,price,cno) values (g001,巧克力,块,榛子+牛奶味,20,c001);,4、DML,4、请用SQL语句完成以下数据更新操作。(20分) (3)进行商品调价操作,将所有食品类商品价格打9折。 update goods set price=price*0.9 where cno=c001; (4)清空买家用户代码为考生学号的购物车 delete trolley where bno=004062;,5、DML和关
12、系代数表达式,5、完成下列查询要求,写出对应的SQL语句及关系代数表达式。(20分) (1)、查找商品名为“巧克力”的商品信息,包括商品名、单位、价格。 (2)、查找类别为“食品”的所有商品清单,包括商品名、单位、价格。 (3)、查找用户代码为“Berry”的买家所有已购商品清单,包括商品名、价格、数量。 (4)、查找购买过商品名为“手机”或“笔记本电脑”的买家信息,包括买家号、姓名、购买数量。(本小题不用写关系代数),5、DML和关系代数表达式,5、完成下列查询要求,写出对应的SQL语句及关系代数表达式。(20分) (1)、查找商品名为“巧克力”的商品信息,包括商品名、单位、价格。 sele
13、ct gname,unit,price from goods where gname=巧克力; gname,unit,price( gname=巧克力(goods),5、DML和关系代数表达式,5、完成下列查询要求,写出对应的SQL语句及关系代数表达式。(20分) (2)、查找类别为“食品”的所有商品清单,包括商品名、单位、价格。 select gname,unit,price from goods g,category c where o=o and ame=食品; gname,unit,price(o=o cname=食品(goodscategory) ),5、DML和关系代数表达式,5、
14、完成下列查询要求,写出对应的SQL语句及关系代数表达式。(20分) (3)、查找用户代码为“Berry”的买家所有已购商品清单,包括商品名、价格、数量。 select g.gname, d.counts, d.price from goods g, buyer b, orders o, detail d where b.bno=o.bno and o.ono=d.ono and d.gno=g.gno and b.bname=Berry; gname, counts, price (b.bno=o.bno o.ono=d.ono d.gno=g.gno b.bname=Berry (goods
15、buyerordersdetail),5、DML和关系代数表达式,5、完成下列查询要求,写出对应的SQL语句及关系代数表达式。(20分) (4)、查找购买过商品名为“手机”或“笔记本电脑”的买家信息,包括买家号、姓名、购买数量。(本小题不用写关系代数) select b.bno,b.bname from buyer b where b.bno in (select o.bno from orders o,detail d,goods g where o.ono=d.ono and g.gno=d.gno and (g.gname=巧克力 or g.gname=笔记本电脑),6、view,6、编
16、写1个视图,按商品类别分类统计出所有商品2014年之前的销售数量、销售额,视图列集包括类别名、销售数量、销售金额。(10分),6、view,按商品类别分类统计出所有商品2014年之前的销售数量、销售额,视图列集包括类别名、销售数量、销售金额。 create view v_sales_sum2 (cname, count_c, sum_c) as Select ame, count(o), sum(detail.counts*detail.price) From category, goods, detail,orders Where o=o and goods.gno=detail.gno a
17、nd detail.ono=orders.ono and year(orders.odate) =2014 group by o,ame,7、procedure,7、编写1个存贮过程,完成往指定订单中添加商品的操作业务,输入参数包括订单编号、商品编号、购买数量,需要检查订单编号、商品编号是否存在。(10分),7、procedure,7、编写1个存贮过程,完成往指定订单中添加商品的操作业务,输入参数包括订单编号、商品编号、购买数量,需要检查订单编号、商品编号是否存在。(10分) create procedure prg_ins_detail ono varchar(16), gno char(1
18、0), counts int as declare price numeric(6,1); if not exists(select ono from orders where ono=ono) return 6001; if not exists(select gno from goods where gno=gno) return 6002; select price=price from goods where gno=gno; insert into detail (ono,gno,counts,price) values (ono,gno,counts,price); go exec prg_ins_detail 20141215194302,g024,5;,8、trigger,8、编写1个触发器,完成订单表中总金额的自动累计功能,即通过订单明细中商品的价格与数量自动统计订单中的总金额。(10分),8、trigger,8、编写1个触发器,完成订单
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重庆市主城七校2024-2025学年高二上学期期末考试历史试题(含答案)
- 四川省泸州市泸县第二中学2024-2025学年九年级上学期1月期末考试英语试卷(含答案)
- 湖北省武汉市部分重点中学2024-2025学年高二上学期1月期末英语试题(含答案含听力原文无音频)
- 重庆市康德2025届高三第一次诊断检测-数学试卷答案
- 2024版房产开发三方协作协议模板一
- 2024舞台道具定制加工及销售合同3篇
- 2025年度大豆产品绿色包装与环保认证服务合同3篇
- 福建省南平市九三英华高级中学2021-2022学年高二数学理上学期期末试卷含解析
- 福建省南平市建阳县徐市中学2020-2021学年高一物理上学期期末试卷含解析
- 2025年度大米出口检验检疫服务合同范本3篇
- 水利水电工程验收实施细则模版(3篇)
- 四川雅安文化旅游集团有限责任公司招聘笔试冲刺题2024
- 造价框架协议合同范例
- 2024-2025学年 语文二年级上册 部编版期末测试卷 (含答案)
- 医护人员礼仪培训
- 无人机飞行安全协议书
- 山西省晋中市2023-2024学年高一上学期期末考试 生物 含解析
- DB34T4912-2024二手新能源汽车鉴定评估规范
- 《商务沟通(第二版)》 课件全套 第1-4章 商务沟通概论 -商务沟通实务
- 江苏省丹阳市丹阳高级中学2025届物理高一第一学期期末统考试题含解析
- 中华护理学会团体标准-气管切开非机械通气患者气道护理
评论
0/150
提交评论