zOs/SQL/RICOL

-- referential integrity  with column pairs
with r as
( select *
    from sysibm.sysrels
    where (creator = 'OA1A' and tbname like 'T%')
) ,
f  as
( select ff.*
    from r, sysibm.sysforeignkeys ff
    where   r.creator = ff.creator
        and r.tbName  = ff.tbName
        and r.relName = ff.relName
) ,
k as
( select r.creator, r.tbName, r.relName, kk.*, i.name kIxName
    from r, sysibm.sysindexes i, sysibm.syskeys kk
    where
        (
            (        r.ixName <> ''
                 and r.ixOwner = i.creator and r.ixName = i.name
             ) or (r.ixName = '' and i.uniqueRule = 'P'
                                 and r.refTBCreator = i.tbCreator
                                 and r.refTbName = i.tbName
        )   ) and  i.creator = kk.ixCreator
              and  i.name = kk.ixName
)
select  char(strip(r.creator) ||'.'|| strip(r.tbname)
                || '.' || strip(f.colName),40) "crea.table.col",
        char(strip(r.refTBcreator) ||'.'|| strip(r.refTBname)
                || '.' || strip(k.colName), 40) "references",
        f.colSeq, k.colSeq,
        char(r.relName,12),
        r.deleteRule "ru", r.enforced "en", r.colcount "cols",
        char(r.ixName, 12) "relIndex",
        char(k.kIxName, 12) "indIndex"
    from r
        left join
            (f full join k
            on      f.creator = k.creator
                and f.tbName  = k.tbName
                and f.relName = k.relName
                and f.colSeq  = k.colSeq
           )
        on      r.creator = k.creator
            and r.tbName = k.tbName
            and r.relName = k.relName
;