大型数据库电子商城管理系统课程设计.doc

上传人:仙人指路1688 文档编号:2395288 上传时间:2023-02-17 格式:DOC 页数:29 大小:993KB
返回 下载 相关 举报
大型数据库电子商城管理系统课程设计.doc_第1页
第1页 / 共29页
大型数据库电子商城管理系统课程设计.doc_第2页
第2页 / 共29页
大型数据库电子商城管理系统课程设计.doc_第3页
第3页 / 共29页
大型数据库电子商城管理系统课程设计.doc_第4页
第4页 / 共29页
大型数据库电子商城管理系统课程设计.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《大型数据库电子商城管理系统课程设计.doc》由会员分享,可在线阅读,更多相关《大型数据库电子商城管理系统课程设计.doc(29页珍藏版)》请在三一办公上搜索。

1、目录1 课程设计简介11.1 课程设计的目的11.2 课程设计内容11.2.1 系统分析11.2.2系统功能分析11.2.3系统总体功能设计21.2.4数据库的设计22 数据结构的设计42.1 Orale简介42.2 数据库概念结构设计42.2.1建立数据库的原则42.2.2建立字段的原则42.2.3数据库表的实体图52.2.4数据库的E-R图62.3 数据库逻辑结构设计72.3.1数据库的表结构72.3.2数据库表的实现82.3.3存储过程92.3.4触发器112.3.5数据库的数据流图112.4数据库物理结构设计133 功能模块描述143.1系统功能层次图143.2主要功能描述144 程序

2、运行结果164.1系统界面设计164.1.1系统主界面164.1.2商品信息管理164.1.3商品管理-添加商品信息界面174.1.4商品管理-商品类别管理184.1.5员工信息管理主界面184.1.6员工管理-添加员工信息195 心得体会206 参考文献217 程序源代码227.1商品信息管理模块主要源代码227.2员工信息管理模块主要源代码251 课程设计简介1.1 课程设计的目的将电子商城管理系统作为课程设计,目的是在学习数据库理论基础上,将所学的应用到实践中,以提高学习的质量,和提高知识的运用能力。而本次的课程设计中。重点是要掌握数据库的设计、数据查询的实现,并要求通过课程设计将理论向

3、实践的转化、和对大型数据库理论的理解。以及要求达到熟练掌握对数据库的分析和设计、数据表的建立(绘画数据流图、E-R图)。以及利用面向对象的技术实现相应的增加数据,删除数据,修改数据,查询数据的基本功能。1.2 课程设计内容1.2.1 系统分析可行性分析:电子商城管理系统主要是能够方便有效地管理,客户在商城购物的商品信息,订单的管理。主要从以下方面进行可行性分析:(1) 技术可行性:目前,实体商城购物某些工作存在盲目性、随意性、和无效消耗,不能保证工作质量,影响商品的销售,从销售者角度考虑可能带来实际的和潜在的经济损失。若开发成功本系统,将有助于卖家更好地预测市场,更好的开发客户及时调整经营销售

4、策略,在激烈的市场竞争中把握主动。因此,从长远利益考虑,本项目若能开发成功,它所带来的效益将远高于系统投入。(2) 运行可行性:在实体店铺的业务方面,由于日常信息处理量大,耗费时间长,出错效率高,在系统投入运行后,可以实现业务中的信息集中处理、分析利用信息和信息的交流辅助市场的业务监管和重大决定。并且可以实现实体店铺进一步向网络服务发展,为信息工作打下良好的基础。(3) 法律可行性:该平台是是自主开发设计,因此不会构成侵权,在法律上是可行的。通过以上的研究和分析,认为系统开发所产生的效益是巨大的,所以开发本项目是可行的、必要的。用户需求分析:根据对传统的商务模式的分析,同时调研了现有的一些电子

5、商城系统后,得到“电子商城管理系统”的需求,主要包括系统功能需求和系统性能需求两方面。1.2.2系统功能分析电子商城管理系统的主要功能需求有:(1)系统用户管理:实现对商城管理用户的添加、密码的修改等操作;(2)会员信息管理:删除、查看会员信息;(3)商品管理:添加、删除、修改、查看商品;(4)订单管理:查看、删除、处理订单;(5)详细订单管理:查看、删除详细订单;(6)商品类别的管理:查看,添加,删除商品类别;(7)员工信息管理:添加、删除、修改;1.2.3系统总体功能设计通过对系统的需求分析,并对各个功能需求进行集中、分块、可得到电子商城管理系统的功能模块图。功能模块图是软件工程过程中的一

