This table provides a list of valid member addresses. This information is highly dynamic and does need a data entry page.
Source romber_member_addresses_tbl.sql
create table romber_member.addresses ( address_id romber_location.location_id not null, address_usage_id romber_location.address_usage_id not null, member_basemember_id romber_member.basemember_id not null, valid_begin_timestamp romber_base.generic_timestamp not null, valid_end_timestamp romber_base.generic_timestamp not null );
Source romber_member_addresses_pk.sql
alter table romber_member.addresses
add constraint romber_member_addresses_pk
primary key (
member_basemember_id,
address_usage_id,
valid_begin_timestamp,
address_id );
Source romber_member_addresses_fk1.sql
alter table romber_member.addresses
add constraint romber_member_addresses_fk1
foreign key ( member_basemember_id )
references romber_member.basemembers ( member_basemember_id );
Source romber_member_addresses_fk2.sql
alter table romber_member.addresses
add constraint romber_member_addresses_fk2
foreign key ( address_id )
references romber_location.locations ( location_id );
Source romber_member_addresses_fk3.sql
alter table romber_member.addresses
add constraint romber_member_addresses_fk3
foreign key ( address_usage_id )
references romber_location.address_usages ( address_usage_id );
Source romber_member_addresses_load.sql
insert into romber_member.addresses (
address_usage_id,
address_id,
member_basemember_id,
valid_begin_timestamp,
valid_end_timestamp )
values (
0,
0,
0,
date '1900-01-01',
date '9999-12-31' );