У меня есть база данных mysql и несколько таблиц.
Одна таблица - Товары: ее столбцы - prod_id, prod_type.
Prod_types - это mobile, laptop или book.
Каждый из них имеет разные атрибуты (например: издатель, автор книг, battery_condition, модель ноутбука и т. д.).
Должен ли я хранить все данные в таблице Товары, добавляя столбцы, такие как «автор», «модель» и т. д., И оставлять ноль для тех столбцов, которые не относятся к моему продукту.
Например, для записи с prod_type='book' параметры 'model', 'batter_condition' и т. д. Будут нулевыми. Или мне следует создать разные таблицы для «книжки», «мобильного» и «ноутбука»?
в общем, у вас не должно быть кучи «необязательных» полей в реляционной базе данных. Создайте для них подходящие таблицы и свяжите их.
Прочтите ответы на stackoverflow.com/questions/386652/…, в которых подробно описаны несколько подходов, их плюсы и минусы.






да. Создавайте новые столы для книг, мобильных устройств и ноутбуков. Имейте атрибут product_id в каждой из этих таблиц. Этот атрибут product_id является внешним ключом для первичного ключа продуктов таблицы, который также является product_id.
Хранение всех данных в продуктах приведет к появлению большого количества полей NULL и сделает хранение данных неэффективным.
Добро пожаловать в SO. Приведите минимальный, полный и поддающийся проверке пример. Покажите нам код вашей последней попытки и где ты застрял. и объясните, почему результат не такой, как вы ожидали. stackoverflow.com/help/mcve Пожалуйста, постарайтесь изложить свой вопрос так, чтобы другие люди могли его прочитать. В нынешнем виде вам вряд ли помогут, поскольку люди не смогут понять, что вы написали.