6、个重要环节,它显示了系统所要实现的各项功能。电子商城管理系统的功能模块图如图1-1所示:图1.1系统功能框图1.2.4数据库的设计用户的需求具体体现在各种信息的提供、保存、更新和查询、这就要求数据库的设计能够满足各种信息的输入和输出。为了准确、形象、简单地描述。该系统的数据及相关联情况,绘制出系统的E-R图,如图1-2所示:图1.2系统E-R图2 数据结构的设计2.1 Orale简介Oracle是最早商品化的的关系型数据库管理系统,它是世界上最大的数据库专业厂商甲骨文(Oracle)公司的核心产品,也是当前应用最广泛的、功能最强大的、具有面向对象特点、采用了客户机、服务器架构的数据库系统。2.

7、2 数据库概念结构设计针对一般网上购物网站进行需求分析,通过对网上购物过程的内容和数据流程分析,同时根据本电子商城管理系统的数据流程,对系统数据库进行概念结构设计。根据数据关系模型和数据库关系模式的范式,我们创建了电子商城管理系统的数据表,本系统共有8个数据表,分别是:Customers(会员信息表)、Types(商品类别表)、Doods(商品信息表)、Employees(员工表)、Payments(支付方式表)、Orders(订单信息表)、OrderDetails(订单详情表)、Users(用户表)。 2.2.1建立数据库的原则数据库的前期规划(包括对基本文件的构成、数量、物理文件的分布以及

8、存储参数的设置等)都对数据库后期的运行性能带来很大的影响,甚至直接影响数据库系统的维护成本。因此,建立数据库时,应遵循遵循Orcale 创建数据库的原则以及数据库的基本组成要素。本系统在建立数据库时,由于表中存储信息不同,所以表中所需字段也不一样,在确定所需字段时有以下五个原则:1表中的主键字段,不允许重复值以及Null值,以免影响数据完整性。2描述不同的主题字段属于不同的表,通过定义之间的关系,可以将多个表中的字段进行组合,生成各种表单或报表。3不在表中存储需要经过推导或计算得到的数据。4收集所需要的全部信息。应全面检查书面的表单和报表,确定所需要的数据都已包含在所设计的表中或者可以有这些表

9、计算出来。5以最小的逻辑单位进行存储信息,应尽量把信息分解成较小的逻辑单位。2.2.2建立字段的原则在实际操作中,选择和确定数据类型时,应结合字段的自身情况并考虑一下4点:1.字段将要用于存储什么类型的值;2.是否要对字段进行排序或筛选;3.是否要对字段进行分组;4.是否要对字段执行相关的运算。2.2.3数据库表的实体图1.Types(商品类别表)实体图:图2.1商品类别表实体图2.Goods(商品信息表)实体图:图2.2商品信息表的实体图3.Employees(员工表)实体图:图2.3员工表的实体图2.2.4数据库的E-R图图2.4数据库的E-R图2.3 数据库逻辑结构设计数据库概念结构设计

10、完成之后,将数据库的概念结构转换为数据库系统支持的实际数据类型,也就是数据库逻辑结构。2.3.1数据库的表结构表2.1 Types表结构表序号1表名Types含义存储商品类别信息序号属性名称含义数据类型长度为空性约束1t_ID类别编号Char2Not null主键2t_Name类别名称Varchar50Not null3t_Description类别描述Varchar100Null表2.2 Goods表结构表序号2表名Goods用途存储商品信息序号属性名称含义数据类型长度为空性约束1g_ID商品编号Char6Not null主键2g_Name商品名称Varchar50Not null3t_ID

11、商品类别Char2Not null外键4g_Price商品价格FloatNot null5g_Discount商品折扣FloatNot null6g_Number商品数量ShortNot null7g_ProduceDate生产日期DateNot null8g_Image商品图片Varchar100Null9g_Status商品状态Varchar10Not null10g_Description商品描述Varchar1000Null表2.3 Employees表结构表序号3表名Employees含义存储员工信息序号属性名称含义数据类型长度为空性约束1e_ID员工编号Char10Not null

