Вообщем у меня появилась... скажем так "необычная задача" вообщем есть таблица магазин, и у этой таблице через таблицу связей подключаются услуги, но проблема в том, что у некоторых услуг должно быть количество, и честно говоря я бы его запихнул в таблицу связей, т.к это будет проще для меня, но правильно ли это, со стороны нормализации или всё же для количества придется создавать еще одну таблицу. Привожу sql код из миграций для более подробного представления таблиц. Таблица магазин:
$this->createTable('{{%shops}}', [
'id' => Schema::TYPE_PK,
'created_at' => Schema::TYPE_INTEGER . '(11) NOT NULL',
'updated_at' => Schema::TYPE_INTEGER . '(11) NOT NULL',
'address' => Schema::TYPE_STRING . ' NOT NULL COMMENT "Адрес магазина"',
'tariff_id' => Schema::TYPE_INTEGER . ' NOT NULL COMMENT "Привязка к тарифу"',
'user_id' => Schema::TYPE_INTEGER . ' NOT NULL COMMENT "Привязка к бренду"',
]);
$this->addForeignKey('shopsUserId', '{{%shops}}', 'user_id', '{{%user}}',
'id', 'CASCADE');
$this->addForeignKey('shopsTariffId', '{{%shops}}', 'tariff_id', '{{%tariff}}',
'id');
Таблица связей (как она сейчас):
$this->createTable('{{%shops_addition}}', [
'shop_id' => $this->integer(),
'addition_id' => $this->integer(),
'PRIMARY KEY(shop_id, addition_id)',
]);
$this->createIndex(
'{{%idx-shops_addition-shop_id}}',
'{{%shops_addition}}',
'shop_id'
);
$this->addForeignKey(
'{{%fk-shops_addition-shop_id}}',
'{{%shops_addition}}',
'shop_id',
'{{%shops}}',
'id',
'CASCADE'
);
$this->createIndex(
'{{%idx-shops_addition-addition_id}}',
'{{%shops_addition}}',
'addition_id'
);
$this->addForeignKey(
'{{%fk-shops_addition-addition_id}}',
'{{%shops_addition}}',
'addition_id',
'{{%addition}}',
'id',
'CASCADE'
);
И сама таблица услуг:
$this->createTable('{{%addition}}', [
'id' => Schema::TYPE_PK,
'created_at' => Schema::TYPE_INTEGER . '(11) NOT NULL',
'updated_at' => Schema::TYPE_INTEGER . '(11) NOT NULL',
'name' => Schema::TYPE_STRING . ' NOT NULL COMMENT "Название"',
'cost' => Schema::TYPE_DECIMAL . '(12,2) NOT NULL COMMENT "Стоимость"',
'about' => Schema::TYPE_STRING . ' COMMENT "Описание"',
'type' => Schema::TYPE_INTEGER . '(3) NOT NULL COMMENT "Тип"',
]);
Нужна ваша помощь.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
как вернуть сообщение пользователю(вывести в форме отправки), при отправке формы?
Программа выбрасывает исключение androidutil