数据库课程设计超市信息管理系统

目录

一、需求分析

1、系统需求分析描述

1.1.1系统需求说明:

1.1.2系统可行性分析:

1.1.3系统应用范围:

2、系统功能结构图

3、业务流程图

二、概念结构设计

1.实体描述

2.局部E-R图

 2.2.1员工页面

2.2.2库存页面

2.2.3仓库界面 

 2.2.4商品界面

2.2.5商品类型界面 

 2.2.6供应商页面

3、全局E-R图 

三、逻辑结构设计

1.E-R图转换到关系模式

2.数据字典、表结构设计(表清单和各表字段信息列表)

3.2.1员工信息表

3.2.2库存信息表

3.2.3仓库信息表

3.2.4商品信息表

3.2.5商品类别信息表

3.2.6供应商信息表

四、数据库实施

1.使用SQL语句完成表的创建

4.1.1员工表的创建

4.1.2库存信息表的创建

4.1.3仓库信息表的创建

4.1.4商品信息表的创建

4.1.5商品类型信息表的创建

4.1.6供应商类型信息表的创建

2.使用SQL语句完成表数据的添加

4.2.1员工表数据的添加

4.2.2库存表数据的添加

4.2.3仓库表数据的添加

4.2.4商品表数据的添加

4.2.5商品类型表数据的添加

4.2.6供应商表数据的添加

3.使用SQL语句自定义创建视图

4.3.1员工表的视图

4.3.2库存表的视图

4.3.3仓库表的视图

4.3.4商品表的视图

4.3.5商品类型的视图

4.3.6供应商表的视图

4.使用SQL语句自定义完成增删改查操作

4.4.1进行表内容的增加

4.4.2进行表内容的删除

4.4.3进行表内容的修改

4.4.4进行表的查找

五、总结


数据库课程设计

课程名称:    数据库课程设计                        

设计题目:   超市信息管理系统                         

专业班级:                                                        

学    号:                                                              

学生姓名:                                                               

指导教师:                                                                   

年    月   日

一、需求分析

1、系统需求分析描述

1.1.1系统需求说明:

       随着技术的发展,超市的竞争进入了一个全新的时代,超市与超市之间的竞争不再是规模的竞争而是技术、人才与管理的竞争。技术与管理的提升是超市竞争的核心,所以市场对超市信息管理系统的需求还是比较大的。

       超市信息管理系统是管理超市信息的一种系统其功能包括员工管理、库存管理、商品管理、仓库管理以及进货管理。

       员工管理:对超市的员工信息进行管理,包括查询、更新等功能;

       库存管理:对超市采购的商品进行编码入库,能够根据销售清单进行出货管理以及库存统计;

       商品管理:对超市采购来的商品进行分类,标注需要注意的注意事项,能够更好的帮助超市管理者管理超市;

       仓库管理:让超市管理者能够更好的清楚各个仓库的情况;

       进货管理:对供应商信息进行管理,实施产品采购,并进行进货查询。

1.1.2系统可行性分析:

       现在生活中的超市大型超市比较多,导致员工雇佣多、商品信息多、仓库管理麻烦等诸多情况,若这些情况均用纸面记录的方式,会花费超市管理人更多的精力与财力,而我的超市信息管理系统通过互联网查询和更新销售信息快捷、方便,仅用一两个人就能做到,可以减少不必要的开支,提高了查询效率。从经济与效率方面来说我的超市信息管理系统是可行的。

       而这个系统也比较简单,开发者不需要投入过多的精力与时间,所以在开发者的角度来看这个超市信息管理系统是可行的。

1.1.3系统应用范围:

各种中小型超市皆可运用

2、系统功能结构图

3、业务流程图

二、概念结构设计

1.实体描述

 该超市信息管理系统的抽象实体有六个 

  1. 员工实体属性:员工编号,姓名,性别,年龄,职务,入职日期;
  2. 库存实体属性:库存编号,商品编号,商品名称,商品价格,库存商品数量,仓库编号,商品入库时间,商品出库时间,商品出库数量;
  3. 仓库实体属性:仓库编号,仓库姓名;
  4. 商品实体属性:商品编号,名称,价格,商品类型;
  5. 商品类型实体属性:商品类型编号,类型名称,商品注意事项;
  6. 供货商实体属性:供货商编号,姓名,电话,地址。

2.局部E-R图

 2.2.1员工页面

2.2.2库存页面

2.2.3仓库界面 

 

 2.2.4商品界面

2.2.5商品类型界面 

 2.2.6供应商页面

3、全局E-R图 

