Web邮件客户端的数据库设计

Database design for web mail client

我正在实施网络邮件 application.Only 注册用户可以发送、接收和查看电子邮件。当我开始设计数据库时,我想到了以下问题。
假设此应用程序可能有 100 000 个用户(可能不止于此)。 每个用户的 千 ( n*1000 ) 封电子邮件 inboxes.What 我的问题是...

可以为每个用户动态创建收件箱 table 吗 只为所有用户创建一个收件箱table?

如果我只使用一个收件箱 table 包含 100000*(n*1000) records.If 我只做特定用户的其他方式 电子邮件将存储在各自的收件箱中 table。但是会有 数以千计的收件箱 tables 在数据库中。

谁能提出设计线索...

这个问题比第一次出现时要难。通常,倾角是一个 table.

但是,我们在这里谈论的是用户和电子邮件。在 SQL 服务器中(与其他数据库一样),在 table 级别而不是行级别处理权限要容易得多。因此,这是一个考虑因素,可能会将您推向多个 tables。

尽管多个 table 很困难:

  • 数据结构的更改需要被复制无数次。
  • SQL 旨在处理非常大的 table,但不一定很多(尽管几千个应该不会造成问题)。
  • "How many unread emails does each user have?" 等简单的查询变得几乎不可能。
  • 无法使用外键引用收件箱 table。