create table addresses (
id int primary key,
address varchar(255)
-- rest person data
);
create table persons (
id int primary key,
name varchar(255),
address_id int references addresses(id),
-- rest person data
index(address_id)
);
create table documents (
id int primary key,
name varchar(255),
person_id int references persons(id),
address_id int references addresses(id),
-- rest document data data
index(person_id),
index(address_id)
);