数据库原理课程设计(doc 53页).docx

上传人:小飞机 文档编号:1668978 上传时间:2022-12-13 格式:DOCX 页数:52 大小:781.27KB
返回 下载 相关 举报
数据库原理课程设计(doc 53页).docx_第1页
第1页 / 共52页
数据库原理课程设计(doc 53页).docx_第2页
第2页 / 共52页
数据库原理课程设计(doc 53页).docx_第3页
第3页 / 共52页
数据库原理课程设计(doc 53页).docx_第4页
第4页 / 共52页
数据库原理课程设计(doc 53页).docx_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《数据库原理课程设计(doc 53页).docx》由会员分享,可在线阅读,更多相关《数据库原理课程设计(doc 53页).docx(52页珍藏版)》请在三一办公上搜索。

1、 课 程 设 计 课程名称: 数 据 库 原 理 课题名称: 销售管理系统 班 级: 计算机学院08-03BJ班 完成人: 叶尔祥 (14082400560) (组长) 刘志平 (14082400557) 郭世昆 (14082402726) 甘 霞 (14082400663) 蒋序东 (14082400599) 指导教师: 胡 虚 怀 湖南理工学院计算机学院年 月 日目 录 绪论21课题背景22系统开发相关技术介绍21设计目的32 系统功能分析32.1系统的功能需求32.2功能模块43 数据库设计43.1数据库的建立43.2数据库的数据字典53.3数据库的逻辑结构63.4数据库的概念结构(ER

2、图).104系统的程序设计与实现.134.1登陆模块144.2管理模块18 4.3采购模块21 4.4销售模块31 4.5改密模块40 4.6数据库连接技术425系统的运行结果与分析 .426附录.476.1数据库源程序.476.2数据库脚本程序.47小组成员分工情况说明.49课程设计总结.49绪论1.1课题背景随着中国电子商务、互联网业务的迅猛发展,国内许多企业已跨入电脑网络管理时代,并因此提高了管理效率和市场竞争力。但目前仍有部分企业还停留在原始计账管理阶段。而随着全球经济信息化的进程和WTO的成功实现,企业面临着前所未有的机遇和挑战,在如此激变的社会形势和激烈的市场竞争下,愈来愈多的企业

3、管理者意识到效率管理和科学管理的重要性,以及增强市场竞争力的迫切性,因此建立科学、规范、高效的管理制度和秉承富有竞争力的经营理念是每一个企业管理者的渴望,企业采用电脑管理进货、库存、销售等诸多环节也已成为趋势及必然。许多从事商业活动的企业都需要采购商品、销售商品以及将商品暂时存储在仓库中,对这一工作流程进行有效地管理和控制,对这些企业来说是非常重要。在进货、库存、销售环节中,由于商品种类繁多、业务量大、库存管理复杂,使用手工操作的工作量很大,在操作过程中也很容易出现各种错误。而采用计算机管理则可以大大提高日常工作的效率,不仅将原来由手工操作的进货、出货及销售这一整套流程用计算机进行全程管理,而

4、且消除了手工操作中可能存在的不确定因素,达到进销存管理流程清晰,从而能够比较彻底地贯彻经营者的管理模式。1.2系统开发相关技术介绍本系统相关开发的技术有两种,利用专门的数据库编程工具:SQL SERVER;另一种方法是:利用常规的程序语言编写:C#。一、设计目的 基于Microsoft SQL Server 2008数据库并以visual studio 2010编程环境C#语言设计的实用销售管理系统二、系统的功能分析(1) 系统的功能需求: 在信息技术的催化之下,世界经济的变革已经进入了加速状态。世界经济一体化,企业经营全球化,以及高度竞争造成的高度个性化与迅速改变的客户需求,令企业与顾客、企

5、业与供方的关系变得更加密切和复杂。强化管理,规范业务流程,提高透明度,加快商品资金周转,以及为流通领域信息管理全面网络化打下基础,是商品销售公司乃至众多商业企业梦寐以求的愿望。 随着技术发展,电脑操作及管理日趋简化,电脑知识日趋普及,同时市场经济快速多变,竞争激烈,因此企业采用电脑管理进货、库存、销售等诸多环节也已成为趋势及必然。1)经济上可行性分析现在,计算机的价格已经十分低廉,性能却有了长足的进步。而本系统的开发,为企业的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:第一,本系统的运行可以代替人工进行许多繁杂的劳动;第二,本系统的运行可以节省许多资源;第三,本系统的运行可以大大的

