It is generally recognized that CMSes are about separating the content from it's appearance and the logic that manipulates the content. In Drupal, it is good practice to maintain code in files which can be version-controlled (with subversion for example), and keep just the dynamic content and data in the database. In other words, executable code should not go in the database.
read more