>> If I add ALL to department table, I must restrict all other tables of 
>> having
>> ALL department. This is a big work and cannot be done nicely in Postgres.
>
> Not true. :)  You simply need to add CHECK (departament_id <> 0) (assuming
> 0 is the ID of ALL departaments.  You can even CREATE DOMAIN with this
> check "built in" to save you some typing. :)
>
> If, for some reason, you want to be sure that 'ALL deparaments' is not
> visible, you can create a view which will SELECT WHERE departament <> 0;
>
> Basically -- I think  you should get some pre-declared values, like
> departament_id
> of 0 and simply restrict it where it is not allowed.  It's better than
> forcing NULL
> to become a value. :)

Dawid,

I have meaningful primary key in department table (department code used 
inside enterptise), not a surrogate number (I use meaningful primary keys 
whenever possible).

Some usres may use floow numbers as department codes. They want to use 0 as 
ground floor.
Using your suggestion my applicaton does not allow to use some code as 
department code.

Should I switch to surrogate primary key in department table? This is major 
re-write. 



---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Reply via email to