6、提高企业的工作效率;本产品的开发所需的设备在现有条件下,只需要少量的投入资金就可以实现。因此在经济上是可行的。2)技术上可行性分析a) 软件可行性C#具有丰富的数据库功能,可以直接建立和编辑数据库,使用结构化查询语言直接访问SQL Sever上的数据库,并提供简单的面向对象的库操作命令、多用户数据库的加锁机制和网络数据库的编程技术。SQL Sever 2008是由微软公司推出的,能提供超大型系统所需的数据库服务,并对数据库提供全面的保护,具有防止问题发生的安全措施,他是一个采用SQL语言的关系型数据库管理系统。作为客户机/服务器的后端数据库,他是所有数据的汇总和管理中心。附:软件环境操作系统:

7、Windows 7 中文旗舰版数据库:Microsoft SQL Server 2008开发平台:Microsoft visual studio 2010b) 硬件可行性本系统的开发利用Microsoft SQL Server 2008作为本系统的数据库,它是一个支持多用户的新型数据库。 使用C#作为系统开发的开发环境,此开发工具开发数据库管理系统,采用面向对象的方式,方便、简捷、功能强大。附:硬件环境处 理 器:AMD Athlon(速龙) 64 X2 双核 5200+硬 盘:320GB内 存:2G显示器:瀚视奇 HSD5A47 Hanns.G HW173 ( 17.2 英寸 ) 添加销售信

8、息(2) 功能模块减少仓库数量商品销售新产品数量商品采购增加已有产品销 售 管 理 系 统销售统计入库统计信息统计采供查询销售查询信息查询价格,商品调整信息修改用户,密码入库出库商品入库三、数据库设计1.数据库的建立数据库的设计尽量的实现与应用程序做到最低等级的耦合,按照三层模式两级联系的方式设计数据库,把数据库设计成层次清晰的,高效的,实用数据库。在该系统的数据库设计方面,把数据库的设计分为四层:基本表,视图,包,存储过程。其中视图作为联系存储过程与基本表的桥梁必须进行认真的设计,在最外层,包中包含存储过程要用到的一些信息,也可以认为包和存储过程是处于相同的层次,不将存储过程放置在包中,是考

9、虑到对进行数据库基本表、视图以及功能型的存储过程扩展的时候应尽量避免和减少对系统的层次模型的影响。以降低产生错误的可能。但在数据库设计已经相对稳定的情况下,可以将存储过程置于包中,由于这是第一次使用SQL SERVER开发系统,兼顾上面的原因,而采用了包与存储过程分离的方式。因为该系统是采用三层架构设计的,可通过应用服务器的扩展来实现新功能的添加。而在该课程设计的内容定义方面,保证了数据的独立性,该系统对数据记录的操作也因为其课程设计中定义的数据操作方式和操作内容而注定不会产生脏数据及数据读写的不一致性,故在数据库设计方面未采用触发器。我们认为在扩展应用服务器至多种功能后,将应用服务器分为控制

10、部分和客户应用部分,此时在控制部分添加触发器来防止数据读写的不一致性,这已经超出了本次课程设计所涉及的范围,在此不做过多的陈述。2.数据库的数据字典:销售管理系统,数据信息和处理过程还需要通过数据字典来描述。在本文的数据字典中,主要对数据流,数据存储和处理过程进行说明。(1) 主要数据流定义1) 员工情况 位置:员工 定义: 员工情况=姓名+性别+出生日期+民族+学历+职称 。 数据流向:根据公司的具体情况来确定。 说明:要对每一位员工进行唯一编号。 2)管理员情况位置:用户定义: 用户身份=员工编号。数据流量:根据公司的具体情况来确定。说明:要对每一位管理员建立唯一的账号 3)销售情况位置:

11、销售表定义:销售=各个商品的单价数目数据流量:从库存向客户说明:销售金额会计算到销售员里 4)采购情况位置:采购定义:采购=各个商品的数目+各个商品的总价数据流向:从客户到库存说明:采购信息会被存储在采购员的表里5) 库存情况位置:仓库定义:库存=各个商品的单价和数量数据流向:从库存到销售说明:库存必须和采购的商品一样6) 管理位置:用户定义:管理员管理员工数据流向:从管理者到职工说明:管理员能看到销售员和采供员看不到的信息7) 购买位置 :销售表定义:客户可以买销售员的商品数据流向:从销售员到客户(2) 数据存储 1)数据存储:销售记录 数据量和存取频度:根据公司的具体规模情况来确定。 存取

12、方式:联机处理;检索和更新;以更新操作为主。 2)数据结构:采购记录 数据量和存取频度:根据公司的具体规模情况来确定。 存取方式:联机处理;检索和更新;以更新操作为主。 3)数据结构:供货记录 数据量和存取频度:根据公司的具体规模情况来确定。 存取方式:联机处理;检索和更新;以更新操作为主。4) 数据结构:库存记录 数据量和存取频度:根据公司的具体规模情况来确定。 存取方式:联机处理;检索和更新;以更新操作为主。(3) 处理过程 1)销售过程 输入:商品单价,商品数目 输出:商品总价以及对应客户名单 处理说明:根据员工的销售记录销售的时间和总价录入销售表2) 采购过程输入:采购商品的编号,数量

