mysql - 这个数据库方案合理吗?

标签 mysql database database-design

我需要一些帮助来设计有关家具的 PHP 网站的数据库。

我有很多主要的类型,那就是应用领域。例如办公室、户外等。

我有皮革、布料等类别

一个类别可以有多种类型。例如,布制品可以在办公室和户外使用,例如,皮革制品不能在办公室使用。

每个类别都有一个名为“链接”的字段,用于存储要在 PHP 页面的菜单中显示的图像。

一个页面还有一个语言字段来显示不同语言的描述。

每个类别里面都有很多产品。某些类别与内部的其他类别具有相同的产品。

例如,

  • 皮革可用于办公室制作皮椅。
  • 可以在办公室使用布制品制作布沙发。
  • 但是皮革制品也可以在户外用来制作皮椅。

所以同一个产品可以分为两个类别。

一个产品有很多模型图片(后 View 、前 View 、红色、黑色等)。

有的产品有一种技术图,有的产品有另一种技术图。例如,对于布椅,我不想显示宽度,而对于皮椅,我想显示它是否易碎。技术图表也有不同的语言。

这是我的第一个大数据库。

下面的方案可以吗?还是我有概念缺陷?

Schematic diagram

(我添加了管理员,因此可以添加或取消产品或类别。)

为了澄清,我或多或少是这样的:

  • 类型:办公室、户外、汽车、海洋、契约(Contract)、休闲
  • 类别:皮革、仿皮、布料、特卫强
  • 产品:椅子、沙发、雨伞、 table 、被罩……

每个产品都可以只属于一个类别,但可以用于多个类型。因此,例如,一把椅子可以由皮革制成,但可以用于多种类型。

当我在我的网站上选择一个类型时,我想显示该类型中的类别(类别可以在类型之间共享),然后我想选择该类别中的产品并查看可以使用哪个类型。

这是一个更新的数据库方案:

Schematic diagram

最佳答案

第一条规则,防止一个类别在数据库中被输入两次或更多次。例如输入可在室内和室外或两者使用的皮革的照片和描述。假设您有一张“ Material ”表。无论您的家具使用何种 Material ,我都会按如下方式进行分类,例如:键入 {Enum('indoor', 'outdoor', 'in-outdoor')} 或数字格式,即 {'1','2',' 3'} 您可以在评论部分添加备注,表格内的数字代表什么。

然后从您的 Material 表中调用 Material ,而不是分别创建室内 Material 表和室外 Material 表。

关于mysql - 这个数据库方案合理吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22204460/

相关文章:

mysql - SELECT MAX(trans_id),Bank_state ,`Forwarded_to` FROM `t_support_details`

php - 使用 PHP 将 mySQL 查询的值存储到变量中

c# - 数据库服务器太忙。打开 DataContext 所需的建议

sql - 如何在 SQL 中为具有多个关系的相关地址创建新的标识符?

mysql - 为什么我的数据库表中有语法错误?

php - 来自 ajax 调用的查询不起作用

mysql - 警告删除数据库

MongoDB 一对多 - 子模型上的 ID 数组或 ID 引用?

database-design - 我应该为多客户端应用程序使用单个还是多个数据库设置?

php - MySQL如何处理大表? (游戏的数据库设计)