三、逻辑结构设计

1.E-R图转换到关系模式

        供应商与库存之间是多对多的联系类型,因此,将供应商、库存以及供货联系分别设计成如下的关系模式:

        供应商(供应商编号,姓名,电话,地址)

       库存(库存编号,商品编号,商品名称,商品价格,库存数量,仓库编号,商品入库时间,商品出库时间,商品出库数量)

        供货(供应商编号,库存编号,供货日期,供货价格)

        库存与仓库也是多对多的联系类型,由于“库存”关系模式上方已经给出,所以只需要给出一个仓库的关系模式即可,它们间的联系则被放在该关系模式中:

        仓库(仓库编号,仓库名称)

       员工对商品也是多对多的联系类型,不同的员工可以销售并查询不同的商品,因此,将员工、商品以及销售联系分别设计成如下的关系模式:

       员工(员工编号,员工姓名,性别,年龄,职务,入职日期)

       商品(商品编号,名称,价格,商品类型)

       销售(员工职务,商品名称,价格)

       一个商品类型可以对应多个商品,所以说商品与商品类型之间是一对多的联系类型。也就可以用两个关系模式来进行表示。由于“商品”关系模式在上方已经给出,所以只需要给出商品类型的关系模式即可,它们间的联系则被放在该关系模式中:

        商品类型(商品类型编号,类型名称,商品注意事项)

        一个仓管可以管理多个仓库,所以说员工与仓库之间的管理是一对多的联系类型。

2.数据字典、表结构设计(表清单和各表字段信息列表)

3.2.1员工信息表

字段名

数据类型

长度

约束

备注

employee_id

int

6

主键

员工编号

employee_name

varchar

40

非空

  员工姓名

employee_sex

  varchar

40

非空

  员工性别

employee_age

  varchar

100

非空

  员工年龄

employee_title

  varchar

40

非空

  员工职务

entry_date

  datetime

  入职日期

3.2.2库存信息表

字段名

数据类型

长度

约束

备注

id

int

1

主键

库存编号

goods_id

varchar

100

主键

  商品编号

goods_name

varchar

40

非空

  商品名称

goods_price

decimal

(8,4)

非空

  商品价格

store_goods_num

varchar

    40

非空

 库存商品数量

storehouse_id

varchar

100

非空

 仓库编号

storage_time

datetime

 进货时间

delivery_time

datetime

  出货时间

delivery_num

varchar

40

 出货数量

3.2.3仓库信息表

字段名

数据类型

长度

约束

备注

storehouse_id

    int

5

主键

仓库编号

storehouse_name

varchar

40

非空

  仓库名称

3.2.4商品信息表

字段名

数据类型

    长度

约束

备注

goods_id

int

1

主键

商品编号

goods_name

varchar

20

非空

商品名称

goods_price

varchar

(6,2)

非空

商品价格

goodtype

varchar

外键

商品类别

3.2.5商品类别信息表

字段名

数据类型

长度

约束

备注

type_id

int

1

主键

商品类型编号

type_name

varchar

20

非空

商品类型名称

content

varchar

50

商品类型注意事项

3.2.6供应商信息表

字段名

数据类型

长度

约束

备注

Supplier_id

int

1

主键

 供应商编号

Supplier_name

varchar

40

非空

供应商姓名

Supplier_telephone

varchar

20

非空

供应商电话号码

Supplier_address

varchar

60

非空

供应商地址

四、数据库实施

1.使用SQL语句完成表的创建

4.1.1员工表的创建

CREATE TABLE s_employee(

employee_id int UNSIGNED auto_increment,

employee_name VARCHAR(40) NOT NULL,

employee_sex VARCHAR(40) NOT NULL,

employee_age VARCHAR(100) NOT NULL,

employee_title VARCHAR(40) NOT NULL,

entry_date DATE,

PRIMARY KEY(employee_id)

);

4.1.2库存信息表的创建

CREATE TABLE `s_stock`(

`id` INT UNSIGNED auto_increment,

`goods_id` VARCHAR(100) NOT NULL,

`goods_name` VARCHAR(40) NOT NULL,

`goods_price` DECIMAL(8,4),

`store_goods_num` VARCHAR(40) NOT NULL,

`storehouse_id` VARCHAR(100) NOT NULL,

`storage_time` date,

`delivery_time` date,

`delivery_num` VARCHAR(40),

PRIMARY KEY (`id`, `goods_id`)

);

4.1.3仓库信息表的创建

