【问题标题】:Database schema, containing account information数据库模式,包含帐户信息
【发布时间】:2016-12-20 10:53:30
【问题描述】:

每个人。 我目前的目标是开发基于网络应用程序的互联网供应商控制系统的数据库结构。这是一项具有以下要求的学习任务:

管理员在系统中注册订阅者。系统为每项服务提供服务列表(电话、互联网、有线电视、IP-TV等)和不同的订阅计划。 订阅者可以为每项服务选择一个或多个具有特定订阅计划的服务。订阅者有一个帐户并且可以 补充余额。根据所选的订阅计划,帐户中的资金会被移除。如果账户资金不足,系统会屏蔽用户。

系统管理员有权: 添加、删除或编辑订阅计划; 注册、屏蔽或解除屏蔽用户。

我认为,所有以粗体突出显示的单词都被视为实体。

我开发了以下架构:

现在我有几个问题:

  1. 订阅者和帐户可以有不同的表,还是应该合并(一个订阅者只能有一个帐户)?
  2. 当前余额应该作为列存储在帐户表中,还是应该每次都计算?
  3. 只有 ID 列的表可以吗?

任何批评和建议将不胜感激。

【问题讨论】:

  • 请将您的问题格式化为列表。

标签: sql database web-applications rdbms


【解决方案1】:
  1. 它们必须合并,因为您的模型允许链接“一个订阅者 - 多个帐户”。

  2. 这取决于您的用例。为了优化,您可以在incoming_payment 上添加触发器并更新subscriber.balance。因此,您可以非常快速地构建报告。

  3. 仅包含生成的 ID 的表看起来很糟糕。在您的模型服务中必须具有属性类型(电话、互联网、有线电视、IP-TV 等)。

【讨论】:

    猜你喜欢
    • 2011-01-06
    • 1970-01-01
    • 2016-07-05
    • 1970-01-01
    • 2011-12-21
    • 1970-01-01
    • 2020-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多