1 of 2

I see two questions here:

  • Should database developers model business logic?
  • Should I know how to persist data to the database?

Business Logic

  • Business logic does not live in a database. It's a conceptual model which must be independent of other layers within your system.

  • You can always replace one database with another, or you might even decide to use a NoSQL solutions to address potential performance issues.

  • Database developers can be involved during modelling process, but normally this is done by people with a complete understanding of a problem domain. In our organisation this is done by server side developers.

  • Many think that database is a foundation of your application. Make poor foundation, and the system will fall. I disagree with this. I see database as a storage medium that can be always replaced.

Persisting Data

  • You should know how to persist data to different storage mediums, including SQL and NoSQL solutions.

  • Level of required expertise will vary with the size of the system that you are working on.

  • Small companies would expect you to have that knowledge, when larger companies would normally hire experts to address performance, scalability and security related requirements.