CREATE TABLE `s_storehouse`(

`storehouse_id` INT UNSIGNED auto_increment,

`storehouse_name` VARCHAR(40) NOT NULL,

PRIMARY KEY (`storehouse_id`)

)ENGINE=InnoDB DEFAULT charset=utf8;

4.1.4商品信息表的创建

CREATE TABLE s_goods(

goods_id INT PRIMARY KEY auto_increment,

goods_name VARCHAR (20) NOT NULL,

goods_price DECIMAL (6,2) NOT NULL,

goodstype INT,

CONSTRAINT id_fk FOREIGN KEY(goodstype) REFERENCES s_goodstype(type_id)

);

4.1.5商品类型信息表的创建

CREATE TABLE s_goodstype(

type_id INT PRIMARY KEY auto_increment,

type_name VARCHAR (20) NOT NULL,

content VARCHAR (50)

);

4.1.6供应商类型信息表的创建

CREATE TABLE s_supplier(

supplier_id int UNSIGNED auto_increment,

supplier_name VARCHAR(40) NOT NULL,

supplier_telephone VARCHAR (20) NOT NULL,

supplier_address VARCHAR(60) NOT NULL,

PRIMARY KEY(supplier_id)

);

2.使用SQL语句完成表数据的添加

4.2.1员工表数据的添加

insert into s_employee VALUES (629001,'张三','男',28,'登记员','2022-06-20');

insert into s_employee VALUES (629002,'李四','男',34,'仓管','2021-07-10');

insert into s_employee VALUES (629003,'王五','男',45,'财务','2020-04-20');

insert into s_employee VALUES (629004,'李牛','男',24,'货运','2022-09-21');

insert into s_employee VALUES (629005,'马丁','男',28,'搬运','2022-06-20');

insert into s_employee VALUES (629006,'牛七','男',29,'收银员','2021-07-20');

4.2.2库存表数据的添加

INSERT INTO s_stock VALUES (1, 11000,'海飞丝洗发水',65.00,87,22000,'2022-04-07','2022-04-27',20);

INSERT INTO s_stock VALUES (2, 11000,'海飞丝洗发水',65.00,52,22001,'2022-04-07','2022-04-19',10);

INSERT INTO s_stock VALUES (3, 11001,'黑人牙膏',18.00,20,22003,'2021-12-12','2022-01-17',20);

INSERT INTO s_stock VALUES (4, 11002,'丹姿护发素',29.00,103,22003,'2020-11-07','2020-11-11',88);

INSERT INTO s_stock VALUES (5, 11003,'蓝月亮洗衣液',49.00,64,22002,'2021-05-01','2021-06-18',50);

INSERT INTO s_stock VALUES (6, 11004,'洁柔抽纸',69.00,200,22004,'2022-01-01','2022-04-03',180);

INSERT INTO s_stock VALUES (7, 11005,'洗面奶',38.00,370,22005,'2022-02-16','2022-05-27',108);

INSERT INTO s_stock VALUES (8, 11006,'护手霜',25.00,123,22002,'2021-10-01','2021-11-11',108);

INSERT INTO s_stock VALUES (9, 11006,'太谷饼',15.00,103,22004,'2021-11-01','2021-12-11',18);

INSERT INTO s_stock VALUES (10, 11006,'可口可乐',4.00,223,22000,'2022-10-01','2022-11-11',208);

INSERT INTO s_stock VALUES (11, 11006,'电动牙刷',125.00,323,22001,'2021-09-01','2021-09-11',128);

INSERT INTO s_stock VALUES (12, 11006,'香蕉',5.00,456,22000,'2022-09-01','2022-10-11',356);

INSERT INTO s_stock VALUES (13, 11006,'草莓',25.00,234,22003,'2022-02-01','2022-02-11',134);

4.2.3仓库表数据的添加

insert into s_storehouse VALUES (22000,'华中仓库1号');

insert into s_storehouse VALUES (22001,'华东仓库2号');

insert into s_storehouse VALUES (22002,'华南仓库3号');

insert into s_storehouse VALUES (22003,'华西仓库4号');

insert into s_storehouse VALUES (22004,'华北仓库5号');

4.2.4商品表数据的添加

INSERT INTO s_goods VALUES (1,'海飞丝洗发水',65.00,3);

INSERT INTO s_goods VALUES (2,'黑人牙膏',18.00,3);

INSERT INTO s_goods VALUES (3,'丹姿护发素',65.00,3);

INSERT INTO s_goods VALUES (4,'蓝月亮洗衣液',49.00,2);

INSERT INTO s_goods VALUES (5,'洁柔抽纸',69.00,2);

