У меня есть таблица с именем branch
, который будет хранить информацию о филиале, как и его менеджер, местоположение и т.д. Поля:идентификатора базы данных на основе ссылок
branch_id
branch_manager
branch_location
Данные в этой таблице будет выглядеть так:
1 Mr. John Doe Manhattan
2 Miss. Jane Doe Utah
3 Mr. Random Guy Somewhere
Существует еще одна таблица под названием services
, в которой хранятся все служебные данные. Поля:
service_id
service_name
данные будут, как:
1 New Sales
2 After-Sales Support
3 Replacement
4 Exchange Offer
Теперь я хочу, чтобы хранить услуги, доступные в каждой отрасли. Обычно я предполагаю, что это сделано, создав новую таблицу под названием branch_services
, которая будет содержать branch_id
и service_id
. Так что, если я следующая запись в branch_services
branch-id service-id
1 2
1 3
2 1
Это означает, что отрасль Manhattan делает послепродажное обслуживание и замен, в то время как филиал Utah делает только новые продажи.
Теперь мой вопрос: вместо таблицы branch_services
, что делать, если я сохранил список служб, разделенных запятыми, в самой таблице ветвей?
1 Mr. John Doe Manhattan 2,3
2 Miss. Jane Doe Utah 1
3 Mr. Random Guy Somewhere
Каковы основные аргументы против этого? Являются ли эти запросы более сложными/медленными для выполнения (например, если бы я хотел видеть, какие все ветви выполняли конкретную службу)? Есть ли какое-либо преимущество, структурируя его запятыми?
У меня был только один ответ на этот вопрос, но это было самое лучшее! большое спасибо!! –
Я старался изо всех сил, реляционные базы данных иногда следуют за вызывающей логикой. Сохраните дизайн и ваши запросы так же просто, как вы можете – mucio
См. [Этот ответ] (https://stackoverflow.com/a/24130834/3404097). – philipxy