Re: when to use NULL and when to NOT NULL DEFAULT '' - Mailing list pgsql-general

From David Garamond
Subject Re: when to use NULL and when to NOT NULL DEFAULT ''
Date
Msg-id 416693DE.20707@zara.6.isreserved.com
Whole thread Raw
In response to Re: when to use NULL and when to NOT NULL DEFAULT ''  (Michael Glaesemann <grzm@myrealbox.com>)
Responses Re: when to use NULL and when to NOT NULL DEFAULT ''  (Michael Glaesemann <grzm@myrealbox.com>)
List pgsql-general
Michael Glaesemann wrote:
> For employees you don't have birthdates for, you could use NULL in SQL.
> However, as relationally one shouldn't use NULL, you would do the
> following:
>
> CREATE TABLE employees (
>     emp_id SERIAL NOT NULL UNIQUE
>     , emp_name TEXT NOT NULL
> );
>
> CREATE TABLE employees_birthdates (
>     emp_id INTEGER NOT NULL REFERENCES employees (emp_id)
>     , birthdate DATE NOT NULL
> );
>
> In any case, one would never use NULL. Either the domain includes a
> value for all possible values (including N/A) or you set up the db
> schema appropriately.

Hm, that can be painful. What if I have ten optional attributes;
separate them to ten different tables?

--
dave


pgsql-general by date:

Previous
From: Bruno Wolff III
Date:
Subject: Re: interesting! a sequence clashes with data already in that table
Next
From: Stephan Szabo
Date:
Subject: Re: text + text