<p>I have 2 classes for accessing the database:</p>

<p>MovieDAO - access database using "select" statements only; the purpose is for retrieving data for displaying in the web browser.</p>

<p>and </p>

<p>MovieExtendedDAO (extends MovieDAO) - which is more complete and allows for creating/updating/deleting a movie in addition to the inherited functionality. This class is intended to be used only in the site's administrative area.</p>

<p>I have been told it is overkill to separate it like this.</p>

<p>Is this is a normal way to do things or part of a design pattern? Or is there no real benefit to doing this? My main intention was to simplify things for the public side: a kind of optimization for how much stuff needs to get loaded up and also what kind of things can happen on the public (non-admin) side. Thank you for your comments!</p>

it's not a bad method, it's basically a
row data gateway
. in that sense i would think of your movieDAO as more of a finder, (same terminology fowler uses), and your movieextendeddao as a gateway (ie MovieFinder, and MovieGateway).
once you start getting more complex domain logic (ie calculating various things about movies) then you can look at some other data access patterns, but your approach seems reasonable for what you're doing.