Mysql 设计超市经营管理系统,包括商品信息表(goods)表 和 商品类型表(goodstype)

一  需求分析

为进一步完善连锁超市经营管理,提高管理效率,减少管理成本,决定开发一套商品管理系统,用于日常的管理。本系统分为商品管理、员工管理、店铺管理,库存管理等功能模块。本次开发,主要针对商品管理功能,具备添加商品,修改商品信息等功能,具体数据库设计如下,请你根据需求完成数据库的设计与相应功能。

二  数据字典

表1:商品信息表(goods)

序号

字段名

说明

数据类型

约束

备注

1

goodsid

商品编号

Int

主键,自动增长

 

2

goodsname

商品名称

Varchar

长度20,非空

 

3

Price

商品价格

Decimal

长度6,小数2

 

4

Goodstype

商品类型

Int

外键,引用商品类型表的主键

 

5

Place

商品产地

Varchar

长度50

 

CREATE TABLE goods(
goodsid int PRIMARY KEY auto_increment,
goodsname VARCHAR(20) NOT NULL,
price DECIMAL(6,2),
goodstype int,
place VARCHAR(50),
CONSTRAINT id_fk FOREIGN KEY(goodstype) REFERENCES goodstype(Ttpeid)
);

表2:商品类型表(goodstype)

序号

字段名

说明

数据类型

约束

备注

1

Typeid

类型编号

Int

主键,自动增长

 

2

Typename

类型名称

Varchar

长度20,非空

 

3

Content

备注

Varchar

长度50

 

CREATE TABLE goodstype(
Ttpeid int PRIMARY KEY auto_increment,
typename VARCHAR(20) NOT NULL,
content VARCHAR(50)
);

1 测试数据

Goods 表:

goodsid

goodsname

Price

Goodstype

Place

1

飞利浦SP100净化器

2500.00

1

武汉

2

山东红富士苹果(一级果)

12.50

3

山东

3

康师傅桶装方便面(红烧牛肉面)

4.50

2

杭州

4

格力NS-8823变频空调

2350.00

1

珠海

5

泰国山竹特级

25.00

3

泰国

INSERT INTO `goods` VALUES (1, '飞利浦SP100净化器', 2500.00, 1, '武汉');
INSERT INTO `goods` VALUES (2, '山东红富士苹果(一级果)', 12.50, 3, '山东');
INSERT INTO `goods` VALUES (3, '康师傅桶装方便面(红烧牛肉面)', 4.50, 2, '杭州');
INSERT INTO `goods` VALUES (4, '格力NS-8823变频空调', 2350.00, 1, '珠海');
INSERT INTO `goods` VALUES (5, '泰国山竹特级', 25.00, 3, '泰国');

goodsType 表:

Typeid

Typename

Content

1

家用电器

电器类商品为高价值商品,重点维护

2

食品饮料

注意加强检查

3

水果生鲜

 

INSERT INTO `goodstype` VALUES (1, '家用电器', '电器类商品为高价值商品,重点维护');
INSERT INTO `goodstype` VALUES (2, '食品饮料', '注意加强检查');
INSERT INTO `goodstype` VALUES (3, '水果生鲜', '');

2/功能实现

  1. 实现商品进货,商品名称“光明发酵酸奶500ml”,商品价格8.50元,商品类型食品饮料,产地为内蒙古。
    INSERT INTO goods VALUES(6,'光明发酵酸奶500ml',8.5,2,'蒙古');
    

     

  2. 显示所有商品的信息,按照价格的降序排列。
    SELECT * FROM goods  ORDER BY price desc

     

  3. 统计各类商品的平均单价,显示商品的类型和平均单价。
    SELECT goodstype 商品类型,AVG(price) 商品平均单价 FROM goods GROUP BY goodstype

     

  4. 超市进行商品促销,现对所有商品进行8.5折销售,显示商品名称和折扣后价格,四舍五入保留两位小数。
    SELECT goodsname,ROUND(price*0.85,2) FROM goods 

     

数据库完整导入代码:

-- ----------------------------
-- Table structure for goods
-- ----------------------------
DROP TABLE IF EXISTS `goods`;
CREATE TABLE `goods`  (
  `goodsid` int(11) NOT NULL AUTO_INCREMENT,
  `goodsname` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `price` decimal(6, 2) NULL DEFAULT NULL,
  `goodstype` int(11) NULL DEFAULT NULL,
  `place` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`goodsid`) USING BTREE,
  INDEX `id_fk`(`goodstype`) USING BTREE,
  CONSTRAINT `id_fk` FOREIGN KEY (`goodstype`) REFERENCES `goodstype` (`ttpeid`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of goods
-- ----------------------------
INSERT INTO `goods` VALUES (1, '飞利浦SP100净化器', 2500.00, 1, '武汉');
INSERT INTO `goods` VALUES (2, '山东红富士苹果(一级果)', 12.50, 3, '山东');
INSERT INTO `goods` VALUES (3, '康师傅桶装方便面(红烧牛肉面)', 4.50, 2, '杭州');
INSERT INTO `goods` VALUES (4, '格力NS-8823变频空调', 2350.00, 1, '珠海');
INSERT INTO `goods` VALUES (5, '泰国山竹特级', 25.00, 3, '泰国');

-- ----------------------------
-- Table structure for goodstype
-- ----------------------------
DROP TABLE IF EXISTS `goodstype`;
CREATE TABLE `goodstype`  (
  `Ttpeid` int(11) NOT NULL AUTO_INCREMENT,
  `typename` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  `content` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`Ttpeid`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of goodstype
-- ----------------------------
INSERT INTO `goodstype` VALUES (1, '家用电器', '电器类商品为高价值商品,重点维护');
INSERT INTO `goodstype` VALUES (2, '食品饮料', '注意加强检查');
INSERT INTO `goodstype` VALUES (3, '水果生鲜', '');

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章