It seems to me the best way to handle this would be to map the contact info as a map collection. Here's what I tried.
-- drop the tables first
drop table contact_info;
drop table employee;
-- create the tables
create table employee (
employee_id identity
,employee_name varchar(30));
create table contact_info (
employee_id integer
,contact_type varchar(30)
,value varchar(30)
,foreign key (employee_id)
references employee (employee_id));
insert into employee values (null, 'mdeinum');
* employee_id ~
call identity();
insert into contact_info values (*{employee_id}, 'EMAIL', '
[email protected]');
insert into contact_info values (*{employee_id}, 'PHONE', '555.555.5555');
insert into contact_info values (*{employee_id}, 'NOTWANTED', 'blahblahblah');
insert into employee values (null, 'mojarrell');
* employee_id ~
call identity();
insert into contact_info values (*{employee_id}, 'EMAIL', '
[email protected]');
insert into contact_info values (*{employee_id}, 'PHONE', '111.111.1111');
insert into contact_info values (*{employee_id}, 'NOTWANTED', 'yadayadayadayada');