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