12、主键2e_Name员工姓名Varchar30Not null3e_Gender性别Char2Not null4e_Birth出生年月VarcharNot null5e_Address员工地址Date100Null6e_Postcode邮政编码Char6Null7e_Mobile手机号码Varchar11Null8e_Phone固定电话Varchar15Not null9e_E-mail电子邮件Varchar50Not null2.3.2数据库表的实现1. 创建商品类别表TypesCREATE TABLE Types(t_ID char(2) PRIMARY KEY NOT NULL,- 商品的

13、分类编号t_Name varchar2(50) NOT NULL,- 商品的分类名称 t_Description varchar2(100) NOT NULL- 商品类别描述);2.创建商品信息表GoodsCREATE TABLE Goods(g_ID char(6) NOT NULL PRIMARY KEY,- 商品编号g_Name varchar2(50) NOT NULL,- 商品名称 t_ID char(2) NOT NULL REFERENCES Types(t_ID),- 商品分类号(外键)g_Price float NOT NULL,- 商品价格g_Discount float

14、NOT NULL,- 商品折扣g_Number integer NOT NULL,- 库存数量g_ProduceDate date NOT NULL,- 商品生产日期g_Image varchar2(100),- 商品图片g_Status varchar2(10) NOT NULL,- 商品状态 / 热点/ 促销 / 推荐 g_Description varchar2(1000)- 商品描述); 3.创建员工表 EmployeesCREATE TABLE Employees(e_ID char(10) NOT NULL PRIMARY KEY, - 员工编号e_Name varchar2(30

15、) NOT NULL, - 员工姓名e_Gender char(2) NOT NULL, - 性别 e_Birth date NOT NULL, - 出生年月e_Address varchar2(100) NOT NULL, - 员工地址e_Postcode char(6) NOT NULL, - 员工邮政编码e_Mobile varchar2(11) NOT NULL, - 员工手机号码 e_Phone varchar2(15) NOT NULL,- 员工固定电话e_Email varchar2(50) NOT NULL- 员工电子邮箱);2.3.3存储过程在创建电子商城管理系统数据库时创建

16、的存储过程如下所示:(1) 根据商品编号获得商品名称和类别编号的存储过程主要功能描述:通过输入一个商品编号,到商品信息表中查询出商品的名称、类型编号,如果有数据就返回商品名称,类别编号。没有数据就返回空值。create or replace procedure up_GetByID(gid in varchar2,gname out goods.gname%type,tid out goods.t_ID%type)asbeginselect g_name,t_ID into gname,tid from goods where g_id=:old.g_id;exception when no_

17、data_found thengname:=null;tid:=null;end up_getById;(2) 添加员工记录的存储过程主要功能的描述:实现添加员工记录,其中输入参数有(员工id,员工姓名,员工出生日,现住地址,邮编,手机号码,固定号码,电子邮件),通过insert语句可将其记录插入到员工表中。create or replace procedure EmployeesAdd(e_ID in char e_Name in varchar2 e_Gender in chare_Birth in date e_Address in varchar2 e_Postcode in char

18、e_Mobile in varchar2 e_Phone in varchar2 e_Email in varchar2)asbegin insert into Employees values(e_ID e_Name e_Gender e_Birthe_Address e_Postcode e_Mobile e_Phone e_Email);commit;end;(3) 修改职员记录信息的存储过程主要功能描述:实现更新员工记录,其中输入参数有(员工id,或员工姓名,或员工出生日,或现住地址,或邮编,或手机号码,或固定号码,或电子邮件),通过update语句可将其记录插入到员工表中。Creat

19、e or replace prodecure EmployeesUpdate(old_e_ID in char, new_e_ID in charNew_e_Name in varchar2 New_e_Gender in charNew_e_Birth in date New_e_Address in varchar2 New_e_Postcode in charNew_e_Mobile in varchar2 New_e_Phone in varchar2 New_e_Email in varchar2)AsBeginUpdate employees set e_ID=new_e_ID,E

20、_Name=new_e_Name,e_Gender =new_e_Gender,e_Birth=new_e_Birth,e_Address=new_e_Address,e_Postcode =new_e_Postcode,e_Mobile =new_e_Mobile, e_Phone =new_e_Phone,e_Email=new_e_Email where e_ID=old_e_ID;commit;end;2.3.4触发器在创建电子商城管理系统数据库时创建的触发器如下所示:(1)TypesDelete触发器描述:删除商品类别表中商品类别的一条记录,同时也删除该记录商品表中商品类别信息。cr

