Допустим на сайте будут автомобили, некоторые из которых будут электромобили.
Т.е. будет марка авто одна на все типы авто, но модели и характеристики должны отличаться для каждого типа авто(для электромобилей дополнительные характеристики).
Как организовать такую базу?
Предполагаю, что должна быть общая таблица на все типы авто: cars с полями id, mark, price, а в таблице характеристик будут такие поля: id, cars_id, model, params, type.
Или должна быть отдельная таблица для электромобилей с характеристиками?
Посоветуйте пожалуйста, как это организовать.
С базами ещё мало работал
Конечно все зависит от того что должно в конце получится. Можно так:
cars [
car_id,
mark_id,
model_id,
type_id,
category_id,
color_id,
transmission_id,
mileage,
year of manufacture,
...
]
cars_marks [mark_id, name, ...]
cars_types [type_id, name, ...]
cars_models[model_id, name, ...]
cars_categories[category_Id, name, ...]
cars_colors[color_Id, name, ...]
cars_transmissions[ transmission_id, name, ...]
специфические атрибуты, вынесети в отдельную таблицу, например так
cars_custom_field[ custom_field_id, name, field_value_type_id, ... ] //дополнительные характеристики
cars_custom_field_types[ field_value_type_id, name ] //типы возвращаемых значений
cars_types_custom_fields[ car_type_id, field_id ] //связки типа авто с характеристикой
cars_details[ car_id, custom_field_id, value ] //значения дополнительных характеристик
поля params лучше не делать, а разносить параметры по разным столбцам
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости