[Babase] Dupe Cenids in DEMOG
Karl O. Pinc
babase@www.eco.princeton.edu
Thu, 25 Aug 2005 15:44:39 +0000
On 08/25/2005 07:46:52 AM, Catherine Markham wrote:
>> It's supposed to mean exactly that, that it will catch the error
>> no matter how it's entered into the database. This particular
>> error I'm confident it will always catch. (Some others are
>> trickier -- mostly when you can get the same error state by
>> different paths of change in the data, particularly when
>> multiple tables are involved.) The conversion does not do
>> any error checking. It just inserts the data into the database
>> in an order that does not violate any rules, biograph first, etc.
>> I could have skipped all the rule checking as the conversion
>> loads the data, but then we wouldn't be checking either the data or
>> my rules. The rules are built into the database, so we can use
>> any program or none to alter the data and be assured the data is
>> good.
>>
>> The only tricky part is that there's more than one way to get the
>> data into the same state. First change this table then change that,
>> or vice versa, for example. As the conversion is loading every thing
>> the same way the rules are not fully exercised and no doubt there
>> will
>> still be bugs that allow bad data. But it's better than what we
>> had before.
>
> Sorry, Karl - I do remember you explaining that to me before. But
> two follow-up questions for you...
>
> 1. How do you get the system to run that Babase-wide proofs of rules
> and such? Is it something that happens on an automated schedule?
>
> 2. Regardless of the details for the system error checking, I don't
> see why we still wouldn't want red flags going up with the validation
> program. Ultimately, the database can be kept clean either way but
> I'd much rather be warned about a mistake at the point of data entry
> as opposed to resolving the issue later on.
The rules are checked at the moment the database sees data input
or changed, for the most part. It checks all the rules associated
with the data being input or changed. There's a few conditions
that need to run on a schedule but only because it's impossible
to tell (automatically) when an full set of changes has been made.
So, you should see errors as soon as you make them.
Karl <kop@meme.com>
Free Software: "You don't pay back, you pay forward."
-- Robert A. Heinlein