13、和品牌,以及采购的供应商输出:采购所需要的价格和采购的时间处理说明:根据员工的采购记录,将采购商品的价格和供应商录入订单表3.数据库的逻辑结构(数据库中的表的结构及定义)商品表名称数据类型大小约束商品编号Char15Primary key()商品名Char30not null商品类别char30出售低价decimal(10,1)库存表名称数据类型大小约束商品编号Char15外码foreign key库存量Int供货商表名称数据类型大小约束供货商编号Char15主码(primary key)公司名Char15Not null联系人姓名Char15联系电话Char15邮箱Char30地址Char3

14、0客户表名称数据类型大小约束销售员编号Char15主码(primary key)姓名Char15Not null联系电话Char15邮箱Char30地址Char30采购员工表名称数据类型大小约束采购员编号Char15主码(primary key)姓名Char15Not null联系电话Char15邮箱Char30地址Char30销售员工表名称数据类型大小约束销售员编号Char15主码(primary key)姓名Char15Not null联系电话Char15邮箱Char30地址Char30采购表名称数据类型大小约束商品编号Char15外码foreign key采购员编号Char15外码for

15、eign key供货商编号Char15采购数量Int进货价Decimal(10,1)采购日期Smalldatetime销售表名称数据类型大小约束客户编号Char15销售编号Char15外码foreign key商品编号Char15外码foreign key出售日期Smalldatetime出售量Int出售单价Decimal(10,1)利润表名称数据类型大小约束商品编号Char15外码foreign key成本价Decimal(10,1)实际售价Decimal(10,1)用户表名称数据类型大小约束权限编号char15用户名Char15密码Char 20附录:表数据单采购表采购表供货商表客户表库存

16、表销售表4.数据库的概念结构(ER图): (通过Microsoft Office Visio 2007反向工程生成)SQL表关系图SQL脚本create table 商品(商品编号 char(15) primary key,商品名 char(30) not null,商品类别 char(30),出售低价 decimal (10 ,1),)create table 库存(商品编号 char(15),库存量 int,foreign key (商品编号) references 商品(商品编号),)create table 供货商(供货商编号 char(15) primary key,公司名 char

17、(15) not null ,联系人姓名 char(15),联系电话 char(15),邮箱 char(30),地址 char(30),)create table 客户(客户编号 char(15) primary key ,客户姓名 char(15) not null,联系电话 char(15),邮箱 char(30),地址 char(30),)create table 采购员工(采购员编号 char(15) primary key,姓名 char(15) not null,联系电话 char(15),邮箱 char(30),地址 char(30),)create table 销售员工(销售员

18、编号 char(15) primary key,姓名 char(15) not null ,联系电话 char(15),邮箱 char(30),地址 char(30),)create table 采购(商品编号 char(15) ,采购员编号 char(15) ,供货商编号 char(15) ,采购数量 int ,进货价 decimal (10 ,1) ,采购日期 smalldatetime ,foreign key (商品编号) references 商品(商品编号),foreign key (采购员编号) references 采购员工(采购员编号),)create table 销售(客户

19、编号 char(15) ,销售员编号 char(15) ,商品编号 char(15) ,销售日期 smalldatetime ,销售量 int ,出售单价 decimal (10 ,1) ,foreign key (商品编号) references 商品(商品编号),foreign key (销售员编号) references 销售员工(销售员编号),)create table 利润(商品编号 char(15) ,成本价 decimal (10 ,1) ,实际售价 decimal (10 ,1) ,foreign key (商品编号) references 商品(商品编号),)create t

20、able 用户(权限编号 char(15),用户名 char(15),密码 char(20),)四、系统的程序设计与实现必须包括:系统的运行环境硬件环境处 理 器:AMD Athlon(速龙) 64 X2 双核 5200+硬 盘:320GB内 存:2G显示器:瀚视奇 HSD5A47 Hanns.G HW173 ( 17.2 英寸 ) 软件环境操作系统:Windows 7 中文旗舰版数据库:Microsoft SQL Server 2008开发平台:Microsoft visual studio 2010开发环境Microsoft visual studio 2010 集成开发环境C#语言系统的

