Oneproblemwithdatabasecompatibilityisthatmanydatabasesdifferintheirbehaviourofhowtheresultsetofaqueryisreturned.MySqlleavesthefieldnamesunchanged,whichmeansifyouissueaqueryoftheform"SELECT myField FROM ..."thentheresultsetwillcontainthefield'myField'.Unfortunately,thisisjustthewayMySqlandsomeotherdatabasesdoit.PostgresforexamplereturnsallfieldnamesinlowercasewhilstOraclereturnsallfieldnamesinuppercase."So what? In what way does this influence me when using Doctrine?",youmayask.Fortunately,youdon't have to bother about that issue at all. Doctrine takes care of this problemtransparently. That means if you define a derived Record class and define a field called 'myField' you will alwaysaccess it through $record->myField (or $record['myField'], whatever you prefer) no matter whether you'reusingMySqlorPostgresorOracleect.Inshort:Youcannameyourfieldshoweveryouwant,usingunder_scores,camelCaseorwhateveryouprefer.