противоречат ли данные действия какой нибуть теории построения БД ? или какой нибуть форме нормализации ?
Нет.
таблица отражает документ выход которого свидетельствует что у некого объекта появляется допустим наименование и адрес, проблема в том что через неделю может выйти новый документ в отношении того же объекта в котором могут полностью поменяться наименование и адрес (кто знаком с 1С некий аналог периодического реквизита с той разницой что тут все значения могут быть периодические) Вот и сделал флаг - недействительный документ и соответственно ссылку на новый действительный документ (ссылка на эту же таблицу) Можно ли так делать ?
Делать-то можно, только для данной задачи это крайне неэффективно, поскольку придётся последовательно запрос за запросом раскручивать связный список, хранящийся в таблице. Гораздо эффективнее хранить дату со временем выхода каждого документа, а затем одним запросом получать все документы, относящиеся к одному объекту, упорядоченные по убыванию дат со временем, и брать только первую запись - актуальную. А то и вообще задуматься, зачем хранить более неактуальные данные...