INSERT INTO s_goods VALUES (6,'洗面奶',38.00,3);

INSERT INTO s_goods VALUES (7,'护手霜',25.00,4);

INSERT INTO s_goods VALUES (8,'太谷饼',15.00,6);

INSERT INTO s_goods VALUES (9,'可口可乐',4.00,6);

INSERT INTO s_goods VALUES (10,'电动牙刷',125.00,1);

INSERT INTO s_goods VALUES (11,'香蕉',5.00,5);

INSERT INTO s_goods VALUES (12,'草莓',25.00,5);

4.2.5商品类型表数据的添加

INSERT INTO s_goodstype VALUES (1,'家用电器','电器类商品为高价值商品应重点维护');

INSERT INTO s_goodstype VALUES (2,'日常生活用品','日常生活用品种类复杂注意分类');

INSERT INTO s_goodstype VALUES (3,'洗漱用品','洗头的与洗脸的不要混乱摆放,给顾客造成不便');

INSERT INTO s_goodstype VALUES (4,'护肤品','各品牌护肤品摆放整齐');

INSERT INTO s_goodstype VALUES (5,'生鲜水果','保质期较短货架上的生鲜水果必须要是新鲜的');

INSERT INTO s_goodstype VALUES (6,'食品饮料','注意食品饮料的保质期,过期食品不要出现在货架上');

4.2.6供应商表数据的添加

INSERT INTO s_supplier VALUES (1,'赵六',13456727896,'杭州');

INSERT INTO s_supplier VALUES (2,'孙琪',13678765678,'西安');

INSERT INTO s_supplier VALUES (3,'牛八',13994987689,'福建');

INSERT INTO s_supplier VALUES (4,'李九',13245678967,'郑州');

INSERT INTO s_supplier VALUES (5,'张十',13776789567,'昆明');

INSERT INTO s_supplier VALUES (6,'钱九',13843567779,'重庆');

INSERT INTO s_supplier VALUES (7,'胡七',13564565656,'黑龙江');

3.使用SQL语句自定义创建视图

4.3.1员工表的视图

CREATE VIEW s_employee_view AS SELECT employee_name,employee_age from s_employee;

SELECT * FROM s_employee_view;

4.3.2库存表的视图

CREATE VIEW s_stock_view AS SELECT delivery_time,store_goods_num FROM s_stock;

SELECT * FROM s_stock_view;

4.3.3仓库表的视图

CREATE VIEW s_storehouse_view AS SELECT storehouse_id,storehouse_name FROM s_storehouse;

SELECT * FROM s_storehouse_view;

4.3.4商品表的视图

CREATE VIEW s_goods_view AS SELECT goods_name,goods_price FROM s_goods;

SELECT * FROM s_goods_view;

4.3.5商品类型的视图

CREATE VIEW s_goodstype_view AS SELECT type_name,content FROM s_goodstype;

SELECT * FROM s_goodstype_view;

4.3.6供应商表的视图

CREATE VIEW s_supplier_view AS SELECT supplier_name,supplier_address FROM s_supplier;

SELECT * FROM s_supplier_view;

4.使用SQL语句自定义完成增删改查操作

4.4.1进行表内容的增加

#在员工表员工id后面再添加一列任职仓库

ALTER TABLE s_employee ADD COLUMN storehouse_id VARCHAR(100)

NULL

AFTER employee_id;

4.4.2进行表内容的删除

#删除id=1的商品

DELETE FROM s_goods

WHERE goods_id = 1;

4.4.3进行表内容的修改

#将洁柔抽纸的价格修改为九折后的价格

UPDATE s_stock SET goods_price=ROUND(goods_price*0.9,4)WHERE goods_name='洁柔抽纸';

#把丹姿护发素的出库数量修改为3

UPDATE s_stock SET delivery_num=3 WHERE goods_name='丹姿护发素';

4.4.4进行表的查找

#显示各商品的出库数量,按出库数量有多到少排列

#ORDER BY

SELECT s.goods_name,SUM(s.delivery_num) AS num

FROM s_stock AS s

GROUP BY s.goods_name

ORDER BY num DESC;

五、总结

  • 244
    点赞
  • 1995
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 89
    评论
