The SECURITY_PRINCIPAL table is not in normalized form. A number of users have complained about the principal tables not being normalized with the principal name in its own column, as well as the principal type in its own column. There are always needs to join to the user tables, and without normalized columns, it makes simple joins difficult for integrators.
I have also seen requests for additional columns on the principal tables. Normally I recommend joining for these columns, or putting them in the user attributes. However I will consider doing so.