数据库进销存管理系统设计.docx

上传人:牧羊曲112 文档编号:1982206 上传时间:2022-12-29 格式:DOCX 页数:26 大小:1.14MB
返回 下载 相关 举报
数据库进销存管理系统设计.docx_第1页
第1页 / 共26页
数据库进销存管理系统设计.docx_第2页
第2页 / 共26页
数据库进销存管理系统设计.docx_第3页
第3页 / 共26页
数据库进销存管理系统设计.docx_第4页
第4页 / 共26页
数据库进销存管理系统设计.docx_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《数据库进销存管理系统设计.docx》由会员分享,可在线阅读,更多相关《数据库进销存管理系统设计.docx(26页珍藏版)》请在三一办公上搜索。

1、浙 江 树 人 大 学信息科技学院数据库系统实习实习报告课题:进销存管理系统 班级: 电商091 学号: 200905017128 姓名: 陆浩杰 2012.3目录第一章 需求分析31.1系统目标31.2系统功能划分31.3功能描述(分模块描述)4第二章 概念结构设计62.1 分E-R图及文字描述62.2 各实体之间的联系图82.3 全局E-R图,并加以文字描述11第三章 逻辑结构设计123.1 逻辑结构及描述12第四章 物理结构设计134.1创建表134.2索引及其作用17第五章 数据库完整性、安全性设计18一、数据库完整性185.1约束185.2默认195.3规则215.4存储过程225.

2、5触发器22二、数据库安全性设计245.2.1用户登录设计245.2.2数据库用户设计245.2.3各个登录的权限设计245.2.4各个数据库用户的权限设计24三、这样设计的目的:24第六章 实训总结256.1总结:25第一章 需求分析1.1系统目标进销存系统是对企业生产经营中进货、出货、批发销售、付款等进行全程跟踪管理,从接获订单合同开始,进入物料采购、入库、领用到产品完工入库、交货、回收货款、支付原材料款等,每一步都为您提供详尽准确的数据。有效辅助企业解决业务管理、分销管理、存货管理、营销计划的执行和监控、统计信息的收集等方面的业务问题。在此部分给出系统的组织结构图图1图1 进销存管理系统

3、的组织结构图1.2系统功能划分功能划分并给出系统的功能结构图图2图2 进销存管理系统功能图1.3功能描述(分模块描述)1. 用户登录2. 基本信息管理3. 采购管理4. 销售管理5. 库存管理6. 报损管理功能类别功能名称、标识符描述用户登录用户登录对用户输入的用户名,密码进行验证,验证通过后,该用户可以使用PSS系统中自己拥有权限的那部分功能,否则拒绝使用。基本信息管理商品基本信息管理商品基本信息的增加:记录商品的基本信息,比如规格和供应商等商品基本信息的修改商品基本信息的删除商品记录管理商品记录的查询:可以按照商品的类别和名称查询商品商品记录的统计商品记录的打印客户信息管理用户修改,删除,

4、新增或查询客户数据(其中包括对客户的联系人的修改,删除,新增与查询以及对客户交易记录的查询),系统根据用户的操作,对商品资料进行更新或显示。员工信息管理员工修改,删除,新增或查询员工数据,系统根据用户的操作,对员工资料进行更新或显示。供应商信息管理用户修改,删除,新增或查询供应商数据(其中包括对供应商的联系人的修改,删除,新增与查询以及对供应商交易记录的查询),系统根据用户的操作,对供应商资料进行更新或显示。采购管理采购入库用户通过录入采购入库单增加采购的货物,并可对采购入库单及其单据中的货物明细进行修改、删除与查询。进货管理商品进货信息的登记:记录商品的进货数量、单价、供货商等商品进货信息的

