天津轻工职业技术学院
课程设计(论文)
课题 库存数据库设计与实现
专 业 班级 2班
学生姓名 学生学号
指导教师
提交日期
成绩
答辩日期 答辩成绩
答辩教师
总评成绩
内容摘要
小到一个个体经营的淘宝网店,大到一个企事业单位都有自己的库房,存储着一些门类不一,正常运转的必须品。电脑还没有普及的时候,企业单位用厚厚的一沓又一沓的纸质的档案记录着这些数据,每每查阅都需要在翻阅堆积如山的纸质,不仅低效还容易物理损坏。
随之计算机技术的普及,尤其是数据库出现,可以很大程上改观这个问题。目前市场上中小型企业正在信息化的进程之中,市场需求相当广泛,所以这我本次做库存系统。
本次数据库本着良好的拓展性,谨慎的逻辑的宗旨,做好本次数据库。 在本设计中是通过SQL Server 2008 建立数据库,本次的数据库还有很多欠缺的地方,随着以后学习的深入,会进行一系列的修改,让出入库数据库更加完善,更好的掌握数据库的使用方法。
关键字 出入库 数据库 SQL Server 2008
目 录
第一章 需求分析阶段 . .................................................................................................................. 1
1.1 信息需求 . .......................................................................................................................... 1 1.2 功能需求 . .......................................................................................................................... 1 第二章 概念结构设计阶段 . ............................................................................................................ 3
2.1 结构设计 . .......................................................................................................................... 3 第三章 逻辑结构设计阶段 . .......................................................................................................... 8
3.1设计clients 表 . ............................................................................................................... 8 3.2设计items 表 . ................................................................................................................... 9 3.3设计销售信息表 . ............................................................................................................... 9 3.4设计users 表 . ................................................................................................................... 9 第四章 数据库实现 . ...................................................................................................................... 11
4.1创建数据库 . ..................................................................................................................... 11 4.2 创建数据表 . .................................................................................................................... 11 第五章 数据库运行和维护阶段 . ................................................................................................ 26
5.1 数据库查询操作 . ............................................................................................................ 26 5.2 当日销售额及利润 . ........................................................................................................ 28 5.3 当月销售额及利润 . ........................................................................................................ 28 5.4 当月销售量 . .................................................................................................................... 29 5.7触发器----改积分 . ......................................................................................................... 29 5.8触发器----改库存 . ......................................................................................................... 30 第六章 总结 . ................................................................................................................................ 32 致谢 ................................................................................................................................................ 33 参考文献......................................................................................................................................... 34
第一章 需求分析阶段
1.1 信息需求
随着信息化社会的不断发展,库存的信息化已经成为一个必要的趋势。在一线、二线城市,进销存系统已经得到了普及,并且实施效果很好。但是由于各行各业,各种物品的特性,很难有一款软件能够独揽全局,这样我这样的软件可以在二线、三线城市得到推广。
我想要做的系统是一个库存系统,用于一家餐饮批发的公司,这家公司有坐落于同一城市的
● 三个办公地点(depot0_office、busy0_office、community0_office),门市
货架(算库存);
● 一个冻库(frozen0_depot),两个库房(depot0_depot、community0_depot)。 ● 其中depot0_office、frozen0_depot、depot0_depot三者在同一地点。 ● community0_office、community0_depot位于同一位置 ● busy0_office单独位于一个地
点,但是其具有仓储功能。
● 公司有是家族式企业管理,有合伙人两个,会计一个。以及子公司老板
一个。
1.2 功能需求
能够进行数据库的数据定义、数据操纵、数据控制等处理功能, 进行联机处理的相应时间要短。
进销存数据库具体功能应包括: ● 存储用户信息,分级。
● 登陆功能 超级管理员,管理员,老板,员工账号分级登陆。 ● 查询功能 包括对item_Group、unit_Group、item_name_list、places 、
clients 、users 、items 、sales_info、add_list、Del_list表的查询。 ● 修改功能,对item_Group、unit_Group、item_name_list、places 、
clients 、users 、items 、add_list、Del_list表的修改
● 求当日销售额及利润,对当日销售出的营业额和利润进行分类汇总查询。 ● 求当月销售额及利润,对当月销售出的营业额和利润进行分类汇总查询。 ● 对当日销售量,对当日销售量进行分类汇总。 ● 对当月销售量,对当月销售量进行分类汇总。
● 每当在sales_info表中插入一条记录,users 表中,员工的提成自动增
加。
● 每当在sales_info表中插入一条记录,clients 表中,顾客的积分自动
增加。
● 每当在sales_info表中插入一条记录,items 表中,对应的产品库存自
动减少。
第二章
2.1 结构设计
概念结构设计阶段
概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS 的概念模型。
设计进销存管理数据库包括地点(places )、顾客(clients )、用户(users )、货物(items )四个实体;以及其父类user_Group、item_Group、item_name_list、place_Group、unit_Group、sales_info、add_list。
2-1E-R 图:
places 表ER 图包括places_id、place_name、places_class_id、place_x、place_y、备注字段,这些字段有利辨识地点的信息(x,y用于标注坐标,用于选取最近配送地点) 。
图2-1 places 表
2-2E-R 图:
clients 表ER 图包括clients_id、client_name、client_linkman、Tel 、found 、、place_x、place_y、备注字段,这些字段有利辨识客户的信息(x,y用于标注坐标,用于选取最近配送地点) 。
图2-2clients 表
2-3E-R 图:
users 表ER 图包括user_id、user_sate、user_name、open_time、Open_user_id、user_group_id、备注字段,这些字段有利辨识用户的信息。
图2-3users 表
2-4E-R 图:
items 表ER 图包括id 、name 、item_group_id、address_id、in_const、units 、storage 、备注字段,这些字段有利辨识货物的信息。
图2-4items 表
2-5E-R 图:
user_Group表ER 图包括id 、name 、limit 、备注字段,这些字段有利辨识用户种类的信息。
图2-5 user_Group表
2-6 E-R图:
item_Group表ER 图包括group_id、item_group_name、father_group_id、item_group_explain字段,这些字段有利辨识货物种类的信息。
图2-6 user_Group表
2-7E-R 图:
item_name_list表ER 图包括id 、item_name字段,这些字段有利辨识物品名称的信息(防止物品重名)。
图2-7 item_name_list表
2-8E-R 图:
item_name_list表ER 图包括id 、item_name
字段,这些字段有利辨识物品名称的信息(防止物品重名)。
图2-8 item_name_list表
unit_Group表ER 图包括id 、units 字段,这些字段有利辨识单位的信息。
图2-9 unit_Group表
2-10 E-R图:
sales_info表ER 图包括sales_id、sales_time、item_id、sales_number、user_id、client_id、out_const、place_id、备注字段,这些字段有利辨识销售的信息。
图2-10 sales_info表
2-11 E-R图:
add_list表ER 图包括add_id、user_id、add_time
、add_form_id、main_id、备注字段,这些字段有利辨识添加的信息(本表主要的作用在于误操作的回滚,备注区域填写添加字段内容)。
图2-11 add_list表
Del_list表ER 图包括Del_id、user_id、Del_time、Del_form_id、main_id、备注字段,这些字段有利辨识添加的信息(本表主要的作用在于误操作的回滚,备注区域填写添加字段内容)。
图2-12 Del_list表
2-13 E-R图:
总体关系是代表最近的问题
2-13总体关系
第三章 逻辑结构设计阶段
逻辑结构是独立于任何一种数据模型的信息结构。逻辑结构的任务是把概念结构设计阶段设计好的基本E-R 图转化为宜选用的DBMS 所支持的数据模型相符合的逻辑结构,并对其进行优化。
E-R 图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。
设计出入库销售数据库,包括clients 表,销售信息表,items 表,users 表。
3.1设计clients 表
顾客表用来存放顾客的基本信息,其表名为clients 表,表结构如下表所示。
图3-1clients 表
3.2设计items 表
货物表用来存放产品的基本信息,其表名为items 表, 表结构如下表所示。
图3-2items 表
3.3设计销售信息表
销售信息表用来存放销售的基本信息,其表名为销售信息表, 表结构如下表所示。
图3-3销售信息表
3.4设计users 表
users 表用来存放员工的基本信息,其表名为员工信息, 表结构如下表所示。
图3-4users 表
第四章 数据库实现
数据库实施是指建立数据库,编制与调试应用程序, 组织数据入库,并进行试运行。
4.1创建数据库
(1) 打开SQL 工具“新建查询”
(2) 在查询窗口中键入下列SQL 语句
create database 电脑
执行上述SQL 语句即可新建一名为电脑的数据库
图4-1 创建数据库
4.2 创建数据表
一个完整的数据库不可缺少的就是数据表,若干个数据表的集合成一个数据库。数据表主要用来存放一定格式的记录,数据表中的行被称为记录,列被称为字段。创建数据表的过程其实就是定义字段的过程。
在此进销存信息管理系统中需要创建12个表,即user_Group、item_Group、item_name_list、place_Group、unit_Group、places 、clients 、users 、items 、sales_info、add_list、Del_list。
图4-2数据表
创建数据库后,为电脑数据库添加数据表,步骤如下。
(1)在查询窗口中键入下列SQL 语句即可创建user_group表 如 图4-3所示
图4-3用户组表图
用户组表的主键如图4-4所示
图4-4用户组表主键
(2)在查询窗口中键入下列SQL 语句即可创建item_Group信息表。如图4-5所示
图4-5 item_Group息表图
item_group信息表的主键与外键如图4-6所示
图4-6 item_Group表的主键
(3)在查询窗口中键入下列SQL 语句即可创建item_name_list信息表。如图4-7所示
图4-7 item_name_list信息表
item_group信息表的主键与外键如图4-8所示
图4-8 item_name_list表主键
(4)在查询窗口中键入下列SQL 语句即可创建place_Group信息表。如图4-9所示
图4-9 place_Group信息表
图4-10是place_Group的主键
图4-10是place_Group的主键
(5)在查询窗口中键入下列SQL 语句即可创建unit_Group信息表。如图4-11所示
图4-11 unit_Group信息表
图4-12是unit_Group表的主键
图4-12 unit_Group表的主键
(6)在查询窗口中键入下列SQL 语句即可创建places 表。如图4-13所示
图4-13 places信息表
图4-14是places 表的主键
图4-14 places表的主键
图4-15是places 表的外键约束(约束地点类型必须为已规定类型)
图4-15 places的外键约束(约束地点类型必须为已规定类型)
(7)在查询窗口中键入下列SQL 语句即可创建clients 表。如图4-16所示
图4-16 clients信息表
图4-17是clients 表的主键
图4-17 clients表的主键
图4-18是clients 表的CHECK 约束(约束其必须是一个有效的手机号)
图4-18 clients表的CHECK 约束(约束其必须是一个有效的手机号)
(8)在查询窗口中键入下列SQL 语句即可创建users 表。如图4-19所示
图4-19 users信息表
图4-20是users 表的主键
图4-20 users表的主键
图4-21是users 表的外键约束(约束其必须是规定的用户种类)
4-21是users 表的外键约束(约束其必须是规定的用户种类)
(9)在查询窗口中键入下列SQL 语句即可创建items 表。如图4-22所示
图4-22 items信息表
图4-23是items 表的主键
图4-23 items表的主键
图4-24是items 表的外键约束FK_items_place_id(约束其必须在已知的地点内)
图4-24 items表的外键约束FK_items_place_id(约束其必须在已知的地点内)
图4-25是items 表的外键约束FK_items_item_Group(约束其必须是规定的货物种类)
图4-25 items表的外键约束FK_items_item_Group(约束其必须是规定的货物种类)
(10)在查询窗口中键入下列SQL 语句即可创建sales_info表。如图4-26所示
图4-26 sales_info信息表
图4-27是items 表的主键
图4-27 sales_info表的主键
图4-28是sales_info表的外键约束(clients_id)
图4-28 sales_info表的外键约束clients_id(约束顾客为有效顾客)
图4-29是seles_info表的外键约束(items_id)
图4-29 sales_info表的外键约束items_id(约束其必须是已有的货物)
图4-30 sales_info表的外键约束place_id(约束其必须是已有的地点)
图4-31 sales_info表的外键约束user_id(约束其必须是已有营业员在销售)
(11)在查询窗口中键入下列SQL 语句即可创建Del_list表。如图4-32所示
图4-32 Del_list表
图4-33是Del_list表的主键
图4-33 Del_list表的主键
图4-34是Del_list表的外键约束(FK_add_list_users)
图4-34 Del_list表的外键约束FK_add_list_users
(约束必须是已有的用户实行添加)
user_Group表记录信息
图4-35 user_Group表记录信息图
item_Group表记录信息
图4-36 item_Group信息表记录信息图
item_name_list表记录信息
图4-37 item_name_list表记录信息图
place_Group表记录信息
图4-38 place_Group表记录信息图
unit_Group表记录信息
图4-39 unit_Group表记录信息图
places 表记录信息
图4-40 places 表记录信息图
clients 表记录信息
图4-41 clients 表记录信息图
users 表记录信息
图4-42 users 表记录信息图
items 表记录信息
图4-43 items 表记录信息图
sales_info表记录信息
图4-44 sales_info表记录信息图
add_list表记录信息
图4-45 add_list表记录信息图
Del_list表记录信息
图4-46 Del_list表记录信息图
第五章 数据库运行和维护阶段
5.1 数据库查询操作
1. 顾客信息查询
查询clients 表中的最高积分和姓名。 结果:
图5-1查询clients 表内容的图
2. 销售信息查询
查询销售信息表中最低的销售价格和销售数量 结果:
图5-2查询销售信息表内容图
3. 产品信息查询
查询items 表中最高的价格和名称。
结果:
图5-3查询items 表内容图
4. 员工信息查询
查询users 表中权限最高账户姓名和编号 结果:
图5-4查询users 表内容图
5.2 当日销售额及利润
通过建立存储过程来计算日销售额,命令中计算相应成交日期的日销售额,和总利润,使销售信息中的产品编号和产品信息中的产品编号一一对应。如图5-5所示:
图5-5当日销售额及利润存储过程语句
执行日销售额的结果可出现当日销售额,总利润和成交日期,运行如图5-6所示:
图5-6当日销售额及利润图
5.3 当月销售额及利润
通过建立存储过程来计算月销售额,命令中计算相应成交日期的月销售额,和总利润,使销售信息中的产品编号和产品信息中的产品编号一一对应,如图5-7所示:
图5-7当月销售额及利润存储过程语句
执行月销售额结果可出现当月销售额和总利润,执行结果如图5-8所示:
图5-8当月销售额及利润图
5.4 当月销售量
通过建立存储过程来计算月销量,命令中计算相应成交日期的品牌和数量,执行结果如图5-9所示:
图5-9当月销量存储结构以及结果
5.7触发器----改积分
在销售信息表中加触发器更改会员积分,在销售信表中插入记录,激发触发器,来自动更新顾客购买手机后会员积分的变化,如图5-10所示。
图5-10触发器更改积分图
插入记录前,编号为[1**********]的顾客会员积分为50图5-11clients 表
图 5-11clients 表
插入记录后 顾客001的积分变为70如图5-12
图5-12顾客积分变化图
5.8触发器----改库存
在销售信息表中加触发器更改库存,方便在销售信息表中插入记录,激发触发器来自动更新items 表中的库存,如图5-13所示
图5-13改变库存
插入记录前 产品01的库存为500如图5-14
图5-14触发器图
在sales_info表中插入记录 如图 5-15
图5-15触发器图
插入记录后 产品001 的库存为499如图 5-16
图5-16触发器图
第六章 总结
通过本次实训,加深了我对于数据库的理解,尤其是部分知识点的理解,在之前的学习中可能由于没有注意到一些细节,但是一旦开始综合性的应用,一些问题便一一暴露出来,我在网上查资料,查课本以及PPT 文档,最终克服种种困难,做出了这个还比较不错的作品。这个模型有很强的可拓展性,但是由于时间的关系,我仅仅是实现了它的部分功能。以后有机会我会解决掉这个弱点。
致谢
首先,我要感谢李长明老师,开学的半年时间里是您认真仔细的为我们讲解了数据库课程,将我们从不知道什么是数据库,引领到可以单独制作数据库,当我们遇到解决不了的困难时候是您帮助我们解决困难,克服难题,给与了我们么大的鼓励。然后我要感谢的是我的同窗们,是你们在我愁眉不展的时刻,及时的给与我鼓励与帮助,不仅仅是再学习中,还有在生活中。
同时也要感谢姚策老师在我们的实训期间对我们进行了辅导,耐心仔细地为我们讲解相关的实训相关的各种注意事项。
所以在这里我衷心的对亲爱的老师、同学们说一声“谢谢大家”
参考文献
[1]《数据库原理与应用——SOL Server 2008 项目教程》
北京理工大学出版社 姚策
[2]《数据库系统概念》 高等教育出版社 王珊
[3]《数据库应用与设计》 清华大学出版社 崔巍
[4]《数据库系统实现》 机械工业出版社 黄静
[5]《SQL server 数据库开发实例解析》 机械工业出版社
宋坤 李严明
天津轻工职业技术学院
课程设计(论文)
课题 库存数据库设计与实现
专 业 班级 2班
学生姓名 学生学号
指导教师
提交日期
成绩
答辩日期 答辩成绩
答辩教师
总评成绩
内容摘要
小到一个个体经营的淘宝网店,大到一个企事业单位都有自己的库房,存储着一些门类不一,正常运转的必须品。电脑还没有普及的时候,企业单位用厚厚的一沓又一沓的纸质的档案记录着这些数据,每每查阅都需要在翻阅堆积如山的纸质,不仅低效还容易物理损坏。
随之计算机技术的普及,尤其是数据库出现,可以很大程上改观这个问题。目前市场上中小型企业正在信息化的进程之中,市场需求相当广泛,所以这我本次做库存系统。
本次数据库本着良好的拓展性,谨慎的逻辑的宗旨,做好本次数据库。 在本设计中是通过SQL Server 2008 建立数据库,本次的数据库还有很多欠缺的地方,随着以后学习的深入,会进行一系列的修改,让出入库数据库更加完善,更好的掌握数据库的使用方法。
关键字 出入库 数据库 SQL Server 2008
目 录
第一章 需求分析阶段 . .................................................................................................................. 1
1.1 信息需求 . .......................................................................................................................... 1 1.2 功能需求 . .......................................................................................................................... 1 第二章 概念结构设计阶段 . ............................................................................................................ 3
2.1 结构设计 . .......................................................................................................................... 3 第三章 逻辑结构设计阶段 . .......................................................................................................... 8
3.1设计clients 表 . ............................................................................................................... 8 3.2设计items 表 . ................................................................................................................... 9 3.3设计销售信息表 . ............................................................................................................... 9 3.4设计users 表 . ................................................................................................................... 9 第四章 数据库实现 . ...................................................................................................................... 11
4.1创建数据库 . ..................................................................................................................... 11 4.2 创建数据表 . .................................................................................................................... 11 第五章 数据库运行和维护阶段 . ................................................................................................ 26
5.1 数据库查询操作 . ............................................................................................................ 26 5.2 当日销售额及利润 . ........................................................................................................ 28 5.3 当月销售额及利润 . ........................................................................................................ 28 5.4 当月销售量 . .................................................................................................................... 29 5.7触发器----改积分 . ......................................................................................................... 29 5.8触发器----改库存 . ......................................................................................................... 30 第六章 总结 . ................................................................................................................................ 32 致谢 ................................................................................................................................................ 33 参考文献......................................................................................................................................... 34
第一章 需求分析阶段
1.1 信息需求
随着信息化社会的不断发展,库存的信息化已经成为一个必要的趋势。在一线、二线城市,进销存系统已经得到了普及,并且实施效果很好。但是由于各行各业,各种物品的特性,很难有一款软件能够独揽全局,这样我这样的软件可以在二线、三线城市得到推广。
我想要做的系统是一个库存系统,用于一家餐饮批发的公司,这家公司有坐落于同一城市的
● 三个办公地点(depot0_office、busy0_office、community0_office),门市
货架(算库存);
● 一个冻库(frozen0_depot),两个库房(depot0_depot、community0_depot)。 ● 其中depot0_office、frozen0_depot、depot0_depot三者在同一地点。 ● community0_office、community0_depot位于同一位置 ● busy0_office单独位于一个地
点,但是其具有仓储功能。
● 公司有是家族式企业管理,有合伙人两个,会计一个。以及子公司老板
一个。
1.2 功能需求
能够进行数据库的数据定义、数据操纵、数据控制等处理功能, 进行联机处理的相应时间要短。
进销存数据库具体功能应包括: ● 存储用户信息,分级。
● 登陆功能 超级管理员,管理员,老板,员工账号分级登陆。 ● 查询功能 包括对item_Group、unit_Group、item_name_list、places 、
clients 、users 、items 、sales_info、add_list、Del_list表的查询。 ● 修改功能,对item_Group、unit_Group、item_name_list、places 、
clients 、users 、items 、add_list、Del_list表的修改
● 求当日销售额及利润,对当日销售出的营业额和利润进行分类汇总查询。 ● 求当月销售额及利润,对当月销售出的营业额和利润进行分类汇总查询。 ● 对当日销售量,对当日销售量进行分类汇总。 ● 对当月销售量,对当月销售量进行分类汇总。
● 每当在sales_info表中插入一条记录,users 表中,员工的提成自动增
加。
● 每当在sales_info表中插入一条记录,clients 表中,顾客的积分自动
增加。
● 每当在sales_info表中插入一条记录,items 表中,对应的产品库存自
动减少。
第二章
2.1 结构设计
概念结构设计阶段
概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS 的概念模型。
设计进销存管理数据库包括地点(places )、顾客(clients )、用户(users )、货物(items )四个实体;以及其父类user_Group、item_Group、item_name_list、place_Group、unit_Group、sales_info、add_list。
2-1E-R 图:
places 表ER 图包括places_id、place_name、places_class_id、place_x、place_y、备注字段,这些字段有利辨识地点的信息(x,y用于标注坐标,用于选取最近配送地点) 。
图2-1 places 表
2-2E-R 图:
clients 表ER 图包括clients_id、client_name、client_linkman、Tel 、found 、、place_x、place_y、备注字段,这些字段有利辨识客户的信息(x,y用于标注坐标,用于选取最近配送地点) 。
图2-2clients 表
2-3E-R 图:
users 表ER 图包括user_id、user_sate、user_name、open_time、Open_user_id、user_group_id、备注字段,这些字段有利辨识用户的信息。
图2-3users 表
2-4E-R 图:
items 表ER 图包括id 、name 、item_group_id、address_id、in_const、units 、storage 、备注字段,这些字段有利辨识货物的信息。
图2-4items 表
2-5E-R 图:
user_Group表ER 图包括id 、name 、limit 、备注字段,这些字段有利辨识用户种类的信息。
图2-5 user_Group表
2-6 E-R图:
item_Group表ER 图包括group_id、item_group_name、father_group_id、item_group_explain字段,这些字段有利辨识货物种类的信息。
图2-6 user_Group表
2-7E-R 图:
item_name_list表ER 图包括id 、item_name字段,这些字段有利辨识物品名称的信息(防止物品重名)。
图2-7 item_name_list表
2-8E-R 图:
item_name_list表ER 图包括id 、item_name
字段,这些字段有利辨识物品名称的信息(防止物品重名)。
图2-8 item_name_list表
unit_Group表ER 图包括id 、units 字段,这些字段有利辨识单位的信息。
图2-9 unit_Group表
2-10 E-R图:
sales_info表ER 图包括sales_id、sales_time、item_id、sales_number、user_id、client_id、out_const、place_id、备注字段,这些字段有利辨识销售的信息。
图2-10 sales_info表
2-11 E-R图:
add_list表ER 图包括add_id、user_id、add_time
、add_form_id、main_id、备注字段,这些字段有利辨识添加的信息(本表主要的作用在于误操作的回滚,备注区域填写添加字段内容)。
图2-11 add_list表
Del_list表ER 图包括Del_id、user_id、Del_time、Del_form_id、main_id、备注字段,这些字段有利辨识添加的信息(本表主要的作用在于误操作的回滚,备注区域填写添加字段内容)。
图2-12 Del_list表
2-13 E-R图:
总体关系是代表最近的问题
2-13总体关系
第三章 逻辑结构设计阶段
逻辑结构是独立于任何一种数据模型的信息结构。逻辑结构的任务是把概念结构设计阶段设计好的基本E-R 图转化为宜选用的DBMS 所支持的数据模型相符合的逻辑结构,并对其进行优化。
E-R 图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。
设计出入库销售数据库,包括clients 表,销售信息表,items 表,users 表。
3.1设计clients 表
顾客表用来存放顾客的基本信息,其表名为clients 表,表结构如下表所示。
图3-1clients 表
3.2设计items 表
货物表用来存放产品的基本信息,其表名为items 表, 表结构如下表所示。
图3-2items 表
3.3设计销售信息表
销售信息表用来存放销售的基本信息,其表名为销售信息表, 表结构如下表所示。
图3-3销售信息表
3.4设计users 表
users 表用来存放员工的基本信息,其表名为员工信息, 表结构如下表所示。
图3-4users 表
第四章 数据库实现
数据库实施是指建立数据库,编制与调试应用程序, 组织数据入库,并进行试运行。
4.1创建数据库
(1) 打开SQL 工具“新建查询”
(2) 在查询窗口中键入下列SQL 语句
create database 电脑
执行上述SQL 语句即可新建一名为电脑的数据库
图4-1 创建数据库
4.2 创建数据表
一个完整的数据库不可缺少的就是数据表,若干个数据表的集合成一个数据库。数据表主要用来存放一定格式的记录,数据表中的行被称为记录,列被称为字段。创建数据表的过程其实就是定义字段的过程。
在此进销存信息管理系统中需要创建12个表,即user_Group、item_Group、item_name_list、place_Group、unit_Group、places 、clients 、users 、items 、sales_info、add_list、Del_list。
图4-2数据表
创建数据库后,为电脑数据库添加数据表,步骤如下。
(1)在查询窗口中键入下列SQL 语句即可创建user_group表 如 图4-3所示
图4-3用户组表图
用户组表的主键如图4-4所示
图4-4用户组表主键
(2)在查询窗口中键入下列SQL 语句即可创建item_Group信息表。如图4-5所示
图4-5 item_Group息表图
item_group信息表的主键与外键如图4-6所示
图4-6 item_Group表的主键
(3)在查询窗口中键入下列SQL 语句即可创建item_name_list信息表。如图4-7所示
图4-7 item_name_list信息表
item_group信息表的主键与外键如图4-8所示
图4-8 item_name_list表主键
(4)在查询窗口中键入下列SQL 语句即可创建place_Group信息表。如图4-9所示
图4-9 place_Group信息表
图4-10是place_Group的主键
图4-10是place_Group的主键
(5)在查询窗口中键入下列SQL 语句即可创建unit_Group信息表。如图4-11所示
图4-11 unit_Group信息表
图4-12是unit_Group表的主键
图4-12 unit_Group表的主键
(6)在查询窗口中键入下列SQL 语句即可创建places 表。如图4-13所示
图4-13 places信息表
图4-14是places 表的主键
图4-14 places表的主键
图4-15是places 表的外键约束(约束地点类型必须为已规定类型)
图4-15 places的外键约束(约束地点类型必须为已规定类型)
(7)在查询窗口中键入下列SQL 语句即可创建clients 表。如图4-16所示
图4-16 clients信息表
图4-17是clients 表的主键
图4-17 clients表的主键
图4-18是clients 表的CHECK 约束(约束其必须是一个有效的手机号)
图4-18 clients表的CHECK 约束(约束其必须是一个有效的手机号)
(8)在查询窗口中键入下列SQL 语句即可创建users 表。如图4-19所示
图4-19 users信息表
图4-20是users 表的主键
图4-20 users表的主键
图4-21是users 表的外键约束(约束其必须是规定的用户种类)
4-21是users 表的外键约束(约束其必须是规定的用户种类)
(9)在查询窗口中键入下列SQL 语句即可创建items 表。如图4-22所示
图4-22 items信息表
图4-23是items 表的主键
图4-23 items表的主键
图4-24是items 表的外键约束FK_items_place_id(约束其必须在已知的地点内)
图4-24 items表的外键约束FK_items_place_id(约束其必须在已知的地点内)
图4-25是items 表的外键约束FK_items_item_Group(约束其必须是规定的货物种类)
图4-25 items表的外键约束FK_items_item_Group(约束其必须是规定的货物种类)
(10)在查询窗口中键入下列SQL 语句即可创建sales_info表。如图4-26所示
图4-26 sales_info信息表
图4-27是items 表的主键
图4-27 sales_info表的主键
图4-28是sales_info表的外键约束(clients_id)
图4-28 sales_info表的外键约束clients_id(约束顾客为有效顾客)
图4-29是seles_info表的外键约束(items_id)
图4-29 sales_info表的外键约束items_id(约束其必须是已有的货物)
图4-30 sales_info表的外键约束place_id(约束其必须是已有的地点)
图4-31 sales_info表的外键约束user_id(约束其必须是已有营业员在销售)
(11)在查询窗口中键入下列SQL 语句即可创建Del_list表。如图4-32所示
图4-32 Del_list表
图4-33是Del_list表的主键
图4-33 Del_list表的主键
图4-34是Del_list表的外键约束(FK_add_list_users)
图4-34 Del_list表的外键约束FK_add_list_users
(约束必须是已有的用户实行添加)
user_Group表记录信息
图4-35 user_Group表记录信息图
item_Group表记录信息
图4-36 item_Group信息表记录信息图
item_name_list表记录信息
图4-37 item_name_list表记录信息图
place_Group表记录信息
图4-38 place_Group表记录信息图
unit_Group表记录信息
图4-39 unit_Group表记录信息图
places 表记录信息
图4-40 places 表记录信息图
clients 表记录信息
图4-41 clients 表记录信息图
users 表记录信息
图4-42 users 表记录信息图
items 表记录信息
图4-43 items 表记录信息图
sales_info表记录信息
图4-44 sales_info表记录信息图
add_list表记录信息
图4-45 add_list表记录信息图
Del_list表记录信息
图4-46 Del_list表记录信息图
第五章 数据库运行和维护阶段
5.1 数据库查询操作
1. 顾客信息查询
查询clients 表中的最高积分和姓名。 结果:
图5-1查询clients 表内容的图
2. 销售信息查询
查询销售信息表中最低的销售价格和销售数量 结果:
图5-2查询销售信息表内容图
3. 产品信息查询
查询items 表中最高的价格和名称。
结果:
图5-3查询items 表内容图
4. 员工信息查询
查询users 表中权限最高账户姓名和编号 结果:
图5-4查询users 表内容图
5.2 当日销售额及利润
通过建立存储过程来计算日销售额,命令中计算相应成交日期的日销售额,和总利润,使销售信息中的产品编号和产品信息中的产品编号一一对应。如图5-5所示:
图5-5当日销售额及利润存储过程语句
执行日销售额的结果可出现当日销售额,总利润和成交日期,运行如图5-6所示:
图5-6当日销售额及利润图
5.3 当月销售额及利润
通过建立存储过程来计算月销售额,命令中计算相应成交日期的月销售额,和总利润,使销售信息中的产品编号和产品信息中的产品编号一一对应,如图5-7所示:
图5-7当月销售额及利润存储过程语句
执行月销售额结果可出现当月销售额和总利润,执行结果如图5-8所示:
图5-8当月销售额及利润图
5.4 当月销售量
通过建立存储过程来计算月销量,命令中计算相应成交日期的品牌和数量,执行结果如图5-9所示:
图5-9当月销量存储结构以及结果
5.7触发器----改积分
在销售信息表中加触发器更改会员积分,在销售信表中插入记录,激发触发器,来自动更新顾客购买手机后会员积分的变化,如图5-10所示。
图5-10触发器更改积分图
插入记录前,编号为[1**********]的顾客会员积分为50图5-11clients 表
图 5-11clients 表
插入记录后 顾客001的积分变为70如图5-12
图5-12顾客积分变化图
5.8触发器----改库存
在销售信息表中加触发器更改库存,方便在销售信息表中插入记录,激发触发器来自动更新items 表中的库存,如图5-13所示
图5-13改变库存
插入记录前 产品01的库存为500如图5-14
图5-14触发器图
在sales_info表中插入记录 如图 5-15
图5-15触发器图
插入记录后 产品001 的库存为499如图 5-16
图5-16触发器图
第六章 总结
通过本次实训,加深了我对于数据库的理解,尤其是部分知识点的理解,在之前的学习中可能由于没有注意到一些细节,但是一旦开始综合性的应用,一些问题便一一暴露出来,我在网上查资料,查课本以及PPT 文档,最终克服种种困难,做出了这个还比较不错的作品。这个模型有很强的可拓展性,但是由于时间的关系,我仅仅是实现了它的部分功能。以后有机会我会解决掉这个弱点。
致谢
首先,我要感谢李长明老师,开学的半年时间里是您认真仔细的为我们讲解了数据库课程,将我们从不知道什么是数据库,引领到可以单独制作数据库,当我们遇到解决不了的困难时候是您帮助我们解决困难,克服难题,给与了我们么大的鼓励。然后我要感谢的是我的同窗们,是你们在我愁眉不展的时刻,及时的给与我鼓励与帮助,不仅仅是再学习中,还有在生活中。
同时也要感谢姚策老师在我们的实训期间对我们进行了辅导,耐心仔细地为我们讲解相关的实训相关的各种注意事项。
所以在这里我衷心的对亲爱的老师、同学们说一声“谢谢大家”
参考文献
[1]《数据库原理与应用——SOL Server 2008 项目教程》
北京理工大学出版社 姚策
[2]《数据库系统概念》 高等教育出版社 王珊
[3]《数据库应用与设计》 清华大学出版社 崔巍
[4]《数据库系统实现》 机械工业出版社 黄静
[5]《SQL server 数据库开发实例解析》 机械工业出版社
宋坤 李严明