【问题标题】:Organizing monthly account extracts for personal use MS Access组织每月帐户提取供个人使用 MS Access
【发布时间】:2017-08-13 06:39:17
【问题描述】:

我是数据库和数据库设计的新手,但我希望有人能指出我正确的方向。我目前有 14 个月的贷款摘录,每个摘录都包含截至月底的所有帐户、其状态、余额和客户联系信息。不知道该怎么做,我将每个月度文件导入 Access 中,每个表更像是 Excel 工作簿中的一个选项卡。笑吧 - 我现在知道这不是它应该如何工作的。

我已经完成了我的作业,并且我知道如何将我的部分数据拆分到客户和帐户表中,但是我该如何处理帐户余额?我的想法是创建一个 Balances 表,创建与 Accounts 表的关系并为每个月创建列。这似乎合乎逻辑,但这是最好的方法吗?

我的分析中有 99% 涉及趋势报告和其他临时任务 - 在给定其他标准(例如信用评分或年龄)的情况下,随时间按产品类型跟踪总余额。我的预期用途是创建查询以选择我需要的数据并通过 Excel 中的 Get & Transform 连接到它以进行最终操作和报告编写。

这也引出了一个问题“我的新数据库应该标准化到什么程度?”每个月的提取都是累积的,所以我有 75% 的数据已经是冗余的联系信息,但是我应该如何标准化呢?

抱歉吐槽,但如果有人在建立自己的历史数据库方面有任何经验,或者可以为我指出一个能让我走上正轨的方向,我将不胜感激。

【问题讨论】:

  • 感谢您以良好的方式组织您的想法。不幸的是,除非您可以将其缩小到实际的代码问题,而不是像这样的系统架构师问题,否则您可能不会在 SO 上获得太多帮助。
  • 谢谢你,我当然感谢你的诚实。找到可靠的建议或教程一直很困难——我的问题比产品-客户-订单情况更大,但与多用户环境事务系统不相上下。美好时光。
  • BCNF 应该足够了。一些开发人员停留在 3NF。第一步:创建你的逻辑设计,定义你的自然键和你的功能依赖。
  • 恕我直言,这是规范化和易于数据输入/输出之间的平衡行为。我同意“正常化直到受伤,非正常化直到它起作用”。评论stackoverflow.com/questions/47711/…

标签: ms-access database-design time-series historical-db


【解决方案1】:

事务系统的最佳实践接近您的预期: 1.创建客户表 2. 创建账户表 3. 创建账户余额表 4. 创建从 Account 到 Customer 以及从 Account Balance 到 Account 表的关系。

您可以为每个月创建一个列,前提是您将年份作为“帐户余额”表的键的一部分。更好的是让账户余额的键是账户 ID 和日期。

但是,由于您正在对数据执行分析,因此非规范化方法不仅是可以接受的——它是可取的。所以是的,您可以(并且也许应该,根据您的使用情况)案例)将所有数据放入一个大的平面表中,然后编译您的分析。

【讨论】:

    猜你喜欢
    • 2020-08-09
    • 1970-01-01
    • 1970-01-01
    • 2017-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    相关资源
    最近更新 更多