我正在为我教会的执事们开发一个网络应用程序。虽然我有很多用几种语言编写代码的经验,但在决定解决组织的这种需求之前,我还必须进行任何认真的数据库建模。
我非常熟悉在现有数据库上编写sql/ddl查询(严格来说是mysql控制台、springmvc、boot、java等)。但是,从大学开始我就没有考虑过标准化,2nf,3nf,1:1,1:many等等。。。至少可以说,这是一次卑微的经历,用多年前学过的数据库理论来刷新我的记忆,并尝试应用这些概念。
我创建了一个模型,至少对我来说,似乎是为了满足用户的需求
我的具体问题是关于锁定帐户。我确实读了几篇关于它的文章,这让我更加困惑于如何用我给定的数据模型来处理这个概念?我真的很感激任何其他的建议和/或批评;我完全理解通过失败学习的概念和力量。。。。谢谢。
用例:
1. Users holding office in a particular year can sign into the web
application, and view their information *(Name, Account Status,
Ordained, Team number, Calendar of their assigned duty days)*.
They can only update their personal info (name, address,
phone). Note: The account will be created for users.
2. Director, Asst. Director and System admin can log into the web
application (admin dashboard) and see a data table of all users,
w/ all relevant fields(view). This group has full read-write
privileges.
我在模型中有一个锁定的表,但不确定这是否是处理将用户状态从active更新为inactive的正确方法。如果处于非活动状态,他将无法登录到web应用程序。如果用户尝试登录的次数超过x次而未成功,我也会使用它。此外,将以前的用户保留在数据库中x年(当然是不活动状态)也是很有帮助的(报告和统计)。
1条答案
按热度按时间50pmv0ei1#
抱歉没有使用图表(我不使用图表工具)。下面是一个非常基本的示例,其中包含审计表的相关位:
当然,您可以从这里展开,例如,通过更改自由形式
audit_text
到一些更严格的方案,例如,可能的更新操作字典的外键(ENABLED
,DISABLED
,无论什么)和实际值正在更改。或者其他更复杂的方案更适合你的情况。但自由形式审计是一个起点。
这里的主要价值在于,您可以看到系统中重要实体的所有修改历史,而不仅仅是当前状态。