【精品】商品规格 数据库表 设计

news2024/11/26 8:46:23

特点

  • 同一类商品的规格项分组一样
  • 同一类商品的规格项一样
  • 不同商品的规格值是不同的
规格参数
	规格组
		规格项:规格值

本博客对应的SQL文件下载地址:https://download.csdn.net/download/lianghecai52171314/88306884

方案一

数据库设计

请添加图片描述

查询17号商品的规格

SELECT
	tb_specs_group.group_name, 
	tb_specs.specs_name, 
	tb_specs_value.specs_value
FROM
	tb_goods
	LEFT JOIN
	tb_specs_value
	ON 
		tb_goods.id = tb_specs_value.goods_id
	LEFT JOIN
	tb_specs
	ON 
		tb_specs_value.specs_id = tb_specs.id
	LEFT JOIN
	tb_specs_group
	ON 
		tb_specs.specs_group_id = tb_specs_group.id
	LEFT JOIN
	tb_category
	ON 
		tb_goods.category_id = tb_category.id AND
		tb_specs_group.category_id = tb_category.id
WHERE
	tb_goods.id = 17

结果:
请添加图片描述

存在问题

  • 需要创建多张表来描述规格参数之间的关系
  • 查询时需要构造复杂的SQL语句
  • 规格参数的数据量十分庞大,是商品信息的几十倍,查询效率很低
  • 无法实现:要求新添加的商品的规格项发生改变,之前的商品不变的需求

方案二:模板思路

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/980161.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PY32F003F18的中断线

