每个客户的数据库及其每个PW VS用户帐户的数据库Banking WEB APP

时间:2019-01-17 04:12:16

标签: mysql sql ajax database database-design

嗨,我对数据库的“用户”和从数据库访问其详细信息的企业的“客户”感到困惑。

我正在建立一个网站,客户可以在该网站上登录并访问其银行余额,对帐单,直接借记卡等(银行应用程序)。我的sql数据库将具有一个包含其信息的客户表,具有余额等的帐户表,具有日期时间等的报表表等。

我的问题是,在现实世界中,成千上万的客户可以拥有一个银行帐户。在sql中,我们为每个客户创建一个用户,该用户具有访问某些数据或预设视图的相关权限。

给我的印象是,我的数据库只需要一个用户root(我),并且我有一个拥有PW的客户表。我使用登录页面上的Javascript根据pw字段来验证客户,如果匹配,则只能使用JS / Java方法来针对数据库连接并执行sql语句,例如: 对于(客户),从“客户编号=”的帐户中选择“余额”(通过用户输入从登录屏幕提供“客户编号”)。

因此,简而言之,是否有可能来自数以百万计的每个客户都需要数据库上的用户帐户,或者我们是否可以仅使用后端方法来针对主键(如客户编号或用户名)检索相关信息。

我已经仔细研究了这个问题,但似乎找不到答案,可能是因为我发现很难解释我的观点。有人可以帮我清理一下

谢谢

1 个答案:

答案 0 :(得分:0)

针对您的应用...

您肯定在“客户”和“数据”之间需要一层。客户永远不能直接连接数据库。他们必须穿过层。

该层将涉及代码和数据库。数据库表中将包含客户名称,地址,加密的密码等。代码将进行验证等。

就MySQL而言,可能恰好有2个“用户”:

  • root用于管理,并且
  • ...代表单个“用户”,是处理所有“银行”操作并与其余数据库对话的中间人。

至少应有两个DATABASEs,每个TABLEs都不同:

  • 管理数据库-用户,名称,密码等
  • “金钱”-帐户,audit_trail,对帐单等。

创建statement表的唯一原因是冻结该语句,以便在发生争议时,至少拥有该语句的副本。由于语句是完全多余的,因此它可以只是一个PDF文件。

如果您有一百万个“用户”,则某些表将具有一百万行;有些可能会有更多行。

如果您使用的是真正的“金钱”,那么您需要对所做的所有工作进行非常认真的安全审核。这超出了该论坛的范围。