5、修改、删除等更新库存采购信息的变动也使商品库存改变,及时更新库存的信息打印报表对全部采购记录或满足条件的采购记录列表以报表的形式进行打印销售管理进货管理商品销售信息的登记:记录商品的销售数量、单价、销售日期等商品销售信息的修改、删除等统计查询根据商品的类别、名称、供货商等来查询统计商品的销售情况更新库存销售信息的变动也使商品库存改变,及时更新库存的信息打印报表对全部销售记录或满足条件的销售记录列表以报表的形式进行打印输出库存管理统计查询用户通过组合不同条件,对库存进行查询、盘点。打印报表各种有关报表的打印报损管理进货管理商品报损信息的登记:记录商品的报损信息,包括商品报损数量、报损原因等商品报

6、损信息的修改、删除等统计查询根据商品的类别、名称、供货商等来查询统计商品的报损情况更新库存报损信息的变动也使商品库存改变,及时更新库存的信息打印报表对全部销售记录或满足条件的报损记录列表以报表的形式进行打印输出第二章 概念结构设计 2.1 分E-R图及文字描述n 商品的实体与属性如图3所示,商品的属性主要包括商品编号,商品名称,商品规格,商品价格,计量单位。图3 “商品”实体E-R图n 供货商的实体与属性如图4所示,供货商的属性主要包括供货商编号,供货商名称,联系人,联系方式,地址。图4 “供货商”实体E-R图n 客户的实体与属性如图5所示,客户的属性主要包括客户编号,客户名,联系方式,地址。

7、图5 “客户”实体E-R图n 员工的实体与属性如图6所示,员工的属性主要包括员工编号,员工姓名,性别,联系方式,部门图6 “员工”实体E-R图n 仓库的实体与属性如图7所示,仓库的属性主要包括仓库编号,仓库名称,库存数量,员工编号。图7 “仓库”实体E-R图2.2 各实体之间的联系图n 员工、商品、客户三者的实体联系如图8所示,它们之间由销售这个关系构成的是多对多的联系。图8 “员工商品-客户”实体联系图n 商品、仓库三者的实体联系如图9所示,它们之间是由出库和入库这两个关系分别构成的是多对多的联系。图9 “商品-仓库”联系图n 员工、商品、供货商三者的实体联系如图10所示,它们之间由采购构成

8、的是多对多的联系。图10 “员工商品-供货商”联系图n 员工、商品实体联系如图11所示,它们之间由报损这个关系构成的是多对多的联系。图11 “员工-商品”联系2.3 全局E-R图,并加以文字描述根据需求分析,设计出来的实体有客户实体,商品实体,供货商实体,员工实体,仓库实体。根据实体之间的联系,构建了进销存管理系统的E-R图,如下图12所示。图12 “进销存管理系统”全局E-R图第三章 逻辑结构设计3.1 逻辑结构及描述逻辑结构设计阶段的任务是将概念结构设计阶段所得到的概念模型转换为具体DBMS所能支持的数据模型(即逻辑结构),并对其进行优化。从E-R图向关系模式转化 数据库的逻辑设计主要是将

