2012-03-12 4 views
1

Ce problème est très simple, je pense ...Database Schema

Je n'avez pas l'expérience avec de grandes bases de données évolutives, et im travaillant dans un projet et im face à ce problème de conception:

J'ai une table pour les souscripteurs et ont une table pour les services auxquels ils peuvent être abonnés, les deux tables vont grandir, les souscripteurs peuvent s'abonner au nombre de services qu'ils veulent, le problème est d'établir la relation subscritor -> service je ne sais pas qui serait le bon façon, je pense que ce devrait être l'une de ces options:

  • Créer une table par service pour créer la liste des souscripteurs.
  • Créez une table pour les souscripteurs et ajoutez de façon dynamique de nouvelles colonnes pour représenter le service.
  • Créez une table pour les sous-comptes et utilisez un masque binaire pour stocker la liste des services auxquels l'utilisateur est abonné.

Quelle serait la meilleure solution, plus pratique et évolutive? toutes les autres options sont appréciées. merci d'avance.

PS: Im en utilisant MySQL

Répondre

3

C'est un classique many Relation to-many - dans les bases de données relationnelles, la façon standard de traiter cela est une table pour chaque côté de la relation et une pour stocker les liens entre eux - comme ceci:

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

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

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

Grand: D ... Merci pour l'aide ... –

+0

@Aronis Mariano: Je vous ai dit la même chose .. –

+0

@Sevak: - même si vous n'avez pas mentionné que c'était l'approche standard dans les schémas relationnels, ni Avez-vous fourni des exemples de structures de tables ... –

1

Vous pouvez faire un ...

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

Il serait le meilleur pour votre projet ...