我正忙着尝试使用MongoDB的第一个应用程序,每次尝试接近设计时,我都会继续关注关系数据库。
我想知道是否有人可以推荐以下问题的设计。
我有以下实体 - 分支机构 - 客户 - JobCards - 文件 - 电子邮件
每个分支都有自己的客户 分店有工作卡 客户有工作卡
每张工作卡都附有文件和附加的电子邮件。
Eveythime我试图让这个Iland想起一百万tpye表等等
有什么建议吗?
答案 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