Re: use null or 0 in foreign key column, to mean "no value"? - Mailing list pgsql-general

From David G. Johnston
Subject Re: use null or 0 in foreign key column, to mean "no value"?
Date
Msg-id CAKFQuwbKVZC1z9X4xWPkLM5G-=g5KZGY9JdF7vk9Em3+cBz16w@mail.gmail.com
Whole thread Raw
In response to use null or 0 in foreign key column, to mean "no value"?  (Robert Nikander <rob.nikander@gmail.com>)
List pgsql-general
On Friday, June 26, 2015, Robert Nikander <rob.nikander@gmail.com> wrote:
So… is this bad DB design to use null to mean that an item has no color? Should I instead put a special row in `colors`, maybe with id = 0, to represent the “no color” value?  Or is there some way to make an index work with nulls and `is not distinct from`?

Not sure about getting is distinct to work with indexes but in this particular case I would add a "colorless" color to the table and make the column constraint not null.

I would also likely just make the text value the unique key and forget the surrogate integer key.

David J.

pgsql-general by date:

Previous
From: Jan de Visser
Date:
Subject: Re: use null or 0 in foreign key column, to mean "no value"?
Next
From: John McKown
Date:
Subject: Re: use null or 0 in foreign key column, to mean "no value"?