发票和发票行:如何存储客户地址信息?

2024-01-04

您好,我正在开发一个发票应用程序。

所以总体思路是有两个表:

Invoice (ID, Date, CustomerAddress, CustomerState, CustomerCountry, VAT, Total);

InvoiceLine (Invoice_ID, ID, Concept, Units, PricePerUnit, Total); 

正如您所看到的,这种基本设计会导致大量重复记录,其中客户将具有相同的地址、州和国家/地区。

因此,替代方案是拥有一个地址表,然后建立一个关系“Address

不过,我认为发票是不可变的文档,应该按照最初制作的方式存储。有时,客户会更改他们的地址,或说明其是否来自地址目录,这将更改所有以前开具的发票。

那么你的经验是什么?

客户地址如何存储在发票中?在发票表中?地址表?或者是其他东西?

您能否提供对此进行更详细讨论的书籍、文章或文档的链接?


我强烈建议不要在发票中存储任何客户详细信息。

相反,我会有这样的结构:

Customer 表,主键为 id

客户地址表(因为随着时间的推移,每个客户可能有不同的地址),以客户 ID 作为外键

发票表,其中一个地址字段是客户地址表的外键。

顺便说一句,我会考虑为每个行项目添加一个增值税字段。有些国家/地区对不同的商品类型有不同的增值税税率。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

