Справка по лицензии на использование веб-сайта и базы данных продуктов - PullRequest
2 голосов
/ 09 мая 2011

Я создаю веб-сайт и буду взимать плату с моих клиентов за его использование.Я думаю о том, чтобы иметь 6 вариантов лицензий на месяц или год, и будет несколько вариантов лицензий, каждая из которых будет предоставлять различные виды доступа к сайту.

Также у меня будет несколько дополнительных дополнений, которыеВы можете добавить к покупке их лицензии.Это были бы разовые покупки, больше похожие на продукты, а не на лицензии.Это больше надстроек для сайта, которые предоставляют больше возможностей.После покупки вы можете сохранить его.Таким образом, все основано на сайте, и вам не о чем беспокоиться о доставке.

Это будет отображаться в виде корзины покупок, где они могут выбрать, что они хотят, а затем отправить в Paypal для обработки.* Просто интересно, как бы я смоделировал это правильно в моей базе данных?До сих пор я придумал:

Схема базы данных

В основном я пытался поместить лицензии и продукты в одну таблицу и использовал столбец флага (licence_or_product)Различать два.Это поможет при отображении на веб-сайте информации о том, является ли это продуктом или лицензией.

Стоит ли иметь поля лицензии * offer_start_date * и * offer_end_date *?Я пытаюсь получить его, чтобы я мог прекратить действие этого предложения, если я хочу сделать новое лицензионное предложение с другой ценой.Таким образом, клиенты, которые уже приобрели лицензию по этой цене, всегда остаются по этой цене.Если я хочу изменить цену, я установлю дату окончания предложения на сегодня, а затем создаю новую строку licence_products с более низкой ценой, но конечной датой в будущем.Это правильный способ сделать это?Или вы просто редактируете цену товара напрямую?Я просто думаю, что если цена изменится, тогда клиент захочет вернуть деньги за эту лицензию. Как вы отслеживаете, сколько они заплатили за эту лицензию?Поле amount_paid сообщит мне, сколько будет стоить весь заказ, а не первоначальная цена лицензии, которая сейчас изменилась.Нужна ли мне история всех изменений цены продукта?

Другая вещь, которую я не знаю, как сделать, скажем, они приобрели лицензию на использование сайта в течение года.Как вытащить, какая лицензия самая последняя?Допустим, я начал их с 30-дневной пробной лицензии, а затем они приобрели годовую лицензию.Должен ли я немедленно аннулировать пробную лицензию?Я думаю, что я хочу только одну действительную лицензию за один раз.Поэтому, если они покупают другую лицензию до истечения срока действия старой, я не уверен, как моя программа должна справиться с этим.

Любая помощь очень ценится.Спасибо!

PS Вот схема базы данных SQLyog и SQL, если вы хотите немного переработать ее.

sql db extract

Схема SQLyog

1 Ответ

3 голосов
/ 09 мая 2011

Я думаю, вы должны создать следующие 3 таблицы:
1. клиент (клиент или что-то еще для вас имеет смысл),
2. лицензия и
3. customer_license.

И я предлагаю следующие поля для таблицы customer_license:

  • id (некоторый int auto_increment)
  • customer_id (немного int) FK
  • license_id (немного int) FK
  • цена_десятичное (7,2) (с необходимой точностью)
  • дата окончания срока действия
  • активный tinyint (1)
  • create_at datetime
  • updated_at datetime

Таким образом, вы можете отслеживать все детали клиента с помощью лицензии, которую вы им предложили: что вы предлагали? когда ты предложил? когда он истекает? цена предлагается? лицензия активна?

Удачи

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...