What is a version?
A version is simply a user defined name which references a geodatabase state. When accessing a versioned geodatabase, you are working with a version of the geodatabase. Versions differentiate only by the content of the rows for each objectclass. The schema for each versioned objectclass is the same across all versions. When accessing a versioned objectclass, the geodatabase constructs a query in the underlying database which assembles a result set derived from the business and delta tables based upon the state of the database the version references.