ImageVerifierCode 换一换
格式:DOC , 页数:24 ,大小:382.01KB ,
资源ID:4757635      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(网上购物订单数据库系统..doc)为本站上传会员【天****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

网上购物订单数据库系统..doc

1、 网上购物订单数据库系统 班级:xxxxx 姓名:xxxxx 目录 一、概述 2 1.1 开发背景 2 二、需求分析 3 2.1 框架分析 3 2.2 功能需求 3 2.3 系统功能清单 4 2.4 数据流图 4 2.5 数据字典 5 2.5.1 数据流的描述 5 2.5.2 处理逻辑的描述 5 三、 概念模型设计 5 3.1 系统模块划分 5 3.2 系统功能模块结构图 6 3.3 会员实体图 7 3.4 商品实体图 7 3.5 系统E-R图 8 3.6 管理员

2、后台处理流程图 10 四、逻辑模型设计 10 4.1 E-R图向关系模型转化……………………………………………………10 4.2 数据库表设计……………………………………………………………10 4.3 关系模式优化……………………………………………………………12 五、物理设计……………………………………………………………………………………12 六、数据库实施……………………………………………………………………14 七、不足与体会……………………………………………………………………23 一、概述 1.1 开发背景 随着网络技术的日益成熟,网络购物已经成为引领潮流的购

3、物方式,尤其是在一些出门购物并不是十分便利的地区,网上购物的优势更是体现的淋漓尽致。与此同时,网上购物也给商家带来了巨大的利润,因为免除了一些不必要的费用,在收益的获得上也显得更为直接,例如在今年的“光棍节”期间,淘宝的成交额将近200亿,可见,网上购物已成为主流。因而一个好的订单数据库管理系统成为了必要,在管理好用户数据的同时,也提高了订单处理的效率。 网上购物系统的主要内容是,一方面让销售商把商品发布于网络,一方面让消费者通过网络来完成商品的交易。系统总体分成前台和后台两大模块,前台是用户模块,后台是管理员模块。实现的功能,首先系统向用户列出网站的商品信息。其次当顾客登录网上购物

4、系统后,为每个用户分配一个购物车,用户选择商品后,商品会被放入购物车。再次,用户确认购物车信息,点击提交生成订单。最后,管理员对订单进行处理,即完成一次商品交易。 网上购物是一种具有交互功能的商业信息系统。它向用户提供静态和动态两类信息资源。所谓静态信息是指那些经常变动或更新的资源,如公司简介、管理规范和公司制度等等;动态信息是指随时变化的信息,如商品报价,会议安排和培训信息等。网上购物系统具有强大的交互功能,可使商家和用户方便的传递信息,完成电子贸易或EDI交易。这种全新的交易防护四实现了公司将文档与资金的无纸化交换。 二、需求分析 2.1 需求框架

5、分析 在我们的订单数据库系统中,采用了三层架构设计模式。 三层架构是基于模块化程序设计的思想,为实现分解应用程序的需求,而逐渐形成的一种标准模式的模块划分方法。 此模型将应用程序划分为:用户界面层、业务逻辑层、数据访问层三个层次。 1、用户界面层:负责处理用户的输入和向用户输出,但并不负责解释其含义。有时候出于对效率的考虑,这一层可能会在向上传输用户输入之前进行合法性验证。 2、业务逻辑层:这一层是用户界面层与数据访问层的纽带,它根据用户界面层传来的数据进行相应的业务逻辑操作并把结果返回给前端界面显示。 3、数据访问层:负责实际的数据存储和检索,它建立实际的数据库连接,根据用户的请

6、求执行检索或更新数据库操作。 2.2 功能需求 订单数据库系统共有5个页面,基本流程为: 1、 会员通过“会员登录页面”登录成功后进入“购物列表界面”。 2、 会员在此可以选购; 3、 选购完毕后进入“购物车清单页面”,查看购物信息。此处可修改信息。 4、 确认购物车信息后进入“订单信息页面”,会员填写详细信息并提交订 单。 5、 订单成功提交后进入“订单详情页面”,至此购物流程结束。 2.3 系统功能清单 前台模块功能 后台模块功能 商品信息展示 会员注册 会员登陆 会员信息修改 购物车管

