ключи бывают двух видов внешние - это прямо айдишники, и внутренние - их реализация СУБД не раскрывает, они могут появляться только внутри транзакций, будем называть их референсы
Соответственно, нужна СУБД, которая будет отслеживать, что все тюплы, идентифицированные по референсам, доступны по цепочке, начинающейсяв в каком-то тюпле, доступном по ключу