您好,欢迎访问三七文档
1.题目要求及说明1.1题目要求(1)根据题目要求调查分析一个具体的或模拟的实例;(2)描述该实例的业务信息和管理工作的要求;(3)列出实体、联系;(4)指出实体和联系的属性;(5)画出E-R图;(6)将E-R图转换成关系模式,并注明主码和外码;(7)建立数据字典;(8)创建数据库。1.2题目:某商店进销存管理系统(1)实现商品类别、供货商、业务员信息管理;(2)实现商品信息、仓库信息管理、仓库商品管理;(3)实现商品验收入库、商品销售出库管理,入库和出库时自动修改对应商品的总库存和分库库存量(用触发器实现),另外验收或销售时一单可以验收或销售多种商品;(4)实现转仓管理,转仓时自动修改转出仓库和转入仓库对应商品的数量(用触发器实现);(5)创建存储过程统计指定时间段内各种商品的进货数量和销售数量;(6)设商品的单位只能是‘只’、‘件’、‘箱’,创建规则进行限制;(7)创建表间关系。2.需求分析:2.1市场调查分析:通过对现流行在市场的软件的调查,发现,现在市场上软件多是针对大客户,比较复杂,开发的过程比较复杂,比较昂贵,也不容易操作与维护,不能被广大的小企业或是超市,还有商店等使用,所以,我们抓住市场的这个空白区,去开发商店的进销存管理系统。2.2系统描述:该系统主要是对中小型商店的进货、销售、库存管理等做出管理,基本实现了商店商品类别、供货商、业务员信息的管理;并用触发器和规则实现了系统的完整性和一致性的管理,在商品入库、出库和转库的过程中,能自动修改相应的数量,并用规则限制了商品的单位,只能是“只”、“件”、“箱”等功能。基本满足设计题目的要求。3.E-R图3.1实体与联系:实体:商品类别、供货商、业务员、商品、仓库联系:所属、供应、管理、库存、入库、出库、转库3.2属性:商品类别(商品类别号,商品类别名)供货商(供货商号,供货商名,供货商地址,联系电话)业务员(业务员号,业务员名,性别)商品(商品号,商品名,商品类别号,商品单位,商品价格,商品数量)仓库(仓库号,仓库名,仓库地址)库存(商品号,商品名,仓库号,仓库名,库存数量)入库(商品号,商品名,仓库号,仓库名,入库数量,入库时间)出库(商品号,商品名,仓库号,仓库名,出库数量,出库时间)转库(商品号,商品名,原仓库号,目标仓库号,转库数量,转库时间)3.3E-R图(1)局部ER图:商品类别编号商品类别商品类别名供应商联系电话供应商地址供应商名供应商编号业务员业务员编号业务员名性别仓库仓库编号仓库名商品商品类别号商品单价商品数量商品名商品编号商品单位商品供应商仓库业务员商品类别供应库存出库入库所属管理1XMYZNOPRSTQ(2)全局ER图:3.4关系模式(1)若实体间的联系是1:1联系,可以在两个实体类型转换成两个关系模式的任意一个关系式的属性中,加入另一个关系模式的主码和联系类型的属性。(2)若实体间的联系是1:n联系,则在n端实体类型转换成的关系模式中,加入1端实体类型转换成的关系模式的主码和联系类型的属性。(3)若实体间的联系是m:n联系,则将联系类型也转换成关系模式,其属性为两端实体类型的主码加上联系类型的属性,而该主码为两端实体主码的组合。根据以上规则,本系统的E-R模型向关系模型转换如下(主码用下横线标出):具体图示如下:商品类别表(商品类别号,商品类别名)供货商表(供货商号,供货商名,供货商地址,联系电话)业务员表(业务员号,业务员名,性别)仓库表(仓库号,仓库名,仓库地址)商品表(商品号,商品名,商品类别号,商品单位,商品单价,商品数量)库存表(商品号,仓库号,商品名,仓库名,库存数量)入库表(商品号,仓库号,商品名,仓库名,入库数量,入库时间,业务员号)出库表(商品号,仓库号,商品名,仓库名,出库数量,出库时间,业务员号)转库表(商品号,商品名,原仓库编号,目标仓库编号,转库数量,转库时间,业务员号)4.数据字典表1商品类别表列名数据类型数据长度为空否主键商品类别号Char10×商品类别名Char20√表2供货商表列名数据类型数据长度为空否主键供货商号Char10×供货商名Char20√供货商地址Char30√联系电话char13√表3业务员表列名数据类型数据长度为空否主键业务员号char10×业务员名Char8√性别Char2√表4仓库表列名数据类型数据长度为空否主键仓库编号char10×仓库名Char20√仓库地址char30√表5商品表列名数据类型数据长度为空否主键商品号Char10×商品名Char20√商品类别号Char10√商品单位Char2√商品价格float8√商品数量int4√表6库存表列名数据类型数据长度为空否主键商品号Char10×商品名Char20√仓库号Char10×库存数量int4√表7入库表列名数据类型数据长度为空否主键商品编号Char10×商品名称Char20√仓库号Char10×仓库名char20√入库数量Int4√入库时间Datetime8√业务员号char10√表8出库表列名数据类型数据长度为空否主键商品号Char10×商品名称Char20√仓库号Char10×仓库名char20√出库数量Int4√出库时间Datetime8√业务员号char10√表9转库表列名数据类型数据长度为空否主键商品编号char10×商品名称Char20√原仓库编号Char10√目标仓库编号Char10√转库数量Int4√转库时间datetime8√业务员号char10√5.程序实现5.1程序/*创建数据库*/createdatabase商店进销存管理系统on(name=商店进销存管理系统_data,filename='d:\SQLServer\商店进销存管理系统_data.mdf',size=1MB,maxsize=5MB,filegrowth=1MB)logon(name=商店进销存管理系统_log,filename='d:\SQLServer\商店进销存管理系统_log.ldf',size=1MB,maxsize=2MB,filegrowth=1MB)/*创建商品类别表并插入数据*/use商店进销存管理系统gocreatetable商品类别表(商品类别号char(10)primarykey,商品类别名char(20))goinsertinto商品类别表values('101','饮料类')insertinto商品类别表values('102','笔类')insertinto商品类别表values('103','酒类')insertinto商品类别表values('104','玩具宠物类')insertinto商品类别表values('105','食品类')insertinto商品类别表values('106','服装类')goselect*from商品类别表go/*创建供货商表并插入数据*/use商店进销存管理系统gocreatetable供货商表(供货商号char(10)primarykey,供货商名char(20),供货商地址char(30),供货商电话char(13))goinsertinto供货商表values('GHS101','家乐福','昆明','0871-3456177')insertinto供货商表values('GHS102','沃尔玛','昆明','0871-3699703')insertinto供货商表values('GHS103','福多多','北京','0870-2224177')insertinto供货商表values('GHS104','天力','重庆','0870-5932703')insertinto供货商表values('GHS105','华联','上海','0873-3694177')insertinto供货商表values('GHS106','金方','深证','0873-3699703')goselect*from供货商表go/*创建业务员表并插入数据*/use商店进销存管理系统gocreatetable业务员表(业务员号char(10)primarykey,业务员名char(8),性别char(2))goinsertinto业务员表values('YWY101','李琴','女')insertinto业务员表values('YWY102','王华','男')insertinto业务员表values('YWY103','方芳','女')insertinto业务员表values('YWY104','刘芳','女')insertinto业务员表values('YWY105','思源','女')insertinto业务员表values('YWY106','高竹','男')insertinto业务员表values('YWY107','张瑞','女')goselect*from业务员表go/*创建仓库表并插入数据*/use商店进销存管理系统gocreatetable仓库表(仓库号char(10)primarykey,仓库名char(20),)goinsertinto仓库表values('CKH101','仓库一号')insertinto仓库表values('CKH102','仓库二号')insertinto仓库表values('CKH103','仓库三号')insertinto仓库表values('CKH104','仓库四号')insertinto仓库表values('CKH105','仓库五号')insertinto仓库表values('CKH106','仓库六号')goselect*from仓库表go/*创建商品表并插入数据*/use商店进销存管理系统gocreatetable商品表(商品号char(10)primarykey,商品名char(20),商品类别号char(10)foreignkeyreferences商品类别表(商品类别号),商品单位char(2),商品价格float,商品数量int)gocreaterule单位限制as@valuein('只','件','箱')goexecsp_bindrule'单位限制','商品表.商品单位'goinsertinto商品表values('SP101','鲜橙多','101','箱',35.00,100)insertinto商品表values('SP102','中性笔','102','只',2.00,100)insertinto商品表values('SP103','青醇','103','箱',5.00,200)insertinto商品表values('SP104','土豆片','105','箱',46.00,100)insertinto商品表values('SP105','方便面','105','箱',36.00,100)insertinto商品表values('SP106','衣服','106','件',46.00,100)insertinto商品表values('SP107','玩具狗','104','只',40.00,100)goselect*from商品表go/*创建库存表并插入数据*/use商店进销存管理系统gocreatetable库存表(商品号char(10)foreignkeyreferences商品表(商品号),商品名char(20),仓库号char(10)foreignkeyreferences仓库表(仓库号),库存数量int,constraint库存primarykey(商品号,仓库号))goinsertinto库存表values('SP101','鲜橙多','CKH101',70)insertinto库存表values('SP101','鲜橙多','CKH102',30)insertinto库存表values('SP102','中性笔','CKH102',50)insertinto库存表values('SP102','中性笔','CKH103',50)insertinto库存表values('SP105
本文标题:商店进销存管理系统
链接地址:https://www.777doc.com/doc-6154654 .html