Доброго дня всем! Хотелось бы проконсультироваться на счет архитектуры базы данных(
Mysql),а точнее над той частью, что отвечает у меня за категории, товары и т.д. Опыта в разработке, кроме того проекта, что я делаю для портфолио нету. Сервисы и ДАО слои уже написаны почти над всеми этими объектами.
Смысл в том, что я создаю "универсальный магазин", и я пытался создать такую архитектуру, при какой, мне бы было удобно и быстро получать любые данные, т.е я предполагал поиск сверху-вниз по ID, т.к по int значением поиск происходит быстрее. Но как бы я не пытался, но не смог обойти одну проблему: устройство БД таково, что, допустим у
"Автомобилей" будет множество характеристик, среди них: Мощность, Количество цилиндров, Класс, и т.д . Но и у
"Мотоциклов", будут такие же параметры, понятно, что не все. Следовательно, в таблице
characteristic_name будет множество одинаковых полей для каждого субъекта, т.е сотню мощностей и т.д. Я бы хотел, чтобы они ссылались на одну мощность, а я уже реализую работы БД так, чтобы при редактировании записи, если есть на нее ссылки, просто создавалась новая. Это, к делу, правда, не относится. Производителя я тоже вынес в характеристики, хотя для него можно сделать отдельную таблицу.Надеюсь, на ваш опыт, помощь и здравую критику. Повторюсь, опыта у меня в этом нету.
Ниже представлены две схемы, одного и того же, просто в нарисованном мной примере, есть заполненные поля, чтобы легче себе все было представить.
P.s View - это для фронденда,чтобы он понимал, как ему представлять информацию.
P.p.s Subject-абсурдное название, сам знаю, но пока что лучше придумать не могу)