网上购物订单数据库系统_第1页
网上购物订单数据库系统_第2页
网上购物订单数据库系统_第3页
网上购物订单数据库系统_第4页
网上购物订单数据库系统_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

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

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

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

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

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

8、档。并且对相应信息进行查询(支持多参数查询)。3.2 系统 功能模块结构图26图3-2系统功能模块结构图3.3 会员实体图图3-3 会员实体图3.4 商品实体图图3-4 商品实体图3.5系统E-R图3.5.1 分 E-R 图ID亚考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-mail邮箱联系方式mailChar表2商品信息表数据项编号数据项名称别

10、名简述字段名取值范 围I1商口口编p条形码IsbnIsbnCharI2上传时间日期上架时间Upload_ timeDateI3商品名品名名称Shopnam eCharI4)商)商)商FromCharI5单价价格商品单价PriceIntI6库存数量库存库#Storeco untIntI7商品简介简介简介ContentChar表3购物车信息表数据项编号数据项名 称别名简述字段名取值 范围I1订单编号订单号订单代号OrderIdCharI2订单日期日期下订单时间StimeDateI3用户编号用户编 码购买者代号UserIdCharI4用户名昵称购买者用户 名UnameCharI5用户地址地址送货地址

11、addressCharI6用户姓名真实姓 名收货人姓名RnameCharI7冏口口编会商品编 码商品代码IsbnCharI8冏品名称商品名冏品名称ShopnamChareI9商品数量商品数购头数重countInt09999I10商品价格价格购买商品价 格priceInt09999I11交易状态状态商品交易状 态Conditi onInt其中交易状态中设定:0等待付款1 -已付款等待发货2 已发货等待签收3 交易完成4 交易关闭5 .3关系模式的优化对关系模式进行规范 化处理,对关系模式进行评价与修正。五、物理设计5.1 聚簇设计该订单管理系统可建立以下聚簇:Oderld(订单编号)Isbn倘品

12、编号)User(用户编号)Uname用户名)这几个聚簇设计是因为这几张表都是实体表,且聚簇中的属性都是主键或 是外键,被访问的概率很高,而其他表或者这些表上的其他属性被访问的概率就相对较低。5.2 索引设计索引就是表中数据和 相应存储位置的列表,使用索引可以大大减少数据的查询时间。对于一个确定的关系,通常在下列情况下可以考虑建立索引。1)2)3)4)在主键属性列和外键 完整性检查,而且可以查询为主的关系可 对等值连接,但满足 如果查询可以从索引属性列上通常都可以分别建立索引,不仅 以加快连接查询的速度。建立尽可能多的索引。条件的元组较少的查询可以考虑建立索引 直接得到结果而不必访问关系,则对此

13、种有助于唯一性检查和。查询可以建立索引。该数据库管理系统可建立以下索引:OderId( 订单编号 )Isbn( 商品编号)User( 用户编号)Uname用户名) Shopname(商品名)Rname(用户姓名)5.3 分 区设 计 与否涉及到数据库文件和 日志文件的分区问题。磁盘分区设计的一般原则:1)减少访问冲突,提高冲突而导致效率低下行,从而提高数据库I/O 并 发性。多个事物并发访问同一磁盘时,会产 生磁盘访问,如果事务访问数据均能分布于不同磁盘 上,则 I/O 可并发执 访问速度。2)3)分散热点数据,均衡被访问的数据成为热盘的负荷,充分发挥保证关键数据快速访频率很高,为保证对I/O

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