发票和发票行:如何存储客户地址信息? 的相关文章

  • MongoDB 中的双向嵌入与单向嵌入(多对多)

    我想与您讨论一下 在 MongoDB 中建模 N M 关系时 使用双向嵌入而不是单向嵌入是否有意义 假设我们有两个实体 AProduct可以属于许多 少数 类别 and a Category可以有很多 很多 Products 两种方式嵌入
  • 在理解聚集索引时我错过了什么?

    如果没有任何索引 则通过 IAM 索引分配映射 访问表行 我可以使用 IAM 以编程方式直接访问行吗 缺少索引是否意味着读取特定行的唯一方法是全表扫描读取所有表 为什么 IAM 不能参与更具体的直接访问 如果表是堆 换句话说 它没有聚集索引
  • 两种表结构的区别

    我对这两种结构很困惑 这两个表各有什么优缺点 哪一个更好 为什么 TABLE1 反模式 在常见情况下 第二个表是反模式在数据库设计的背景下 而且 更重要的是 它有特定的名称 实体 属性 值 EAV 在某些情况下 使用这种设计是合理的 但这种
  • HBase:创建多个表或包含多个列的单个表?

    什么时候创建多个表而不是创建具有大量列的单个表才有意义 据我了解 表通常只有几个列族 1 2 每个列族可以支持 1000 多个列 当 HBase 似乎在单个表中可能存在大量列时表现良好时 什么时候创建单独的表才有意义 在回答问题本身之前 让
  • Postgres 动态创建序列

    我正在编写一个应用程序 其中有多个用户 用户可以在应用程序内上传报告 目前 我有一个 报告 表 其中包含所有提交的报告 其中有一个 id 字段 该字段是表上的序列主键 我指定的要求是 用户需要能够指定其报告开始计数的前缀和数字 例如 用户应
  • 将关系 R 分解为 1NF 后最少存在多少张表?

    考虑具有以下属性类型的关系 R A B C D E F G 键总数 1 A 一组简单 或 原子 或 单值属性 B C 多值属性集 D E 复合属性集 F G 将关系 R 分解为 1NF 后 存在的表的最小数量是多少 A 3 B 2 C 4
  • 每个表都应该有主键吗?

    我正在创建一个数据库表 但没有为其分配逻辑主键 每个表都应该有主键吗 简短回答 yes 长答案 你需要你的桌子可以加入一些东西 如果您希望表聚集 则需要某种主键 如果您的表设计不需要主键 请重新考虑您的设计 很可能您遗漏了某些内容 为什么要
  • SQL原型设计:面对使用varchar(N)静默截断数据——有更好的选择吗? (天数据)

    情况 varchar 20 好像默默地截断在 Teradata 和not当遇到长度超过 20 个字符的字符串时扩展或抱怨 这有点令人惊讶 因为我预计列会自动扩展以适应更大的字符串 例如 30 个字符 或者如果更大的字符串会抛出错误遇到字符串
  • 博客的 mongodb 架构设计

    您将如何为具有基于文档的数据库 mongodb 的类似博客的网站设计架构 该站点具有以下对象 用户 文章 评论 用户可以向文章添加评论 每个用户还可以为每个评论投票一次 我希望能够有效地执行这些查询 1 获取文章A 文章A的评论以及每个评论
  • 如何在多个Postgresql数据库之间共享表

    我的 Web 应用程序有多个部署 每个部署都是一个具有唯一 URL 的唯一站点 每个部署都有不同的数据 UI 等 但有非常相似的 Postgresql 数据库结构 带有 PostGIS 这些数据库都位于同一数据库服务器上 我希望来自 1 个
  • 创建数据库索引的最佳实践和“经验法则”有哪些?

    我有一个应用程序 它循环访问数据库表中的大量记录 并对该数据库中的记录执行大量 SQL 和 Net 操作 目前我在 PostgreSQL 上使用 Castle ActiveRecord 我在几个字段上添加了一些基本的 btree 索引 正如
  • 如何定义基于标签的组织结构?

    原标题 有没有办法在基于标签的组织方法上强制建立关系结构 我有一些实体 它们有一系列属性 一些属性影响实体可以具有的其他属性 许多属性被组织成组 并且有时实体被要求具有来自某些组的一定数量的属性 或者可能具有来自某些组的一定范围的属性 有没
  • 用户评级的 ER 模型

    我有很多 用户 每个用户最多有 5 个 服务 用户应该能够对每项服务进行评分 0 5 我还想保留用户的平均评分 这是我的想法 但是还有更好的方法吗 User id user name dob 服务 固定数量的服务 id service de
  • 如何设计多租户mysql数据库[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 假设我需要设计一个数据库来托管多个公司的数据 现在 出于安全和管理目的 我需要确保不同公司的数据正确隔离 但我也不想启动 10 个 m
  • 在数据库设计中什么时候需要使用一对一关系?

    在数据库设计中什么时候需要使用一对一关系 在我看来 如果两个表是一对一的关系 那么它们可以合并成一个表 这是真的 对大型表进行垂直分区以减少 I O 和缓存需求 将经常查询的列与很少查询的列分开 向生产系统添加列时alter table就是
  • 如何:SQL 还是 NOSQL?

    我还没有遇到过这个问题 但这就是我的想法 非常肤浅和简单化恕我直言 如果您有键值类型的存储 并且所有访问都是键查找 请使用 NOSQL 解决方案 如果您想要基于值 和子值 进行查找或者有一些更复杂的东西 例如联接 您会选择关系解决方案 事务
  • 仅包含主键和外键的数据库表的用途是什么?

    我试图理解一个简单的音乐数据库设计 有些表只包含外键和主键 我不确定如何以及何时使用这些表或向其中插入什么内容 设计如下 Track id primary key title duration live performance true o
  • 创建用于存储高尔夫球成绩的可扩展数据库架构

    我正在尝试设计一个数据库来存储我所有的朋友和我的高尔夫球成绩 您可能知道 高尔夫得分由 18 洞的个人得分组成 我可以想到两种设计模式的方法 创建一个表 每个洞有一列 例如 h1 到 h18 该表具有引用其他表的 FK player id
  • 如何在Oracle数据库11g中创建新模式/新用户?

    我已经申请了一家公司的实习机会 作为一个问题 他们要求我为他们的公司创建一个具有一定要求的架构 并将DDL文件 我已经安装了 Oracle 数据库 11g Express 版本 但如何在 Oracle 数据库 11g 中创建新架构 我在网上
  • 在 SQL Server 2005 IMAGE 列中存储 20 Meg 文件的最有效方法

    我们将文档存储在 SQL Server 2005 数据库表中 列格式为 Image 每次我尝试存储大于 1 Meg 的 PDF 文件时 它都会以某种方式损坏 NET 中是否有任何特别有效的方法来序列化大文件 10megs 并将其存储到数据库

随机推荐

  • android edittext 文本向右对齐,标签向左对齐

    我想要一个编辑文本 其中标签 名称 显示在编辑文本的左侧 并且从右到左输入输入 如果我将 android gravity 设置为 right 输入将从右到左 但在这种情况下 标签 即编辑文本的 android text 给出的任何内容 也会
  • 使用 Java 通过 Tensorflow Serving 进行推理

    我们正在将现有的 Java 生产代码转换为使用 Tensorflow Serving TFS 进行推理 我们已经重新训练了模型并使用新的 SavedModel 格式保存了它们 不再有冻结图表 从我读过的文档来看 TFS并不直接支持Java
  • 如何总结 XSL 中 for-each 循环的结果?

    我是 XSL 新手 所以我真的不知道如何做到这一点 我有一个 for each 语句 它对 单元格 类型的每个元素进行一些计算 如何汇总结果并将其存储在变量中以便显示它 我已经包含了部分代码 我希望有人知道这个问题的解决方案 感谢您的时间和
  • Google ndb 库中的内存泄漏

    我认为存在内存泄漏ndb图书馆 但我找不到在哪里 有没有办法避免下面描述的问题 您是否有更准确的测试想法来找出问题所在 这就是我重现问题的方式 我创建了一个包含 2 个文件的简约 Google App Engine 应用程序 app yam
  • 当特定条件为 true 时,Bash 替换字符串

    我正在尝试替换同一行中特定条件为真的字符串 我有一个包含一些行的文件 我在以另一个单词 word3 开头的每一行中用另一个单词 word2 替换一个单词 word1 例如 foo moo see kaa haa qee foo dee se
  • 查询 DBpedia 以获取图书的元数据

    我有一堆 ISBN 我要查询DBpedia并获取书籍的元数据 我无法理解SPARQL 有人可以告诉我如何获取一本书的元数据吗DBpedia在Java中 SPARQL 既是一种查询语言 也是一种查询所谓的协议SPARQL 端点 向 DBped
  • 从 Numpy 数组的索引中采样的有效方法?

    我想从 2D Numpy 数组的索引中进行采样 考虑到每个索引都按该数组内部的数字进行加权 我知道的方式是numpy random choice但是 这不会返回索引 而是返回数字本身 有什么有效的方法吗 这是我的代码 import nump
  • 我应该在 MVC Razor 中的哪里找到共享 @helper 函数

    我有一个辅助功能 可以将分钟变成小时 分钟 我目前在我的layout cshtml 中有它 但每个页面都看不到该功能 我应该将辅助函数放在哪里以便每个页面都可以看到它 helper DisplayElapsedTime int timeIn
  • 使用AWS Codebuild时如何读取SSM参数?

    我目前正在成功使用 codebuild 来执行简单的构建任务 在非 vpc 配置中 但现在我尝试运行一个读取 SSM 参数值的构建任务 但它失败了 因为它无法加载任何凭据 明显的原因是 com amazonaws auth Instance
  • 将 JSON 转换为字符串时如何解决此 Javascript 错误?

    Uncaught TypeError Converting circular structure to JSON 我试图字符串化的对象是这样的 我将其记录在javascript控制台中 Object GsearchResultClass G
  • 每 100 个元素对 Python 列表进行切片的最 Pythonic 方法 [重复]

    这个问题在这里已经有答案了 我有一个包含许多元素的列表 我想每 100 个元素将其切片为多个列表的列表 例如 gt gt gt a range 256 gt gt gt b slice a 100 b那么应该是 0 1 2 99 100 1
  • window.innerHeight 与 window.outerHeight 计算密度?

    当我开始使用 PhoneGap 一个标尺 开发一个简单的应用程序时 我遇到了一个问题 我的大部分移动背景都是使用原生 Android 所以我就从它开始 我是 javascript 和 html5 以及一般 Web 开发的初学者 Here h
  • 用于从电子表格公式中提取有效单元格引用的正则表达式

    我正在尝试使用 Google Apps 脚本 Javascript 从电子表格公式中提取有效的单元格引用和范围引用 有效的单元格引用是一个或两个字母 后跟不以零开头的连续数字 字母或数字前面可以有也可以没有 字符 整个引用不能以字母 数字或
  • spl_object_hash 匹配,对象不相同

    我在 PHP 中有两个对象变量 我们称它们为 a and b 我认为它们都是同一个对象 事实上 呼吁spl object hash 证实了这一点 但它们各自具有不同的属性 当我跑步时 if spl object hash a spl obj
  • 安装 XML::DOM 模块错误

    我在尝试安装 CPAN 模块时遇到了很多问题 使用 cpan exe 我尝试安装一个模块 例如 install XML DOM 但最终碰壁了 安装完成后提示 dmake exe 不正常 这是我的错误 Microsoft Windows Ve
  • 访问:ConcatRelated 适用于表,但不适用于查询

    我一直在使用Allen Browne s Concat相关 http allenbrowne com func concat html函数 虽然当数据来自表时它工作正常 但当数据来自查询时它不起作用 绿色的 正在运行查询 栏会出现几秒钟 但
  • 如何在 R 中将日期变量分组为月/年?

    我有一个 日期 向量 其中包含 mm dd yyyy 格式的日期 head Entered Date 5 1 1 5 1998 1 5 1998 1 5 1998 1 5 1998 1 5 1998 我正在尝试根据日期绘制频率变量 但我想按
  • 我应该如何在 mongodb 中存储布尔值?

    我看到在 mongodb 中存储布尔信息的三种主要可能性 0 或 1 作为字符串 0 或 1 作为数字 布尔值的 True 或 False 每种方法在使用的存储空间和查询速度方面有哪些优点 缺点 Boolean是本机字段类型BSON htt
  • nginx 缺少站点可用目录

    我在 Centos 6 上安装了 Nginx 并尝试设置虚拟主机 我遇到的问题是我似乎找不到 etc nginx sites available目录 我需要做些什么才能创建它吗 我知道 Nginx 已启动并正在运行 因为我可以浏览它 好吧
  • 发票和发票行:如何存储客户地址信息?

    您好 我正在开发一个发票应用程序 所以总体思路是有两个表 Invoice ID Date CustomerAddress CustomerState CustomerCountry VAT Total InvoiceLine Invoice