title: In ACID is C the responsibility of the DBMS implementation?
body: <p>I am confused on the very concept of ACID.<br>
  All references/textbooks describe ACID as a set of properties that the database system is expected/required to maintain in order to preserve data integrity.<br>
  But the C part of ACID i.e. Consistency does not really seem to actually be a responsibility of the database.<br>
  In some references (e.g. Silberschatz) in the sense that the code itself of a transaction (if run in isolation) lefts the database in consistent state i.e. the transaction code is correct and hence this is the application's programmer's perspective not of the DBMS.<br>
  And in other references the description is vague like "leaving the database in consistent state"<br>
  So which is correct? </p>