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' );