商品销售管理系统.doc_第1页
商品销售管理系统.doc_第2页
商品销售管理系统.doc_第3页
商品销售管理系统.doc_第4页
商品销售管理系统.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

实 习 报 告题目:商品销售管理系统姓名: 学号: 4114170801 专业: 计算机科学与技术班级: 一 班实 验 实 习 中 心 制 2014 年 7 月 1 日 实习报告评语实习报告成绩: 优 良 中 及格 不及格 指导老师签字: 年 月 日目录1.设计内容12.设计目的13.设计过程23.1需求分析23.1.1用户需求23.1.2数据流图23.1.3数据字典103.1.4功能模块分析113.2概念设计阶段123.3逻辑设计阶段153.3.1关系模型153.3.2数据模型优化163.4物理设计阶段163.4.1物理设计阶段的目标和任务163.4.2数据存储方面173.4.3数据库物理设计173.4.4数据库子模式定义物理设计183.5数据库实施193.5.1建立数据库193.5.2建立数据表193.5.3建立视图223.5.4建立索引233.5.5建立触发器233.5.6创建各个功能的存储过程254. 系统的实现265. 实习总结296.参考文献297.附件291.1.设计内容设计开发一个应用于商品销售管理系统,能够完善以下要求:一个公司目前需要一款商品销售关系系统,该公司有经理和员工。经理管理员工,对员工的信息可以进行增删改查。员工负责管理商品,对新进的商品进行添加操作,已有的商品进行修改和查询,对过时的商品进行下架处理。 员工负责销售商品,对销售的商品进行记录,对库存进行盘点和当日销售盘点。 员工负责对客户进行管理,包括新客户的录入,老客户信息的更新。 员工负责进货,对所进的货物进行统计和盘点。2.设计目的数据库课程设计是为数据库原理及应用课程而独立开设的实践性课程,对于巩固数据库知识,加强学生的实际动手能力和提高学生综合素质十分必要。通过本实验达到以下目的: 培养具有C/S和B/S模式的数据库应用软件系统的设计和开发能力。 熟练掌握一种数据库系统(如SQL SERVER)的使用。 熟练掌握一种数据库应用软件开发工具(如ASP、VB、VC和Java)的使用。 通过设计实际的数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力。要求:要求掌握数据库的设计的每个步骤;掌握数据库设计各阶段的设计内容、设计方法和工具。3.设计过程3.1需求分析3.1.1用户需求使用该系统的用户有两种人:员工和经理。员工对于系统的功能要求如下:商品管理首次采购的商品,进行新商品入库管理;已有的商品,进行修改和查询的管理;过时的商品进行下架管理。客户管理新客户为其创建客户信息;老客户更新信息。修改登录密码经理对于系统的功能要求如下:员工表的查看;对于新员工为其创建员工信息;老员工的信息更新;员工辞职后信息删除。3.1.2数据流图3.1.2.1 顶层数据流图 3.1.2.2 第一层数据流图3.1.2.3 第二层数据流图 3.1.2.3.1 经理对员工的第二层数据流图3.1.2.3.2 员工对商品的第二层数据流图3.1.2.3.3 员工对销售的第二层数据流图3.1.2.3.4 员工对进货的第二层数据流图3.1.2.3.5 员工对客户的第二层数据流图3.1.3数据字典(a)数据项:系统涉及的数据项有20项,如表3-1-1所示。表3-1-1数据项列表数据项编号数据项名数据项含义与其它数据项的关系存储结构别名DI-1YGBH员工编号Int(10)员工编号DI-2YGXM员工姓名char(10)员工姓名DI-3YGXB员工性别char(2)员工性别DI-4YGNL员工年龄Int(5)员工年龄DI-5YGMM员工密码char(20)员工密码DI-6SPBH商品编号Int(10)商品编号DI-7SPM商品名char(10)商品名DI-8LR利润Int(10)利润DI-9KCL库存量Int(10)库存量DI-10XSL销售量Int(10)销售量DI-11JHJG进货价格Int(10)进货价格DI-12CHJG出货价格Int(10)出货价格DI-13JHL进货量Int(10)进货量DI-14XSRQ销售日期DATE销售日期DI-15QDRQ清点日期DATE清点日期DI-16JHRQ进货日期DATE进货日期DI-17GKBH客户编号Int(10)客户编号DI-18GKXM客户姓名char (10)客户姓名DI-19GKXB客户性别char(2)客户性别DI-20GKDH客户电话Int(10)客户电话(b)数据结构:系统涉及的数据结构,如表3-1-2所示。表3-1-2数据结构列表数据结构编号数据结构名数据结构含义组成D1YG员工信息 YGBH,YGXM,YGXB,YGNL,YGMMD2SPXX商品信息SPBH,KCL,JHJG,CHJGD31XSXX销售信息SPBH,XSL,LR,XSRQD32KCXX库存信息SPBH,KCL,QDRQD4KH客户信息KHBH,KHXM,KHXB,KHDHD5JHJL进货记录信息SPBH,JHL,JHJG,JHRQ3.1.4功能模块分析根据用户需求,以及数据流图分析,提取出系统应该实现的功能,如Error! Reference source not found. 3-1-8所示主要包括三大功能模块: (1)员工管理:对商品信息进行增、删、改、查的操作。 (2)商品管理模块:包括销售管理、进货管理、出货管理。 (3)客户管理:对客户的信息进行增、删、改、查的操作。3.2概念设计阶段分析了数据流图及数据字典,列出模块中涉及到的实体及基本E-R图。(1) 实体属性图本系统的实体有:商品实体、员工实体和客户实体。(2) 分E-R图(3)基本E-R图合并各分E-R图,消除属性冲突、命名冲突、结构冲突等三类冲突,得到初步E-R图,再消除不必要冗余,得到的基本E-R图,如Error! Reference source not found.所示:3.3逻辑设计阶段3.3.1关系模型实体型转换为关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的情况:一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合具有相同码的关系模式可合并。该系统中实体与实体联系分析如下:由于经理与员工、员工与客户的联系方式是1:n(一对多),可以将其之间的联系与n端实体员工、客户合并;而员工与商品之间的管理联系方式则是n:m(多对多),这样要把它们之间的联系转化为独立的关系模式;具体的基本E-R图向关系模型的转化如下:员工:YG(YGBH,YGXM,YGXB,YGNL,YGMM)商品信息:SPXX(SPBH,SPM,CHJG,LR)销售信息:XSXX(DDH,SPBH,YGBH,XSRQ,KHBH,XSL)库存信息:KCXX(SPBH,KCL,QDRQ)客户:KH(KHBH,GKXM,GKXB,GKDH)进货:JH(SPBH,JHL,JHJG,JHRQ)(注:标有直线下划线的为主属性,标有波浪线下划线的是外键属性)3.3.2数据模型优化判断每个模式是否满足3NF(是否存在部分函数依赖、传递函数依赖)关系模式YG、SP、KCXX、KH、JH不存在非主属性对主属性的部分函数依赖,也不存在传递函数依赖,已经达到了3NF;关系模式XSXX存在传递函数依赖,所以将XSSS模式分解成两个关系模式SPXSXX和YGXSXX:员工销售信息:SPXSXX(DDH,YGBH,KHBH,XSRQ)商品销售信息:YGXSXX(DDH,SPBH,XSL)3.4物理设计阶段3.4.1物理设计阶段的目标和任务数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;(2)对物理结构进行评价,评价的重点是时间和空间效率。3.4.2数据存储方面为数据库中各基本表建立的索引如下:由于基本YGXSXX的属性YGBH经常在查询条件中出现,在这个属性上建立聚簇索引;3.4.3数据库物理设计以下各表中的有下划线的列是关键字,有波浪下滑线的列是外关键字。表3-4-1 D1员工数据表属性名数据类型类型宽度小数位数可否为空员工编号intNot null员工姓名char10Not null员工性别char2Not null员工年龄intNot null员工密码intNot null表3-4-2 D2商品信息数据表属性名数据类型类型宽度小数位数可否为空商品编号intNot null商品名Char10Not null库存量intNot null进货价格Number102Not null出货价格Number102Not null利润Number102Not null表3-4-3 D31员工销售信息数据表属性名数据类型类型宽度小数位数可否为空订单号IntNot null员工编号intNot null客户编号intNot null销售日期DATENot null表3-4-4 D32商品销售信息数据表属性名数据类型类型宽度小数位数可否为空订单号IntNot null商品编号intNot null销售量intNot null表3-4-5 D33库存信息数据表属性名数据类型类型宽度小数位数可否为空商品编号intNot null库存量intNot null清点日期DATENot null表3-4-6 D4 客户表属性名数据类型类型宽度小数位数可否为空客户编号intNot null客户姓名char10Not null客户性别char10客户电话int表3-4-7 D5进货记录表属性名数据类型类型宽度小数位数可否为空商品编号intNot null进货量intNot null进货价格Number102Not null进货日期DATENot null3.4.4数据库子模式定义物理设计表3-4-8 视图作用表编号用户子模式(View)作用(共性:提供数据保密和安全保护机制)V1JLView便于经理查询员工的基本信息V2YG1View用于员工查看商品信息V3YG2View用于员工查看商品销售表表3-4-9 员工表视图属性名数据类型类型宽度小数位数可否为空员工编号intNot null员工姓名char10Not null员工性别char2Not null员工年龄intNot null表3-4-10 商品信息视图属性名数据类型类型宽度小数位数可否为空商品编号intNot null商品名CharNot null库存量intNot null进货价格number102Not null出货价格number102Not null利润Number102Not null表3-4-11 销售信息视图属性名数据类型类型宽度小数位数可否为空订单号INTNot null商品编号intNot null销售量IntNot null商品总利润Number102Not null员工编号IntNot null客户编号IntNot null销售日期DATENot null3.5数据库实施3.5.1建立数据库create database Goods;3.5.2建立数据表(1)员工信息表的建立:CREATE TABLE dbo.YGXX(员工编号 int IDENTITY(1,1) NOT NULL,员工姓名 char(10) COLLATE Chinese_PRC_CI_AS NOT NULL,员工性别 char(2) COLLATE Chinese_PRC_CI_AS NOT NULL,员工年龄 int NOT NULL,员工密码 int NOT NULL, CONSTRAINT PK_YGXX PRIMARY KEY CLUSTERED (员工编号 ASC)WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY) ON PRIMARY(2)商品信息表的建立CREATE TABLE dbo.SPXX(SPBH int NOT NULL,SPM char(10) COLLATE Chinese_PRC_CI_AS NOT NULL,KCL int NOT NULL,JHJG numeric(10, 2) NOT NULL,CHJG numeric(1, 1) NOT NULL, CONSTRAINT PK_SPXX PRIMARY KEY CLUSTERED (SPBH ASC)WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY) ON PRIMARY(3)员工销售信息表的建立CREATE TABLE dbo.YGXSXX(DDH int NOT NULL,YGBH int NOT NULL,KHBH int NOT NULL,XSRQ datetime NOT NULL, CONSTRAINT PK_YGXSXX PRIMARY KEY CLUSTERED (DDH ASC)WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY) ON PRIMARY(4)商品销售信息表的建立CREATE TABLE dbo.SPXSXX(DDH int NOT NULL,SPBH int NULL,XSL int NULL, CONSTRAINT PK_SPXSXX PRIMARY KEY CLUSTERED (DDH ASC)WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY) ON PRIMARY(5)库存信息表的建立CREATE TABLE dbo.KCXX(SPBH int NOT NULL,KCL int NOT NULL,QDRQ datetime NOT NULL, CONSTRAINT PK_KCXX PRIMARY KEY CLUSTERED (SPBH ASC)WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY) ON PRIMARY(6)客户表的建立CREATE TABLE dbo.KH(KHBH int NOT NULL,KHXM char(10) COLLATE Chinese_PRC_CI_AS NOT NULL,KHXB char(2) COLLATE Chinese_PRC_CI_AS NOT NULL,KHDH int NOT NULL, CONSTRAINT PK_KH PRIMARY KEY CLUSTERED (KHBH ASC)WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY) ON PRIMARY)(7)进货记录表的建立CREATE TABLE dbo.JHJL(SPBH int NOT NULL,JHL int NOT NULL,JHJG numeric(10, 2) NOT NULL,JHRQ datetime NOT NULL, CONSTRAINT PK_JHJL PRIMARY KEY CLUSTERED (SPBH ASC)WITH (IGNORE_DUP_KEY = OFF) ON PRIMARY) ON PRIMARY3.5.3建立视图(1) 用于经理查询员工表的视图定义如下: CREATE VIEW dbo.经理查看视图ASSELECT 员工编号, 员工姓名, 员工性别, 员工年龄FROM dbo.员工信息(2) 用于员工查询商品信息的视图定义如下:CREATE VIEW dbo.商品信息视图ASSELECT dbo.商品信息.商品编号, dbo.商品信息.商品名, dbo.商品信息.库存量, dbo.进货记录.进货价格, dbo.商品信息.出货价格, dbo.商品信息.利润FROM dbo.商品信息INNER JOIN dbo.进货记录ON dbo.商品信息.商品编号= dbo.进货记录.商品编号 (3) 用于查询销售信息的视图定义如下: CREATE VIEW dbo.销售信息视图ASSELECT dbo.商品销售信息.订单号, dbo.商品信息视图.商品名, dbo.商品销售信息.商品编号, dbo.商品销售信息.销售量, dbo.商品信息视图.利润* dbo.商品销售信息.销售量AS 商品总利润, dbo.员工销售信息.销售日期FROM dbo.商品信息视图INNER JOIN dbo.商品销售信息ON dbo.商品信息视图.商品编号= dbo.商品销售信息.商品编号INNER JOIN dbo.员工销售信息ON dbo.商品销售信息.订单号= dbo.员工销售信息.订单号3.5.4建立索引CREATE CLUSTERED INDEX 员工编号索引 ON dbo.员工销售信息 (员工编号 ASC,订单号 ASC)WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) ON PRIMARY3.5.5建立触发器create trigger 进货记录触发器on dbo.进货记录for insertas declare 商品编号intdeclare 进货量intdeclare 库存量intdeclare 清点日期datetimeselect 商品编号=商品编号from insertedselect 进货量=进货量from inserted where 商品编号=商品编号select 库存量=0 -from 库存信息where 商品编号=商品编号select 清点日期=getdate()if not exists(select 商品编号from 库存信息where 商品编号=商品编号)begininsert into 库存信息values(商品编号,库存量,清点日期)update 库存信息set 库存量=(库存量+进货量),清点日期=getdate() where 商品编号=商品编号endelsebeginselect 库存量=库存量from 库存信息where 商品编号=商品编号update 库存信息set 库存量=(库存量+进货量),清点日期=getdate()where 商品编号=商品编号Endcreate trigger 销售触发器on dbo.商品销售信息for insertas declare 商品编号intdeclare 销售量intdeclare 库存量intselect 商品编号=商品编号from insertedselect 销售量=销售量from inserted where 商品编号=商品编号beginselect 库存量=库存量from 库存信息where 商品编号=商品编号update 库存信息set 库存量=(库存量-销售量),清点日期=getdate()where 商品编号=商品编号end3.5.6创建各个功能的存储过程编号存储过程名称定义作用P-1YGXX_Insert详见附录1在YGXX中插入一元组P-2SPXX_Insert详见附录2在SPXX中插入一元组P-3KH_Insert详见附录3在KH中插入一元组P-4YGXSXX_Insert 详见附录4在YGXSXX中插入一元组P-5SPXSXX_Insert详见附录5在SPXSXX中插入一元组P-6KCXX_Insert详见附录6在KCXX中插入一元组P-7JHJL_Insert详见附录7在JHJL中插入本人信息4. 系统的实现(1)经理登录控制台,经理输入用户名和密码。图4-1 登陆控制台(2)经理对员工信息员工信息进行查询操作。图4-2 查询员工信息控制台(3)经理增加员工,并查询增加后的员工信息。图4-3 增加员工信息控制台(4)经理对员工信息进行修改操作,并查询修改后的员工信息。图4-4 修改员工信息控制台(5)经理对员工信息进行删除操作,并查询删除后的员工信息。图4-5 删除员工信息控制台5. 实习总结通过这次课程设计,了解到我们平时的实验和这次系统设计的差距之大。但只有把平时的实验认真完成,对基本知识的一次次巩固,才可完成这次课程设计。我们往往认为的编代码在程序设计中所占比例并不大,真正要我们所做的东西其实远远不止敲代码。重要的是对整个系统的设计同时对软件开发也有更全面的了解。6.参考文献1 萨师煊 王珊,数据库系统概论(第三版),北京:高教出版社,20002 软件开发与指导;人民邮电出版社3 Delpehi数据库开发毕业设计指导及实例;机械工业出版社,2004

温馨提示

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

评论

0/150

提交评论