Números de série por grupo de linhas para chave composta

Estou tentando manter uma tabela de histórico de endereços:

CREATE TABLE address_history (
    person_id int, 
    sequence int,
    timestamp datetime default current_timestamp,
    address text,
    original_address text,
    previous_address text,
    PRIMARY KEY(person_id, sequence),
    FOREIGN KEY(person_id) REFERENCES people.id
);

Gostaria de saber se existe uma maneira fácil de numerar / restringir automaticamentesequence noaddress_history para contar automaticamente de 1 para cadaperson_id.

Em outras palavras, a primeira linha comperson_id = 1 obteriasequence = 1; a segunda linha comperson_id = 1 obteriasequence = 2. A primeira linha comperson_id = 2, obteriasequence = 1 novamente. Etc.
Além disso, existe uma maneira melhor / integrada de manter uma história como essa?

questionAnswers(1)

yourAnswerToTheQuestion