ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:141.24KB ,
资源ID:18157625      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18157625.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(网上购物数据库设计文档格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

网上购物数据库设计文档格式.docx

1、数据类型是否为空备注UserID客户IDBigIntNot null主键UserName客户名Varchar(30)RealName客户真实姓名UserPassword客户密码Email客户邮箱Phone联系电话ID身份证号Question密码问题NullResult答案RegTime注册时间DatetimeGradeID会员等级AddressID地址Int表1:客户表字段信息商品表数据字典:GoodsID商品号GName商品名称GPrice商品价格SmallmoneyGTypeID商品类别GIntro商品描述Varchar(200)GImage商品图片路径Varchar(100)GCount

2、商品计数GSail商品销量GWeight商品重量GDateTime上架日期GSize商品规格表2:商品表字段信息商品类别表数据字典:TypeID商品类别号TypeName类别描述Varchar(50)表3:商品类别表字段信息商家表数据字典:ProducerID商家号ProName商家名ProAddress商家地址ProPhone商家电话表4:商家表字段信息订单表数据字典:SubID订单号客户号RAddress送货地址SpDate订购日期SpCount订购数量单价ReceiptID发票号SpPrice订单金额MoneySendDate发货时间Payment付款方式Varchar(20)SendT

3、ype运送方式SendPrice邮费State订单状态表5:订单表字段信息购物车表数据字典:CarID购物车IDVarchar(10)商品IDOrderTime订购时间OrderCountGoodsPriceUserCheck用户确认OrderPrice购物总额表6:购物车表字段信息会员等级表数据字典:会员等级IDGradeType等级分类表7:会员等级表字段信息评论表数据字典:CommentID评论IDContent1内容Title标题商家IDCommentTime评论时间表8:评论表字段信息供应表数据字典:SupplyID供应IDRealStock实际存货MinStock最低存货表9:供应

4、表字段信息发票表数据字典:发票ID表10:发票表字段信息地址表数据字典:地址IDAddress表11:三、数据库概念结构设计 3.1 E-R模型图的设计(1)寻找实体集客户 VIP会员 商品 商家 商品类别 地址(2)寻找实体间联系客户与商品之间多对多联系:订单,评论1客户与VIP会员之间多对一联系:属于2会员等级与订单细节一对多:参照13订单细节与商品多对一:参照24订单细节预订单多对一:组成客户与商品之间一对多联系:购物车客户与购物车一对一:拥有购物车与商品一对多:存放购物车与订单细节一对多:结算商家与商品之间多对多联系:供应商品与商品类别之间多对一联系:分类客户与地址之间一对多联系:所在

5、(3)确定实体的属性客户:客户ID 客户名 客户真实姓名 客户密码 客户邮箱 联系电话身份证号 密码问题 答案 注册时间 会员等级IDVIP会员:会员等级ID 等级分类商品:商品号 商品名称 商品价格 商品类别 商品描述 商品图片路径 商品计数 商品销量 商品重量 上架日期 商品规格商家:商家号 商家名 商家地址 商家电话地址:地址号 地址名称商品类别:商品类别号 类别描述(3)确定联系的属性订单:订单号 客户号 商品号 送货地址 订购日期 订购数量 单价发票号 订单金额 发货时间 付款方式 运送方式 邮费 订单状态购物车:购物车ID 客户ID 商品ID 订购时间 订购数量 单价 供应:供应I

6、D 实际存货 最低存货 商品ID 商家ID分类:商品号 商品分类客户类型属于:客户号 客户类型评论:评论ID 内容 标题 客户ID 商家ID 评论时间客户地址所在:客户号 客户地址(4)画出E-R图图2:客户与商品实体间的详细联系E-R图图3:网络购物系统E-R图四、数据库逻辑结构设计 4.1 E-R模型图转化为关系表(1)实体转化为单独的一张表(2)多对多联系转化为单独的一张关系表购物车 订单 评论 供应(3)其他一对多的联系通过在多的一方增加属性来实现客户表与会员等级:在客户表中增加会员等级ID商品与商品类型:在商品中增加类型号 4.2 描述基本表的关系E-R图转化为关系模型,关系的码用下

7、划线标出。此为客户实体对应的关系模式:客户(客户号,密码,会员等级号,)此为VIP会员实体对应的关系模式:VIP会员(会员等级号,等级类型)此为商品实体对应的关系模式:商品(商品号,描述,商品分类,商品名,)此为商家实体对应的关系模式:商家(商家号,商家名,商家电话,)此为商品类别实体对应的关系模式:商品类别(商品类别号,商品类别)此为联系“购物车”所对应的关系模式:购物车(购物车号,客户号,商品号,)此为联系“订单”所对应的关系模式:订单(订单号,客户号,商品号,)此为联系“评论”所对应的关系模式:评论(评论号,内容,客户号,)此为联系“供应”所对应的关系模式:供应(供应号,实际存货,最少存

8、货,) 4.3 所有关系表达到BCNF范式 4.4 定义视图(1)订单表中只关联客户、商品的ID,而最终客户核对的应该是包含客户真实姓名在内的客户必要信息以及包含商品名称的商品信息,分别建立两个视图:参照商品的订单细节create view View_goodsas select * from tb_goods where GoodsID=201201参照客户信息的订单细节create view View_user select * from tb_user where UserID=201 4.5 定义索引在经常查询的列上(主键)建立聚簇索引如:在商品信息表上建立索引create clust

9、er index Index_ GoodsIDon tb_goods(GoodsID) 4.6 定义触发器(1)注册客户自动升级VIP-创建触发器tr_grade,实现注册客户VIP自动升级Create Trigger tr_grade ON tb_subFor updateAs IF Update(SpPrice)Begin Declare price money Select price=SpPrice From inserted If price=30000 Update tb_user set GradeID=4 Else If price=20000 Update tb_user s

10、et GradeID=3 Else If price=10000 Update tb_user set GradeID=2 Else If price=0 Update tb_user set GradeID=1 End(2)更新订单,订单金额是商品价格总和-创建一个更新触发器,及时更新订单Create Trigger tr_update On tb_sub For Update As If Update (SpCount) Or Update (GPrice) Begin Declare orderNo Bigint,productNo Bigint Declare cur_order Cu

11、rsor For Select SubID,GoodsID From Deleted Open cur_order Begin Transaction Fetch cur_order into orderNo,productNo While (fetch_status=0) Begin Update tb_sub Set tb_sub.SpPrice=tb_sub.SpPrice-D.SpCount*D.GPrice+I.SpCount*I.GPrice From inserted I,deleted D Where tb_sub.subID=I.subID And I.subID=D.sub

12、ID And tb_sub.subID=orderNo And I.GoodsID=D.GoodsID And I.GoodsID=productNo Fetch cur_order into orderNo,productNoCommit tranClose cur_orderDeallocate cur_orderEnd(3)更新购物车,选中商品更新商品总额-更新购物车,选中商品更新商品总额Create Trigger tr_car On tb_car For Update As If Update (OrderCount) Or Update (GoodsPrice) Declare C

13、arID Bigint,GoodsID Bigint Declare cur_car Cursor For Select CarID,GoodsID From Deleted Open cur_car Fetch cur_car into CarID,GoodsID Update tb_car Set tb_car.OrderPrice=tb_car.OrderPrice-D.OrderCount*D.GoodsPrice+I.OrderCount*I.GoodsPrice Where tb_car.CarID=I.CarID And I.CarID=D.CarID And tb_car.Ca

14、rID=CarID And I.GoodsID=D.GoodsID And I.GoodsID=GoodsID Fetch cur_car into CarID,GoodsIDClose cur_carDeallocate cur_car(4)创建触发器只允许注册会员在网上下订单-创建一个触发器tr_sub,只允许注册会员在网上提交订单Create Trigger tr_sub on tb_subFor insert If Not Exists (select * From inserted Where UserID in(select tb_user.UserID from tb_user)

15、 Begin Raiserror(提交订单前请先注册!,16,1) Rollback Transaction 4.7 定义约束(1)确定实体完整性约束主键约束(2)参照完整性约束-为tb_user表添加参照性约束alter table tb_userwith nocheckadd constraint fk_user foreign key(GradeID)references tb_grade(GradeID)-为tb_goods表添加参照性约束alter table tb_goodsadd constraint fk_goods foreign key(GTypeID)references

16、 tb_type(TypeID)-为tb_address增加外键约束alter table tb_addressadd constraint fk_address foreign key(UserID)references tb_user(UserID)(3)用户自定义完整性约束客户表密码不能少于6位,且不能与客户号相同Alter table tb_userAdd constraint Ck_pass Check (6=len(Userpassword) and UserpasswordUserID)电子信箱格式为*格式Add constraint Ck_email Check (Email

17、like %qq.%)订单号共12位,前8位是订货日期,后4位是流水号,格式为“201312150001”订货时间早于发货时间alter table tb_subadd constraint ck_sub check(SpDate发票号码唯一alter table tb_receiptadd constraint un_receipt unique(ReceiptID)6订单状态取值为“0”或“1”add constraint ck_state check(State in (0,1)7身份证号必须为16或者18位Add constraint Ck_id Check (ID in (16,18

18、)8五、结束语 一个软件最重要的不是前台页面,而是软件的生存期,即实用性的长远,而后者则主要取决于后台的维护。维护离不开对数据库的操作,所以数据库设计在软件开发过程中是基础也是非常重要的一个环节。对于开发者而言,好的数据库设计,可以避免功能需求的重大缺陷,如:访问数据库,查询的冗杂繁琐。数据库更新操作的错误异常等。通过这次设计,更让我深刻感受到,打好基础的重要性,当然也对数据库的了解加深一步。尽管整个数据库设计做下来,非常的艰辛,但从中学到的知识远比辛苦更加珍贵。本次的设计也有很多不足之处,数据表之间的关联,关系表的范式,以及一些有待解决的问题也随之而来。供应关系中,购买数大于世纪存货梁,应通知商家及时补货,这个流程还没有完善,等等。我会带着这些问题,在以后的设计中注意改善。六、参考文献 1 王珊,萨师煊.数据库系统概论M.北京:高等教育出版社,2006.5

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1