State records in Application Engine programs must be either SQL Tables or Derived/Work records. SQL Views cannot be used because state records require read-write capability for storing process state, and views are typically read-only. Temporary tables are not appropriate for maintaining persistent state across executions.