Нормализация базы данных MySQL и первичные идентификаторы

#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? Если да, перейдите к идентификатору сейчас.