On 16 Oct 2002, Charles Hauser wrote:
> In fits and starts I am working through converting a sybase schema ->
> postgres and am hoping to gain some insight on the use of reference
> tables ('look-up-table') and FK constraints.
>
> In the example below I believe the sybase RULE Phone_type_rule is used
> to restrict input, so that the only values which can be inserted or
> updated into Phone have to be one of ('work', 'home', 'fax', 'mobile',
> 'lab', 'unknown').
>
> How would this be accomplished using a look-up or reference table::FK
> constraint combination?
>
> CREATE RULE Phone_type_rule
> AS @col IN ('work', 'home', 'fax', 'mobile', 'lab', 'unknown')
> go
>
> CREATE TABLE Phone (
> phone_id Identifier_type IDENTITY,
> phone_number varchar(20) NOT NULL,
> community_id numeric(12) NOT NULL,
> type varchar(10) NULL
> )
I think something like this:
create table phone_types (typename varchar(10) primary key;
);
-- insert types into phone_types
create table phone(-- ...type varchar(10) references phone_types
);