Lists Home |
Date Index |
Michael Kay wrote:
> I tend to be a little wary of constraints myself.
> Many of those you see in student textbooks are
> misguided. If I see a schema (XML or RDB) with the
> constraint that employees must be over 16, I ask
> myself what the IT department would do if the
> business decided to hire someone under 16. If
> there's a rule that an employee's manager must
> themselves be an employee, I ask what would
> happen when someone is told that they now report
> to a contractor.
This is excellent:
> It's not the job of computers to limit what people
> are allowed to do (or the job of the IT department
> to regulate the business).
The following innocuous sentence has profound implications
on the role of schemas:
> A guideline I use is that constraints should be there
> only to protect the IT system itself from data that
> it cannot handle.
Would you elaborate upon this sentence Michael? I believe
that you are saying that the role of a schema is to define
things such as:
- ensure that a "date" is indeed a valid date
- ensure that an "age" is indeed a valid age
The role of a schema is not, for example, to specify:
- the "age" must be at least 16.
So, your guideline says: use schemas to specify datatypes
for objects, not their range of values. Is that a fair
summary of your guideline? /Roger