Identificando tabelas, campos, chaves e restrições da Sybase

Estou tentando configurar uma consulta Sybase que me fornecerá a seguinte saída:

Table     KeyType      KeyNumber      Column
table1    PK           1              table1_id
table1    FK           2              table2_id    
table1    FK           3              table3_id
table1    FK           4              table4_id
table1    Unique       5              table1_abc
table1    Unique       5              table1_def

Em outras palavras, eu preciso da PK para cada tabela e todas as chaves estrangeiras que ela possui, bem como todas as chaves exclusivas (não onde uma chave tenha mais de um elemento, como a chave exclusiva acima, isso é identificado por ter o mesmo KeyNumber).

Estou supondo que preciso usar sysobject, syscolumns, syskeys e sysconstraints, mas não consigo descobrir como eles se interligam.

obrigado
Karl

questionAnswers(1)

yourAnswerToTheQuestion