Adobe Campaign comes with a built-in profile table: nmsRecipient. This table has a number of pre-defined fields and tables that can be easily extended. Learn more about this table in this page.
Built-in table extension offers flexibility, but it does not allow to remove some unused fields or links. As a consequence, using a custom recipient table can be a good option when your datamodel differs drastically from Campaign built-in recipient table structure, or if you have a large number of profiles. However, this method requires certain precautions when implementing it.
Learn how to configure your instance to use a custom recipient table in Campaign Classic v7 documentation.