Нормализующие продукты> Категория отношений в SQL Server - PullRequest
0 голосов
/ 16 декабря 2018

Я создаю базу данных SQL Server, и у меня есть вопрос об одном отношении.У меня есть две сущности Product и Category.Отношение один ко многим, поэтому один товар может иметь одну категорию, но одна категория может иметь много товаров.

Какой путь нормализован и почему (какая форма нормализации)?:

  1. Product { productId, productName, productPrice }
    Category { categoryId, Name }
    
  2. Product { productId, productName, productPrice, categoryName }
    

ЕслиCategory имеет больше атрибутов, а не только имя, я бы без сомнения сделал еще одну таблицу.Но в этом случае я не уверен, нужно ли мне создавать новую таблицу, поскольку она содержит только имя или оставляет ее как столбец varchar.Разве это не собирается создавать намного больше столбцов и занимать больше места в базе данных?

1 Ответ

0 голосов
/ 16 декабря 2018

Я думаю, вам следует создать следующие две таблицы:

1. Category { categoryId, Name }
2. Product { productId, categoryId, productName, productPrice }

Учитывая, что categoryId в таблице категорий является первичным ключом, вы должны создать ограничение внешнего ключа для categoryId в таблице продуктов, ссылающейся на categoryId.в таблице категорий.

...