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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、网上购物订单数据库系统网上购物订单数据库系统班级:xxxxx姓名:xxxxx目录一、概述 21.1 开发背景 2二、需求分析 32.1 框架分析 32.2 功能需求 32.3 系统功能清单 42.4 数据流图 42.5 数据字典 52.5.1 数据流的描述 52.5.2 处理逻辑的描述 5三、 概念模型设计 53.1 系统模块划分 53.2 系统功能模块结构图 63.3 会员实体图 73.4 商品实体图 73.5 系统E-R图 83.6 管理员后台处理流程图 10四、逻辑模型设计 104.1 E-R图向关系模型转化104.2 数据库表设计104.3 关系模式优化12五、物理设计12六、数据库实

2、施14七、不足与体会23一、概述1.1 开发背景随着网络技术的日益成熟,网络购物已经成为引领潮流的购物方式,尤其是在一些出门购物并不是十分便利的地区,网上购物的优势更是体现的淋漓尽致。与此同时,网上购物也给商家带来了巨大的利润,因为免除了一些不必要的费用,在收益的获得上也显得更为直接,例如在今年的“光棍节”期间,淘宝的成交额将近200亿,可见,网上购物已成为主流。因而一个好的订单数据库管理系统成为了必要,在管理好用户数据的同时,也提高了订单处理的效率。 网上购物系统的主要内容是,一方面让销售商把商品发布于网络,一方面让消费者通过网络来完成商品的交易。系统总体分成前台和后台两大模块,前台是用户模

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

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

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

6、 数据字典2.5.1 数据流的描述(1)会员编号数据项定义表2-2 会员编号数据项定义数据项定义数据项编号:201101 有关编码的说明:数据项名称:会员编号 X XX XX 简 介:本商城会员编号 会员类别 编号类 型:电器实 例:A0001 2.5.2 处理逻辑的描述(1)判断是否已结算表2-4 判断是否已结算判断是否已结算处理逻辑编号:P003 处理逻辑名称:判断是否已结算简 述:判断是否已结算输入的数据流:会员名、商品条形码、总额处理描述:根据会员名和商品条形码、总额,将对应的书籍交易状态更改为已付款等待发货输出的数据流:D003处理频率:100次/天三、 概念模型设计3.1 系统模块

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

8、额。(4)订单管理:管理订单是否确认,是否发货,是否付款,是否归档。并且对相应信息进行查询(支持多参数查询)。3.2 系统功能模块结构图 图 3-2 系统功能模块结构图3.3 会员实体图 图 3-3 会员实体图3.4 商品实体图 图 3-4 商品实体图3.5 系统E-R图3.5.1分E-R图3.5.2总E-R图图3-5 系统E-R图3.6 管理员后台处理流程图 图 3-6 管理员后台处理流程图四、逻辑模型设计4.1 E-R图向关系模型转化管理员(管理员编号、用户名、密码)会 员(ID、昵称、密码、姓名、地址、E-mail、QQ、联系方式)购物车(编号、用户名、商品名、数量、总价格、创建时间)订

9、 单(订单号、创建时间、用户名、姓名、地址、联系方式、商品名、商品编号、数量、总价、单价)商 品(商品编号、商品名、单价、厂商、生产日期、商品介绍)4.2 各个数据库表设计如下: 表1 用户信息表数据项编号数据项名称别名简述字段名类型取值范围I1用户编号用户ID用户代号UserChar4-20I2注册日期日期注册时间RtimeDateI3用户名用户昵称用户昵称UnameChar4-20I4用户密码密码用户登陆密码passwdChar6-18I5用户地址地址用户地址addressCharI6用户姓名真实姓名用户姓名RnameChar4-10I7用户QQQQ联系方式QQChar5-15I8E-ma

10、il邮箱联系方式mailChar 表2 商品信息表数据项编号数据项名称别名简述字段名类型取值范围I1商品编号条形码IsbnIsbnCharI2上传时间日期上架时间Upload_timeDateI3商品名品名名称ShopnameCharI4厂商厂商厂商FromCharI5单价价格商品单价 PriceIntI6库存数量库存库存量StorecountIntI7商品简介简介简介ContentChar 表3 购物车信息表数据项编号数据项名称别名简述字段名类型取值范围I1订单编号订单号订单代号OrderIdCharI2订单日期日期下订单时间StimeDateI3用户编号用户编码购买者代号UserIdCha

11、rI4用户名昵称购买者用户名UnameCharI5用户地址地址送货地址addressCharI6用户姓名真实姓名收货人姓名RnameCharI7商品编号商品编码商品代码IsbnCharI8商品名称商品名商品名称ShopnameCharI9商品数量商品数购买数量countInt0-9999I10商品价格价格购买商品价格priceInt0-9999I11交易状态状态商品交易状态Condition Int其中交易状态中设定:0 - 等待付款 1 - 已付款等待发货2 - 已发货等待签收3 - 交易完成4 - 交易关闭4.3 关系模式的优化对关系模式进行规范化处理,对关系模式进行评价与修正。五、物理设

