收藏 分销(赏)

商品销售管理系统.docx

上传人:xrp****65 文档编号:8895411 上传时间:2025-03-07 格式:DOCX 页数:39 大小:870.25KB 下载积分:10 金币
下载 相关 举报
商品销售管理系统.docx_第1页
第1页 / 共39页
商品销售管理系统.docx_第2页
第2页 / 共39页


点击查看更多>>
资源描述
实 习 报 告 题目:商品销售管理系统 姓名: 学号: 专业: 班级: 实 验 实 习 中 心 制 20一五 年 6 月 23 日 实习报告评语 实习报告成绩: 优 良 中 及格 不及格 指导老师签字: 年 月 日 目录 1.设计内容 1 2.设计目的 1 3.设计过程 2 3.1需求分析 2 3.1.1用户需求 2 3.1.2数据流图 2 3.1.3数据字典 10 3.1.4功能模块分析 11 3.2概念设计阶段 3.3逻辑设计阶段 3.3.1关系模型 3.3.2数据模型优化 3.4物理设计阶段 3.4.1物理设计阶段的目标和任务 3.4.2数据存储方面 3.4.3数据库物理设计 3.4.4数据库子模式定义物理设计 3.5数据库实施 3.5.1建立数据库 3.5.2建立数据表 3.5.3建立视图 3.5.4建立索引 3.5.5建立触发器 3.5.6创建各个功能的存储过程 4. 系统的实现 5. 实习总结 6.参考文献 7.附件 1.设计内容 设计开发一个应用于商品销售管理系统,能够完善以下要求: ①一个公司目前需要一款商品销售关系系统,该公司有经理和员工。 ②经理管理员工,对员工的信息可以进行增删改查。 ③员工负责管理商品,对新进的商品进行添加操作,已有的商品进行修改和查询,对过时的商品进行下架处理。 员工负责销售商品,对销售的商品进行记录,对库存进行盘点和当日销售盘点。 员工负责对客户进行管理,包括新客户的录入,老客户信息的更新。 员工负责进货,对所进的货物进行统计和盘点。 2.设计目的 数据库课程设计是为数据库原理及应用课程而独立开设的实践性课程,对于巩固数据库知识,加强学生的实际动手能力和提高学生综合素质十分必要。通过本实验达到以下目的: ①培养具有C/S和B/S模式的数据库应用软件系统的设计和开发能力。 ②熟练掌握一种数据库系统(如SQL SERVER)的使用。 ③熟练掌握一种数据库应用软件开发工具(如ASP、VB、VC和Java)的使用。 ④通过设计实际的数据库系统应用课题,进一步熟悉数据库管理系统的操作技术,提高动手能力,提高分析问题和解决问题的能力。 要求: 要求掌握数据库的设计的每个步骤;掌握数据库设计各阶段的设计内容、设计方法和工具。 3.设计过程 3.1需求分析 3.1.1用户需求 使用该系统的用户有两种人:员工和经理。 ㈠员工对于系统的功能要求如下: ⑴商品管理 ①首次采购的商品,进行新商品入库管理; ②入库的商品进行上架管理; ③已有的商品,进行修改和查询的管理; ④过时的商品进行下架管理。 (2)客户管理 ① 老客户更新信息; ② 新客户为其创建客户信息; ③ 查询所有客户信息。 (3)销售管理 ①商品售出; ②退回商品入库。 (4)修改登录密码 ㈡经理对于系统的功能要求如下: ⑴ 员工管理 ① 员工表的查看; ② 对于新员工为其创建员工信息; ③ 老员工的信息更新; ④ 员工辞职后信息删除; ⑤ 员工业绩查看。 ⑵库存管理 ① 库存盘点; ② 当日销售盘点。 ⑶修改登录密码。 3.1.2数据流图 3.1.2.1 顶层数据流图 图 3-1-1顶层数据流图 3.1.2.2 第一层数据流图 图 3-1-2第一层数据流图 3.1.2.3 第二层数据流图 3.1.2.3.1 经理对员工的第二层数据流图 图3-1-3 经理对员工的第二层数据流图 3.1.2.3.2 员工对商品的第二层数据流图 图3-1-4员工对商品的第二层数据流图 图 3-1-4 3.1.2.3.3 员工对库存的第二层数据流图 图 3-1-5员工对库存的第二层数据流图 3.1.2.3.4 员工对销售的第二层数据流图 图 3-1-6员工对销售的第二层数据流图 3.1.2.3.5 员工对进货的第二层数据流图 图3-1-7员工对进货的第二层数据流图 3.1.2.3.6 员工对客户的第二层数据流图 图3-1-8员工对客户的第二层数据流图 3.1.2.3.7 员工和经理修改密码的第二层数据流图 图3-1-9员工和经理修改密码的第二层数据流图 3.1.3数据字典 (a)数据项:系统涉及的数据项有20项,如表3-1-1所示。 表3-1-1数据项列表 数据项编号 数据项名 数据项含义 与其它数据项的关系 存储结构 别名 DI-1 YGBH 员工编号 Int 员工编号 DI-2 YGXM 员工姓名 char(10) 员工姓名 DI-3 YGXB 员工性别 char(2) 员工性别 DI-4 YGNL 员工年龄 Int 员工年龄 DI-5 YGMM 员工密码 char(20) 员工密码 DI-6 SPBH 商品编号 Int 商品编号 DI-7 SPM 商品名 char(10) 商品名 DI-8 LR 利润 Int 利润 DI-9 KCL 库存量 Int 库存量 DI-10 XSL 销售量 Int 销售量 DI-11 JHJG 进货价格 Int 进货价格 DI-12 CHJG 出货价格 Int 出货价格 DI-一三 JHL 进货量 Int 进货量 DI-14 XSRQ 销售日期 DATE 销售日期 DI-一五 QDRQ 清点日期 DATE 清点日期 DI-16 JHRQ 进货日期 DATE 进货日期 DI-17 KHBH 客户编号 Int 客户编号 DI-一八 KHXM 客户姓名 char (10) 客户姓名 DI-19 KHXB 客户性别 char(2) 客户性别 DI-20 KHDH 客户电话 Int 客户电话 (b)数据结构:系统涉及的数据结构,如表3-1-2所示。 表3-1-2数据结构列表 数据结 构编号 数据结构名 数据结构 含义 组成 D1 YG 员工信息 YGBH,YGXM,YGXB,YGNL,YGMM D2 SPXX 商品信息 SPBH,KCL,JHJG,CHJG D3 XSXX 销售信息 SPBH,XSL,LR,XSRQ D4 KCXX 库存信息 SPBH,KCL,QDRQ D5 KH 客户信息 KHBH,KHXM,KHXB,KHDH D6 JHJL 进货记录信息 SPBH,JHL,JHJG,JHRQ D7 YGXSXX 员工销售信息 DDH,YGBH,KHBH,XSRQ D8 SPXSXX 商品销售信息 DDH,SPBH,XSL,XSRQ 3.1.4功能模块分析 根据用户需求,以及数据流图分析,提取出系统应该实现的功能,如Error! Reference source not found. 3-1-8所示 主要包括三大功能模块: (1)员工管理:对员工信息进行增、删、改、查的操作。 (2)商品管理模块:包括销售管理、进货管理、出货管理。 (3)客户管理:对客户的信息进行增、删、改、查的操作。 商品销售管理系统 员 工 管 理 删除员工 修改员工 查询员工 增加员工 商 品 管 理 进货管理 出货管理 销售管理 客 户 管 理 删除客户 修改客户 查询客户 增加客户 图 3-1-10 功能模块图 3.2概念设计阶段 分析了数据流图及数据字典,列出模块中涉及到的实体及基本E-R图。 (1) 实体属性图 本系统的实体有:商品实体、员工实体、客户实体、库存实体和经理实体。 图 3-2-1 商品实体 图3-2-2 员工实体 图3-2-3 客户实体 图3-2-4 库存实体 图 3-2-5 经理实体 (2)基本E-R图 基本E-R图,如Error! Reference source not found.所示: 图 3-2-6 基本E-R图 3.3逻辑设计阶段 3.3.1关系模型 实体型转换为关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的情况: 一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。 一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。 三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合具有相同码的关系模式可合并。 具体的基本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(JHLSH,SPBH,JHL,JHJG,JHRQ) 经理:JL(JLXM,JLMM) (注:标有直线下划线的为主属性,标有波浪线下划线的是外键属性) 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员工数据表 属性名 数据类型 类型宽度 小数位数 可否为空 员工编号 int Not null 员工姓名 char 10 Not null 员工性别 char 2 Not null 员工年龄 int Not null 员工密码 int Not null 表3-4-2 D2商品信息数据表 属性名 数据类型 类型宽度 小数位数 可否为空 商品编号 int Not null 商品名 Char 10 Not null 库存量 int Not null 进货价格 Number 10 2 Not null 出货价格 Number 10 2 Not null 利润 Number 10 2 表3-4-3 D31员工销售信息数据表 属性名 数据类型 类型宽度 小数位数 可否为空 订单号 Int Not null 员工编号 int Not null 客户编号 int Not null 销售日期 DATETIME Not null 表3-4-4 D32商品销售信息数据表 属性名 数据类型 类型宽度 小数位数 可否为空 订单号 Int Not null 商品编号 int Not null 销售量 int Not null 销售日期 DATETIME 表3-4-5 D33库存信息数据表 属性名 数据类型 类型宽度 小数位数 可否为空 商品编号 int Not null 库存量 int Not null 清点日期 DATETIME Not null 表3-4-6 D4 客户表 属性名 数据类型 类型宽度 小数位数 可否为空 客户编号 int Not null 客户姓名 char 10 Not null 客户性别 char 2 客户电话 char 一五 Not null 表3-4-7 D5进货记录表 属性名 数据类型 类型宽度 小数位数 可否为空 进货流水号 Int Not null 商品编号 int Not null 进货量 int Not null 进货价格 Number 10 2 Not null 进货日期 DATETIME Not null 表3-4-7 D6经理表 属性名 数据类型 类型宽度 小数位数 可否为空 经理姓名 Char 10 Not null 经理密码 Char 20 Not null 3.4.4数据库子模式定义物理设计 表3-4-8 视图作用表 编号 用户子模式(View) 作用(共性:提供数据保密和安全保护机制) V-1 JL1View 便于经理查询员工的基本信息 V-2 JL2View 便于经理查看当日销售信息 V-3 JL3View 便于经理查看当日库存信息 V-4 YG1View 用于员工查看商品信息 V-5 YG2View 用于员工查看商品销售表 表3-4-9 员工表视图 属性名 数据类型 类型宽度 小数位数 可否为空 员工编号 int Not null 员工姓名 char 10 Not null 员工性别 char 2 Not null 员工年龄 int Not null 表3-4-10 当日销售信息视图 属性名 数据类型 类型宽度 小数位数 可否为空 商品编号 int Not null 商品名 Char 10 Not null 库存量 int Not null 表3-4-11 当日库存信息视图 属性名 数据类型 类型宽度 小数位数 可否为空 商品编号 int Not null 商品名 Char 10 Not null 库存量 int Not null 清点日期 DATETIME Not null 表3-4-12 商品信息视图 属性名 数据类型 类型宽度 小数位数 可否为空 商品编号 int Not null 商品名 Char 10 Not null 库存量 int Not null 进货价格 number 10 2 Not null 出货价格 number 10 2 Not null 利润 Number 10 2 Not null 表3-4-一三 销售信息视图 属性名 数据类型 类型宽度 小数位数 可否为空 订单号 INT Not null 商品编号 int Not null 销售量 Int Not null 商品总利润 Number 10 2 Not null 员工编号 Int Not null 客户编号 Int Not null 销售日期 DATE Not null 3.5数据库实施 3.5.1建立数据库 create database ZCH; 3.5.1建立模式 create schema sx_gl; 3.5.3建立数据表 (1)员工信息表的建立: CREATE TABLE YGXX( YGBH int IDENTITY(1,1) NOT NULL, YGXM char(10) NOT NULL, YGXB char(2) NOT NULL, YGNL int NOT NULL, YGMM int NOT NULL, constraint PK_YGXX primary key nonclustered (YGBH) ) (2)商品信息表的建立 CREATE TABLE 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(10, 2) NOT NULL, LR numeric(10, 2) , constraint PK_SPXX primary key nonclustered (SPBH) ) (3)员工销售信息表的建立 CREATE TABLE YGXSXX( DDH int NOT NULL, YGBH int NOT NULL, KHBH int NOT NULL, XSRQ datetime NOT NULL, PRIMARY KEY (DDH,YGBH)) (4)商品销售信息表的建立 CREATE TABLE SPXSXX( DDH int NOT NULL, SPBH int NULL, XSL int NULL, XSRQ datetime, constraint PK_SPXSXX primary key nonclustered (DDH)) (5)库存信息表的建立 CREATE TABLE KCXX( SPBH int NOT NULL, KCL int NOT NULL, QDRQ datetime NOT NULL, PRIMARY KEY (SPBH,QDRQ)) (6)客户表的建立 CREATE TABLE KH( KHBH int NOT NULL, KHXM char(10) COLLATE Chinese_PRC_CI_AS Not null, KHXB char(2) COLLATE Chinese_PRC_CI_AS , KHDH char(一五) Not null, constraint PK_KH primary key nonclustered (KHBH)) (7)进货记录表的建立 CREATE TABLE JHJL( JHLSH int IDENTITY(1,1) NOT NULL, SPBH int NOT NULL , JHL int NOT NULL, JHJG numeric (10, 2) NOT NULL, JHRQ datetime NOT NULL, PRIMARY KEY (JHLSH) ) (8)经理表的建立 CREATE TABLE JL( JLXM char(9) NOT NULL, JLMM int NOT NULL,) 3.5.4建立视图 (1) 用于经理查询员工表的视图定义如下: CREATE VIEW 经理查看视图 AS SELECT YGBH, YGXM, YGXB, YGNL FROM YGXX (2) 用于经理查询商品当日销售信息的视图定义如下: CREATE VIEW 当日销售视图 AS SELECT SPXSXX.SPBH, SPM, XSL FROM SPXX,SPXSXX where EXISTS ( select * from SPXSXX where datediff(dd,XSRQ,GETDATE())=0 and SPXX.SPBH=SPXSXX.SPBH) and SPXX.SPBH=SPXSXX.SPBH (3) 用于经理查询当日库存的视图定义如下: CREATE VIEW 当日库存视图 AS SELECT SPXX.SPBH, KCXX.KCL,QDRQ FROM KCXX,SPXX where exists( select * from ( select SPBH,max(QDRQ) as FTime from KCXX group by SPBH) x where x.SPBH=KCXX.SPBH and KCXX.QDRQ=x.FTime and SPXX.SPBH=KCXX.SPBH) (4) 用于员工查询商品信息的视图定义如下: CREATE VIEW 商品信息视图 AS SELECT SPXX.SPBH, SPXX.SPM, SPXX.KCL, JHJL.JHJG, SPXX.CHJG, SPXX.LR FROM SPXX INNER JOIN JHJL ON SPXX.SPBH=JHJL.SPBH (5)用于查询销售信息的视图定义如下: CREATE VIEW 销售信息视图 AS SELECT SPXSXX.DDH, SPXX.SPM, SPXSXX.SPBH, SPXSXX.XSL, SPXX.LR*SPXSXX.XSL AS SPZLR, YGXSXX.XSRQ FROM SPXX INNER JOIN SPXSXX ON SPXX.SPBH= SPXSXX.SPBH INNER JOIN YGXSXX ON SPXSXX.DDH= YGXSXX.DDH 3.5.4建立索引 CREATE CLUSTERED INDEX [员工编号索引] ON YGXSXX ( YGBH ASC, DDH ASC )WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) ON [PRIMARY] 3.5.5建立触发器 create trigger [进货记录触发器] on JHJL for insert as declare xSPBH int declare xJHL int declare xKCL int declare xQDRQ datetime select xSPBH = SPBH from inserted select xJHL = JHL from inserted where SPBH=xSPBH select xKCL =0 select xQDRQ =getdate() if not exists(select SPBH from KCXX where SPBH =xSPBH ) begin insert into KCXX values(xSPBH ,xKCL ,xQDRQ) update KCXX set KCL =(KCL +xJHL),QDRQ =getdate() where SPBH =xSPBH end else begin select xKCL=KCL from KCXX where SPBH =xSPBH update KCXX set KCL =(KCL +xJHL),QDRQ=getdate() where SPBH=xSPBH End create trigger 销售触发器 on SPXSXX for insert as declare xSPBH int declare xXSL int declare xKCL int select xSPBH =SPBH from inserted select xXSL =XSL from inserted where SPBH=xSPBH begin select xKCL =KCL from KCXX where SPBH =xSPBH update KCXX set KCL=(KCL-xXSL),QDRQ=getdate() where SPBH=xSPBH end -------建立利润触发器 create trigger 利润触发器 on SPXX for insert,update as declare xJHJG numeric (10, 2) declare xCHJG numeric (10, 2) declare xLR int declare xSPBH int declare xSPM char declare xKCL int select xSPBH =SPBH from inserted select xSPM =SPM from inserted where SPBH=xSPBH select xCHJG =CHJG from inserted where SPBH=xSPBH select xJHJG =JHJG from JHJL where SPBH=xSPBH select xKCL =KCL from KCXX where SPBH =xSPBH begin update SPXX set LR=(xCHJG-xJHJG),KCL=xKCL,JHJG=xJHJG where SPBH=xSPBH end 3.5.6创建各个功能的存储过程 编号 存储过程名称 定义 作用 P-1 YGXX_Insert 详见附录1 在YGXX中插入一元组 P-2 SPXX_Insert 详见附录2 在SPXX中插入一元组 P-3 KH_Insert 详见附录3 在KH中插入一元组 P-4 YGXSXX_Insert 详见附录4 在YGXSXX中插入一元组 P-5 SPXSXX_Insert 详见附录5 在SPXSXX中插入一元组 P-6 KCXX_Insert 详见附录6 在KCXX中插入一元组 P-7 JHJL_Insert 详见附录7 在JHJL中插入一元组 P-8 JL_Insert 详见附录8 在JL中插入一元组 4. 系统的实现 5. 实习总结 通过这次课程设计,了解到我们平时的实验和这次系统设计的差距之大。但只有把平时的实验认真完成,对基本知识的一次次巩固,才可完成这次课程设计。我们往往认为的编代码在程序设计中所占比例并不大,真正要我们所做的东西其实远远不止敲代码。重要的是对整个系统的设计同时对软件开发也有更全面的了解。 6.参考文献 [1] 萨师煊 王珊,数据库系统概论(第三版),北京:高教出版社,2000 [2] 软件开发与指导;人民邮电出版社 [3] Delpehi数据库开发毕业设计指导及实例;机械工业出版社,2004 7.附件 1.YGXX_Insert 的定义: YGXX_Insert CREATE PROCEDURE YGXX_Insert xYGBH int, xYGXM char(10), xYGXB char(2), xYGNL int, xYGMM int as insert into YGXX values(xYGBH,xYGXM,xYGXB,xYGNL,xYGMM); 2.SPXX_Insert 的定义: CREATE PROCEDURE SPXX_Insert xSPBH int, xSPM char (10), xKCL int , xJHJG numeric (10, 2) , xCHJG numeric (10, 1), xLR numeric (10, 1) as insert into SPXX values(xSPBH,xSPM,xKCL,xJHJG,xCHJG,xLR); 3.KH_Insert 的定义: CREATE PROCEDURE KH_Insert xKHBH int , xKHXM char(10) , xKHXB chaR(2) , xKHDH int as insert into KH values(xKHBH,xKHXM,xKHXB,xKHDH); 4.YGXSXX_Insert 的定义: CREATE PROCEDURE YGXSXX_Insert xDDH int, xYGBH int, xKHBH int, xXSRQ datetime as insert into YGXSXX values(xDDH,xYGBH,xKHBH,xXSRQ); 5.SPXSXX_Insert 的定义: CREATE PROCEDURE SPXSXX_Insert xDDH int , xSPBH int , xXSL int as insert into SPXSXX values(xDDH,xSPBH,xXSL); 6.KCXX_Insert 的定义: CREATE PROCEDURE KCXX_Insert xSPBH int , xKCL int , xQDRQ datetime as insert into KCXX values(xSPBH,xKCL,xQDRQ); 7.JHJL_Insert 的定义: CREATE PROCEDURE JHJL_Insert xSPBH int , xJHL int , xJHJG numeric(10, 2) , xJHRQ datetime as insert into JHJL values(xSPBH,xJHL,xJHJG,xJHRQ); 8.JL_Insert的定义: CREATE PROCEDURE JL_Insert xJLXM char(10), xJLMM INT as insert into JL values(xJLXM,xJLMM); 8.java代码附件 Java代码就不粘了,在工程里。这个代码实现了对员工和商品的增删改查,以及员工和管理员修改密码。验收只要求实现一个模块。如果要找全部功能实现的,qq联系我哟~ 3.2.202507:3207:32:1425.3.27时32分7时32分14秒3月. 2, 252 三月 20257:32:14 上午07:32:14 2025年3月2日星期日07:32:14
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服