Всем привет, вопрос по архитектуре БД У меня есть продукты и

бренды, они заносятся с разных маркет плейсов (wb, ozon)

Хочу отказаться от идентификаторов (id, autoincrement)

Хорошая ли практика делать primary key составной из двух полей:
external_id - внешний идентификатор продукта/бренда на площадке
platform_id - идентификатор площадки

И так, есть две таблицы:
- Бренды:
- name
- external_id
- platform_id
- Продукты:
- external_id
- platform_id
- brand_id (external_id из таблицы brands)
- name

То есть это выглядит примерно так:
CREATE TABLE brands (
name VARCHAR(255),
platform_id INT,
external_id INT,
PRIMARY KEY (external_id, platform_id),
);

CREATE TABLE products (
external_id INT AUTO_INCREMENT,
name VARCHAR(255),
platform_id INT,
brand_id INT,
PRIMARY KEY (external_id, platform_id),
FOREIGN KEY (brand_id, platform_id) REFERENCES brands (external_id, platform_id)
)

Идентификаторы (внешние идентификаторы) внутри одной площадки всегда уникальные.

Хочу услышать мнение более опытных людей, может что-то посоветуете получше?

5 ответов

16 просмотров

А почему бы просто не вкрячить все в один столбец? Первая цифра будет указывать на маркетплейс условно, все остальные цифры - уникальный айдюк. Правда все равно хочется отдельный столбец для быстрого поиска вещей по конкретному маркету без использования like

为什么要翻译-. Автор вопроса
Vladislav Sh.
А почему бы просто не вкрячить все в один столбец?...

Именно поиск будет по названию через эластик, если в один столбец, то там PrimaryKey будет char, думаю на типе INT будет быстрее работать

Ничего плохого тут нет.

Похожие вопросы

Обсуждают сегодня

Кто создает тут ботов для телеграмм групп ?
Antskup
8
Я хочу запустить свой проект в тг. Что-то между пирамидой и майнилкой. Еще подобного ничего не было. Уникальная идея. Нужен именно не бот, а приложение. С ввод, выводом тон...
Павел А.
6
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
13
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
Я колись ставив гуглу антиспам 3.0, може і норм, але мені не дуже зайшло. Теж думав тиждень, що його і куди. Зупинився на трех варіантах відразу всі три і включив 1. Перевір...
𝓔𝓾𝓰𝓮𝓷𝓮𝓥 J
2
господа, когда у вас в боте есть локализация (ру + англ, остальные языки пока не планируются), вы на первом старте как с языком решаете вопрос: смотрите на language_code приле...
Denis 🐍|👑 | darling! 🥰
5
Всем привет, Добавил в плагин определение user agent public function registerMarkupTags() { return [ 'filters' => [ 'staticPage' => ['RainLab\Pages\Cl...
John Norton Kruger
3
где собака, админ группы? нычкуется и боится проявить волю, в толерантность еще не наигрался? @yelizariev
Ognezar
61
Портфолио: Зовут меня Александр, мне 36 лет. Город Пушкино. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github....
Magic
10
А чего при переходе с 2 на 3 все что в билдере сделано тютю?
Денис Александрович
5
Карта сайта