Как структурировать таблицы базы данных? - PullRequest
0 голосов
/ 12 августа 2010

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

Два вопроса:

1: где я должен регистрировать недопустимые попытки регистрации.Например, если пользователь вводит неверную регистрационную информацию или пытается зарегистрироваться, но использует все свои лицензии.Я хочу запомнить эту информацию, но куда мне ее поместить?

Я думал об отдельной таблице FailiedRegiatration или вообще таблице уведомлений.Как вы думаете?

2: Также, если пользователь регистрирует тот же компьютер, я хочу разрешить ему, однако я хочу документально подтвердить, что он перерегистрировал компьютер.Где я должен хранить эту информацию?

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

Любые комментарии полезны, так как я думаю об этом.

Спасибо.

Ответы [ 3 ]

0 голосов
/ 12 августа 2010

Лично я предпочитаю использовать журналы, а не таблицы базы данных, чтобы записывать «события», которые подходят для ведения журнала, и ваше событие «неудачной регистрации» определенно подпадает под эту категорию (информация «даты регистрации» более спорным с этой точки зрения).

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

Если это так (вы не можете полагаться на «хорошее ведение журнала и обработку журналов», а все, что вам нужно для сохранения, должно идти туда-сюда в БД), то одна или несколько «лог-подобных таблиц» (более или менее, как вы обрисовали в общих чертах) это своего рода обходной путь (и трудно предложить лучшие, особенно без достаточного количества информации о вашей ситуации развертывания; -).

0 голосов
/ 12 августа 2010

Я думаю, что 2 таблицы будут работать. Одна таблица для отслеживания пользователей (например: идентификатор, имя пользователя, серийный номер, адрес электронной почты) и одна таблица для отслеживания регистраций (идентификатор, внешний ключ к таблице пользователей, временная метка, запись об успехе или неудаче и некоторое поле для идентификации компьютера пользователя) ,

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

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

0 голосов
/ 12 августа 2010
  1. Если вам необходимо действовать в случае неудачной регистрации или активировать ее позже и сделать ее успешной таблицей регистрации, сохраните ее в отдельной таблице. Если вам нужно только знать об этом, рассмотрите возможность сохранения ошибки в какой-либо таблице журнала.

  2. Я думаю, вы хотите, чтобы отдельный пользователь отслеживал таблицу, а машина была зарегистрирована; таким образом, вы знаете, сколько регистраций выполнил пользователь, будь то 1, 2 или 10 и т. д. Просто таблица указателей, которая указывает на идентификатор пользователя и регистрацию ...

Мои два цента.

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