超市管理系统 目录 项目简介 需求分析 编程软件以及环境 数据库基本表和E—R图 数据库框架介绍 源代码段分析 问题解决 数据库大作业--超市管理系统全文共12页,当前为第1页。 数据库大作业--超市管理系统全文共12页,当前为第1页。 一、系统的设计理念 本小组设计的是一个超市管理系统,针对小型的超市的线下管理,旨在实现一些超市管理常用的功能,主要包括顾客访问功能,超市员工访问功能以及超市管理者访问功能。方便顾客获得商品的相关信息、便于员工、管理员对员工信息、商品的管理。该系统想法源于学校的小卖部。 二、需求分析 本系统为小型超市管理系统,为了较好的满足要求,就需要了解超市销售管理的情况。对于超市来说,有很多信息是具有价值的,比如客源、服务人员以及管理层人员,除此之外,还应该保存货物的相关信息,因此,这个系统也是从三方面来展开的。超市的顾客可以通过系统得知商品的价格等信息,从而方便进行选购;超市的工作人员更加在意的是商品的库存与摆放,与此同时还应当关注到自己的情况;而超市管理层则更多的是关注员工的表现以及超市在一段时间之内的销售情况,以便进行管理和决策。 三、编程软件及环境 编程软件: 1、Visual studio 2013 2、Mysql数据库操作系统 3、Navicat for mysql数据库可视化工具 系统环境: 数据库大作业--超市管理系统全文共12页,当前为第2页。系统采用的编程语言为c语言、sql语句。 数据库大作业--超市管理系统全文共12页,当前为第2页。 首先通过vs2013添加mysql软件提供的数据库连接的类库,包括mysql的头文件和相应的类,来配置mysql函数运行的环境。在程序中通过添加头文件#include <mysql.h>,利用其中提供的api函数来对数据库进行交互。 四、数据库的基本表和E-R图 (1)员工的实体建立的表 主键为员工的编号,姓名不为空 商品实体的表 主键为商品的编号,属性都不为空 (3)货架的表 数据库大作业--超市管理系统全文共12页,当前为第3页。主键为编号和商品编号 数据库大作业--超市管理系统全文共12页,当前为第3页。 进货表 主键为商品编号 (5)日销售量的表 数据库大作业--超市管理系统全文共12页,当前为第4页。 数据库大作业--超市管理系统全文共12页,当前为第4页。 (6)实体之间的关联(E-R图) 员工与商品之间的关系是整理,1对多; 员工与销售之间是记录关系,1对多; 货架与商品之间是摆放关系,1对多; 数据库大作业--超市管理系统全文共12页,当前为第5页。 数据库大作业--超市管理系统全文共12页,当前为第5页。 数据库基本框架 本系统主要分为三大部分:管理员部分、员工部分、顾客部分 如图,数据库的主界面如下: 其中顾客访问界面如下 它主要实现的功能是使顾客可以通过商品的名称或者是商品的类别去找到自己所需要的商品,得到一部分商品的信息 数据库大作业--超市管理系统全文共12页,当前为第6页。 数据库大作业--超市管理系统全文共12页,当前为第6页。 管理员界面 在进入管理员界面之前必须要完成一个登录的过程,只有输入正确的用户名和密码才能进入。管理员可以实现的操作是可以查询到员工的信息,其中有部分的信息可以修改。此外还可以观测到本日的销售额。 实验的界面如下 数据库大作业--超市管理系统全文共12页,当前为第7页。 数据库大作业--超市管理系统全文共12页,当前为第7页。 这是管理员界面拥有的两个功能:员工信息的查询修改;销售情况的查看 员工信息的查询修改部分的界面:以实现的功能有按照员工的编号或者姓名查询员工的信息;然后可以对选择的员工可以进行修改;还有一项添加员工信息的功能。(失败会提示) 数据库大作业--超市管理系统全文共12页,当前为第8页。 数据库大作业--超市管理系统全文共12页,当前为第8页。 管理员界面中的销售情况的界面:管理员可以查看之前的销售情况,根据日期或者商品编号。 员工界面 数据库大作业--超市管理系统全文共12页,当前为第9页。员工进入时需要账号和密码(账号为员工的名字,密码一开始为空,后来进入界面后可以自己设计数据库大作业--超市管理系统全文共12页,当前为第9页。 员工界面主要包括以下功能:对个人信息的管理、对商品信息的管理、记录超市的销售情况。 个人信息的界面:可以查看或者对自己信息的修改 数据库大作业--超市管理系统全文共12页,当前为第10页。 数据库大作业--超市管理系统全文共12页,当前为第10页。 商品信息管理的界面:比顾客界面多了修改和添加的功能,以便对商品的管理数据库大作业--超市管理系统全文共12页,当前为第11页。记录销售情况的界面: 数据库大作业--超市管理系统全文共12页,当
评论 89
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

左岸2420

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值