【问题标题】:Licence to use website and products database schema help使用网站和产品数据库架构帮助的许可
【发布时间】:2011-08-21 17:00:20
【问题描述】:

我正在建立一个网站,我会向我的客户收取使用它的费用。我正在考虑提供 6 个每月或每年的许可选项,并且将提供几种不同的许可变体,每种变体都授予对网站的不同类型的访问权限。

此外,我还将提供一些可选的附加功能,您可以将它们添加到购买他们的许可证中。这些将是一次性购买,更像是产品而不是许可证。它们是支持更多功能的网站的更多附加组件。一旦购买,您就可以保留它。所以一切都以网站为基础,无需担心运费。

这将以某种购物车方式显示,他们可以在其中选择他们想要的东西,然后发送到 Paypal 进行处理。

只是想知道如何在我的数据库中正确建模?到目前为止,我想出了:

Database schema

基本上,我尝试将许可证和产品放在同一个表中,并使用标志列 (licence_or_product) 来区分两者。这将有助于在网站上显示它是产品还是许可证。

许可证 *offering_start_date* 和 *offering_end_date* 字段是否值得?我正在尝试获取它,以便如果我想以不同的价格提供新的许可证产品,我可以使该产品过期。这样,已经以该价格购买许可证的客户始终保持该价格。如果我想更改价格,我会将提供结束日期设置为今天,然后创建一个新的 licence_products 行,价格较低,但 end_date 在未来。这是正确的方法吗?还是直接编辑商品的价格?我只是在想,如果价格发生变化,那么客户想要为该许可证退款,您如何跟踪他们为该许可证支付了多少钱? amount_paid 字段会告诉我整个订单的成本,但不会告诉我现在已更改的许可证的原始价格。我需要所有产品价格变化的历史记录吗?

其他我不知道该怎么做的事情,假设他们已经购买了使用该网站一年的许可证。如何提取最新的许可证?假设我已经开始使用 30 天的试用许可证,然后他们购买了年度许可证。我是否立即使试用许可证无效?我想我一次只想要一个有效的许可证。因此,如果他们在旧许可证到期之前购买另一个许可证,我不确定我的程序应该如何处理。

非常感谢任何帮助。谢谢!

附:这是 SQLyog 数据库架构和 SQL,如果您想尝试对其进行一些修改。

sql db extract

SQLyog schema

【问题讨论】:

    标签: mysql database-design normalization database-schema


    【解决方案1】:

    我认为您应该创建以下 3 个表:
    1. 客户(客户或任何对您有意义的东西),
    2. 许可和
    3. customer_license。

    我建议 customer_license 表使用以下字段:

    • id(一些 int auto_increment)
    • customer_id(一些整数)FK
    • license_id(一些整数)FK
    • price_offered decimal(7,2)(具有您需要的精度)
    • expiration_date 日期
    • 活动 tinyint(1)
    • created_at 日期时间
    • updated_at 日期时间

    通过这种方式,您可以使用您提供的许可证跟踪客户的所有详细信息:您提供了什么?你什么时候提供的?什么时候到期?提供的价格?许可证有效吗?

    祝你好运

    【讨论】:

    • 好的,谢谢。这对许可证有意义。我如何标记他们是否已为许可证付费?另一个名为 amount_paid 的列字段?还是我需要单独的付款表?还想知道这将如何与我销售的“产品”一起使用,这些产品没有归类为许可证,更多的是不会过期的一次性购买?
    • 我认为除了拥有许可证表之外,您还可以创建一个“产品”表和另一个名为“product_type”的表,这将是“严格”的做法,我认为它为您提供了灵活性并且您始终可以检索已售出(或未售出)的许可证和产品。如果您想跟踪客户是否付款,也许您应该添加一列“paid tinyint(1)”,如果为 1,则表示他/她已付款,如果为 0,则表示他/她未付款。我希望这会有所帮助。
    猜你喜欢
    • 2010-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-24
    • 1970-01-01
    相关资源
    最近更新 更多