


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、院系专业学生姓名学号课程名称数据库原理与设计方法授课时间周学时学分简 要 评 语考核论题图书管理信息数据库系统设计总评成绩(含平时成绩)备注任课教师签名:日期:注:1.以论文或大作业为考核方式的课程必须填此表,综合考试可不填。“简要评语”栏缺填无效。2. 任课教师填写后与试卷一起送院系研究生秘书处。3. 学位课总评成绩以百分制计分。图书管理信息数据库系统-JAVA实现目录一、需求说明31、任务概述32、需求分析32.1功能需求32.2、数据描述3静态数据3动态数据3数据库介绍 33、系统功能概要图 44、运行环境4二、数据库的设计41、数据库设计的关系模型 42、创建数据库的语句 53、给数据
2、库中插记录的相关语句 64、数据字典65、ER 图8三、开发方案介绍9四、应用系统设计10附录18、需求说明1、任务概述满足在线书店管理的需求,实现管理流程。主要功能包括用户注册、用户登录、购物商场、在线购物、 订单管理、系统导航、用户退出、权限控制等。2、需求分析2.1 功能需求在线书店系统作为一个网络购物网站,它仿照淘宝网等知名购物网站,其总体要求即实现购物网站的 基本功能。具体功能要求如下:1) 商品管理。这是管理员的功能。要实现增删改查图书、仓库管理的功能。2) 用户管理。包括用户注册、用户登录和用户退出三个方面,用户还可以更改部分注册信息。用户 登录成功后,在首页面可看到书籍展示。3
3、) 购物车管理。可以修改、删除选购书籍,并保存购物列表。当用户退出时或 session 失效时,自 动保存用户购物车列表书籍。4) 订单管理。要实现生成订单,删除、修改、查询订单,提交订单。提交后的订单,只能查看订单 信息,不能进行修改,也不能删除。5) 权限控制。 主页面和注册页面任何人都可以访问, 其他页面, 只有已经登录成功的用户才可访问; 若用户还没有登录系统,则返回到登录页面。2.2、数据描述2.2.1 静态数据用户类型、权限类型、管理员等。2.2.2 动态数据新用户的注册、新书的录入、购书的信息、生成订单等等。2.2.3 数据库介绍数据库名称为shop,有八个表,分别为管理员表(A
4、dmin)、用户注册表(User)、图书信息登记表(Book)、 图书上架信息登记表(Storage)、购物车图书列表(Shopcar),用户购买书籍的订单表(Order)、订单明细表(OrderBook) 、购物车表( CartItem )。3、系统功能概要图4、运行环境操作系统:windows xp 数据库:MySql数据库 程序环境:MyEclipse 6.5二、数据库的设计1数据库设计的关系模型Adm in (id, name,password);User(id, name,password,sex,age,address,postcard,teleph on e,);Book(id,
5、 name,author,publisher,price);Order(id, on Date,am oun t,total,postAddress,postcard,teleph on e,c on tact,userld,state);OrderBook(id,orderld,bookld,price,am oun t);Storage(id,bookId,am oun t, in Date);CartItem(id,bookId,am oun t);ShopCart(id,userId,bookId);2、创建数据库的语句MySQL> connect shop; 已连接。- 用户表
6、create table users);idintaunamevarchar (20),passwdvarchar (20),sexvarchar (2),ageint ,addressvarchar (50),postcodevarchar (6),phonevarchar (15),admintincrementprimarykey,图书表CREATEtablebooksidintautnamevarchar(40),authorvarchar(20),publishervarchar(30),pricenumeric (6,2)incrementprimarykey,);- 购物车表 c
7、reate table storages (idintauto_incrementprimary key,bookIdint ,amountint ,inDatedate);- 订单表create table ' Order'(idintprimary keyauto_increment,- 主键onDatedateJ- 下单日期amountintnot nulldefault 1,- 购书总数totaldoublenot nulldefault 0,- 总金额postAddressvarchar(50)notnullpostcardvarchar(10)notnulltele
8、ph onevarchar(20)notnullcon tactvarchar(10)notnulluseridint ,stateintnotnull初步订单2:订单已提交);-订单明细表create table OrderBook(idintprimary keyorderidint ,bookidint ,pricedoublenot nullamountintnot nulldefaultII5-邮寄地址defaultII5-邮编defaultII5-联系电话defaultII5-联系人-采购人default1-订单状态(1auto_i ncreme nt,-主键-订单编号-图书编号d
9、efault0,-单价default1-订购数量3、给数据库中插记录的相关语句 -在用户表中插入数据values ('tom' ,'123' ,0); values ('admin' , 'admin' ,1);insertintousers(n amepasswd,adm)insertintousers(n amepasswd,adm)注:其他数据在实际操作中插入。4、数据字典Admin 表:字段名字段说明类型id主键In tegern ame用户名称Varcharpassword密码VarcharUser 表:字段名字段说明类
10、型id主键In tegern ame用户名称Varcharpassword密码Varcharsex性别Varcharage年龄In tegeraddress住址Varcharpostcard邮编Varchartelepho ne电话VarcharBook 表:字段名字段说明类型id主键In tegern ame书名Varcharauthor作者Varcharpublisher出版社Varcharprice价格DoubleOrder 表:字段名字段说明类型id主键In tegeron Date下单日期Varcharamount购书总数In tegertotal总金额In tegerpostAdd
11、ress邮寄地址Varcharpostcard邮编Varchartelepho ne联系电话Varcharcon tact联系人VarcharuserId采购人Varcharstate状态ByteOrderBook 表:字段名字段说明类型id主键In tegerorderId订单编号In tegerbookid图书编号In tegerprice单价Doubleamount订购数量In tegerStorage 表:字段名字段说明类型id主键In tegerbookId图书Varcharamount数量In tegerin Date上货时间VarcharCartitem 表:字段名字段说明类型i
12、d主键In tegerbookId图书编号In tegerAmount购书总数In tegerShopCart 表:字段名字段说明类型id主键In tegeruserId用户编号VarcharbookId图书编号In teger5、ER图三、开发方案介绍由于该软件使用于在线图书管理模块,实现的功能如下:用户注册任何人都可注册为站点用户,注册成功后,注册信息要保存到数据库;注册成后,要重新显示用户注册的信息用户登陆系统成功后,除用户名外,可随意修改其他注册信息。用户登陆提供用户登陆的入口登陆成功后,可进入在线商场,选购物品。购物商场购物商场中的书籍,由库官员维护,库官员可以为商场添加要销售的书籍
13、,也可以删除正在销售的书 籍;-商场中只能给用户展示库存中存在的书籍在线购物在线购物任何用户都可在商场查阅书籍,并浏览其详细信息任何用户都可在商场中选购书籍后,存放在用户的购物车中;用户也可以根据书名、作者、岀版社搜索书籍,若存在,也可选购;用户可以管理自己购物车中的书籍,可以删除某些已经选购的书籍;用户每次登陆系统后,都可查看购物车列表中的信息,并对其进行管理。订单管理用户可以从自己的购物车中选择某些书籍,初步形成订单,订单中要注明购买的书籍列表、用户具体联系信息、费用等相关信息,并保存到数据库;订单初步形成后,应该从购物车中销毁订单中的书籍;用户随时都可查阅订单的信息,也可对订单中的联系信
14、息进行修改,也可删除订单;用户也可对初步订单进行提交,提交后的订单,只能查看订单信息,不能进行修改,也不能删除。系统导航用户在线购物时,随时可以通过导航栏查看相关信息,比如“登陆信息”、“在线购物”、“购物车”等 导航用户退出若用户购物完毕,可以点击“退岀”链接,退岀商场,要在内存中清空用户身份标识,并返回到登陆 页面 login.jsp权限控制login.jsp,任何用户都可以访问其他页面,只有已经登陆系统的用户才可访问;若用户还没有登陆系统,则返回到登陆页面。本系统是小型的方便运行的软件,界面应简单明了,适合普通用户和管理员操作。通过不同的账户口 令可登陆类型不同的软件界面,对图书以及个人
15、信息进行一系列的操作,并通过密码机制来实现高级权限 的管理员对后台数据的添加、修改、删除等操作。后台连接的数据库为 MySql ;当前台数据经过变动之后可实现提交保存。 我们前台的界面是通过jsp来实现的,不否认界面做得确实不是很漂亮。四、应用系统设计1、我们将整个系统分成了如下几个模块。最初是个登录界面,如图1所示。在线书丿占作为菅連员图1 进入系统的密码登录框有两种选择,可以以管理员登录,可以以一般用户登录,但是一般用户登录前需要先注册,只有注册 成功后才可以登录。2、在用户名和密码都正确的情况下我们将进入在线书店管理系统的主界面,分为管理员界面和一般用户 界面,如下图2,图3所示。登录登
16、录名,admin图2管理员登录登录登录名主登录密码I119-illl!-作为管理员iD图3 一般用户登录4)、添加图书(图1)点击图2界面的登录按钮进入管理员界面。在这里我们提供了管理员查看图书(图5)、查看库存(图6)、图书入库(图7)、修改图书功能(图 8)a. 在进入这个页面后,管理员可以查看现有的图书,可以点击修改按钮,进行相应图书信息的修改。在线书店f作者1出版社师蘭辑jaVELC肛0條改|23卫修改欢迎您,个人信息 更改密码 安全退岀 查看圄书 添加图书 备看库存 图书入库copyright 爼 tyukc omputer-Du anJinJun图4管理员查看图书b. 在这个页面中
17、,管理员可以添加图书以及图书的一些相关信息,比如书名、作者、出版社、价格等 信息,点击保存后,新的图书将保持到数据库中。添加圏书Xt迎您,admin个人信息更改密須安全退岀查看图辛燃知图书查看库存图书入库TOT图5管理员添加图书c. 在这个页面,管理员可以查看现有的库存,可以查看图书的书名、库存总数、入库时间等相关信 息。图书库存入库附java122010-0-12C12F欢迎您,admin个人信息更改密码安全退出查看图韦添加图书查看库存囹书入库图6管理员查看库存d. 在图书入库这个功能模块中, 管理员可以将新的图书添加到图书的库存中。需要填图书的数量和上 架时间图书上架选择图书保存欢迎您、a
18、dmin个人信息更改密码安全退岀查看图书添加圈书查看库存图书入库图7图书入库e. 管理员可以根据实际需要,对图书信息进行相关的修改,比如作者、岀版社、价格等。欢迎您+ admin个人信息更改密码安全過岀查看图书添加图书查害库稈圈书入库修改图书信息作者1cd出版社价格10 0更新书名匚亠亠图8管理员可以修改图书信息2)点击图3界面的登录按钮进入一般用户登录界面。在这里我们提供了浏览图书 (图9)、查看购物车(图10)、我的订单功能(图11)。a.在进入一般用户的界面后,用户可以看看这个网上书店有些什么书,便于用户选择,该模块还提供 了购买功能,可以选择放到购物车这个按钮。先将图书放到购物车。欢迎
19、您,tom个人信息更改密码安全退出浏览圏书查看购物车我的订单书名java岀版商价格210数量口上架日期2010-0-12 详细信息数量;厂驗到购蒔出版商价格23.0数量上架日期 2010-0742 详细信息数量厂|能到购物车图9浏览图书b.进入查看购物车,可以查看用户刚刚购买的图书,这时用户可以选择移出购物车,放弃刚才购买 的图书,也可以选择进入结算中心,看看刚才购买的图书的相关信息,包括价格等等。书名昕格樹量java 21.01哆出购物车进入结鼻中心x欢迎您* tom个人信息更改密码安全退出浏览图书 查看购物车我的订单图10-1查看购物车C.用户可以选择将图书移岀购物车戏迎您,totn己经将
20、1本j晴训购物车移出个人信息吊茗幘戳量操作|更改癖码进入结算中心安全退出浏览图书査看购物车我的订单图10-2用户将图书移出购物车d.用户进入结算中心后,可以查看刚刚购买图书的一些购买信息,并给用户算出了价格和购买数量, 并且列出了订单的详细信息,这时候用户可以填写订单信息,从而生成订单。欢迎氤torn个人信息更改密码安全退出別览圏书查看购物车我的订单购书总量:2总金臥44.0订单详细列表;书名价格数星(21-01 J1=23.0 |1 n订单信息图10-3进入结算中心后e.点击生成订单后,就显示出刚刚生成的订单的详细信息,包括提交订单、详细信息、修改和删除 功能。像第二行,就是点击提交订单后就
21、变成了已提交。提交以后只能查看详细信息,而未提交以前可以 提交、修改、删除。監迎隹* tom订单管号T单日期订单供鑫个人信思2S;oio-(r-i5aB.Q號捉交11羊详信且修改ft赊262010-(T4412L0安全匹岀272010-0-14I21 0己帳交制貳闻书査看幻柯车图10-4已生成订单的详细信息f. 详细信息展示:订单详嘟信息详细列表乍名价恪数量21.0 |1 23.0 1g.修改相关的信息,当点击修改按钮时,会提示确认修改么,目的是为了避免用户的误操作。订单编号下单日期购书战数益金额订单状态操纵2S2010 07-1544.0初始淀交订单详细信息修改删徐勇2010-07-1524
22、4 0初始多交订单悻细信息倏改删除262010-07-14121.0已提交详细信息2"201D-0-14121.0己提交详细信息点击确认后,可以对刚才生成的详细信息进行修改,点击修改订单,可以生成新的订单信息。h.当删除时,同样会有提示,也是为了避免用户的误操作:叮卑修改成功!订单编号下单日刖购书总数总金额订单状态撵纵2010-07-1544.0初妒逞爼、'单评细倍息修坟酬憐2010-07-15+4.0初始趕交订单详组信息條改flftB2010-07-14121 0已提交详细信息272010-07-14121.0件细信息当点击确认后,图书将从订单中删除:订单册餘戒功I订单编号
23、下单日期购书包数订单状态操纵292010-07-1544.0初始提交订单详细信息修改删除262010-07-1421.0己提交详细信息272010-07-1421.0己提交1羊细信息i.用户可以查看自己的订单:灰迎您.tom订单编号下单日期购书总数总全報订单状态療纵个入信息2S2010-0-15a44.0初蛤提交订单详細信忌侈改»更改帝码262010-07-14121 0己齐交详细侑見安至退出 浏览图书 去看购物车找的订单272010 074121.0己提交详邦信息附录本设计选用了 java语言完成,由于程序代码较多,故在此处选择主要代码进行展示如下。1、/用户注册import co
24、m.ShopExcepti on;public class UserService private UserDAO userDAO = new UserDAO();publicvoidreg(User u) User u2 =userDAO.fin dByName(u.getName();if (u2 !=null ) throw new ShopExcepti on("用户名已存在");userDAO.add(u);publicUser log in( User user) User user2 =userDAO .findByName(user.getName();if
25、 (user2 = null ) throw new ShopException("用户名不存在");if (user.getPasswd() !=n ull&& !user.getPasswd().equals(user2.getPasswd() throw newShopException(” 瀵嗙爜閿欒 ");return user2;public void updateUser(User user) userDAO .update(user);public void cha ngePasswd(int id, String passwd)
26、userDAO .updatePasswd(id, passwd);2、/管理员添加图书、查看图书列表、查看库存package com.service;public class AdminService private BookDAO bookDAO = new BookDAO();private StorgeDAO storgeDAO = new StorgeDAO();/ 单例模式private AdminService() private static AdminService adminService ;public staticAdminService getInstance() i
27、f ( adminService = null ) adminService = new AdminService();return adminService ;public void addBook(Book book) null )if ( bookDAO .findByName(book.getName() != throw new ShopException( " 图书已存在 " );bookDAO .add(book);public List<Book> listBook() List<Book> list = bookDAO .list(
28、);System. out .println(list.size();return list;public Book getBook( int id) return bookDAO .findById(id);public void updateBook(Book book) bookDAO .update(book);public void addStorage(Storage s) Storage s2 = storgeDAO .findByBookId(s.getBookId(); if (s2 =null )storgeDAO .add(s);else s2.setAmount(s2.
29、getAmount() + s.getAmount(); storgeDAO .update(s2);public List<Storage> listStorage() List<Storage> list = storgeDAO .list();for (Storage s : list) s.setBook( bookDAO .findById(s.getBookId();return list;3 、/ 消费者:提交、修改、删除订单public class CustomerService private StorgeDAO storgeDAO = new Sto
30、rgeDAO(); private BookDAO bookDAO = new BookDAO();private OrderDAO orderDAO =new OrderDAO();private OrderBookDAO obookDAO =new OrderBookDAO();public List<Storage> listStores() return storgeDAO .findBookInStore();public Book findBookById( int id) return bookDAO .findById(id);public void viewCar
31、t(ShopCart cart) for (CartItem m : cart.getItems().values() if (m.getBook() = null ) Book book = bookDAO .findById(m.getBookId(); m.setBook(book);public void generateOrder(Order order,List<OrderBook> obooks)/ 保存 order orderDAO .add(order);/ 保存 orderBook 的列表 for (OrderBook obook:obooks)保存过以后obo
32、ok.setOrderid(order.getId(); / 只有 order 才会成生 idobookDAO .add(obook);public List<Order> listOrderByUser( int userid) return orderDAO .findByUser(userid);public Order findOrderById(int id) return orderDAO .findById(id);/ 修改和提交订单都可调用此方法 public void updateOrder(Order order) orderDAO .update(order);public void deleteOrder( int orderid)/删除订单中所有的订单列表orderbookobookDAO .delete(orderid);/删除订单orderDAO .delete(orderid);public List<OrderBook> fin dOrderBookByOrder(int orderid)return obookDAO .
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国食品软件行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国风能发电行业发展分析及投资风险预警与发展策略研究报告
- 2025-2030中国集装箱运输行业市场深度调研及竞争格局与投资前景研究报告
- 2025-2030中国降度酒行业市场发展分析及前景趋势与投资研究报告
- 吉林省白城市重点中学2025届高三第一次调研测试英语试卷含解析
- 江西省赣州市信丰县信丰中学2025届高三第二次模拟考试英语试卷含解析
- 2025年江苏省礼嘉中学高考英语四模试卷含答案
- 陕西省商洛2025年高三冲刺模拟英语试卷含答案
- 2025届上海市长宁区高考英语四模试卷含解析
- 湖南省长沙市望城区第二中学2025届高考仿真卷英语试卷含解析
- 重症新生儿护理课件
- 青少年科技创新比赛深度分析
- 危险化学品企业设备完整性 第2部分 技术实施指南 编制说明
- GB/T 4437.1-2023铝及铝合金热挤压管第1部分:无缝圆管
- 奢侈品买卖协议书范本
- 欧洲文化智慧树知到课后章节答案2023年下宁波大学
- 《新大学英语·跨文化交际阅读》Values Behind Sayings
- 风电项目开发前期工作流程
- 劳动保障部《关于劳动合同制职工工龄计算问题的复函》
- 国开2023春计算机组网技术形考任务二参考答案
- 200条健康小常识
评论
0/150
提交评论