#mysql #database #normalization
#mysql #База данных #нормализация
Вопрос:
У меня есть небольшой вопрос. У меня есть база данных с тремя таблицами Shops, Tire_Brands и Accepted_Tires, а для accepted_tires в ней будет просто «id, tire_id, shop_id».
Необходимо ли иметь поле «id» для accepted_tires. Буду ли я когда-нибудь использовать это, или нормально просто иметь «tire_id» и «shop_id» и все?
Надеюсь, это имеет смысл. Спасибо!
Ответ №1:
id
Поле в этом случае не требуется. У вас может быть сложный первичный ключ, состоящий из обоих tire_id
и shop_id
столбцов, потому что эта пара должна быть уникальной.
Ответ №2:
К сожалению, вы не делаете структуру своей базы данных очень понятной; если таблица accepted_tires используется только для разрешения отношения «многие ко многим» между другими 2 таблицами, тогда нет, ей не нужен собственный идентификатор
Ответ №3:
Зависит ли какая-либо таблица от таблицы Accepted_Tires? Из того, что я вижу, это НЕТ, сейчас. Но будет ли какая-либо таблица зависеть от Accepted_Tires в будущем — как дочерний элемент master? Если да, перейдите к идентификатору сейчас.