PY32F003F18的中断线有30条,其中Line20~Line28保留不用,见下图: Line0~Line8需要配置,选择引脚和中断线连接,和GPIO引脚对应,Line9~Line15和PA9~PA15一一对应。见下图: 外部中断选择寄存器1(EXT…

国际慈善日 | 追寻大爱无疆,拓世科技集团的公益之路

每年的9月5日,是联合国大会正式选定的国际慈善日。这一天的设立,旨在通过提高公众对慈善活动的意识,鼓励慈善公益活动通过各种形式在全球范围内得到增强和发展。这是一个向慈善公益事业致敬的日子,同时也是呼吁全球团结一致共同发…

Swagger简介

一.导语: 相信无论是前端还是后端开发,都或多或少地被接口文档折磨过。前端经常抱怨后端给的接口文档与实际情况不一致。后端又觉得编写及维护接口文档会耗费不少精力,经常来不及更新。其实无论是前端调用后端,还是后端调用后端&…

尼尔森IQ :2023年中国商业养老服务供需洞察白皮书

核心观点 随着我国人口年龄结构发生巨大转变,老龄化问题成为未来较长时间内持续面临的挑战,积极应对老龄化已上升为国家战略,有效的、高质量的养老服务体系亟待建设。本章通过人口数据揭示我国老龄化进程,总结围绕养老领域出台的…

“银河护卫队总部”放大招!Milvus 核心组件再升级,主打就是一个低延迟、高准确度

熟悉我们的朋友都知道,在 Milvus 和 Zilliz Cloud 中,有一个至关重要的组件——Knowhere。 Knowhere 是什么?如果把向量数据库整体看作漫威银河护卫队宇宙,那么 Knowhere 就是名副其实的总部,它的主要功能是对向量精确…

linux 进程管理命令

进程管理命令 查看进程命令 ps命令 显示系统上运行的进程列表 # 查看系统中所有正在运行的系统ps aux# 获取占用内存资源最多的10个进程,可以使用如下命令组合:ps aux|head -1;ps aux|grep -v PID|sort -rn -k 4|head# 获取占用CPU资源最多的10个进程&am…

成本控制与电子元器件采购:实现效益的关键因素

成本控制在电子元器件采购中至关重要,它直接影响了组织的盈利能力和竞争力。以下是实现成本效益的关键因素: 供应商谈判: 成本控制的第一步是与供应商进行有效的谈判。这包括谈判价格、交货条件、质量标准和其他合同条款。有时长期合同可以帮…

【数学建模竞赛】优化类赛题常用算法解析

优化类建模 问题理解和建模:首先,需要深入理解问题,并将问题抽象为数学模型。这包括确定问题的目标函数、约束条件和决策变量。 模型分析和求解方法选择:对建立的数学模型进行分析,可以使用数学工具和方法,…

绘制钻头芯厚变化图

import numpy as np import matplotlib.pyplot as plt posnp.array([0.05,0.5,0.97,3]) data_m1np.array([0.088,0.093,0.098,0.116]) data_m2data_m1-0.01 data_m3data_m1-0.02 fig plt.figure(figsize(5, 4)) plt.rcParams[xtick.direction] in # 将x周的刻度线方向设置向…

miners lamp

矿灯、头灯,夜间作业

嵌入式软件有限状态机的 C 语言实现

状态机模式是一种行为模式,通过多态实现不同状态的调转行为的确是一种很好的方法,只可惜在嵌入式环境下,有时只能写纯C代码,并且还需要考虑代码的重入和多任务请求跳转等情形,因此实现起来着实需要一番考虑。 近日在看…

Arduino驱动ML8511紫外线传感器(光照传感器篇)

目录 1、传感器特性 2、控制器和传感器连线图 3、驱动程序 ML8511传感器,可以用来检测室内或室外的紫外线密度。通过将光电流转化成电压的原理来检测UV强度,同时非常适合被被外部电路所采用。该模块还具备省电模式可达0.1uA,适合在智能可穿戴和手机等设备上使用。

横版武侠手游推荐,有什么武侠游戏好玩的手游?

武侠游戏是游戏市场上不可或缺的游戏类型,许多武侠手游沿用了经典武侠小说中的各种设置,为玩家创造了一个身临其境的世界。有什么武侠游戏好玩的手游?今天小编就为大家带来了横版武侠手游推荐,这些游戏的游戏性和操作感是同类游戏…

vue使用wangEditor

vue版本2.0&#xff1b;editor5.1.23版本&#xff1b;editor-for-vue&#xff1a;1.0.2版本 api文档入口 效果图 安装步骤入口 npm install wangeditor/editor --savenpm install wangeditor/editor-for-vue --save代码 <template><div><div style"bor…

字体排版小白也能Get!4个超简单技巧让你的文字焕然一新

文字排版设计不仅是指为Web或APP的界面选择正确的字体&#xff0c;排版中的文本层次结构、字体比例、空白、颜色对比和其他视觉效果也有助于传递品牌的特定信息。优秀的文字排版设计需要传达清晰有效的信息&#xff0c;始终把内容的可读性放在首位去考虑和权衡。今天就带大家梳…

自动化测试系列 —— UI自动化测试

UI 测试是一种测试类型&#xff0c;也称为用户界面测试&#xff0c;通过该测试&#xff0c;我们检查应用程序的界面是否工作正常或是否存在任何妨碍用户行为且不符合书面规格的 BUG。了解用户将如何在用户和网站之间进行交互以执行 UI 测试至关重要&#xff0c;通过执行 UI 测试…

装饰器模式:让你的对象变得更强大

在日常开发中&#xff0c;当需要给一个现有类添加附加职责&#xff0c;而又不能采用生成子类的方法进行扩充时。例如&#xff0c;该类被隐藏或者该类是终极类或者采用继承方式会产生大量的子类。这时候&#xff0c;我们该怎么办呢&#xff1f;我们可以使用装饰器器模式来解决这…

Xilinx ZYNQ 7000学习笔记三(小结)

1 启动模式&#xff1a; ZYNQ 7000的启动模式由外部引脚决定的&#xff0c;5个模式引脚MIO[6:2]用于配置NAND flash、并行NOR flash、Serial NOR (Quad-SPI)、SD flash以及JTAG 一共5种启动模式。具体而言就是复位时&#xff0c;zynq-7000 SOC对下述引脚进行连续3个时钟周期采…

从Overleaf提交到arxiv

1.文件结构注意避坑&#xff01;&#xff01;&#xff01; 前期在overleaf写论文时&#xff0c;为了使文件结构目录清晰&#xff0c;分别建了section, image等子文件夹&#xff0c;即 >project>image-XXx.pdf-xxx.pdf>sections-abstract.tex-method.tex>main.tex…

ProcessWindowFunction 结合自定义触发器的陷阱

背景&#xff1a; flink中常见的需求如下&#xff1a;统计某个页面一天内的点击率,每10秒输出一次&#xff0c;我们如果采用ProcessWindowFunction 结合自定义触发器如何实现呢&#xff1f;如果这样实现问题是什么呢&#xff1f; ProcessWindowFunction 结合自定义触发器实现…