I used the following queries to show the fields for each resourcetype. The first query shows the dataclasses and the second shows resource associations.
select rt.Name AS 'ResourceType', rt1.Name AS 'Inherited From', dc.Name AS 'DataClass', dc.ClassType, dc.UserEditable, dca.AttrName
from ResourceType rt
left join ResourceTypeHierarchy rth on rt.Guid = rth.ResourceTypeGuid
left join ResourceType rt1 on rth.BaseResourceTypeGuid = rt1.Guid
left join ResourceTypeDataClass rtdc on rth.BaseResourceTypeGuid = rtdc.ResourceTypeGuid
left join DataClass dc ON rtdc.ResourceDataClassGuid = dc.Guid
left join DataClassAttribute dca on dc.id = dca.InvClassId
order by rt.Name, rt1.Name, dc.Name
select rt.Name AS 'ResourceType', rt1.Name AS 'InheritedFrom', 'Parent' AS 'AssociationType', rat2.Name AS 'Associated Type', rat1.UserEditable, i1.Name AS 'Resource Association'
from ResourceType rt
left join ResourceTypeHierarchy rth on rt.Guid = rth.ResourceTypeGuid
left join ResourceType rt1 on rth.BaseResourceTypeGuid = rt1.Guid
join ResourceAssociationType rat1 on rth.BaseResourceTypeGuid = rat1.ParentResourceTypeGuid
join Item i1 ON rat1.Guid = i1.Guid
join ResourceType rat2 on rat1.ChildResourceTypeGuid = rat2.Guid
union
select rt.Name AS 'ResourceType', rt1.Name AS 'InheritedFrom', 'Child' AS 'AssociationType', rat2.Name AS 'Associated Type', rat1.UserEditable, i1.Name AS 'Resource Association'
from ResourceType rt
left join ResourceTypeHierarchy rth on rt.Guid = rth.ResourceTypeGuid
left join ResourceType rt1 on rth.BaseResourceTypeGuid = rt1.Guid
join ResourceAssociationType rat1 on rth.BaseResourceTypeGuid = rat1.ChildResourceTypeGuid
join Item i1 ON rat1.Guid = i1.Guid
join ResourceType rat2 on rat1.ParentResourceTypeGuid = rat2.Guid
order by rt.Name, rat2.Name