假设我必须为一个组织做一个网络应用程序,比如银行。在这里,一个成员可以有不同的账户,比如贷款账户、GDCS 账户、存款账户等。为了存储数据,我想到了两种方法。我将存款账户用于示例。(会员可以在任何一天存入金额。)
1.]将每个成员的存款详细信息存储在以成员ID作为字段的单个表中。2.]将单个成员的存款详细信息存储在名为 member_id_deposits 的单个表中
在情况 1 中,将有多个具有相同 member_id 的记录。因此存在数据冗余,因为 member_id 是冗余的。在情况 2 中,没有冗余,因为不同日期的整个存款详细信息都存储在每个成员的单个表中。但是在这种情况下,如果有 100000 个成员,则将存在 100000 个表。
那么应该遵循哪种方法,一种具有较少表的方法,或者一种减少冗余但具有大量表的方法?
我知道数据库设计的主要关注点是减少冗余。所以从这个角度来看,第二种设计更好。但是它有很多表。有很多表有什么问题吗?有限制吗对于可以存储在数据库中的最大表数。具有大量表的数据库查询速度慢。