21、eate or replace trigger TypesDeleteafter delete on Types for each rowbegindelete from Goods where t_id=:old.t_id end;(2)TypesUpdate触发器描述:修改商品类别表的t_id时,字段t_id在商品表中也做相应的修改create or replace trigger TypesUpdateafter update on Types for each rowbeginif updating thenupdate Goods set t_id=:new.t_idwhere t_

22、id=:old.t_id;end if;end;2.3.5数据库的数据流图1.系统顶层数据流图图2.5顶层数据流图2.管理员登录数据流图 图2.6管理员登录数据流图2.4数据库物理结构设计数据库中types表,goods表,employees表的物理结构设计如下所示:图2.7types表物理结构图2.8goods表物理结构图2.9employees表物理结构3 功能模块描述3.1系统功能层次图图3.1系统功能层次图3.2主要功能描述通过对用户需求的分析,可以分析出该电子商城管理系统大致可以把前台分为三个模块:商品查询模块、订单查询模块、订购模块。后台分为六大模块:系统设置模块,商品管理模块,用

23、户管理模块,订单管理模块、系统工具模块和帮助模块。而我们本次仅针对后台管理进行了设计与具体实现。总体功能需求电子商城(后台)管理系统是针对网上商城的后台实现智能管理的现代化平台,以实现管理的方便、快捷与高效的业务需求。具体系统后台功能需求描述(1).系统设置模块实现管理者对站内的公告进行分类管理和支付方式管理功能。(2).商品管理模块商品管理模块具体实现对商品的类别、添加新商品、查看/修改商品、商品信息统计和信息打印进行管理。(3).用户管理模块用户管理模块具体实现对前台会员、后台用户、网站员工和操作日志的管理,包括相关的添加、删除、修改等操作。(4).订单管理模块用户管理模块具体实现订单状态

24、查询和订单处理。(5).系统工具模块系统工具模块具体实现对数据库的压缩、备份和恢复操作;密码修改、数据的导入和导出以及退出系统功能。(6).帮助模块帮助模块具体实现目录/索引的查询以及关于我们系统的简介。4 程序运行结果4.1系统界面设计 4.1.1系统主界面图4.1系统主界面4.1.2商品信息管理输入用户名,密码后登录到系统主页面,点击商品管理,可查看详细的商品信息、本系统实现了对商品的添加、删除、修改等基本功能。图4.2商品信息管理界面4.1.3商品管理-添加商品信息界面图4.3商品添加界面4.1.4商品管理-商品类别管理图4.4商品类别管理界面4.1.5员工信息管理主界面图4.4员工信息

25、管理界面4.1.6员工管理-添加员工信息图4.5员工管理-添加员工信息界面5 心得体会通过一个月的努力,目前该系统的程序设计已经基本结束了。在此期间,我根据题目要求,查阅了大量关于电子商城管理系统的相关资料,切实际地按照面向对象的分析步骤,从概要设计,详细设计,数据库设计,再到编码,调试运行。已经顺利完成各个步骤的开发工作,基本达到预期设计的要求。通过本次大型数据库的课程设计,使我不论在理论上还是在实践上都有了一个较大幅度的提高,尤其是对数据库的详细设计阶段对综合知识的运用能力和对数据表的设计,同时也培养了自己独立分析问题、解决问题以及与组员的交通的能力。在整个设计和开发过程中使我对面向对象开

26、发方法在思想有了进一步深刻的了解完善需求,最大限度的满足用户所需。本次设计中运用了大量的软件工程的思想和相关的数据知识,对大学所学的知识得以巩固和运用。该电子商城管理系统虽然已经基本上满足要求,但是还不够完善,在以后的使用过程中可能会暴露多实际问题,有待进一步的改进,完善。6 参考文献1 郑阿奇,Oracle实用教程(第2版), 电子工业出版社, 2006年2 郑阿奇,Oracle实用教程,电子工业出版社,2003年3 陈志刚,大型数据库技术-Oracle9i高级程序设计,华南理工大学出版社,2003年4 赵乃真,Oracle 9i从基础到应用,人民邮电出版社,2002年5 赵松涛,Oracl

