Конструкция БД Схема проектирования - PullRequest
0 голосов
/ 26 апреля 2020

Я работаю над схемой БД для ниже json. Товар имеет разные параметрыКатегории, а категории имеют разные параметры. Один и тот же параметр может принадлежать разным категориям. Товар может иметь 1 или более категорий. Товар может иметь одинаковые категории с разными параметрами. дайте мне знать, если мой подход правильный. я должен оставить ссылку на productCategory-section и section-параметры или простая таблица будет работать так, как я создал ниже. все продукты одной категории будут иметь одинаковый раздел и параметры, поэтому я связываю категорию продуктов с параметрами.

table Parameters
parameterid
parameterName
standard
value
parametersection
productCategory


{
  "productCategory": "electronic",
  "products": {
    "productId": "productId",
    "productName": "productName",
    "productParameterSections": [
      {
        "productParameterSectionId": "appearance",
        "parameters": [
          {
            "parameterId": "color",
            "unit": "",
            "standard": "red",
            "val": "light red"
          },
          {
            "parameterId": "brightness",
            "unit": "",
            "standard": "high",
            "val": "medium"
          }
        ]
      },
      {
        "productParameterSectionId": "quantitative",
        "parameters": [
          {
            "parameterId": "length",
            "unit": "cm",
            "standard": "440",
            "val": "400"
          },
          {
            "parameterId": "height",
            "unit": "cm",
            "standard": "red",
            "val": "400"
          }
        ]
      }
    ]
  }
}

1 Ответ

1 голос
/ 26 апреля 2020

В последнее время мы работаем над тем же дизайном схемы. Мы сделали следующее:

  • Составил список всех возможных параметров и всех возможных полей в параметрах.
  • Затем мы создали шаблоны, как здесь это категория который является комбинацией некоторых параметров.
  • Затем этот шаблон назначается любому объекту, например, продукту.

Плюсы этого подхода - Вы можете добавить столько параметров как вы хотите в списке - вы можете настроить шаблон так, как вы хотите, и прикрепить его к сущности

Как его использовать

  • Использовать параметры как контакт, как массив объектов ,
  • Создайте шаблон с массивом выбранных параметров, чтобы он создавал копию выбранного параметра для каждой категории, чтобы сохранить постоянный массив от обновлений.
  • Шаблон - это вторая таблица, в которой могут быть другие поля, такие как имя шаблона (имя категории), который создал его при последнем обновлении, даже из какой категории он создается как ссылка на собственную.
  • Конечная таблица сущностей (product) будет иметь ссылку на эту таблицу шаблонов, а также массив из этого шаблона. Таким образом, справочная информация предоставляет информацию о параметрах, и вы можете обновить копию с использованием значений.

Надеюсь, это хорошо объясняет, дайте мне знать, если у вас все еще есть какие-либо сомнения.

...