Я ведущий разработчик коммерческого приложения для Windows (c #). Новым требованием является отслеживание клиентов, злоупотребляющих лицензией.
Например: скажем, клиент покупает лицензионное соглашение на 10 пользователей, то есть 10 одновременных пользователей.
Мне нужно иметь возможность сообщать, оглядываясь на историю, все время, когда в клиент входило более 10 пользователей одновременно.
У меня уже есть таблица User со столбцами: userid (первичный ключ), pw, lastLogin, lastLogout.
Я думал о создании новой таблицы регистрации, в которую добавляется новая строка каждый раз, когда пользователь выходит из системы ... столбцы могут включать в себя:
LogId, UserId, LoginDateTime, LogoutDateTime
... и тогда у меня будет история о каждом входе / выходе пользователя из приложения ...
но я не уверен, будет ли такой дизайн таблицы пригоден для эффективных вычислений для составления отчетов ... использую ли я SQL или c # для выполнения вычислений, для меня не имеет значения, если это достаточно быстро ...
Надеясь, что у кого-то может быть хорошее представление о том, как лучше спроектировать эту таблицу, чтобы я мог быстро рассчитать любые / все моменты времени, когда клиент превысил предел лицензии.
Примечание: я не хочу блокировать использование приложением 11-го, 12-го и т. Д. Пользователем ... требуется, чтобы пользователь показывал предупреждающее сообщение, но позволял ему продолжать работу ...