7、理 订单管理 商品管理 会员管理 系统管理 表 2-1 系统功能清单 2.4 数据流图 图 2-1 数据流图 2.5 数据字典 2.5.1 数据流的描述 (1)会员编号数据项定义 表2-2 会员编号数据项定义 数据项定义 数据项编号:201101 有关编码的说明: 数据项名称:会员编号

8、X XX XX 简 介:本商城会员编号 会员类别 编号 类 型:电器 实 例:A0001 2.5.2 处理逻辑的描述 (1)判断是否已结算 表2-4 判断是否已结算 判断是否已结算 处理逻辑编号:P003 处理逻辑名称:判断是否已结算 简 述:判断是否已结算 输入的数据流:会员名、商品条形码、总额 处理描述:根据会员名和商品条形码、总额,将对应的书籍交易状态更改为已付款等待发货 输出的数据流:D003 处理频率:100次/天

9、 三、 概念模型设计 3.1 系统模块划分 1、连接数据库模块:使用JDBC访问ORACLE数据库,实现对数据库的操作 2、购物车及后台处理模块:会员将购买的商品加入购物车后,将数据插入数据库保存,以便后台管理员确定信息和发货以及会员查看记录 3、验证登陆模块:根据输入的用户名和密码验证是否正确 4、商品展示模块:通过访问数据库展示商品信息 5、商品详细信息模块:显示商品的详细信息 3.1.2后台模块详细功能描述: (1)管理员信息管理:登录;添加新管理员、删除管理员:修改密码;管理员日志(记录管理员的每个操作,由超级管理员进行查询)。 (2)商品信息管理:添加、删除商品

10、类别;添加、修改、删除商品信息。 (3)用户信息管理:查询用户信息、修改账户金额。 (4)订单管理:管理订单是否确认,是否发货,是否付款,是否归档。并且对相应信息进行查询(支持多参数查询)。 3.2 系统功能模块结构图 图 3-2 系统功能模块结构图 3.3 会员实体图 会员注册时间 会员ID 会员名 会员 注册时间 会员密码 联系方式 图 3-3 会员实体图 3.

11、4 商品实体图 单价 厂商 条形码 商品名 商品 上传时间 数量 物品类型 图片地址 图 3-4 商品实体图 3.5 系统E-R图 3.5.1分E-R图 3.5.2总E-R图 图3-5 系统E-R图 3.6 管理员后台处理流程图 判断是否为管理员 否 查看会员信息 修改商品 修改信息 删除会员 删除商品 添加商品 查看订单 用户登陆 非法登陆 是 会员管理 订单管理 商品信息管理 订单处理

12、图 3-6 管理员后台处理流程图 四、逻辑模型设计 4.1 E-R图向关系模型转化 管理员(管理员编号、用户名、密码) 会 员(ID、昵称、密码、姓名、地址、E-mail、QQ、联系方式) 购物车(编号、用户名、商品名、数量、总价格、创建时间) 订 单(订单号、创建时间、用户名、姓名、地址、联系方式、商品名、商品编号、数量、总价、单价) 商 品(商品编号、商品名、单价、厂商、生产日期、商品介绍) 4.2 各个数据库表设计如下: 表1 用户信息表 数据项编号 数据项名称 别名 简述 字段名 类型 取值范围 I1

13、 用户编号 用户ID 用户代号 User Char 4-20 I2 注册日期 日期 注册时间 Rtime Date I3 用户名 用户昵称 用户昵称 Uname Char 4-20 I4 用户密码 密码 用户登陆密码 passwd Char 6-18 I5 用户地址 地址 用户地址 address Char I6 用户姓名 真实姓名 用户姓名 Rname Char 4-10 I7 用户QQ QQ 联系方式 QQ Char 5-15 I8 E-mail 邮箱 联系方式 mail Char

14、 表2 商品信息表 数据项编号 数据项名称 别名 简述 字段名 类型 取值范围 I1 商品编号 条形码 Isbn Isbn Char I2 上传时间 日期 上架时间 Upload_time Date I3 商品名 品名 名称 Shopname Char I4 厂商 厂商 厂商 From Char I5 单价 价格 商品单价 Price Int I6 库存数量 库存 库存量 Storecount Int I7 商品简介 简介 简介

15、 Content Char 表3 购物车信息表 数据项编号 数据项名称 别名 简述 字段名 类型 取值范围 I1 订单编号 订单号 订单代号 OrderId Char I2 订单日期 日期 下订单时间 Stime Date I3 用户编号 用户编码 购买者代号 UserId Char I4 用户名 昵称 购买者用户名 Uname Char I5 用户地址 地址 送货地址 address Char I6 用户姓名 真实姓名 收货人姓名