21、详细设计(包括模块之间的关系,模块的功能、数据库的连接技术的实现、主要功能实现的程序段说明等)模块之间的关系登陆模块选择改密数据库选择登陆数据库改密模块管理模块采购模块销售模块(1)、登陆模块 通过“改密”按钮进入“密码修改”窗体 通过“登陆”按钮进入“3个管理系统”窗体登陆选择关键代码:bool bcon = false; SqlConnection conn = null; string comdstr = ; SqlCommand mycomand = null; SqlDataReader dr = null; try conn = new SqlConnection(Resource

22、1.String1); comdstr = select 姓名,密码,职称,编号 from 员工; mycomand = new SqlCommand(comdstr, conn); conn.Open(); dr = mycomand.ExecuteReader(); while (dr.Read() if (dr0.ToString().Trim( ) = ntBx.Text) if (dr1.ToString().Trim( ) = ptBx.Text) bcon = true; break; if (bcon) if (dr2.ToString().Trim( ) = 管理员) MFo

23、rm mForm = new MForm(); this.Hide(); mForm.label1.Text = dr0.ToString(); mForm.label2.Text = dr3.ToString(); mForm.ShowDialog(); this.Close(); else if (dr2.ToString().Trim( ) = 销售员) 采购 sForm = new 采购(); sForm.label6.Text = dr0.ToString(); sForm.label7.Text = dr3.ToString(); this.Hide(); sForm.ShowDi

24、alog(); this.Close(); else if (dr2.ToString().Trim( ) = 采购员) BForm bForm = new BForm(); this.Hide(); bForm.label6.Text = dr0.ToString(); bForm.label7.Text = dr3.ToString(); bForm.ShowDialog(); this.Close(); else MessageBox.Show(密码错误,请重新输入); else MessageBox.Show(密码错误,请重新输入); finally conn.Close(); 改密选

25、择关键代码: SqlConnection conn = null; string comdstr = ; SqlCommand mycomand = null; SqlDataReader dr = null; try bool ft = false; conn = new SqlConnection(Resource1.String1); comdstr = select 姓名,密码,职称 from 员工; mycomand = new SqlCommand(comdstr, conn); conn.Open(); dr = mycomand.ExecuteReader(); while (

26、dr.Read() if (dr0.ToString().Trim( ) = ntBx.Text) if (dr1.ToString().Trim( ) = ptBx.Text) ft = true; break; if (ft) gaimi GM = new gaimi(); GM.label4.Text = dr2.ToString(); this.Hide(); GM.ShowDialog(); this.Close(); else MessageBox.Show(你输入的用户名或密码错误,请重新输入); finally conn.Close(); (2)、管理模块1 库存查询2, 员工

27、信息查询3 订单查询4 客户信息查询5供货商信息查询关键代码:/库存量查询 comdstr = select 商品名称,库存量,单价 from 库存; mycomand = new SqlCommand(comdstr, con); con.Open(); dr = mycomand.ExecuteReader(); listView2.Items.Clear(); while (dr.Read() ListViewItem item = new ListViewItem(dr0.ToString().Trim( ); item.SubItems.Add(dr1.ToString(); ite

28、m.SubItems.Add(dr2.ToString(); listView2.Items.Add(item); /员工信息查询 comdstr = select 编号,姓名,电话,手机,邮箱,地址,职称,基本工资,密码 from 员工; mycomand = new SqlCommand(comdstr, con); con.Open(); dr = mycomand.ExecuteReader(); listView1.Items.Clear(); while (dr.Read() ListViewItem item = new ListViewItem(dr0.ToString().T

29、rim( ); item.SubItems.Add(dr1.ToString().Trim( ); item.SubItems.Add(dr2.ToString().Trim( ); item.SubItems.Add(dr3.ToString().Trim( ); item.SubItems.Add(dr4.ToString().Trim( ); item.SubItems.Add(dr5.ToString().Trim( ); item.SubItems.Add(dr6.ToString().Trim( ); item.SubItems.Add(dr7.ToString().Trim( )

30、; item.SubItems.Add(dr8.ToString().Trim( ); listView1.Items.Add(item); /订单查询/1. comdstr = select 客户姓名,商品名称,销售量,销售单价,账单编号,销售日期 from 销售; mycomand = new SqlCommand(comdstr, con); con.Open(); dr = mycomand.ExecuteReader(); listView3.Items.Clear(); while (dr.Read() ListViewItem item = new ListViewItem(dr

31、4.ToString().Trim( ); item.SubItems.Add(dr1.ToString().Trim( ); item.SubItems.Add(dr2.ToString(); item.SubItems.Add(dr3.ToString(); item.SubItems.Add(dr0.ToString().Trim( ); item.SubItems.Add(DateTime.Parse(dr5.ToString().Year.ToString() + - + DateTime.Parse(dr5.ToString().Month.ToString() + - + DateTime.Parse(dr5.ToString().Day.ToString(); listView3.Items.Add(item); /2. comdstr = select 账单编号,名称,进货数量,单价,供货商姓名,进货日

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号