Hi John, > You still miss the point of the cross reference ID. It is NOT the > reference ID od the document, such as an invoice or check number, > but it > more like the row ID used by Sqlire as a unique key for a DB row.
I thought, from your explanation, that was what you were using the "Reference ID" for, as you said: >> reference ID to tag the particular complete transaction Anyway, it doesn't matter since I think we're talking about the same thing, but with different column names. If you want to clarify, it would help if you posted a schema of the three tables and the relationships between them. > You could normalize out the date and have stored as associated with > the cross reference. The cost of that would be an extra row lookup > each time you want to get the date of an accounting transaction. A > performance and code complexity decision. It's also an SQL design issue which impacts performance and the ability to extract different reports. De-normalized databases are fundamentally a bad thing. You wouldn't, for instance, design a meeting database where every meeting event explicitly store the name and contact details of the person you were meeting. You'd store it in a People table and refer each event to it. Linking the data through "an extra row lookup" is trivial and optimized within the SQL engine. Thanks, Tom BareFeet -- Comparison of SQLite GUI tools: http://www.tandb.com.au/sqlite/compare/?ml _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users