9、概念模型转换成一般的关系模式,也就是将E-R图中的实体、实体的属性和实体之间的联系转化为关系模式。 实体转换为关系模式l 商品(商品编号,商品名称,商品规格,商品价格,计量单位)l 供货商(供货商编号,供货商名称,联系人,联系方式,地址)l 客户(客户编号,客户名,联系方式,地址)l 员工(员工编号,员工姓名,性别,部门,联系方式)l 仓库(仓库编号,仓库名称,仓库容量) 联系转换为关系模式l 采购(采购编号,进货单价,进货数量,进货日期,商品编号,供货商编号,员工编号)l 销售(销售编号,销售日期,商品编号,销售数量,销售单价,员工编号,客户编号)l 报损(报损编号,报损数量,报损日期,报损

10、原因,商品编号,员工编号)l 出库(出库编号,仓库编号,出库日期,出库数量,商品编号)入库(入库编号,仓库编号,入库日期,入库数量,商品编号)第四章 物理结构设计4.1创建表1. 商品CREATE TABLE sp(商品编号Char(4) Not null primary key, 商品名称Varchar(20) Not null,商品规格varchar(20), 商品价格Char(20),计量单位Varchar(4)列名数据类型长度Null说明商品编号Char4Not null主键商品名称Varchar20Not null商品规格Varchar20商品价格Char20计量单位Varchar4

11、2. 员工CREATE TABLE yg(员工编号Char(4) Not null primary key, 员工姓名Varchar(20) Not null, 性别Varchar(4), 部门varchar(20), 联系方式Char(20)列名数据类型长度Null说明员工编号Int4Not null主键员工姓名varchar20Not null性别Varchar4部门Varchar20联系方式Char203. 供货商CREATE TABLE ghs(供货商编号Char(4) Not null primary key, 供货商名称Varchar(50) Not null, 联系人Varcha

12、r(20), 地址varchar(50), 联系方式Char(20)列名数据类型长度Null说明供货商编号Char4Not null主键供货商名称Varchar20Not null联系人Varchar20联系方式Char20地址Varchar504. 客户CREATE TABLE kh(客户编号Char(4) Not null primary key, 客户名Varchar(50) Not null, 地址varchar(50), 联系方式Char(20)列名数据类型长度Null说明客户编号Char4Not null主键客户名Varchar20Not null联系方式Char 20地址Varc

13、har505. 仓库CREATE TABLE ck(仓库编号Char(4) Not null primary key, 仓库名称Varchar(50) Not null, 仓库容量 char(50)列名数据类型长度Null说明仓库编号Char4Not null主键仓库名称Varchar20Not null仓库容量Char 2006. 采购CREATE TABLE cg(采购编号Char(4) Not null primary key, 进货单价Char(20) , 进货数量Char(20), 进货日期Smalldatetime, 商品编号Char(4) Not null, 供货商编号Char(

14、4) Not null, 员工编号 Char(4) Not null)列名数据类型长度Null说明采购编号Char4Not null主键进货单价Char20进货数量Char20进货日期Smalldatetime商品编号Char4Not null外键供货商编号Char4Not null外键员工编号Char4Not null外键7. 销售CREATE TABLE xs(销售编号Char(4) Not null primary key, 销售单价Char(20) , 销售数量Char(20), 销售日期Smalldatetime, 商品编号Char(4) Not null, 客户编号Char(4)

15、Not null, 员工编号 Char(4) Not null)列名数据类型长度Null说明销售编号Char4Not null主键销售单价Char20销售数量Char20销售日期Smalldatetime商品编号Char4Not null外键客户编号Char4Not null外键员工编号Char4Not null外键8. 报损CREATE TABLE bs(报损编号Char(4) Not null primary key, 报损数量Char(20), 报损日期Smalldatetime, 报损原因 varchar(200), 商品编号Char(4) Not null, 员工编号 Char(4)

16、 Not null)列名数据类型长度Null说明报损编号Char4Not null主键报损数量Char20报损日期Smalldatetime报损原因Varchar200商品编号Char4Not null外键员工编号Char4Not null外键9. 出库CREATE TABLE chuk(出库编号Char(4) Not null primary key, 出库数量Char(20), 出库日期Smalldatetime, 商品编号Char(4) Not null, 仓库编号 Char(4) Not null)列名数据类型长度Null说明出库编号Char4Not null主键出库数量Char20出

17、库日期Smalldatetime商品编号Char4Not null外键仓库编号Char4Not null外键10. 入库CREATE TABLE rk(入库编号Char(4) Not null primary key, 入库数量Char(20), 入库日期Smalldatetime, 商品编号Char(4) Not null, 仓库编号 Char(4) Not null)列名数据类型长度Null说明入库编号Char4Not null主键入库数量Char20入库日期Smalldatetime商品编号Char4Not null外键仓库编号Char4Not null外键4.2索引及其作用1.索引的作

18、用:第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。 第二,可以大大加快 数据的检索速度,这也是创建索引的最主要的原因。 第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。 第四,在使用分组和排序 子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。 第五,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。2.索引名: 商品价格建这个索引的作用:在进销存管理系统中,因为经常会根据商品的价格进行商品的查询的,因此可以在商品表上基于“商品价格”字段建立以升序排列的索引,这样进行数据检索时,同样可以显著减少查询中的时间。代码如下:US

19、E jxcGOCREATE INDEX 商品价格 ON dbo.sp(商品价格)3.索引名: 部门 建这个索引的作用在进销存管理系统中,因为经常会根据员工的部门进行相关信息的查询,因此可以在员工表上基于“部门”字段建立以升序排列的索引,这样进行数据检索时,同样可以显著减少查询中的时间。 创建索引的代码USE jxcGOCREATE INDEX 部门 ON dbo.yg(部门) 第五章 数据库完整性、安全性设计一、数据库完整性5.1约束1. 约束名: Sex 约束的类型CHECK约束 创建约束的作用对性别列中的值进行限制,使其值只能接受“男”或“女”,以强制执行域的完整性 创建约束的代码alte

20、r table YGadd constraint Sex check(性别between 男 and 女) 2. 约束名: Con_GoodsNo1 约束的类型FOREIGN KEY约束 创建约束的作用把销售表中的“商品编号”列和商品表中的“商品编号”关联起来 创建约束的代码alter table XSadd constraint Con_GoodsNo1 foreign key(商品编号) references 商品(商品编号)3. 约束名: Sname约束的类型UNIQUE约束创建约束的作用把员工表中的“员工姓名”设为唯一键约束创建约束的代码alter table YG add uniqu

21、e(sname)5.2默认1. 默认名: Default_Unit 默认的绑定对象商品表中的计量单位列 创建默认的作用在插入数据行时,为没有指定数据的计量单位列提供事先定义的默认值。 创建和绑定默认的代码l 创建一个默认值为个的默认值create default Default_Unit as 个l 将创建的Default_Unit 默认值绑定到商品表的计量单位列上 exec sp_bindefault Default_Unit, SP.计量单位2. 默认名: Default_sex 默认的绑定对象员工表中的性别列 创建默认的作用在插入数据行时,为没有指定数据的性别列提供事先定义的默认值。 创

22、建和绑定默认的代码l 创建一个默认值为男的默认值create default Default_sex as 男l 将创建的Default_sex 默认值绑定到商品表的计量单位列上 exec sp_bindefault Default_sex, YG.sex3. 默认名: Default_dz 默认的绑定对象客户表中的地址列 创建默认的作用在插入数据行时,为没有指定数据的地址列提供事先定义的默认值。 创建和绑定默认的代码l 创建一个默认值为杭州的默认值create default Default_DZ as 杭州l 将创建的Default_sex 默认值绑定到商品表的计量单位列上 exec sp

23、_bindefault Default_DZ, KH.dz4. 默认名: Default_ck 默认的绑定对象仓库表中的仓库编号列 创建默认的作用在插入数据行时,为没有指定数据的仓库列提供事先定义的默认值。 创建和绑定默认的代码l 创建一个默认值为0001的默认值create default Default_ckbh as 0001l 将创建的Default_sex 默认值绑定到商品表的计量单位列上 exec sp_bindefault Default_ckbh, ck.ckbh5.3规则1. 规则名: rule_Spec 规则的绑定对象员工表中的部门列 创建规则的作用在插入数据行时,指定接受

24、的数据值的范围 创建和绑定规则的要求l 定义一个规则rule_Spec,这个规则限制员工中的部门列只能取以下的值:采购部、销售部、办公室、仓储部,财务部。create rule rule_Specaslist in (采购部,销售部,仓储部,财务部,办公室)l 将上题创建的rule_Spec规则绑定到员工表的部门列上exec sp_bindrule rule_Spec, YG.部门2.规则名: rule_ age 规则的绑定对象客户表中的年龄列 创建规则的作用在插入数据行时,指定接受的数据值的范围 创建和绑定规则的要求定义一个规则rule_age,这个规则限制员工中的部门列只能取以下的:197

25、0-2001create rule rule_ageasage25 and 年龄35exec sp_bindrule rule_Age, yg.年龄5.4存储过程1. 存储过程名: proc1 创建存储过程的作用根据商品编号,查询该商品的进货情况,其中包括该商品的商品编号,商品名称,商品规格,进货单价,进货数量,进货日期,供货商名称。 创建存储过程的代码create procedure proc1商品编号char(4)asselect xp.商品编号,商品名称,商品规格,采购.进货单价,进货数量,进货日期,ghs.供货商名称from xp,cg,ghswhere xp.商品编号=cg.商品编号

26、and cg.供货商编号=ghs.供货商编号and xp.商品编号=商品编号5.5触发器 1. 触发器名: trigger1 创建触发器的作用当表中的一行被插入、修改或删除时,触发器被执行。实现当修改员工表中的数据时,显示提示信息“员工表被修改了” 创建触发器的代码create trigger trigger1on YGfor updateasprint员工表被修改了2. 触发器名: trigger2 创建触发器的作用当表中的一行被插入、修改或删除时,触发器被执行。实现当修改客户表中的数据时,显示提示信息“客户表被修改了” 创建触发器的代码create trigger trigger1on K

27、Hfor updateasprint客户表被修改了3. 触发器名: trigger3 创建触发器的作用当表中的一行被插入、修改或删除时,触发器被执行。实现当修改供货商表中的数据时,显示提示信息“供货商被修改了” 创建触发器的代码create trigger trigger3on GHSfor updateasprint供货商表被修改了4. 触发器名: trigger4 创建触发器的作用当表中的一行被插入、修改或删除时,触发器被执行。实现当修改仓库表中的数据时,显示提示信息“仓库表被修改了” 创建触发器的代码create trigger trigger5on ckfor updateasprin

28、t仓库表被修改了24二、数据库安全性设计 5.2.1用户登录设计创建登录账号loginA,口令分别为123 sp_addlogin loginA,1235.2.2数据库用户设计创建进销存管理系统数据库的userA用户账号 sp_grantdbaccess loginA,userA添加进销存管理系统数据库的角色userB sp_addrole roleB为角色roleB添加用户userA sp_addrolemember roleB,userA5.2.3各个登录的权限设计以账号sa登录将进销存管理系统数据库中的商品表的Select许可授予角色roleB Use JXC Go Grant Sele

29、ct On SP to roleB5.2.4各个数据库用户的权限设计授予或拒绝用户userA在员工表上的Insert,Update,Delete权限 Grant Insert,Update,Delete On YG To userAdeny Insert,Update,Delete On YG To userA三、这样设计的目的:创建登录账号和口令决定了用户是否能获得SQL Server服务器的访问权,以及在获得访问权后可以利用的资源。设计的用户和可以使其获得针对该数据库的访问权,也可以实现特定权限的授予,这样保证了数据库的安全性。25 电商09数据库系统实习报告(学号+姓名)第六章 实训总结

30、6.1总结:本学期第4周,我参加了数据库系统设计的实训。这是我第一次系统又完整地接触数据库系统设计的全过程。我的设计的题目是“进销存管理系统”。在这次课程设计中,我的能力得到了锻炼,自己也有许多心得和体会。这是一个系统的工程,需要我们掌握多方面的知识。在这次实训中,我觉得自己的知识面还是有欠缺的。需要在以后的学习工作中加以注意,要全面的提高自己的知识面与知识层次。在实训这一段时间里,我每天的生活基本是在构思功能、清理思路、构造关系图中完成的。数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。数据库设计时需要综合企业各个部门的存档数据和数据需求

31、,分析各个数据之间的关系,按照DBMS提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型。有时,这种生活令人感到乏味和疲倦,但是在这种近似枯燥的生活中,我的逻辑设计能力有了一定程度的提高,这是这次实训中我最大的收获。以前学习数据库时,总是静不下心来,不能认真的看书。这次实训,为了顺利的完成工作,我认真的预习和学习了数据库相关知识,并有了一定的心得体会。要注意理论联系实际,注意将课本上的知识应用到日常的操作中,真正做到学以致用。只有这样,才能做到目的明确,才能有足够的学习动力。所以在以后的工作学习中,自己全身心的投入,这样学习才会有效率,才会有效果。总之,理论联系实际是非常重要的,通过这次实训我收获很多。26

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号