У меня есть две таблицы в моей базе данных. Давайте назовем их человеком и зданием
create table building (
id serial primary key,
address varchar(255)
);
create table person (
id serial primary key,
name varchar(255),
building_id integer,
foreign key (building_id) references building (id)
);
Что мне нужно, так это иметь еще одно поле в таблице персон, которое было бы уникальным «человек в здании». Таким образом, если в здании два человека, а я добавляю третьего, им будет назначено 3 в качестве номера «человека в здании». Мне все равно, являются ли эти числа «человек в здании» последовательными, если они уникальны для человека и здания и сохраняются при удалении / вставке (т. Е. Если человек удаляется, другие люди в том же здании не получают авто-перенумеровать). Я, вероятно, могу реализовать это с помощью триггеров, но мне было интересно, есть ли более простой способ.