网上购物数据库设计
- 格式:docx
- 大小:144.91 KB
- 文档页数:15
网上商城UML图1.系统需求 (3)2.需求分析 (5)2.1功能设置 (5)2.2模块划分 (6)2.3识别参与者和用例 (7)2.3.1 顾客Customer用例图 (8)系统管理员用例 (14)2.3 静态结构模型 (17)类Customer (18)类Goods (19)类Order (20)管理员 (21)标题title类 (22)二级标题类 (22)公共操作类 (23)类图 (24)3.动态行为模式 (24)3.1时序图 (24)顾客注册成为会员时序图 (25)顾客反馈信息时序图 (26)顾客浏览商品时序图 (27)顾客查询商品时序图 (28)顾客购买商品时序图 (29)管理员添加商品时序图 (30)管理员删除商品时序图 (30)管理员添加二级商品目录时序图 (31)管理员删除二级商品目录时序图 (32)管理员编辑促销产品时序图 (32)管理员编辑条款信息时序图 (33)管理员编辑购买流程时序图 (34)管理员删除会员时序图 (35)用户结算时序图 (36)3.3.活动图 (36)用户顾客的活动图 (36)管理端管理员的活动图 (37)3.4协作图 (39)顾客登录协作图 (39)顾客注册协作图 (39)顾客浏览商品协作图 (40)反馈信息协作图 (40)顾客查询商品协作图 (41)顾客购买商品协作图 (41)管理员删除会员协作图 (42)管理员添加商品协作图 (42)管理员添加商品标题协作图 (43)管理员删除商品协作图 (43)管理员删除标题协作图 (44)管理员编辑文本协作图 (44)4.系统数据库设计 (45)4.1数据库的需求分析 (45)4.2数据库的逻辑设计 (45)5.参考文献: (48)系统分工:梁志负责总体设计和画用例图、活动图:王向宝负责前台设计包括:注册、浏览、反馈、登录罗全力负责前台设计包括:购买、查询、顾客和管理员类的设计张雅东负责后台设计包括:商品管理(添加、删除商品,添加、删除标题)、会员管理、商品类和标题类的设计李俊负责后台设计包括:文本编辑管理(编辑购物流程、条款信息、促销信息)和订单管理、订单类的设计电子商务系统1.系统需求随着社会的发展,电子商务成为了一个热门的话题,而网上购物已经成为当今社会一种比较流行的购物方式。
1.系统需求 (2)2.需求分析 (4)2.1功能设置 (4)2.2模块划分 (5)2.3识别参与者和用例 (6)2.3.1 顾客Customer用例图 (7)2.3.2 系统管理员用例 (13)2.3 静态结构模型 (16)2.3.1 类Customer (17)2.3.2类Goods (18)2.3.3类Order (19)2.3.4管理员 (19)2.3.5标题title类 (20)2.3.6二级标题类 (21)2.3.7公共操作类 (21)2.3.8类图 (22)3.动态行为模式 (22)3.1时序图 (22)3.1.1顾客注册成为会员时序图 (23)3.1.2顾客反馈信息时序图 (24)3.1.3顾客浏览商品时序图 (25)3.1.4顾客查询商品时序图 (26)3.1.5顾客购买商品时序图 (27)3.2.6管理员添加商品时序图 (28)3.2.7管理员删除商品时序图 (28)3.2.8管理员添加二级商品目录时序图 (29)3.2.9管理员删除二级商品目录时序图 (30)3.2.10管理员编辑促销产品时序图 (30)3.2.11管理员编辑条款信息时序图 (31)3.2.12管理员编辑购买流程时序图 (32)3.2.13管理员删除会员时序图 (33)3.2.14用户结算时序图 (34)3.3.活动图 (34)3.3.1用户顾客的活动图 (34)3.3.2管理端管理员的活动图 (35)3.4协作图 (37)3.4.1顾客登录协作图 (37)3.4.2顾客注册协作图 (37)3.4.3顾客浏览商品协作图 (38)3.4.4反馈信息协作图 (38)3.4.5顾客查询商品协作图 (39)3.4.6顾客购买商品协作图 (39)3.4.7管理员删除会员协作图 (40)3.4.8管理员添加商品协作图 (40)3.4.9管理员添加商品标题协作图 (41)3.4.10管理员删除商品协作图 (41)3.4.11管理员删除标题协作图 (42)3.4.12管理员编辑文本协作图 (42)4.系统数据库设计 (43)4.1数据库的需求分析 (43)4.2数据库的逻辑设计 (43)5.参考文献: (46)系统分工:梁志负责总体设计和画用例图、活动图:王向宝负责前台设计包括:注册、浏览、反馈、登录罗全力负责前台设计包括:购买、查询、顾客和管理员类的设计雅东负责后台设计包括:商品管理(添加、删除商品,添加、删除标题)、会员管理、商品类和标题类的设计俊负责后台设计包括:文本编辑管理(编辑购物流程、条款信息、促销信息)和订单管理、订单类的设计电子商务系统1.系统需求随着社会的发展,电子商务成为了一个热门的话题,而网上购物已经成为当今社会一种比较流行的购物方式。
《面向对象分析与设计》课程设计专业计算机科学与技术班级计算机08-1学号姓名指导教师完成时间2011-6-10成绩目录二设计目的 (3)1.需求分析 (3)系统功能分析 (3)三设计要求 (4) (4) (5) (7).................................................................................9........................................................................ 10 四用UML对系统建模 (12)1.用例图(用例建模)……………………………………………………12前台用户用例图及其文档 (12)后台管理员用例图及其文档 (14)2.系统类图 (16)3.顺序图 (17)4.构造活动图 (20)5.构造状态机图 (29)6.构件图 (33)7.部署图 (33)五使用说明书 (34)六工作总结 (39)一、设计题目:网上购物系统设计二、设计目的需求分析在线商城系统主要是针对中小型商城,购物系统管理员将商品信息整理归类发布到网上,用户登录该网站后,首先要注册为会员才能购买商品,提交订单给购物系统管理员,并同时将费用通过电汇或邮寄的方式交付到商城管理员处。
购物系统管理员在收到付款后,发货给购物者,并同时更新网上有关于该订单的付款状态,从而完成一次交易。
●只允许系统规定的购物系统管理员来添加和修改商品信息;购物系统管理员可以查看该系统的所有注册用户信息,可以修改某一个注册用户的基本信息,也可以删除某个用户;购物系统管理员可以查看该系统的所有订单,可以删除订单,也可以修改订单的付款状态、发货状态。
●任何一个网络用户都可以注册称为该系统的固定用户,注册时需要填写基本注册信息,还可以修改个人的基本信息。
●只有注册用户才能登录此系统,购买商品。
购买商品时可以任意选购商品,任意填写购买数量,可以修改已选择商品的购买数量,可以删除已选择的某一种商品,可以取消购买,可以提交购买下达订单确认一次购买成功。
网上购物系统1.系统需求分析网上购物系统分前台功能和后台功能两大部分。
前台主要供用户浏览和购买商品,后台主要供管理员使用,管理员可以对商品信息、订单信息及网站的新闻、公告进行管理。
1.1前台功能分析网上购物系统前台的用户共分两类:一类是注册用户(正式用户),这类用户有基本的信息,可以对自己的信息进行查看与修改,可以随时实现网上购物。
当用户在网站所购商品总金额达一定数量,可以根据所购商品总金额数量不同自动升级成为不同等级的VIP会员,并享受不同折扣优惠;另一类用户是游客(未注册用户),他们只能查看、浏览网站信息,可以把商品加入购物车或收藏夹,但不能实现购买。
游客:可以查看商品信息、浏览网站信息,可以把商品加入购物车或收藏夹,但不能实现购买。
经过注册可以成为注册用户。
注册用户:登录后对可以对个人信息进行查看和修改。
商品信息浏览、商品查找、商品评论和建议。
注册用户不仅可以对网站商品进行浏览和查找外,还可以对商品进行评论、向管理员发送消息提出自己的建议。
选购商品加入购物车或收藏夹、对购物车或收藏夹信息进行管理。
用户注册后,登陆到电子商务网站中,可以进入购物流程。
用户在浏览商品后,可将满意商品放入购物车或收藏夹,购物车内可以随意增加、删除商品,修改商品数量,并同时统计购物车内商品总额。
用户可对购物车的商品进行修改或删除,或对收藏夹中商品进行删除。
结帐、确认订单、订单状态查询、历史订单查询。
用户确认购物车内信息无误,即可生成订单。
在生成订单时,必须填写一张配送单。
配送单默认为用户注册时的基本信息,当然配送地址可由用户修改为合适的收货地址,支付方式也可根据提示由用户自定。
下单后,用户可以在前台页面查看订单状态,订单状态可以是“末处理”,“已发货”,“已付款”。
5、发表及回复留言。
为了加强注册用户之间的交流,网站还提供了论坛功能,注册用户可以在某一个论坛版块中发贴,也可以回复别人的贴子。
1.2后台功能分析网上购物系统后台主要是供管理员使用的,管理员可对商品的一级分类信息、二级分类信息、商品信息进行添加、删除、查询及修改;对用户订单进行处理;管理用户在论坛中发表的留言,删除不健康及不利于网站的留言;回复用户发送的消息;对网站的新闻、公告进行管理。
web网上购物系统课程设计一、课程目标知识目标:1. 让学生理解Web网上购物系统的基本概念、功能模块和工作流程。
2. 使学生掌握数据库设计、前端界面设计和后端逻辑处理的基本方法。
3. 帮助学生了解网络安全、支付流程和用户权限管理等相关知识。
技能目标:1. 培养学生运用HTML、CSS和JavaScript等前端技术设计美观、易用的购物界面。
2. 培养学生使用一种或多种后端编程语言(如PHP、Java、Python等)实现购物系统的功能。
3. 提高学生运用数据库管理系统(如MySQL)进行数据存储、查询和更新的能力。
4. 培养学生具备一定的项目分析和解决实际问题的能力。
情感态度价值观目标:1. 激发学生对电子商务的兴趣,培养其主动探索和创新的意识。
2. 培养学生具备良好的团队协作精神,提高沟通与协作能力。
3. 强化学生的网络安全意识,使其具备良好的网络道德素养。
课程性质:本课程为实践性较强的课程,旨在培养学生的实际操作能力和项目实践能力。
学生特点:高中年级学生,具备一定的计算机基础和网络知识,对新鲜事物充满好奇,喜欢动手实践。
教学要求:注重理论与实践相结合,强调学生的主动参与和动手能力,充分调动学生的学习积极性,培养其独立思考和解决问题的能力。
通过课程学习,使学生能够独立完成一个简单的Web网上购物系统项目。
二、教学内容1. 网上购物系统概述- 了解电子商务发展历程及网上购物系统的基本概念。
- 分析网上购物系统的功能模块和业务流程。
2. 数据库设计- 学习数据库的基本概念,掌握实体关系模型和关系数据库设计方法。
- 列举并设计网上购物系统所需的数据表结构。
3. 前端界面设计- 掌握HTML、CSS和JavaScript等前端技术。
- 设计并实现购物系统的前端界面,包括商品展示、购物车、订单提交等。
4. 后端逻辑处理- 学习一种或多种后端编程语言(如PHP、Java、Python等)。
- 实现用户注册、登录、商品管理、订单管理等功能模块。
网上购物系统——概要设计说明书网上购物系统——概要设计说明书网上购物系统概要设计说明书拟制人________许威________ 审核人_ 宋金德袁浩王朝阳_ 批准人____ _____________ 1.引言1.1.编写目的编写此需求分析报告,实现商场、中小企业或个人在互联网上进行新产品展示,网上通信留言功能,重点实现网上商品的查找、在线购买功能。
实现普通用户只能浏览,注册用户可以在线定购,后台管理人员可以进行产品上传更新、注册用户的管理等功能。
1.2.项目背景软件名称:网上购物系统开发者:宋金德,袁浩,王朝阳,许威项目简介:本系统主要实现网上产品展示与在线定购及人员的管理,一、不同身份有不同的权限功能(管理人员、注册用户、游客)二、在线产品展示(分页显示)三、在线定购四、后台管理(用户管理、商品的管理)1.3 参考资料[1] 谭浩强《动态网页制作ASP》北京电子工业出版社. 2001 [2] 彭万波《网页设计精彩实例》北京电子工业出版社.2002 [3] 袁玫等《网络数据库应用教程》北京人民邮电出版社.2002[4] 潘英伟《网站开发实用手册》中国广播电视出版社.2001[5] 樊健平《ASP高级编程及其项目应用开发》中国水利水电出版社.2003 [6] 许卫林《VBScript+ASP动态网页制作》中国电力出版社.2002 [7] 金旭亮《网站建设教程》北京高等教育出版社.2002 [8] 张海潘《软件工程导轮》清华大学出版社.2005 [9] 石志国《ASP精解案例教程》清华大学出版社.2004 [10] 汪晓平、钟军《ASP网络开发技术(第二版)》人民邮电出版社.2003. 1.4.问题陈述对用户提供的服务有:l 在线产品展示2 在线查找功能3 在线下订单。
2.任务概述2.1.需求概述根据实际情况,把商品分类,提供商品查找,订单查询,商品管理,订单管理,系统管理等小模块合并成一个可执行的软件系统模型。
基于JavaEE架构的网上购物系统的设计与实现一、本文概述随着电子商务的迅猛发展,网上购物系统已成为现代社会中不可或缺的一部分。
基于JavaEE架构的网上购物系统,凭借其高效、稳定、可扩展的特性,成为众多电商平台的首选。
本文旨在深入探讨基于JavaEE架构的网上购物系统的设计与实现过程,以期为相关从业者提供有价值的参考和启示。
本文将首先介绍JavaEE架构的基本概念、特点及其在网上购物系统中的应用优势。
接着,文章将详细阐述系统的总体设计,包括系统架构、功能模块、数据库设计等关键要素。
在实现部分,我们将重点介绍前端页面的开发、后端业务逻辑的处理以及数据库访问的实现,同时还将分享在开发过程中遇到的主要问题及解决方案。
本文还将对系统的性能优化、安全性保障以及可扩展性等方面进行探讨,以便读者能够全面了解并掌握一个高性能、安全可靠的网上购物系统的设计与实现方法。
文章将总结整个设计与实现过程,并展望未来可能的改进方向和发展趋势。
通过本文的阅读,读者将能够深入了解基于JavaEE架构的网上购物系统的设计与实现过程,掌握相关的技术和方法,为实际项目的开发提供有力的支持。
二、系统需求分析随着电子商务的快速发展,网上购物系统已经成为人们生活中不可或缺的一部分。
为了满足广大用户的购物需求,提供一个稳定、安全、易用的购物平台显得尤为重要。
因此,我们设计并实现了基于JavaEE架构的网上购物系统。
在系统需求分析阶段,我们首先进行了广泛的市场调研和用户访谈,了解了用户的购物习惯、需求和期望。
在此基础上,我们确定了以下几个关键需求:用户界面友好:系统需要提供直观、易用的用户界面,确保用户能够轻松浏览商品、添加购物车、下单和支付。
同时,系统应支持多种语言,以满足不同国家和地区用户的需求。
商品管理:系统需要支持商品的分类、展示、搜索和筛选等功能。
商家应能够方便地添加、编辑和删除商品信息,确保商品信息的准确性和完整性。
购物车与订单管理:用户应能够将感兴趣的商品添加到购物车中,并在购物车中查看、编辑和结算商品。
网上商城购物系统一、系统分析与总体设计(一)系统功能描述网上商城购物系统分为前台和后台管理。
交台管理包括浏览商品、查询商品、订购商品、购物车、用户信息维护等功能。
后台管理包括:1、公告管理●添加公告●修改公告●删除公告2、商品管理●添加商品类别●修改商品类别●删除商品类别●添加商品信息:类别、名称、编号、所属公司等●商品图片上传、修改、删除●修改商品信息●删除商品信息●查看商品信息3、订单管理●处理订单●办理发货●办理结帐●删除订单4、投拆管理●录入投拆的解决方法●删除已经解决的投拆●查看投拆用户5、顾客用户管理功能●注册顾客用户●修改顾客用户信息●删除顾客用户信息6、系统用户管理功能●添加系统用户●修改系统用户信息●删除系统用户信息(二)功能模块的划分本实例可以实现6个主要的功能系统功能模块示意图用户管理比较简单,“系统管理员”用户Admin,由程序设计人员搬运添加到数据库中,Admin用户可以创建其它用户,普通用户可以修改信息。
用户管理模块示意图(三)系统流程分析前台客户购物流程后台订单处理流程:多用户系统的工作流程都是从用户登录开始的,之后对用户身份进行验证,确认用户是否是有效注册用户的操作权限,从而决定用户的工作界面。
二、数据库结构的设计与实现 (一)创建数据库CREATE DATABASE SHOP GO(二)数据库结构的逻辑设计 共有7张表,它们分别是: 1、 公告信息表Board公告编号、公告题目、公告内容、提交时间、提交人 2、 商品类别表GoodsType分类编号、分类名称 3、 商品信息表Goods用户订单订单处理 订单发货 订单 结帐 订单删除 后台订单处理流程商品编号、商品类别、商品名称、商品序列号、生产厂家、包装类型、销售价格、进货价格、商品简介、阅读次数、销售数量、图片文件4、购物车表Basket编号、用户名、商品编号、订购时间、订购数量、销售价格、用户确认(0-用户订购,1-送至收银台,2-提交订购)、订单号、提交时间、管理员确认(0-没有提交,1-用户提交,2-处理、3-发货,4-结帐)5、客户投诉表Complain投诉编号、投诉时间、用户名、订单号、投诉内容、处理结果、处理标志(0-未处理,1-已处理)6、用户信息表用户名、用户密码,用户姓名,性别、地址、电子邮件、固定电话、移动电话7、管理员Admin用户名、密码、用户姓名(二)创建表和数据库-- 创建数据库CREATE DATABASE ShopGOUSE ShopGOCREATE TABLE Board (Id int IDENTITY (1, 1),Title varchar (50),Content varchar (1000), PostTime datetime,Poster varchar (20))GOUSE ShopGOCREATE TABLE GoodsType ( Id int IDENTITY (1, 1),Type varchar (50))GOUSE ShopGOCREATE TABLE Goods (Id Int IDENTITY (1, 1), Typeid Int,Name Varchar (50),Sn_Number Varchar (50), Producer Varchar (50), Package Varchar (50), SalePrice Float DEFAULT 0, StorePrice Float DEFAULT 0, Content Varchar (1000), PostTime Datetime, ReadCount Int DEFAULT 0, BuyCount Int DEFAULT 0, ImageFile Varchar (50))GOUSE ShopGOCREATE TABLE Basket (Id Int IDENTITY (1, 1),UserId Varchar (20),GoodsId Int,OrderTime D atetime,OrderCount Int DEFAULT 0, SalePrice Float DEFAULT 0, UserChecked Char (10) DEFAULT 0, OrderNumber Varchar (50), PostTime Datetime,AdminChecked Char (10) DEFAULT 0 )GOUSE ShopGOCREATE TABLE Complain (Id Int IDENTITY (1, 1),Posttime Datetime,UserId Varchar (20), OrderNumber Varchar (50),Content Varchar (1000),Result Varchar (1000),Flag Bit DEFAULT 0)GOUSE ShopGOCREATE TABLE Users (UserId Varchar (20) PRIMARY KEY, Pwd Varchar (20),UserName Varchar (50),Sex Bit,Address Varchar (1000),Email Varchar (50),Telephone Varchar (100),Mobile Varchar (50))GOUSE ShopGOCREATE TABLE Admin (AdminId Varchar (20) PRIMARY KEY,PassWd Varchar (20),Name Varchar (50))GOINSERT INTO Admin V ALUES('Admin','111111','Admin')GO三、目录结构和通用模块(一)目录结构●admin用于存储系统管理员的后台操作脚本,包括商品类管理、商品信息管理、站内公告管理、订单管理、系统用户管理等功能●admin/image 用于保存上传商品图片●image 用于存储网页图片●user 用于存储注册用户前台操作脚本:用户投诉和注册用户管理等。
网上购物系统设计报告1 系统设计概述下图为网上商城购物系统的功能模块示意图:图1 网上购物系统功能模块示意图本系统按照功能分解, 可以分为前台管理和后台管理系统。
根据页面流的设计, 管理端系统分为公告管理、商品管理、订单管理、投诉管理、系统管理5个模块。
1.1 功能划分后台模块详细功能描述系统管理员可以添加用户。
系统管理员可以动态的给用户赋予权限, 保证系统信息不外泄。
系统管理员可以修改和删除用户信息。
系统管理员可以给用户建立备注信息, 其仅对具有权限的用户可以进行信息的检查与修改。
(1)、商品大类、小类管理(2)、评论管理(3)、商品信息管理(4)、品牌管理(5)、单位管理(6)、销售统计(7)、商品信息批量修改管理前台模块详细功能描述用户注册, 此时要保证系统不受注册机的攻击, 要采用验证码技术。
要确保权限为普通用户, 要有密码保护措施, 保证用户设定之后可以找回遗忘的密码。
其中, 用户信息管理以及订单和购物车是禁止匿名用户访问的内容。
(1)商品信息模块: 精品商品浏览(首页显示最精美的商品列表)、热销商品浏览(首页显示点击率最高的商品列表)、特价商品浏览(价格特别优惠的商品列表)、商品分类浏览、商品详细信息。
(2)购物车模块: 添加商品到购物车、购物车信息修改、结账。
(3)用户信息管理模块: 注册新用户、登录、用户修改密码、用户个人资料管理。
(4)订单模块: 查询个人订单列表、查询某笔订单的详细信息。
2)、后台模块详细功能描述(1)管理员信息管理: 登录;添加新管理员、删除管理员: 修改密码;管理员日志(记录管理员的每个操作, 由超级管理员进行查询)。
(2)商品信息管理: 添加、删除商品类别;添加、修改、删除商品信息。
(3)用户信息管理: 查询用户信息、修改账户金额。
(4)订单管理:管理订单是否确认, 是否发货, 是否付款, 是否归档。
并且对相应信息进行查询(支持多参数查询)。
2 系统需求分析说明此系统基于ASP的购物网站分前台功能各后台管理功能:前台部分由用户使用, 主要包括用户注册, 购买商品, 查询商品, 浏览商品, 浏览公告。
一、概述1.1需求背景伴着电子时代的迅猛发展和人民物质生活的水平的提高,越来越多的电子购物浪潮也汹涌而来。
我们容身在这个信息化的大时代,网购也就成了许多人生活中必不可少的一部分,足不出户的便捷式购物与传统的购物方式大相径庭,人们在享受到方便、实惠的同时也不必担忧安全的问题,既方便了自身也推动着国家经济的发展。
电子商务网络购物平台,无疑是这个时代的进步。
1.2编写目的数据库设计说明书是数据库设计的必要部分,对设计中的数据库的所有标识、逻辑结构和物理结构作出具体的设计规定。
本数据库的设计说明书编写的目的是对网上购物系统设计的说明,明确系统中的各项功能与非功能的需求,从而做出系统的数据流图以及实体联系图。
作为系统的基准文档,为以后的开发和维护提供依据。
1.3软件定义Myeclipse 10.0:—个非常优秀的用于开发 Java J2EE的Eclipse插件集合,Myeclipse 功能非常强大,支持也十分广泛,尤其对各种开源产品的支持也不错。
Apache Tomcat 6.0:是一个开放源代码、运行 servlet和JSP Web应用软件容器。
Microsoft SQL Server 2005:Structured Query Language1.4开发环境本电子商务网络购物平台的开发环境是Windows 7、 Myeclipse10.0、 Apache Tomcat6.0,数据库环境是 Microsoft SQL Server 2005。
二、需求分析2.1问题陈述设计网络购物系统的数据库。
2.1需完成的功能客户功能: (1 ) 游客可以查看商品信息,浏览网站信息,经过注册可以成为注册客户。
(2)注册客户:注册、客户信息查看和修改。
客户登录、确认客户信息,显示客户信息。
商品信息浏览、购物车管理、商品查找、订单查询以及商品评论。
结账、确认订单、订单状态查询、历史订单查询。
商家功能:商品的增删改。
订单处理、订单配送。
客户注册后,登录到电子商务网站,进入购物流程。
客户在浏览所有商品信息后,可以查看每个商品的详细信息,选择购买或加入购物车,购物车内可以随意增删商品,修改商品数量,并同时统计购物车内商品总额。
客户确认购物车内的商品,选中购买,即可生成订单。
可以查看订单状态,“0表示”商品未发出,“ 1”表示商品已发出。
客户分为普通客户和 VIP客户,依据购买商品的金额和数量,自动升级。
不同的VIP 等级享有不同的折扣。
2.1数据流图2.1数据字典客户表数据字典:表1 :客户表字段信息商品表数据字典:字段中文描述数据类型是否为空备注GoodsID 商品号BigI nt Not null 主键GName 商品名称Varchar(30) Not nullGPrice 商品价格Smallm oney Not nullGTypeID 商品类别BigI nt Not nullGlntro 商品描述Varchar(200) NullGImage 商品图片路径Varchar(100) NullGCou nt 商品计数Int Not nullGSail 商品销量BigI nt Not nullGWeight 商品重量BigI nt NullGDateTime 上架日期Datetime Not nullGSize 商品规格Varchar(100) Not null表2: 商品表字段信息商品类别表数据字典:表5:订单表字段信息购物车表数据字典:表6:购物车表字段信息会员等级表数据字典:表8:评论表字段信息供应表数据字典:表9:供应表字段信息发票表数据字典:字段中文描述数据类型是否为空备注ReceiptID 发票ID BigI nt Not null 主键SubID 订单号BigI nt Not null表10:发票表字段信息地址表数据字典 :字段中文描述数据类型是否为空备注AddressID 地址ID Int Not null 主键Address 地址Varchar(50) Not nullUserID 客户ID BigI nt Not null表11:发票表字段信息三、数据库概念结构设计3.1E-R模型图的设计(1)寻找实体集客户 VIP会员商品商家商品类别地址(2)寻找实体间联系客户与商品之间多对多联系:订单,评论1>客户与VIP会员之间多对一联系:属于2>会员等级与订单细节一对多:参照 13>订单细节与商品多对一:参照24>订单细节预订单多对一:组成客户与商品之间一对多联系:购物车1> 客户与购物车一对一:拥有2> 购物车与商品一对多:存放3> 购物车与订单细节一对多:结算商家与商品之间多对多联系:供应商品与商品类别之间多对一联系:分类客户与地址之间一对多联系:所在3)确定实体的属性客户:客户 ID 客户名客户真实姓名客户密码客户邮箱联系电话身份证号密码问题答案注册时间会员等级 IDVIP 会员:会员等级 ID 等级分类商品:商品号商品名称商品价格商品类别商品描述商品图片路径商品计数商品销量商品重量上架日期商品规格商家:商家号商家名商家地址商家电话地址:地址号地址名称商品类别:商品类别号类别描述(3)确定联系的属性订单:订单号客户号商品号送货地址订购日期订购数量单价发票号订单金额发货时间付款方式运送方式邮费订单状态购物车:购物车 ID 客户 ID 商品 ID 订购时间订购数量单价用户确认供应:供应 ID 实际存货最低存货商品 ID 商家 ID分类:商品号商品分类客户类型属于:客户号客户类型评论:评论ID 内容标题客户ID 商家ID评论时间客户地址所在:客户号客户地址(4)画出E-R图图2:客户与商品实体间的详细联系E-R图11n图3:网络购物系统E-R图四、数据库逻辑结构设计4.1E-R模型图转化为关系表(1)实体转化为单独的一张表客户 VIP会员商品商家商品类别地址(2)多对多联系转化为单独的一张关系表购物车订单评论供应(3)其他一对多的联系通过在多的一方增加属性来实现客户表与会员等级:在客户表中增加会员等级ID商品与商品类型:在商品中增加类型号4.2描述基本表的关系E-R图转化为关系模型,关系的码用下划线标出。
此为客户实体对应的关系模式:客户(客户号,密码,会员等级号,…)此为VIP会员实体对应的关系模式:VIP会员(会员等级号,等级类型)此为商品实体对应的关系模式:商品(商品号,描述,商品分类,商品名,…)此为商家实体对应的关系模式:商家(商家号,商家名,商家电话,…)此为商品类别实体对应的关系模式:商品类别(商品类别号,商品类别)此为联系“购物车”所对应的关系模式:购物车(购物车号,客户号,商品号,…)此为联系“订单”所对应的关系模式:订单(订单号,客户号,商品号,…)此为联系“评论”所对应的关系模式:评论(评论号,内容,客户号,…)此为联系“供应”所对应的关系模式:供应(供应号,实际存货,最少存货,…)4.3所有关系表达到BCNF范式4.4定义视图(1)订单表中只关联客户、商品的ID,而最终客户核对的应该是包含客户真实姓名在内的客户必要信息以及包含商品名称的商品信息,分别建立两个视图:1>参照商品的订单细节create view View_goodsasselect * from tb_goodswhere GoodsID='201201'2>参照客户信息的订单细节 create view View_userasselect * from tb_userwhere UserID='201'4.5定义索引在经常查询的列上(主键)建立聚簇索引如:在商品信息表上建立索引create cluster index Index_ GoodsID ontb_goods(GoodsID)4.6定义触发器(1)注册客户自动升级 VIP--创建触发器tr_grade,实现注册客户VIP自动升级Create Trigger tr_grade ON tb_subFor updateAsIF Update(SpPrice)BeginDeclare @price moneySelect @price=SpPrice From insertedIf @price>=30000Update tb_user set GradeID=4ElseIf @price>=20000Update tb_user set GradeID=3ElseIf @price>=10000Update tb_user set GradeID=2ElseIf @price>=0Update tb_user set GradeID=1End(2)更新订单,订单金额是商品价格总和--创建一个更新触发器,及时更新订单 Create Trigger tr_update On tb_sub For Update AsIf Update (SpCount) Or Update (GPrice)BeginDeclare @orderNo Bigint,@productNo BigintDeclare cur_order Cursor ForSelect SubID,GoodsID From DeletedOpen cur_orderBegin TransactionFetch cur_order into @orderNo,@productNoWhile (@@fetch_status=0)BeginUpdate tb_subSet tb_sub.SpPrice=tb_sub.SpPrice-D.SpCount*D.GPrice+I.SpCount*I.GPriceFrom inserted I,deleted DWhere tb_sub.subID=I.subID And I.subID=D.subIDAnd tb_sub.subID=@orderNo And I.GoodsID=D.GoodsIDAnd I.GoodsID=@productNoFetch cur_order into @orderNo,@productNoEndCommit tranClose cur_orderDeallocate cur_orderEnd(3)更新购物车,选中商品更新商品总额--更新购物车,选中商品更新商品总额Create Trigger tr_car On tb_car For Update AsIf Update (OrderCount) Or Update (GoodsPrice)BeginDeclare @CarID Bigint,@GoodsID BigintDeclare cur_car Cursor ForSelect CarID,GoodsID From DeletedOpen cur_carBegin TransactionFetch cur_car into @CarID,@GoodsIDWhile (@@fetch_status=0)BeginUpdate tb_carSet tb_car.OrderPrice=tb_car.OrderPrice-D.OrderCount*D.GoodsPrice+ I.OrderCount*I.GoodsPriceFrom inserted I,deleted DWhere tb_car.CarID=I.CarID And I.CarID=D.CarIDAnd tb_car.CarID=@CarID And I.GoodsID=D.GoodsIDAnd I.GoodsID=@GoodsIDFetch cur_car into @CarID,@GoodsIDEndCommit tranClose cur_carDeallocate cur_carEnd(4)创建触发器只允许注册会员在网上下订单--创建一个触发器tr_sub,只允许注册会员在网上提交订单Create Trigger tr_sub on tb_subFor insertAsIf Not Exists(select * From insertedWhere UserID in(select tb_erID from tb_user)) BeginRaiserror(提交订单前请先注册!’,16,1)Rollback TransactionEnd4.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_goodswith nocheckadd constraint fk_goods foreign key(GTypeID) references tb_type(TypeID) --为tb_address 增加外键约束alter table tb_addresswith nocheckadd constraint fk_address foreign key(UserID) references tb_user(UserID) (3)用户自定义完整性约束1>客户表密码不能少于 6 位,且不能与客户号相同Alter table tb_userAdd constraint Ck_passCheck (6<=le n( Userpassword) and Userpassword<>UserlD)2>电子信箱格式为xxx@xxx.xxx格式Alter table tb_userAdd con stra int Ck_emailCheck (Email like '%@qq.%')3>订单号共12位,前8位是订货日期,后4位是流水号,格式为“ 201312 150001”3>订货时间早于发货时间alter table tb_subwith no checkadd con stra int ck_sub check(SpDateSe ndDate5>发票号码唯一alter table tb_receiptadd con stra int un _receipt uniq ue(ReceiptlD)6>订单状态取值为“ 0”或“ 1”alter table tb_subwith no checkadd con stra int ck_state check(State in (0,1))7>身份证号必须为16或者18位Alter table tb_userAdd con stra int Ck_idCheck (ID in (16,18))8>……五、结束语一个软件最重要的不是前台页面,而是软件的生存期,即实用性的长远,而后者则主要取决于后台的维护。