27、e 9i中文版入门与提高,人民邮电出版社,2002年6 Oracle数据库管理与应用实例教程,人民邮电出版社,2002年7 程序源代码7.1商品信息管理模块主要源代码namespace WebShop_admin.Operation public partial class frmGoodsManage : Form public frmGoodsManage() InitializeComponent(); ClassDB.ClassDB db = new ClassDB.ClassDB(); DataSet ds = new DataSet(); public static string

28、goodsid = null; PublicClass.PublicUseclass puc = new WebShop_admin.PublicClass.PublicUseclass(); private void frmGoodsManage_Load(object sender, EventArgs e) string strGoods = select * from vw_Goods; getData(strGoods); private void getData(string sql) ds = db.getDataSet(sql); if (ds = null) return;

29、else dgv_Goods .DataSource = ds.Tables0; private void textBox1_TextChanged(object sender, EventArgs e) if (this.cb_Name.Text.Length = 0) MessageBox.Show(请选择查询字段!,提示); return; string sql = null; switch (this.cb_Name.SelectedIndex) case 0: sql = select * from vw_Goods where 商品编号like % + this.textBox1.

30、Text.ToString() + %; break; case 1: sql = select * from vw_Goods where 商品名称like % + this.textBox1.Text.ToString() + %; break; case 2: sql = select * from vw_Goods where 类别名称like % + this.textBox1.Text.ToString() + %; break; case 3: sql = select * from vw_Goods where 商品状态like % + this.textBox1.Text.T

31、oString() + %; break; default : return; if (ds != null) ds.Clear(); getData(sql); private void tsb_Exit_Click(object sender, EventArgs e) this.Close(); private void tsb_Delete_Click(object sender, EventArgs e) if (goodsid = null) MessageBox.Show(请选择您要删除的记录!,提示); return; string strdelete=delete Goods

32、 where g_ID=+goodsid +; if (MessageBox.Show(您真的要删除编号为: + goodsid + 的商品吗?, 提示, MessageBoxButtons.YesNo) = DialogResult.Yes) try int i = db.ExecuteSQL(strdelete); if (i = 1) puc.toLog(删除了编号为: + goodsid + 的商品); MessageBox.Show(记录删除成功!, 提示); frmGoodsManage_Load(sender, e); else MessageBox.Show(记录删除失败!,

33、提示); catch MessageBox.Show(该商品不能删除!); return; private void dgv_Goods_CellClick(object sender, DataGridViewCellEventArgs e) goodsid = dgv_Goods.SelectedRows0.Cells0.Value.ToString(); private void tsb_Add_Click(object sender, EventArgs e) frmAddGoods fag = new frmAddGoods(); fag.Text = 商品添加; fag.ShowD

34、ialog(this ); private void tsb_Update_Click(object sender, EventArgs e) if (goodsid = null) MessageBox.Show(请选择您要修改的记录!, 提示); return; frmAddGoods fag = new frmAddGoods(); fag.Text = 商品修改; fag.ShowDialog(this); private void frmGoodsManage_Activated(object sender, EventArgs e) frmGoodsManage_Load(send

35、er, e); private void dgv_Goods_CellDoubleClick(object sender, DataGridViewCellEventArgs e) tsb_Update_Click(sender, e); 7.2员工信息管理模块主要源代码namespace WebShop_admin.Operation public partial class frmEmployee : Form public frmEmployee() InitializeComponent(); ClassDB.ClassDB db = new ClassDB.ClassDB(); Da

36、taSet ds = null; public static string emploeeid = null; PublicClass.PublicUseclass puc = new WebShop_admin.PublicClass.PublicUseclass(); private void frmEmployee_Load(object sender, EventArgs e) string sql = select e_ID 员工编号,e_Name 员工姓名,e_Gender 性别,e_Birth 出生年月,e_Address 员工地址,e_Postcode 邮政编码,e_Mobil

37、e 手机号码,e_Phone 固定电话,e_Email 电子邮箱from Employees; getData(sql); private void getData(string sql) ds = db.getDataSet(sql); if (ds = null) return; else dvg_List .DataSource = ds.Tables0; private void tsb_Exit_Click(object sender, EventArgs e) this.Close(); private void tsb_Delete_Click(object sender, EventArgs e) if (emploeeid = null) MessageBox.Show(请选择要删除的记录!, 提示); return; string strdelete = delete Employees where e_ID=+emploeeid +; if (MessageBox.Show(您真的要删除编号为: + emploeeid + 员工记录吗?, 询问,MessageBoxButtons .YesNo ) = DialogResult.Yes)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号