database-design - 我应该使用重复数据还是引用键?
问题描述
我正在制作一个 nuxt 网络应用程序,用户可以使用它创建发票。我将使用 firestore 作为数据库,有 2 个主要文件夹/集合:客户和发票
用户可以添加由客户端 ID 和更多客户端信息组成的客户端。此外,用户可以创建包含此客户信息的发票。
在数据库中,我应该将此客户信息存储在发票本身中还是应该将客户密钥存储为对客户信息的引用?将其存储在发票本身会导致重复数据,但可能会简化开发,因为我不需要在每次需要一些客户信息时循环并找到合适的客户。
解决方案
将客户信息保留在您的发票中,但仅复制必要的数据(您可能不需要发票中的客户狗名)。
它不完全是重复的,因为您想知道创建发票时的信息是什么。您不希望每次更新客户信息时更改过去的发票。
推荐阅读
- javascript - 更改选择选项时如何获取对象值 - Angular9
- winapi - 在 Windows 上与用户客户端进行自定义软件驱动程序通信
- php - Symfony 5.2 Forms 中两个相关的 EntityType 字段
- python - 如何比较列表中列表中的 2 个值 - Python
- c# - 在服务和 ASP Core 中更改具有多个不同事件 (RabbitMQ) 的表的问题
- python - 无法使用axios将文件发送到django,它总是空的
- android - Xamarin Android 应用无法部署到 VS2019 模拟器
- node.js - 在多次“docker-compose up”和“docker-compose-down”之后,我如何保证docker主机卷具有正确的权限
- apache-spark - pyspark Vector Assembler 中已存在输出列薪水
- mysql - 我想根据我的两个表获得数据透视结果