O que exatamente a restrição de chave estrangeira “NO ACTION” do SQLite faz e como ela é diferente de “RESTRICT”?

odocumentação diz:

Configurar "NO ACTION" significa exatamente que: quando uma chave pai é modificada ou excluída do banco de dados, nenhuma ação especial é executada.

Minha primeira interpretação desta frase foi "se a chave pai for modificada ou excluída, então esta modificação é feita e nenhuma outra ação é executada", portanto, não preservando a integridade do banco de dados, o que leva a algumaconfusão. Mas meu teste mostrou que, se eu tentar excluir uma chave pai (se uma chave filha ainda existir), recebo uma exceção ("SQLiteConstraintException: código de erro 19: restrição falhou" - Estou testando em android 4.0.3 / SQLite 3.7.x), então "NO ACTION" parece se comportar como esperado.

Alguém poderia por favor explicar e talvez dar um exemplo, o que exatamente "nenhuma ação" faz e como é diferente de "RESTRICT".

questionAnswers(1)

yourAnswerToTheQuestion