SELECT rdb$relation_name AS name, rdb$owner_name AS owner, rdb$description AS description
FROM rdb$relations
WHERE (rdb$system_flag = 0 OR rdb$system_flag IS NULL)
AND (rdb$relation_name NOT IN (SELECT rdb$view_name FROM rdb$view_relations))
ORDER BY rdb$relation_name;
SELECT rf.rdb$relation_name, rf.rdb$field_name,
f.rdb$field_type, rdb$field_sub_type,
f.rdb$field_length, f.rdb$field_scale, f.rdb$field_precision,
f.rdb$computed_source
FROM rdb$relation_fields rf
LEFT JOIN rdb$fields f ON f.rdb$field_name = rf.rdb$field_source
ORDER BY rf.rdb$relation_name, rf.rdb$field_position;