mysql - 数据库设计 - 目录 - 范围 - 产品

标签 mysql database database-design

任何人都可以建议以下数据库设计:

用户可以创建目录 在目录中,用户可以创建一个范围 - 即一系列产品 在一个范围内用户可以添加多个产品 在一个范围内,用户可以添加多个范围 -> 范围 -> 范围 -> 范围,所有范围均包含产品。

我的数据库中目前有 -

catalogue_range 包含 - id、名称、描述 和 Catalogue_product 包含 - id、range_id、名称、描述

任何人都可以看到我正在尝试制作什么吗?

我的目标是能够在一个目录范围内创建多个目录范围,并向每个目录范围添加多个产品。

这是我当前的 SQL:

`catalogue_range` (
      `id` char(40) NOT NULL,
      `profile_id` char(40) NOT NULL,
      `type` enum('pdf','db') DEFAULT NULL,
      `status` enum('new','draft','live') NOT NULL,
      `name` varchar(64) NOT NULL,
      `description` varchar(1000) NOT NULL,
      `updated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
      PRIMARY KEY (`id`),
      KEY `profile_id` (`profile_id`)
    )

`catalogue_product` (
  `id` char(40) NOT NULL,
  `catalogue_id` char(40) NOT NULL,
  `order` smallint(5) unsigned NOT NULL,
  `name` varchar(50) NOT NULL,
  `description` varchar(250) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `catalogue_id` (`catalogue_id`)
) 

提前致谢。

最佳答案

  1. 目录(目录 ID,您的私有(private)属性)
  2. 产品(产品 ID、#catalogue ID、您的私有(private)属性)
  3. 范围(范围 ID,#range id 父级,您的私有(private)属性)
  4. 产品范围(#产品 ID#range id)

您将需要存储过程/应用算法来编译:

  • 某个范围的乘积列表(用于计算递归 sql,mysql 不提供像 oracle 那样的分析函数)
  • 目录/范围的范围列表

希望有帮助。

关于mysql - 数据库设计 - 目录 - 范围 - 产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14149566/

相关文章:

c# - 将 SQL Server 与 MySQL 结合使用时出现“选项不支持”错误

MySQL:查找在一个日期(时间)有条目但在另一个日期(时间)没有条目的用户行

android - 即使数据库中有数据,游标也返回零

sql - 加入日期范围查询

php - 使用 Postgresql pgsql 加速复杂的 php 函数

MySql/PHP - 设计我的第一个数据库。需要评论

mysql - 计算数据库表的总数并合并来自不同表的结果

database - Cassandra 2.0 中的有序模型

database-design - 当人们有多个工作时,使用人员,职位和团队为组织建模的最佳方法是什么?

MySQL——不减少行集的 WHERE 子句