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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: Mysql 设计超市经营管理系统,包括商品信息表(goods) 和 商品类型表(goodstype)

互联网技术学院周测机试题(一)

 

一  需求分析


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


二  数据字典


表1:商品信息表(goods)


49.png


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)


50.png

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


1、测试数据

Goods 表:

51.png


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 表:

52.png


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, '水果生鲜', '');
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
8月前
|
存储 SQL 关系型数据库
【YashanDB知识库】MySQL迁移至崖山char类型数据自动补空格问题
**简介**:在MySQL迁移到崖山环境时,若字段类型为char(2),而应用存储的数据仅为'0'或'1',查询时崖山会自动补空格。原因是mysql的sql_mode可能启用了PAD_CHAR_TO_FULL_LENGTH模式,导致保留CHAR类型尾随空格。解决方法是与应用确认数据需求,可将崖山环境中的char类型改为varchar类型以规避补空格问题,适用于所有版本。
|
8月前
|
关系型数据库 MySQL Java
【YashanDB知识库】崖山BIT类型对MYSQL兼容问题
【YashanDB知识库】崖山BIT类型对MYSQL兼容问题
|
8月前
|
自然语言处理 关系型数据库 MySQL
MySQL索引有哪些类型?
● 普通索引:最基本的索引,没有任何限制。 ● 唯一索引:索引列的值必须唯一,但可以有空值。可以创建组合索引,则列值的组合必须唯一。 ● 主键索引:是特殊的唯一索引,不可以有空值,且表中只存在一个该值。 ● 组合索引:多列值组成一个索引,用于组合搜索,效率高于索引合并。 ● 全文索引:对文本的内容进行分词,进行搜索。
|
10月前
|
机器学习/深度学习 关系型数据库 MySQL
mysql bit对gorm使用何种类型?
在GORM中使用MySQL的BIT类型时,通常使用 `bool`类型来处理BIT(1),使用 `[]byte`类型来处理BIT(N)(N > 1)。通过正确的类型映射和位操作,可以高效地处理位字段数据。确保在定义结构体字段时,明确指定字段类型,以便GORM能够正确地处理数据库交互。
236 18
|
9月前
|
存储 SQL 关系型数据库
【YashanDB 知识库】MySQL 迁移至崖山 char 类型数据自动补空格问题
问题分类】功能使用 【关键字】char,char(1) 【问题描述】MySQL 迁移至崖山环境,字段类型源端和目标端都为 char(2),但应用存储的数据为'0'、'1',此时崖山查询该表字段时会自动补充空格 【问题原因分析】mysql 有 sql_mode 控制,检查是否启用了 PAD_CHAR_TO_FULL_LENGTH SQL 模式。如果启用了这个模式,MySQL 才会保留 CHAR 类型字段的尾随空格,默认没有启动。 #查看sql_mode mysql> SHOW VARIABLES LIKE 'sql_mode'; 【解决/规避方法】与应用确认存储的数据,正确定义数据
|
11月前
|
存储 关系型数据库 MySQL
mysql怎么查询longblob类型数据的大小
通过本文的介绍,希望您能深入理解如何查询MySQL中 `LONG BLOB`类型数据的大小,并结合优化技术提升查询性能,以满足实际业务需求。
461 6
|
分布式计算 关系型数据库 MySQL
SpringBoot项目中mysql字段映射使用JSONObject和JSONArray类型
SpringBoot项目中mysql字段映射使用JSONObject和JSONArray类型 图像处理 光通信 分布式计算 算法语言 信息技术 计算机应用
247 8
|
关系型数据库 MySQL
用dbeaver创建一个enum类型,并讲述一部分,mysql的enum类型的知识
这篇文章介绍了如何在DBeaver中创建MySQL表的枚举(ENUM)字段,并探讨了MySQL中ENUM类型的一些行为特点,例如ENUM值的默认排序和在插入重复值时的表现。
317 1
用dbeaver创建一个enum类型,并讲述一部分,mysql的enum类型的知识
|
关系型数据库 MySQL 数据库
Python MySQL查询返回字典类型数据的方法
通过使用 `mysql-connector-python`库并选择 `MySQLCursorDict`作为游标类型,您可以轻松地将MySQL查询结果以字典类型返回。这种方式提高了代码的可读性,使得数据操作更加直观和方便。上述步骤和示例代码展示了如何实现这一功能,希望对您的项目开发有所帮助。
417 4
|
关系型数据库 MySQL Java
SpringBoot项目中mysql字段映射使用JSONObject和JSONArray类型
SpringBoot项目中mysql字段映射使用JSONObject和JSONArray类型
239 0

推荐镜像

更多