版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、浙 江 树 人 大 学信息科技学院?数据库系统实习?实习报告课题:进销存管理系统 班级: 电商091 学号: 202105017128 姓名: 陆浩杰 2021.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二、数据库平安性设计24用户登录设计24数据库用户设计24各个登录的权限设计245.2.4各个数据库用户的权限设计24三、这样设计的目的:24第六章 实训总结256.1总结:25第一章 需求分析1.1系统目标进销存系统是对企业生产经营中进货、出货、批发销售、付款等进行全程跟踪管理,从接获订单合同开始,进入物料采购、入库、领用到产品完工入库、交货、回收货款、支付原材料款等,每一步都为您提供详尽准确的数据。有效辅助企业解决业务管理、分销管理、存货管理、营销方案的执行和监控、统计信息的收集等方面的业务问题。在此局部给出系统的组织结构图图1图1 进销存管理系统的组织结构图1.2系统功能划
3、分功能划分并给出系统的功能结构图图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所示,客户的属性主要包括客户编号,客户名,联系方式,地址。图5 “客户实体E-R图n 员工的实体与属
7、性如图6所示,员工的属性主要包括员工编号,员工姓名,性别,联系方式,部门图6 “员工实体E-R图n 仓库的实体与属性如图7所示,仓库的属性主要包括仓库编号,仓库名称,库存数量,员工编号。图7 “仓库实体E-R图2.2 各实体之间的联系图n 员工、商品、客户三者的实体联系如图8所示,它们之间由销售这个关系构成的是多对多的联系。图8 “员工商品-客户实体联系图n 商品、仓库三者的实体联系如图9所示,它们之间是由出库和入库这两个关系分别构成的是多对多的联系。图9 “商品-仓库联系图n 员工、商品、供货商三者的实体联系如图10所示,它们之间由采购构成的是多对多的联系。图10 “员工商品-供货商联系图n
8、 员工、商品实体联系如图11所示,它们之间由报损这个关系构成的是多对多的联系。图11 “员工-商品联系2.3 全局E-R图,并加以文字描述根据需求分析,设计出来的实体有客户实体,商品实体,供货商实体,员工实体,仓库实体。根据实体之间的联系,构建了进销存管理系统的E-R图,如下列图12所示。图12 “进销存管理系统全局E-R图第三章 逻辑结构设计3.1 逻辑结构及描述逻辑结构设计阶段的任务是将概念结构设计阶段所得到的概念模型转换为具体DBMS所能支持的数据模型即逻辑结构,并对其进行优化。从E-R图向关系模式转化 数据库的逻辑设计主要是将概念模型转换成一般的关系模式,也就是将E-R图中的实体、实体
9、的属性和实体之间的联系转化为关系模式。Ø 实体转换为关系模式l 商品商品编号,商品名称,商品规格,商品价格,计量单位l 供货商供货商编号,供货商名称,联系人,联系方式,地址l 客户客户编号,客户名,联系方式,地址l 员工员工编号,员工姓名,性别,部门,联系方式l 仓库仓库编号,仓库名称,仓库容量Ø 联系转换为关系模式l 采购采购编号,进货单价,进货数量,进货日期,商品编号,供货商编号,员工编号l 销售销售编号,销售日期,商品编号,销售数量,销售单价,员工编号,客户编号l 报损报损编号,报损数量,报损日期,报损原因,商品编号,员工编号l 出库出库编号,仓库编号,出库日期,出库
10、数量,商品编号入库入库编号,仓库编号,入库日期,入库数量,商品编号第四章 物理结构设计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计量单位Varchar42. 员工CREATE TABLE yg(员工编号Char(4) Not n
11、ull 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, 联系人Varchar(20), 地址varchar(50), 联系方式Char(20)列名数据
12、类型长度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地址Varchar505. 仓库CREATE TABLE ck(仓库编号Char(4)
13、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(4) Not null, 员工编号 Char(4) Not null)列名数
14、据类型长度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) Not null, 员工编号 Char(4) Not null)列名数据类型
15、长度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) Not null)列名数据类型长度Null说明报损编号Char4Not n
16、ull主键报损数量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出库日期Smalldatetime商品编号Char4Not null外键仓库编
17、号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.索引名: 商品价格建这个索引的作用:在进销存管理系统中,因为经常会根据商品的价格进行商品的查询的,因此可以在商品表上基于“商品价格字段建立以升序排列的索引,这样进行数据检索时,同样可以显著减少查询中的时间。代码如下:USE jxcGOCREATE INDEX 商品价格 ON dbo.sp(商品价格
19、)3.索引名: 部门² 建这个索引的作用在进销存管理系统中,因为经常会根据员工的部门进行相关信息的查询,因此可以在员工表上基于“部门字段建立以升序排列的索引,这样进行数据检索时,同样可以显著减少查询中的时间。² 创立索引的代码USE jxcGOCREATE INDEX 部门 ON dbo.yg(部门) 第五章 数据库完整性、平安性设计一、数据库完整性5.1约束1. 约束名: Sex² 约束的类型CHECK约束² 创立约束的作用对性别列中的值进行限制,使其值只能接受“男或“女,以强制执行域的完整性² 创立约束的代码alter table YGad
20、d constraint Sex check(性别between '男' and '女') 2. 约束名: Con_GoodsNo1² 约束的类型FOREIGN KEY约束² 创立约束的作用把销售表中的“商品编号列和商品表中的“商品编号关联起来² 创立约束的代码alter table XSadd constraint Con_GoodsNo1 foreign key(商品编号) references 商品(商品编号)3. 约束名: Sname约束的类型UNIQUE约束创立约束的作用把员工表中的“员工姓名设为唯一键约束创立约束的代码a
21、lter table YG add unique(sname)5.2默认1. 默认名: Default_Unit² 默认的绑定对象商品表中的计量单位列² 创立默认的作用在插入数据行时,为没有指定数据的计量单位列提供事先定义的默认值。² 创立和绑定默认的代码l 创立一个默认值为'个'的默认值create default Default_Unit as '个'l 将创立的Default_Unit 默认值绑定到商品表的计量单位列上 exec sp_bindefault 'Default_Unit', 'SP.计量单
22、位'2. 默认名: Default_sex² 默认的绑定对象员工表中的性别列² 创立默认的作用在插入数据行时,为没有指定数据的性别列提供事先定义的默认值。² 创立和绑定默认的代码l 创立一个默认值为'男'的默认值create default Default_sex as '男'l 将创立的Default_sex 默认值绑定到商品表的计量单位列上 exec sp_bindefault 'Default_sex', 'YG.sex'3. 默认名: Default_dz² 默认的绑定对象客
23、户表中的地址列² 创立默认的作用在插入数据行时,为没有指定数据的地址列提供事先定义的默认值。² 创立和绑定默认的代码l 创立一个默认值为'杭州'的默认值create default Default_DZ as '杭州'l 将创立的Default_sex 默认值绑定到商品表的计量单位列上 exec sp_bindefault 'Default_DZ', 'KH.dz'4. 默认名: Default_ck² 默认的绑定对象仓库表中的仓库编号列² 创立默认的作用在插入数据行时,为没有指定数据的仓库
24、列提供事先定义的默认值。² 创立和绑定默认的代码l 创立一个默认值为'0001'的默认值create default Default_ckbh as '0001'l 将创立的Default_sex 默认值绑定到商品表的计量单位列上 exec sp_bindefault 'Default_ckbh', 'ck.ckbh'5.3规那么1. 规那么名: rule_Spec² 规那么的绑定对象员工表中的部门列² 创立规那么的作用在插入数据行时,指定接受的数据值的范围² 创立和绑定规那么的要求l 定义
25、一个规那么rule_Spec,这个规那么限制员工中的部门列只能取以下的值:采购部、销售部、办公室、仓储部,财务部。create rule rule_Specaslist in ('采购部','销售部','仓储部','财务部','办公室')l 将上题创立的rule_Spec规那么绑定到员工表的部门列上exec sp_bindrule 'rule_Spec', 'YG.部门'2.规那么名: rule_ age² 规那么的绑定对象客户表中的年龄列² 创立规那么的作用在插
26、入数据行时,指定接受的数据值的范围² 创立和绑定规那么的要求定义一个规那么rule_age,这个规那么限制员工中的部门列只能取以下的:1970-2001create rule rule_ageasage>25 and 年龄<35exec sp_bindrule 'rule_Age', 'yg.年龄'5.4存储过程1. 存储过程名: proc1² 创立存储过程的作用根据商品编号,查询该商品的进货情况,其中包括该商品的商品编号,商品名称,商品规格,进货单价,进货数量,进货日期,供货商名称。² 创立存储过程的代码create
27、procedure proc1商品编号char(4)asselect xp.商品编号,商品名称,商品规格,采购.进货单价,进货数量,进货日期,ghs.供货商名称from xp,cg,ghswhere xp.商品编号=cg.商品编号and cg.供货商编号=ghs.供货商编号and xp.商品编号=商品编号5.5触发器 1. 触发器名: trigger1² 创立触发器的作用当表中的一行被插入、修改或删除时,触发器被执行。实现当修改员工表中的数据时,显示提示信息“员工表被修改了² 创立触发器的代码create trigger trigger1on YGfor updateasp
28、rint'员工表被修改了'2. 触发器名: trigger2² 创立触发器的作用当表中的一行被插入、修改或删除时,触发器被执行。实现当修改客户表中的数据时,显示提示信息“客户表被修改了² 创立触发器的代码create trigger trigger1on KHfor updateasprint'客户表被修改了'3. 触发器名: trigger3² 创立触发器的作用当表中的一行被插入、修改或删除时,触发器被执行。实现当修改供货商表中的数据时,显示提示信息“供货商被修改了² 创立触发器的代码create trigger tri
29、gger3on GHSfor updateasprint'供货商表被修改了'4. 触发器名: trigger4² 创立触发器的作用当表中的一行被插入、修改或删除时,触发器被执行。实现当修改仓库表中的数据时,显示提示信息“仓库表被修改了² 创立触发器的代码create trigger trigger5on ckfor updateasprint'仓库表被修改了'二、数据库平安性设计 5.2.1用户登录设计创立登录账号loginA,口令分别为123 sp_addlogin 'loginA','123'5.2.2数据库用户设计创立进销存管理系统数据库的userA用户账号 sp_grantdbaccess 'loginA','userA'添加进销存管理系统数据库的角色userB sp_addrole 'roleB'为角色roleB添加用户userA sp_addrolemember 'roleB','userA'
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论