多个行或多个列

对于发票,我需要存储多个金额。 为了简化维护,我决定设计一个表中,我将存储金额类型,其次我在其中将存储量和金额类型。 传入和传出发票具有不同的金额类型,法律禁止。 国外的发票有不同的数额了。

所以,我有:

table invoice_amount_types(id, type_desc) table invoice_amounts(id, invoice_id, amount_types_id, amount)

但是,在这种情况下我会aprox的。 10条记录,每发票。 我不知道关于旋转功能的影响到我的查询的性能。

它是更好地设计一些表像这样(发票和invoice_amounts _...表将是一个一对一关系)

table invoice_amounts_incoming(invoice_id, amount_full, amount_0, amount_10, amount_22, amount_23, pre_vat10, pre_vat22, pre_vat23) table invoice_amounts_outgoing(invoice_id, amount_full, no_vat, no_vat_export, no_vat_transport, no_vat_other, amount_10, amount_22, amount_23, vat10, vat22, vat23)

--------------解决方案-------------

第一种方式(多表)最初将更多的工作,以正确设置,但它是一个更好的解决方案。 从长远来看,这将节省您的时间和疼痛。

我会保持它的规范化,否则,你最终会加入多列越来越多,这只是将是一个灾难! 今天想象一下,你有5列的表,你有几十其中引用所有五列的程序。 你决定你需要添加5个栏目,简单的事,在设计方面,但比你有你所有的过程和函数的一个问题,因为你从来没有提及这5个新列。

我投了一个规范化的数据库! 你最终使其对自己和未来的开发人员可能会与您的系统在未来的互动更加容易。

分类:SQL 时间:2015-03-15 人气:0
本文关键词: SQL,数据库设计
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.727 (s). 10 q(s)