需要帮助概念化为MongoDB的数据库设计

时间:2013-11-29 15:33:10

标签: mongodb database-design database

我正忙着尝试使用MongoDB的第一个应用程序,每次尝试接近设计时,我都会继续关注关系数据库。

我想知道是否有人可以推荐以下问题的设计。

我有以下实体 - 分支机构 - 客户 - JobCards - 文件 - 电子邮件

每个分支都有自己的客户 分店有工作卡 客户有工作卡

每张工作卡都附有文件和附加的电子邮件。

Eveythime我试图让这个Iland想起一百万tpye表等等

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

以下是我的看法。分支和客户端与具有branch_id外键的表客户端具有一对多关系。这意味着客户将属于一个分支,但分支将拥有许多客户。

然后客户端和JobCards的相同关系与clients_id的作业卡中的外键相同。这意味着工作卡将属于一个客户端,但客户端可以拥有许多工作卡。然后,您可以通过引用表客户端中的外键branch_id来查看作业卡在哪个分支中。 *注意(如果分支机构可以拥有自己的工作卡,则无效。)

然后最后一部分将很容易与表文件和表电子邮件引用jobcard_id作为外键。现在将编辑表格结构。

Branch Table:
branch_id
//all columns for branch table

Clients Table:
client_id
//all columns for client table
branch_id // foreign key constraint

JobCard Table:
jobcard_id
//all columns for jobcard table
client_id //FK you can check with this in which branch the job card is, because the corresponding record for client_id will have a branch_id.

Files Table:
file_id
//all columns for files table
jobcard_id //FK

Emails Table:
email_id
//all columns for emails table
jobcard_id //FK