2012-03-12 3 views
1

Эта проблема очень просто я думаю ...схемы базы данных

Я не имею опыт работы с большими базами данных, масштабируемых и им работать в проекте, и им обращенную эту проблему проектирования:

У меня есть таблица для подписчики и иметь таблицу для сервисов, на которые они могут быть подписаны, обе таблицы будут расти, подписи могут быть подписаны на то, сколько услуг они хотят, проблема заключается в том, чтобы отнести отношение subscritor -> service, я не знаю, что было бы правильным Кстати, я думаю, что это должен быть один из следующих вариантов:

  • Создайте таблицу в службе, чтобы сохранить список подписок.
  • Создайте таблицу для подписчиков и динамически добавьте новые столбцы для представления службы.
  • Создайте таблицу для подписчиков и используйте двоичную маску для хранения списка услуг, на которые подписан пользователь.

Какой способ был бы лучшим и практичным и масштабируемым решением? любые другие варианты оцениваются. спасибо заранее.

PS: Im используя MySQL

ответ

3

Это классический многочастичных to-many - в реляционных базах данных стандартный способ справиться с этим - это одна таблица для каждой стороны отношения и одна для хранения связей между ними - например:

Subscriber 
---------- 
SubscriberID (PK) 
SubscriberName 
etc... 

Service 
------- 
ServiceID (PK) 
ServiceName 
etc... 

SubscriberService 
----------------- 
SubscriberID (PK) 
ServiceID (PK) 
+0

Отлично: D ... Спасибо за помощь ... –

+0

@ Аронис Мариано: Я сказал вам то же самое .. –

+0

@Sevak: - хотя вы не упоминали, что это был стандартный подход в реляционных схемах, а также вы снабдили образцы табличных структур ... –

1

Вы можете сделать это один ...

One table for subscriptors 
One table for services and 
last one to store which subscriptors have which services... 

Было бы лучшим выбором для вашего проекта ...

Смежные вопросы