16、Rname Char I7 商品编号 商品编码 商品代码 Isbn Char I8 商品名称 商品名 商品名称 Shopname Char I9 商品数量 商品数 购买数量 count Int 0-9999 I10 商品价格 价格 购买商品价格 price Int 0-9999 I11 交易状态 状态 商品交易状态 Condition Int 其中交易状态中设定: 0 ------- 等待付款 1 ------- 已付款等待发货 2 ------- 已发货等待签收

17、3 ------- 交易完成 4 ------- 交易关闭 4.3 关系模式的优化 对关系模式进行规范化处理,对关系模式进行评价与修正。 五、物理设计 5.1聚簇设计 该订单管理系统可建立以下聚簇: OderId(订单编号) Isbn(商品编号) User(用户编号) Uname(用户名) 这几个聚簇设计是因为这几张表都是实体表,且聚簇中的属性都是主键或是外键,被访问的概率很高,而其他表或者这些表上的其他属性被访问的概率就相对较低。 5.2索引设计 索引就是表中数据和相应存储位置的列表,使用索引可以大大减少数据的查询时间。 对于一个确定的

18、关系,通常在下列情况下可以考虑建立索引。 (1) 在主键属性列和外键属性列上通常都可以分别建立索引,不仅有助于唯一性检查和完整性检查,而且可以加快连接查询的速度。 (2) 以查询为主的关系可建立尽可能多的索引。 (3) 对等值连接,但满足条件的元组较少的查询可以考虑建立索引。 (4) 如果查询可以从索引直接得到结果而不必访问关系,则对此种查询可以建立索引。 该数据库管理系统可建立以下索引: OderId(订单编号) Isbn(商品编号) User(用户编号) Uname(用户名) Shopname(商品名) Rname(用户姓名) 5.3分区

19、设计与否 涉及到数据库文件和日志文件的分区问题。 磁盘分区设计的一般原则: (1) 减少访问冲突,提高I/O并发性。多个事物并发访问同一磁盘时,会产生磁盘访问冲突而导致效率低下,如果事务访问数据均能分布于不同磁盘上,则I/O可并发执行,从而提高数据库访问速度。 (2) 分散热点数据,均衡I/O负担。在数据库中数据访问的频率是不均匀的,那些经常被访问的数据成为热点数据,此类数据宜分散存在于不同的磁盘上,以均衡各个磁盘的负荷,充分发挥多磁盘的并行操作的优势。 (3) 保证关键数据快速访问,缓解系统瓶颈。在数据库中有些数据如数据字典等的访问频率很高,为保证对它的访问不直接影响整个系统的效率

20、可以将其存放在某一固定磁盘上,以保证其快速访问。 由以上原则可知,只有在管理程序较大且有大量用户同时访问时才需要进行分区设计,因此,本管理系统不需要进行分区设计。 六、数据库实施 6.1基本表的建立 1、用户信息表 create table yh ( UserID char(20), Rtime date, Uname char(20), Rname char(10), passwd char(18), address char(50), QQ char(15), email char

21、50), PRIMARY key (UserID) ); 2、商品信息表 Create table sp ( Isbn char(50), Uploadtime date, Shopname char(30), Frome char(50), Price int, Storecount int, Content char(50), Primary key (Isbn) ); 3、订单信息表 Create table gw ( OrderId Char(50), Stime date

22、 UserID Char(20), Uname Char(20), address Char(50), Rname Char(10), Isbn Char(50), Shopname Char(30), Count int, Price int, Condition int, Primary key (OrderId), Foreign key (UserID) references yh(UserID), Foreign key (Isbn) references sp(Isbn) ); 6.2建立视图 Cr

23、eate view gw_用户 As Select gw.UserID,gw.Uname,gw.Rname,yh.email,gw.address,sp.Isbn,sp.Shopname,sp.Price From gw,yh,sp Where gw.UserID=yh.UserID and gw.Uname=yh.Uname and gw.Rname=yh.Rname and gw.address=yh.address and gw.Isbn=sp.Isbn and gw.Shopname=sp.Shopname and gw.price=sp.price

