数据库课程设计超市信息管理系统.docx
- 文档编号:29873871
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:18
- 大小:151.20KB
数据库课程设计超市信息管理系统.docx
《数据库课程设计超市信息管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计超市信息管理系统.docx(18页珍藏版)》请在冰豆网上搜索。
数据库课程设计超市信息管理系统
数据库应用课程设计报告书
小型超市信息管理系统
成绩:
学号:
姓名:
指导教师:
2010年1月20日
三峡大学
课 程 设 计 任 务 书
学年学期
课题名称
指导教师
姓名
学号
专业
信息管理
课题概述:
数据库的开发与设计是管理信息系统的重要组成部分,数据库设计的好坏直接影响到系统的开发进度和功能的实现。
本课程主要应用已经学到的数据库系统和应用的知识,通过调查分析设计一个小系统的数据库,来提高学生对所学的知识和数据库开发过程的理解和掌握,提高分析问题、解决问题的能力,并为接下来的管理信息系统的课程设计打下基础。
在数据库物理实现阶段主要使用微软的SQLSERVER数据库管理系统。
设计要求:
1、进行认真、完整的系统调查分析,取得所开发系统的第一手资料。
2、原则上要求一人一个课题。
3、设计报告书要求详细具体,对设计的全部内容都要进行详细的说明,并按照要求的格式打印。
主要参考资料:
1、《数据库系统概论》,高等教育出版社,萨师煊、王珊编著,第三版
2、《SQLSERVER2000教程》,北京希望电子出版社,龚波等译。
设计成果要求:
1、课程设计报告书
2、设计的数据库文件及代码
设计内容及进度计划安排
起止日期
要求完成的内容
19周星期一
收集资料,进行系统分析和调查
19周星期二
概念结构设计
19周星期三
逻辑结构设计
19周星期四
数据库物理设计
19周星期五
数据库实施
审核(教研室主任)
小型超市信息管理系统
摘要:
随着技术发展,电脑操作及管理日趋简化,电脑知识日趋普及,同时市场经济快速多变,竞争激烈,因此企业采用电脑管理进货、库存、销售等诸多环节也已成为趋势及必然,可以解决企业账目混乱,库存不准,信息反馈不及时等问题。
小型超市引进数据库系统进行管理远优于传统的手工管理。
1 需求调查、分析
1.1企业介绍
该超市是一个面向生活小区的独家经营的小型自选超市,没有连锁店,超市老板即是超市管理人员。
该超市经营各种类别的商品,如服装、家庭日用杂品、家用电器、玩具、家具、蔬菜水果等。
该小型超市有自己的仓库,和一定的供应商保持联系,顾客以个人为主,没有预定、赊账、折扣等复杂的财务信息,工作人员也比较固定,没有复杂的人事调动、福利津贴等职工信息。
原来的收款方式是使用两台旧式收款机,由收款员按商品价格标签收款。
整个超市员工人数并不多。
主要管理工作包括进货、填写入库单并记入入库流水帐、定价、印制并粘贴价格标签、商品上架和整理、收款开票并记入销售流水帐、每日收市后作营业结算、每月月末作盘点统计并编制营业报告表。
由于是手工管理,并且收款方式落后,因此效率低,劳动强度大,商品流失也比较严重。
超市的业务量是:
平均每周进货一次,每次可能有不同的货源进货。
平均每天顾客数目是1000人。
平均每个顾客购买3种商品。
按管理规章制度要求,收市后统计分析人员还要根据商品购入流水帐和商品销售流水帐,按商品编号分别累计汇总各种商品当日累计购入入库量、累计销售量和库存结余量等数据,然后把这些数据填入库存台帐。
1.2 需求调查及分析
用户需求:
该超市管理人员是主要用户,使用频率最高,其他人员也会使用到,但不经常使用,管理人员能看到所有的供应商信息、商品信息、销售信息、职工信息、库存信息、财务信息等。
该超市管理人员希望看到商品进货、存入仓库、由仓库到货架、最后销售的一系列活动以便于其管理。
超市管理人员能看到商品的各种基本信息及销售好坏和盈利情况以便其决策如何进行销售活动,当一种商品不再销售时应该有相关的历史销售记录,能看到商品的库存量以决定是否进货及进货的种类数量,货架上商品少于一定数目时有工作人员从仓库补充。
超市老板能知道一段时间内的盈利情况。
顾客能看到商品的大部分基本信息,但不能看到商品的进价信息。
收银员要记录销售信息。
仓库管理员要能看到库存信息。
功能实现:
该系统包含供应商信息,商品信息,库存信息,人事信息,销售信息,财务信息,能够实现用户需求的绝大部分,而货架上如果商品数量不足则由售货员或巡视员通知工作人员从仓库搬运,此过程由人工完成,不由计算机参与。
当管理人员决定进一种新商品时必须先录入商品基本信息,然后其它工作人员才能录入进货、库存、财务等其它信息
2 面向对象分析和设计
2.1用例分析
管理人员进行管理的用例
1.查询、添加、删除、修改供应商信息
2.查询进货信息
3.查询、添加、删除、修改商品的所有信息
4.查询、添加、删除、修改仓库基本信息
5.查询商品入库、库存、出库信息
6.查询、添加、删除、修改人事信息
7.查询销售信息
8.查询财务信息
收银员使用的用例
1.登陆系统
2.添加商品的销售记录
3.添加销售商品的财务记录
仓库管理员使用的用例
1.登陆系统
2.查询仓库基本信息
3.查询、添加、修改商品的入库信息
4.查询、添加、修改商品的库存信息
5.查询、添加、修改商品的出库信息
采购员使用的用例
1.登陆系统
2.查询供应商基本信息
3.添加进货信息
4.添加进货的财务信息
顾客使用的用例
1.登陆系统
2.查询商品信息
2.2类和对象设计
3 逻辑结构设计
3.1 类和对象向关系模式转换
1.商品基本信息表(商品号,商品名,进价,售价,单位,类别,是否销售,说明)
2商品销售记录表(商品号,商品名,销售时间,售价,数量)
3商品库存信息表(商品号,商品名,仓库号,数量)
4入库信息表(商品号,商品名,日期,仓库号,数量)
5出库信息表(商品号,商品名,日期,仓库号,数量)
6仓库基本信息表(仓库号,管理员职工号,面积)
7进货表(商品号,商品名,供应商号,供应商名,日期,数量)
8供应商基本信息表(供应商号,名称,地址,电话,E_mail,联系人)
9供应商品信息表(供应商号,供应商名,供应商品号,商品名)
10职工基本信息表(职工号,姓名,职务,性别,生日,电话,居住地址,工资,身份证号)
3.2 关系模式优化
1.商品基本信息表(商品号,商品名,进价,售价,单位,类别,是否销售,说明)
注:
若商品正在销售,则属性“说明”记录该商品销售的好坏盈利情况以供超市管理人员决策是否继续销售及如何销售,若商品不再销售,则属性“说明”记录该商品的停售原因,若无特殊说明,则该字段可为空。
属性“是否销售”默认值为“是”。
2商品销售记录表(商品号,销售时间,数量)
3商品库存信息表(商品号,仓库号,数量)
注:
同种商品都存放在同一个仓库里,仓库号可以表示商品存放位置
4入库信息表(商品号,日期,仓库号,数量)
5出库信息表(商品号,日期,仓库号,数量)
6仓库基本信息表(仓库号,管理员职工号,面积)
7进货表(商品号,供应商号,日期,数量)
注:
当要进一种新商品时先在商品基本信息表中添加信息。
8供应商基本信息表(供应商号,名称,地址,电话,E_mail,联系人)
9供应商品信息表(供应商号,供应商品号)
注:
一个供应商可提供不同的商品,一种商品可从不同的供应商处购买,并且各供应商供应商品价格即进价都相等。
10职工基本信息表(职工号,姓名,职务,性别,生日,电话,居住地址,工资,身份证号)
财务信息中的记录都可其他基本表导出,所以不另建财务表,财务信息用视图表示。
4 数据库物理结构设计
4.1 存取方法设计
根据系统需求和各关系模式中属性的特征,为了加快查询的速度,可以建立如下索引:
1.商品基本信息表,商品库存信息表中的商品号都是唯一的,可以建立唯一索引以提高查询效率。
(createuniqueindexAon商品基本信息表(商品号),createuniqueindexBon商品基本信息表(商品号))
2.仓库基本信息表中的仓库号唯一,可以建立唯一索引以提高查询效率。
(createuniqueindexCon仓库基本信息表(仓库号))
3.职工基本信息表中的职工号唯一,可以建立唯一索引以提高查询效率。
(createuniqueindexDon职工基本信息表(职工号))
4.供应商基本信息表中的供应商号唯一,可以建立唯一索引以提高查询效率。
(createuniqueindexEon供应商基本信息表(供应商号))
5.商品销售记录表,商品库存信息表,入库信息表,出库信息表,进货表,供应商品信息表中,商品号是经常查询的列,在查询和连接中经常出现,且不常更新,可以建立索引以提高查询效率。
(createindexFon商品销售记录表(商品号),createindexGon商品库存信息表(商品号),createindexHon入库信息表(商品号),createindexIon出库信息表(商品号),createindexJon进货表(商品号),createindexKon供应商品信息表(商品号))
6.商品库存信息表,入库信息表,出库信息表中,仓库号是经常查询的列,在查询和连接中经常出现,且不常更新,就可以建立索引以提高查询效率。
(createindexLon商品库存信息表(仓库号),createindexMon入库信息表(仓库号),createindexNon出库信息表(仓库号))
7.进货表,供应商品信息表中,供应商号是经常查询的列,在查询和连接中经常出现,且不常更新,就可以建立索引以提高查询效率。
(createindexOon进货表(供应商号),createindexPon供应商品信息表(供应商号))
4.2 存储结构设计
数据库的存储结构不同于一般文件系统的存储结构。
数据库数据的特点是各种记录型之间彼此有联系,数据是结构化的。
数据的存储结构不仅涉及每种记录型的记录如何存储,而且要使数据的存储反映各种记录型之间的联系。
在DB多级模式中引入内模式(存储模式)的主要目的是使模式的数据结构的描述同它的存储表示的描述分开,以致DBA为了协调数据库性能而对数据库数据的存储方法进行修改时,可不必修改模式,以提高数据库的物理独立性。
在各个数据库管理系统中,对内模式的定义功能各不相同。
在关系数据库管理系统中有些DDL语句可影响数据库的存储结构。
在DBMS中各级模式的存储结构是恒定的或唯一的,而数据库内容(或其记录)的存储方式是不唯一的。
数据库存储结构设计的好坏直接影响系统的性能。
在存储结构中主要是涉及存储记录的设计。
存储记录与概念记录之间具有对应关系,如果存储记录与概念记录之间具有一一对应关系,在这种情况下存储记录的设计就比较简单,不需要进一步讨论。
概念记录是指在逻辑结构中的记录。
但当一个概念记录对应多个不同类型的存储记录时,存在如何设计存储记录的问题。
在次关键字索引中,由于一个次关键字值对应于多个记录值,它们的个数是不固定的,所以对应的指针数目是可变的。
这种可变性给管理带来困难,为了解决这个困难,引入了多表组织。
多表组织的实现思想比较简单,在索引中多个指针分散存放在每个记录值中,索引项中的指针指向第一个记录,在第一个记录中的指针指向第二个记录等等。
5 数据库完整性设计
5.1 主键及唯一性索引
唯一性索引是指索引值必须是唯一的,而在创建表时,如果建立主键则SQLServer2005就会默认建立一个唯一索引
数据表名称:
商品基本信息表
字段名
字段类型
描述
商品号
nchar(10)
PK,notnull
商品名
nchar(20)
notnull
进价
float
(2)
notnull
售价
float
(2)
notnull
单位
nchar(10)
notnull
类别
nchar(10)
notnull
是否销售
Char
(2)
notnull
说明
nchar(100)
null
数据表名称:
商品销售记录表
字段名
字段类型
描述
商品号
nchar(10)
PK,FK,notnull
销售时间
Time
PK,notnull
数量
Int
Notnull
数据表名称:
商品库存信息表
字段名
字段类型
描述
商品号
nchar(10)
PK,FK,notnull
仓库号
nchar(10)
FK,notnull
数量
int
Notnull
数据表名称:
入库信息表
字段名
字段类型
描述
商品号
nchar(10)
PK,FK,notnull
日期
datetime
PK,notnull
仓库号
nchar(10)
FK,notnull
数量
int
Notnull
数据表名称:
出库信息表
字段名
字段类型
描述
商品号
nchar(10)
PK,FK,notnull
日期
datetime
PK,notnull
仓库号
nchar(10)
FK,notnull
数量
int
notnull
数据表名称:
仓库基本信息表
字段名
字段类型
描述
仓库号
nchar(10)
PK,notnull
管理员职工号
nchar(10)
FK,notnull
面积
int
notnull
数据表名称:
进货表
字段名
字段类型
描述
商品号
nchar(10)
PK,FK,notnull
供应商号
nchar(10)
PK,FK,notnull
日期
datetime
PK,notnull
数量
int
notnull
数据表名称:
供应商基本信息表
字段名
字段类型
描述
供应商号
nchar(10)
PK,notnull
名称
nchar(20)
notnull
地址
nchar(100)
notnull
电话
char(11)
notnull
E_mail
nchar(20)
null
联系人
nchar(10)
null
数据表名称:
供应商品信息表
字段名
字段类型
描述
供应商号
nchar(10)
PK,FK,notnull
供应商品号
nchar(10)
PK,FK,notnull
数据表名称:
职工基本信息表
字段名
字段类型
描述
职工号
nchar(10)
PK,notnull
姓名
nchar(10)
notnull
职务
nchar(10)
notnull
性别
char
(2)
notnull
生日
datetime
notnull
电话
char(11)
notnull
居住地址
nchar(100)
notnull
工资
int
notnull
身份证号
char(18)
notnull
5.2参照完整性设计
商品销售记录表中的商品号参照商品基本信息表中的商品号
商品库存信息表中的商品号参照商品基本信息表中的商品号,仓库号参照仓库基本信息表中的仓库号
入库信息表中的商品号参照商品基本信息表中的商品号,仓库号参照仓库基本信息表中的仓库号
出库信息表中的商品号参照商品基本信息表中的商品号,仓库号参照仓库基本信息表中的仓库号
进货表中的商品号参照商品基本信息表中的商品号,供应商号参照供应商基本信息表中的供应商号
供应商品信息中的供应商号参照供应商基本信息表中的供应商号,供应商品号商品基本信息表中的商品号
5.3 Check约束
职工基本信息表中属性“性别”取值为“男”或“女”
check(性别in(‘男’,‘女’))
商品基本信息表中属性“是否销售”取值为“是”或“否”
check(是否销售in(‘是’,‘否’))
5.4 Default约束
职工基本信息表中属性“性别”默认值为“男”
商品基本信息表中属性“是否销售”默认值为“是”
5.5触发器设计
1.在入库信息表上创建商品入库的触发器:
当某种商品入库时检查仓库中是否有该商品,如果有则放在一起,如果没有则重新选择存放的仓库号。
即:
入库信息表添加记录时检查商品号是否存在于库存信息表中,若存在则修改库存信息表中的数量,若不存在则在库存信息表中添加相应记录。
2.在出库信息表上创建商品出库的触发器:
当某种商品出库时修改该商品的库存数量(工作人员可以从仓库运出的商品数量一定小于等于库存数量)。
即:
当出库信息表中添加记录时在库存信息表中修改相应商品数量。
6数据库视图设计
1.创建进货支出的财务视图,以便管理人员可以查询某种商品的进货指出情况
2.创建工资的财务视图,以便管理人员可以查询某职工的工资情况
3.创建销售额的财务视图,以便管理人员可以看到每天的销售情况
4.创建日盈利财务统计的视图,以便管理人员可以看到每天的盈利情况
5.创建月盈利财务统计的视图,以便管理人员可以看到每月的盈利情况
6.创建商品历史销售记录的视图,以便管理人员查看
7.创建商品的视图,以便顾客查看
7 数据库存储过程设计
创建某商品不再销售的存储过程:
当管理人员决定一种商品不再销售时(此时该商品的库存数量应该为0)删除库存信息表中相应的商品记录并修改商品基本信息表中相应商品的记录。
8 权限设计
用户
数据库对象
允许操作类型
能否转授权
管理人员
所有表、视图
allprivileges
能
仓库管理员
table入库信息表
table出库信息表
table库存信息表
select
insert
update
否
table仓库基本信息表
select
收银员
table商品销售记录表
selectinsert
否
采购员
table供应商基本信息表
select
否
table进货表
selectinsert
顾客
view商品
select
否
9 总结
经过一周的课程设计,使我对数据库有了更深一层的了解。
我设计的是小型超市信息管理系统。
整个设计的过程也是我不断学习的一个过程,我在运用旧知识的同时也学到了不少新知识,给自己大脑充电的同时也填补了一些相关知识方面的空白。
通过这次课程设计,也许认为只是完成了一个学识上的考核。
让我掌握到了我应该掌握住的知识也让我们体会到了生活中我们应该体会到的东西。
相信在今后的学习和工作中,在面临成功与挫折,失败与教训时,都一样有着今天我所收获到的东西,和所经历并记住的一切。
这次课程设计我做的程序也让我学到了很多东西。
对数据库系统设计有了更具体的认识,让我们复习了以前学过的知识,也让我们对数据库系统设计更深刻的认识,这次的设计使我受益颇深。
由于本人目前能力有限,加上时间仓促,本系统难免会出现一些不足之处,例如:
人事信息和财务信息设计得太过简单,很多地方可能设计的不恰当,有些地方考虑的还不周全等。
对于以上出现的问题,我深表歉意,如发现还有其它问题,希望老师批评指正。
参考资料:
1.《数据库系统概论》,高等教育出版社,萨师煊、王珊编著,第三版,2000年2月。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 超市 信息管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)