问题的提出: 网上商城对产品进行了很多分类,不同的分类产品又有不同的属性,比如,电脑的属性有:CUP,内存, 主板,硬盘等等,服装的属性有:布料,尺寸,颜色等等,那么产品表以及产品分类表应该如何设计才能满足 不同类型产品的区别呢? 解决方案: 产
问题的提出:网上商城对产品进行了很多分类,不同的分类产品又有不同的属性,比如,电脑的属性有:CUP,内存,主板,硬盘等等,服装的属性有:布料,尺寸,颜色等等,那么产品表以及产品分类表应该如何设计才能满足
不同类型产品的区别呢?
解决方案:
产品分类表的设计
第一种设计思路:使用树形结构,递归的形式,可以对产品进行N种 分类,只要你喜欢,树形结构在数据库的设计中
经常用到,比如功能菜单表等以下是一个简单的产品分类表。
说明:上级类别ID为该表的外键,并关联到本级类别ID,这样就可以对产进行N中分类了,这种设计
思想十分灵活,是无限分类中最常用到的。
第二种设计思路:定义N个类别表,并对他们进行关联,如图:
说明:这种设计在项目中没有人会使用它,因为产品的分类是不固定的,很难在数据库设计的时候确定
类别 表的个数,很不灵活。
2、产品表的设计
第一种设计思路:直接在产品表预留N个字段,用到的时候直接插入数据,如图
可行性:会产生很多字段的冗余,并且不知道到底需要多少个字段,数据类型也不能确定,可行性比较低,但
是这种设计也有它的优点,就是表的数量少,其他的优点我实在找不出来了,所以,在项目中这种设
计思想也不会用到。
第二种设计思路: 在提及这种设计思路前,首先得了解数据表可以分为两种结构,一种是横表,也就是我们经常用到
的表结构,另外一种是纵表,这种结构平时我们用到的表少,所以我也是今天通过请教别人才知
有这种表结构的。
什么是纵表,它有哪些优点和缺点呢?通过两张图片对比来了解或许会更清楚
横表的结构:
纵表的结构:
可以看出横表的优点是很直观,它是根据现行业务逻辑定制,设计简单,易操作,缺点是当业务逻辑发生拓展
时,大多情况下要更改表的结构。纵表的数据让人看着感觉很乱,而且字段的数据出现很大的冗余,但是纵表的还
是有很多好处的,它比较灵活,当业务系统发生拓展时可以很好的适应, 知道了这些,那么我们可以进行产品表的
设计了,在这种设计思想中,需要三个表,一个为产品表,用来存产品的公共属性,另外一个是产品分类表,最后一
个表很关键,用来存不同类别产品的不同属性,采用的是纵表的结构,如图:
说明:通过产品拓展属性表,用户在页面就可以动态的某一类产品添加属性,添加好以后,就采用动态SQL提
取该类商品的属性生成相应的产品类别属性横表,用来保存产品的属性值,比如:用户在界面为电脑类ID为
COMP这一类产品中添加了CUP、内存EMS这两个属性,那么将会动态的提取这两个属性,生成横表T_COMP,
如图:
具体怎么实现,有了设计思路,剩下的就是很死的东西了,或许这种设计不是最好的,但是也是我找了好久资料,也
向别人请教以后才弄明白这个流程的……

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于索引优化器工作原理的相关内容,其中包括了MySQL Server的组成,MySQL优化器选择索引额原理以及SQL成本分析,最后通过 select 查询总结整个查询过程,下面一起来看一下,希望对大家有帮助。

产品参数是指产品属性的意思。比如服装参数有品牌、材质、型号、大小、风格、面料、适应人群和颜色等;食品参数有品牌、重量、材质、卫生许可证号、适应人群和颜色等;家电参数有品牌、尺寸、颜色、产地、适应电压、信号、接口和功率等。

在iOS17中,Apple在提醒应用程序中添加了一个方便的小列表功能,以便在您外出购买杂货时为您提供帮助。继续阅读以了解如何使用它并缩短您的商店之旅。当您使用新的“杂货”列表类型(在美国以外名为“购物”)创建列表时,您可以输入各种食品和杂物,并按类别自动组织它们。该组织使您在杂货店或外出购物时更容易找到您需要的东西。提醒中可用的类别类型包括农产品、面包和谷物、冷冻食品、零食和糖果、肉类、乳制品、鸡蛋和奶酪、烘焙食品、烘焙食品、家居用品、个人护理和健康以及葡萄酒、啤酒和烈酒。以下是在iOS17中创

小米14Ultra发布之后,很多喜欢拍照的小伙伴都选择了下单,小米14Ultra提供了更多的选择,比如说是拍照镜像功能,可以选择开启“拍摄镜像旋转”功能。这样,当你在拍摄照片时,就可以以自己习惯的样子来进行自拍啦,但是小米14Ultra应该要怎么设置拍照镜像呢?小米14Ultra怎么设置拍照镜像?1、打开小米14Ultra的相机2、在屏幕上找到“设置”。3、在这个页面中,你将看到一个标有“拍摄设置”的选项。4、点击这个选项,然后在下拉菜单中找到“拍照镜像”选项。5、只需要将它打开即可。小米14U

数据库系统由4个部分构成:1、数据库,是指长期存储在计算机内的,有组织,可共享的数据的集合;2、硬件,是指构成计算机系统的各种物理设备,包括存储所需的外部设备;3、软件,包括操作系统、数据库管理系统及应用程序;4、人员,包括系统分析员和数据库设计人员、应用程序员(负责编写使用数据库的应用程序)、最终用户(利用接口或查询语言访问数据库)、数据库管理员(负责数据库的总体信息控制)。

编程语言用来以计算机可以理解的语言给计算机发出指令。计算机语言分为三种类型,如下所示:机器语言符号语言高级语言机器语言计算机是一台机器。由于它的内存只能存储1和0,必须以一串1和0的流的形式给计算机发出指令,即二进制代码。这些对机器来说很容易理解。以二进制代码编写的程序可以直接输入计算机执行,这被称为机器语言。机器语言的优点包括:执行速度非常快。很难编写和阅读机器语言的程序。机器指令很难记住。符号语言也称为汇编语言。汇编程序包含“助记符”。“助记符”是指以缩写的形式很容易记住的信息。符号语言的优

数据库的“完整性”是指数据的正确性和相容性。完整性是指数据库中数据在逻辑上的一致性、正确性、有效性和相容性。完整性对于数据库系统的重要性:1、数据库完整性约束能够防止合法用户使用数据库时向数据库中添加不合语义的数据;2、合理的数据库完整性设计,能够同时兼顾数据库的完整性和系统的效能;3、完善的数据库完整性有助于尽早发现应用软件的错误。

结构层次是“数据库→数据表→记录→字段”;字段构成记录,记录构成数据表,数据表构成了数据库。数据库是一个完整的数据的记录的整体,一个数据库包含0到N个表,一个表包含0到N个字段,记录是表中的行。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Dreamweaver Mac version
Visual web development tools

Atom editor mac version download
The most popular open source editor

WebStorm Mac version
Useful JavaScript development tools

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

Notepad++7.3.1
Easy-to-use and free code editor
