2011/5/4 Merlin Moncure <mmoncure@xxxxxxxxx>
Most of the old school accounting systems maintained an invoice line number.
> Invoice Line
> Â Â -Invoice Number
> Â Â -LineNo
> Â Â -ItemID
> Â Â -qty
> Â Â -Price
The line number started from 1 (the first line on the invoice) on
every unique invoice. ÂThis has the added benefit of allowing the
primary key index (invoice_no, line_no) allowing you to pull up the
invoice line records in correct order without requiring an extra sort
and, if you don't need any fields from the invoice, a join.
Compare the two queries pulling up invoice lines over a range of
invoice numbers.
merlin
Thanks, merlin,
And in that case, what is "Natural" in LineNo? I would say, with adding LineNo we are creating syntethic/surrogate Key (just instead of 1 surrogate column - it will be Compound key with more columns...)? The same is with all other tables what are "parts" of an Entity, Serial Numbers, Accounting Distribution produced by Invoice...etc etc...
Â