15、har ( 18), address char ( 50 ), QQ char ( 15 ), email char ( 50 ), PRIMARY key (UserID );刑相审S-lmtweZEB2、商品信息表 Create table sp (Isbn char ( 50 ), Uploadtime date , Shopname char (30), Frome char ( 50), Price int , Storecount int ,Content char ( 50 ), Primary key (Isbn );1*nsiroraFr»tRigiSWKOm-3M

16、ilMUnui3、订单信息表Create table gw(Orderld Char ( 50),Stime date ,UserID Char ( 20 ), Uname Char ( 20 ), address Char ( 50), Rname Char ( 10 ),Isbn Char ( 50),Shopname Char ( 30),Count int ,Primary keyForeign keyForeign keyPrice int , Condition intyh ( UserID ), sp (Isbn )(OrderId ),(UserID ) references(

17、Isbn ) references6.2 建立视图Create view gw_ 用户AsSelectgw. UserID , gw. Uname, gw. Rname, yh . email , gw. address , sp . Isbn , sp . Shopname , s p. PriceFrom gw, yh , spWhere gw. UserID =yh . UserID and gw. Uname=yh. Uname and gw. Rname =yh . Rnameand gw. address =yh . address and gw. Isbn =sp . Isbn

18、and gw. Shopname =sp . Shopnameand gw. price =sp . price;UWDuwwz9WWWw.MLU6.3 建立索引Create unique indexyonghuonyh ( UserIDCreate unique indexshangponsp ( Isbn ):Create unique indexgouwuongw( OrderId6.4 建立触发器当删除sp中的某一商品时,gw中的相应商品也应删除create trigger del_ 商 品ON gwfor deleteasdelete Isbnwhere sp. Isbn = (se

19、lect Isbn from deleted )6.5 建立java程序与数据库的关联Java 源码:import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import java.sql.*;class Loadingprivate JFrame Loading_Frame;private JButton Loading_Button;private JTextField Loading_Name;private JButton Loading_Cancel;priva

20、te 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();最后是 conn.close();*/*public static void closeConnecti

21、on() / 看 来不能 这 样风装 啊 ; ; ; ; ;rr. close();ss. close();con.close;*/Loading() int textWidth=16;int length;Loading_Frame = new JFrame("Loading!");Loading_Frame.setResizable(false);Loading_Button = new JButton("sure");Loading_Button.addActionListener(new ActionListener() public void

22、actionPerformed(ActionEvent e)int flag=0;String name = Loading_Name.getText();String key1 = Loading_Key.getText();/Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");/ /打开jdbc驱动String url ="jdbc:sqlserver:/localhost:1433;databaseName=dd;"String user = "la"Str

23、ing key = "123"Connection con;Statement st;ResultSet rs;Boolean flag1;Boolean flag2;trycon = DriverManager.getConnection(url,user,key);/ 获取连接 对象st = con.createStatement();/rs = st.executeQuery("select * from yh ");/rs 即 sql 查询后 得到 的 结果; rs 此时游 标 指向为 空 ,System.out.println(" 在

24、账户输 入框 中您输 入 的是: "+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)System.out.println("

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

26、);Loading_Key = new JPasswordField(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);Load

27、ing_Frame.setLayout(new FlowLayout();/ 在 登 录 窗 口 添加 组 件Loading_c.add(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)鲤司m 型e宓 直

28、曰a z*i工*m。怩克menew Loading。;-I"-7 -hi.* an同剪,i瞽:if口 wczd 11Gt :5prEotwHdM二三二 3t ±L47»!2;Jtriiag - 3>的由"_睁«:工上1 13=s叩 0% "= jftclcrt ISIuLibj ifcrrlnnr ("eghb m eem:* 3r£ %典indovrsAs1户temSJcEdLeiie jw由 LcMdirg/hzn-ft Uindo51啊FKE > 2A9 3 Nir r« I4lf fl

29、 Efl r-fHI FiRit 1 a n巾 I1:新智*?千1 "1 “1: " I . J'wr "!my " .让 mk: LILH FflWf;MIcvruMinly uaurjivn triMiding:taUUM;在于二二匚三B: TA;®x>: _-,=. ILifrgtjFZ4g2 j费户养人碑中2蒙3前9 Et圈割短懿己擎崎MM娓$8£Ei 肓其心»«=«3【CM DE11-YTMM3IT 9WCCES»mOCl<lZ jr- - cnaEFBAU5rBTflw>n*Cl r * rp » Bt-Th¥cyrlSiMrH ' rc I r - 1 : z -,立善闻:电,461 lv *:* HvhT I) $ Jltr L. -_! * “gtJKL.lJu, r . 1 5r e Lug /, EK ., gaiTjCTL&fll "fflJ.i wJ - 二.二】口 二k£,二二匚二Uf";mW肿'' nu«!13-14有的特匕r-mi7UM_mw ., &* .;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论