On Sep 30, 1:04 pm, Erwin <e.sm..._at_myonline.be> wrote:
> On 30 sep, 12:32, Tony Andrews <tony.andrew..._at_gmail.com> wrote:
> > Or we could create a plethora of tables like:
> > create table applications_with_garages (application_id references
> > applications primary key);
> > create table applications_with_immobolisers (application_id
> > references applications primary key);
> > ... etc.
>
> > That may be the right approach in a theoretical true RDBMS, but I'm
> > pretty sure it would get me sacked as a lunatic in any SQL-based DBMS
> > team!
>
> If your SQL-based DBMS had proper physical data independence, then I
> am quite convinced your claim would be false.
But would this unary table approach to avoid a Boolean attribute
really be considered good practice in a true RDBMS? If I want to know
"does the applicant's car have an immboliser", is the absence of a row
in applications_with_immobilisers sufficient to answer it? I thought
that was a proposed solution to missing information ("it is unknown
whether the applicant's car has an immobiliser"), now it seems to be
acting as available information - i.e. the predicate "applicant 123's
car does not have an immboliser". Seems dubious to "record" a known
fact by, er, not recording it.