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(Typeid)
);
表2:商品类型表(goodstype)
|
序号 |
字段名 |
说明 |
数据类型 |
约束 |
备注 |
|
1 |
Typeid |
类型编号 |
Int |
主键,自动增长 |
|
|
2 |
Typename |
类型名称 |
Varchar |
长度20,非空 |
|
|
3 |
Content |
备注 |
Varchar |
长度50 |
CREATE TABLE goodstype(
Typeid 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
5、修改“泰国山竹特级”的价格为23元。
UPDATE goods SET price=23 WHERE goodsname='泰国山竹特级'
数据库完整导入代码:
-- ----------------------------
-- 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` (`typeid`) 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` (
`Typeid` 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, '水果生鲜', '');
Mysql 设计超市经营管理系统,包括商品信息表(goods) 和 商品类型表(goodstype)的更多相关文章
- Mysql 设计超市经营管理系统,包括员工信息表(employee)和 员工部门表(department)
互联网技术学院周测机试题(二) 一.需求分析 为进一步完善连锁超市经营管理,提高管理效率,减少管理成本,决定开发一套商品管理系统,用于日常的管理.本系统分为商品管理.员工管理.店铺管理,库存管理等功能 ...
- Mysql 设计超市经营管理系统,包括员工库存表(stock) 和 仓库表(warehouse)
互联网技术学院周测机试题(三) 一.需求分析 为进一步完善连锁超市经营管理,提高管理效率,减少管理成本,决定开发一套商品管理系统,用于日常的管理.本系统分为商品管理.员工管理.店铺管理,库存管理等功能 ...
- Java Swing设计简单商品信息管理系统(java swing+mysql+eclipse)
一.概述 为了管理好商店库存信息,提升店铺管理工作效率,结合实际工作需要,设计和开发本系统,主要用于商店商品信息维护出入库等.包含商品库存信息查看.商品信息修改,新增商品信息,删除信息等功能. 二.功 ...
- Java生鲜电商平台-商品分类表和商品类型表的区别与数据库设计
Java生鲜电商平台-商品分类表和商品类型表的区别与数据库设计 二者服务的对象不一样 目的也是不一样的 商品分类是为商品服务的 用来管理商品 商品类型是为扩展属性服务的 用来管理属性 举例:[转] ...
- Servlet作业2-将表单提交的商品信息输出到页面中
1,表单页面 shangpin.html <!DOCTYPE html> <html> <head> <meta charset="UTF-8&qu ...
- PHP基础示例:商品信息管理系统v1.1[转]
实现目标:使用php和mysql写一个商品信息管理系统,并带有购物车功能 一.创建数据库和表 1.创建数据库和表:demodb 2.创建表格:goods 字段:商品编号,商品名称,商品类型,商品图 ...
- PHP基础示例:商品信息管理系统v1.1
实现目标:使用php和mysql写一个商品信息管理系统,并带有购物车功能 一.创建数据库和表 1.创建数据库和表:demodb 2.创建表格:goods 字段:商品编号,商品名称,商品类型,商品图片, ...
- 用C语言制作小型商品信息管理系统过程中的问题
大神请默默飘过... 以下是第一次制作时的源码: // 商品信息管理.cpp : 定义控制台应用程序的入口点. // // 小型商品信息管理系统.cpp : 定义控制台应用程序的入口点. // #in ...
- 简易商品信息管理系统——首个Web项目
正文之前 在学习了一段时间的Java Web的内容之后,当然需要有个项目来练练手,我相信大多数人的首选项目都是信息管理系统吧,所以我选择了商品信息管理系统 目前项目源码已全部上传至GitHub,欢迎大 ...
随机推荐
- Output of C++ Program | Set 7
Predict the output of following C++ programs. Question 1 1 class Test1 2 { 3 int y; 4 }; 5 6 class T ...
- 【Linux】【Services】【Web】Nginx基础
1. 概念 1.1. 消息通知机制:同步synchronous,异步asynchronous 同步:等待对方返回信息 异步:被调用者通过状态.通知或回调通知调用者 状态:调用者每隔一段时间就需要检查一 ...
- 【Services】【Web】【apr】安装apr
1. 基础: 1.1 描述:apr全称Apache Portable Runtime,常用于与ssl相关的环境支持,比如openssl,httpd,nginx,tomcat 1.2 链接: 官方网站: ...
- 【Python】CV2的一些基本操作
·导入: import cv2 ·读取图片: img = cv2.imread('路径') 使用函数cv2.imread(filepath,flags)读入一副图片 filepath:要读入图片的完整 ...
- 莫烦python教程学习笔记——数据预处理之normalization
# View more python learning tutorial on my Youtube and Youku channel!!! # Youtube video tutorial: ht ...
- 查看MySQL正在执行的线程
一.使用SQL语句查询正在执行的线程 SHOW PROCESSLIST; 二.使用kill 线程id就可以结束线程(引起数据变化的线程需特别小心) SHOW PROCESSLIST; +------+ ...
- UVA10079 Pizza Cutting 题解
Content 求用 \(n\) 条直线最多能将平面分成多少块区域. 多组输入,以一个负数结束. 数据范围:\(0\leqslant n\leqslant 2.1\times 10^8\). Solu ...
- java 编程基础 Class对象 反射:动态代理 和AOP:java.lang.reflect.Proxy:(Proxy.newProxyInstance(newProxyInstance(ClassLoader loader, Class<?>[] interfaces, InvocationHandler h))
为什么我们使用动态代理 静态代理会让类变多了,多了代理类,工作量变大了,且不易扩展.比如我们上节课的例子,要实现不同的扩展方法就要编写不同的代理类,非常麻烦. Proxy类的使用规则 Proxy提 ...
- JAVA生成文件的md5校验值
这里使用了lombok打印日志,也可以不用 import java.io.File; import java.io.FileInputStream; import java.io.IOExceptio ...
- JAVA获取当前日期时间所在周的周一和周日日期
/** * 获取当前时间所在周的周一和周日的日期时间 * @return */ public static Map<String,String> getWeekDate() { Map&l ...