12、计5.1聚簇设计 该订单管理系统可建立以下聚簇:OderId(订单编号)Isbn(商品编号)User(用户编号)Uname(用户名)这几个聚簇设计是因为这几张表都是实体表,且聚簇中的属性都是主键或是外键,被访问的概率很高,而其他表或者这些表上的其他属性被访问的概率就相对较低。5.2索引设计索引就是表中数据和相应存储位置的列表,使用索引可以大大减少数据的查询时间。对于一个确定的关系,通常在下列情况下可以考虑建立索引。(1) 在主键属性列和外键属性列上通常都可以分别建立索引,不仅有助于唯一性检查和完整性检查,而且可以加快连接查询的速度。(2) 以查询为主的关系可建立尽可能多的索引。(3) 对等值连

13、接,但满足条件的元组较少的查询可以考虑建立索引。(4) 如果查询可以从索引直接得到结果而不必访问关系,则对此种查询可以建立索引。该数据库管理系统可建立以下索引:OderId(订单编号)Isbn(商品编号)User(用户编号)Uname(用户名) Shopname(商品名) Rname(用户姓名)5.3分区设计与否涉及到数据库文件和日志文件的分区问题。磁盘分区设计的一般原则:(1) 减少访问冲突,提高I/O并发性。多个事物并发访问同一磁盘时,会产生磁盘访问冲突而导致效率低下,如果事务访问数据均能分布于不同磁盘上,则I/O可并发执行,从而提高数据库访问速度。(2) 分散热点数据,均衡I/O负担。在

14、数据库中数据访问的频率是不均匀的,那些经常被访问的数据成为热点数据,此类数据宜分散存在于不同的磁盘上,以均衡各个磁盘的负荷,充分发挥多磁盘的并行操作的优势。(3) 保证关键数据快速访问,缓解系统瓶颈。在数据库中有些数据如数据字典等的访问频率很高,为保证对它的访问不直接影响整个系统的效率,可以将其存放在某一固定磁盘上,以保证其快速访问。由以上原则可知,只有在管理程序较大且有大量用户同时访问时才需要进行分区设计,因此,本管理系统不需要进行分区设计。六、数据库实施6.1基本表的建立1、用户信息表create table yh( UserID char(20), Rtime date, Uname c

15、har(20), Rname char(10), passwd char(18), address char(50), QQ char(15), email char(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

16、Char(50), Stime date, 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建立视图Create view gw_用户AsSelect g

17、w.UserID,gw.Uname,gw.Rname,yh.email,gw.address,sp.Isbn,sp.Shopname,sp.PriceFrom gw,yh,spWhere 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;6.3建立索引Create unique index yonghu on yh(UserID

18、);Create unique index shangp on sp(Isbn);Create unique index gouwu on gw(OrderId);6.4建立触发器当删除sp中的某一商品时,gw中的相应商品也应删除create trigger del_商品ON gwfor deleteas delete Isbn where sp.Isbn = (select Isbn from deleted) 6.5 建立java程序与数据库的关联Java源码:import java.awt.*;import java.awt.event.*;import javax.swing.*;im

19、port javax.swing.event.*;import java.sql.*;class Loading private JFrame Loading_Frame; private JButton Loading_Button; private JTextField Loading_Name; private JButton Loading_Cancel; private JPasswordField Loading_Key; private JLabel Loading_lb1; private JLabel Loading_lb2; /private JDialog Loading

20、_dia; /* public static Resultdosqlserch(String s) /*rs.next();/指向第一个数据 /可以操作,rs.getString(字段名)来获得属性; 先关闭rs.close(); 依次是st.close(); 最后是conn.close();*/ /*public static void closeConnection() /看来不能这样风装啊 ; rs.close(); st.close(); con.close; */ Loading() int textWidth=16; int length; Loading_Frame = new

21、JFrame(Loading!); Loading_Frame.setResizable(false); Loading_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.microsof

22、t.sqlserver.jdbc.SQLServerDriver);/打开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);/获取连接对象 st = con.createStatement(

23、);/ 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(数据库账户表中已有的帐户+x); System.out.println(该帐户的密码是+y); catch (SQLException f)

24、System.out.println(catch出错); ); Loading_Cancel = new JButton(Cancel); /Loading_Cancel.addActionListener(); Loading_Name = new JTextField( textWidth);/长度50的账户名输入框,添加文档监视器,可以实现判断输入文本的正确,与文本框是否改变内容 /Loading_Name.getDocument().addDocumentListener(); Loading_Name.setEditable(true); Loading_Key = new JPas

25、swordField(textWidth);/密码输入框,与账户输入框同等长度; Loading_lb1 = new JLabel(账户); Loading_lb2 = new JLabel(密码); /Loading_dia = new JDialog(Frame x)/属于窗窗口的对话框; Container Loading_c = Loading_Frame.getContentPane(); Loading_Frame.setSize(250,135); Loading_Frame.setLayout(new FlowLayout(); /在登录窗口添加组件 Loading_c.add

26、(Loading_lb1); Loading_c.add(Loading_Name); Loading_c.add(Loading_lb2); 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、在进行数据设计的时候,只考虑了几个最简单的数据输入,并不能很好地应

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

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

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