With DB_OWNER role a user is able to do everything within the scope of the database. This includes granting permissions to users!! For creating/altering tables and stored procedure the DB_DDLADMIN role would be enough. From the least-privelidge perspective this would be a better option compared to the DB_OWNER role.
** Don't mistake the ‘stupidity of the crowd’ for the ‘wisdom of the group’! **