2012-03-12 97 views
1

这个问题很简单,我想......数据库架构

我没有大可扩展数据库的经验,和IM项目中的工作和IM面临着这样的设计问题:

我有一个表下标,并有一个表,他们可以订阅的服务,这两个表将增长,下标可以订阅他们想要多少服务,问题是estore关系subscritor - >服务我不知道这应该是适当的方式,我认为它应该是这个选项之一:

  • 为每个服务创建一个表以追溯下标列表。
  • 为下标创建一个表格,然后添加新列以表示该服务。
  • 为subscritors创建一个表并使用Binary Mask来存储用户订阅的服务列表。

伟大的方式将是最好,更实用,可扩展的解决方案?任何其他选项都是有效的。预先感谢。

PS:IM使用MySQL

回答

3

这是一个典型的多对一在关系数据库中,处理这种情况的标准方式是关系每一方的一个表格,一个存储它们之间的链接 - 如下所示:

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

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

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

伟大的:D ...感谢您的帮助... – 2012-03-12 12:02:24

+0

@Aronis Mariano:我告诉过你同样的事情.. – 2012-03-12 12:06:34

+0

@ Sevak: - 虽然你没有提到这是关系模式中的标准方法,你提供样品表结构... – 2012-03-12 12:15:35

1

你可以这样做一个...

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

这将是最好的为您的项目...