24、 6.3建立索引 Create unique index yonghu on yh(UserID); Create unique index shangp on sp(Isbn); Create unique index gouwu on gw(OrderId); 6.4建立触发器 当删除sp中的某一商品时,gw中的相应商品也应删除 create trigger del_商品 ON gw for delete as delete Isbn where sp.Isbn = (select Isbn from delete

25、d) 6.5 建立java程序与数据库的关联 Java源码:import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import java.sql.*; class Loading { private JFrame Loading_Frame; private JButton Loading_Button; private JTextField Loading_Name; private JButton Load

26、ing_Cancel; private JPasswordField Loading_Key; private JLabel Loading_lb1; private JLabel Loading_lb2; //private JDialog Loading_dia; /* public static Resultdosqlserch(String s) { /*rs.next();//指向第一个数据 //可以操作,,rs.getString(字段名)来获得属性; 先关闭rs.close(); 依次是st.close

27、); 最后是conn.close();*/ /*public static void closeConnection() //看来不能这样风装啊 ;;;;; { rs.close(); st.close(); con.close; }*/ Loading() { int textWidth=16; int length; Loading_Frame = new JFrame("Loading~~~!!!!!!"); Loading_Frame.setResizable(false); Lo

28、ading_Button = new JButton("sure"); Loading_Button.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ int flag=0; String name = Loading_Name.getText(); String key1 = Loading_Key.getText(); //Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDr

29、iver");//打开jdbc驱动 String url = "jdbc:sqlserver://localhost:1433;databaseName=dd;"; String user = "la"; String key = "123"; Connection con; Statement st; ResultSet rs; Boolean flag1; Boolean flag2; try{ con = DriverManager.getConnection(url,user,key);//获取连接对象

30、 st = con.createStatement();// rs = st.executeQuery("select * from yh ");//rs即sql查询后得到的结果;rs此时游标指向为空, System.out.println("在账户输入框中您输入的是:"+name);//输出TextField中输入的数 while(rs.next()) { String x = rs.getString("userid"); String y = rs.getString("passwd"); System.out.println("数据

31、库账户表中已有的帐户"+x); System.out.println("该帐户的密码是"+y); } }catch (SQLException f){System.out.println("catch出错");} }}); Loading_Cancel = new JButton("Cancel"); //Loading_Cancel.addActionListener(); Loading_Name = new JTextField( textWidth);//长度50的账户名输入框,添加文档监

32、视器,可以实现判断输入文本的正确,与文本框是否改变内容 //Loading_Name.getDocument().addDocumentListener(); Loading_Name.setEditable(true); Loading_Key = new JPasswordField(textWidth);//密码输入框,与账户输入框同等长度; Loading_lb1 = new JLabel("账户"); Loading_lb2 = new JLabel("密码"); //Loading_dia = new JDialog(Fr

33、ame x)//属于窗窗口的对话框; Container Loading_c = Loading_Frame.getContentPane(); Loading_Frame.setSize(250,135); Loading_Frame.setLayout(new FlowLayout()); //在登录窗口添加组件 Loading_c.add(Loading_lb1); Loading_c.add(Loading_Name); Loading_c.add(Loading_lb2);

34、 Loading_c.add(Loading_Key); Loading_c.add(Loading_Button); Loading_c.add(Loading_Cancel); Loading_Frame.setVisible(true); } public static void main(String[] args) { new Loading(); } } 七、不足和心得体会 7.1系统设计的不足 1、在进行数据设计的时候,只考虑了几个最简单的数据输入,并不能很好

35、地应用与实际应用当中 2、在使用过程中依旧会产生一些错误,比如缺乏一些用户交互界面造成的一些约束的错误 3、在整个系统的稳定性方面做的不足。我不能保证在我的系统上如果再加上其他功能会不会导致系统崩溃,所以还需要不断地完善。 7.2我的心得 经过本次的实习,我发现在操作的过程中依旧存在着诸多的不足,在做很多内容的时候依旧还是要看看书,查找一些资料,从而可以看出,在一些基本的知识上还是存在着一些缺陷和不足。此外,在逻辑结构上并没有考虑到与用户的交互问题,这也使得本系统的实用性大大折扣。 因此,在以后的学习生活当中,我会更为注意基础知识的巩固和初期在概念和逻辑结构设计上的合理性问题,总之,这次实习对我的学习成果不得不说是一次很好的检验,同时,是我受益良多。 23

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服