|Home | Concepts | API | Samples|
|Concepts > Versioning > Basic Principles|
A versioned database is an ArcSDE geodatabase that has been configured to support multiple snapshots of the database. Versions are not copies of the geodatabase; they consist of a collection of tables that track information about each version and each versioned dataset.
Users always access an ArcSDE geodatabase through a version. The version that is present when the geodatabase is created is the DEFAULT version. Other versions are created by creating children or branches from existing versions. A versioned database will typically contain a number of versions, in addition to the DEFAULT version, that might represent such things as a work order, a design alternative, a disconnected editing session, a historical snapshot, or a child replica.
The VERSIONS table contains a descriptive list of these versions with each version identified by a
unique name and ID (IDs are automatically generated by ArcSDE). In addition, each version has an owner, description, parent version, associated database state, and
level of user access.
When the VERSIONS table is first created, the details of the DEFAULT version are automatically recorded in this table. The ArcSDE administrator owns the DEFAULT version, and the initial ID of the corresponding database state will be set to 0. The description string will read Instance Default Version and, because the DEFAULT version has been granted PUBLIC access, any user can modify it. To support general connections to the geodatabase, the level of access to the DEFAULT version must remain either Public or Protected; if the access level were set to Private, only the ArcSDE administrator could connect to the database. See Creating versions and setting permissions for details on version permissions. See Version, State, State Tree, and Trimming in this help for more information on how versions are tracked in the database.
Versions can be thought of as distinct views of the geodatabase. When users access a particular version, they see only the edits made in that view until the changes get posted to a version further up the version tree. To understand versioned editing, see Practice of Versioning, Version scenarios, A quick tour of the version editing process, and their related topics in the ArcGIS Desktop or Server help.
Not all tables in a DBMS need to be registered as versioned; only user-defined tables that need to be edited by more than one user need to be registered as versioned. When a dataset is registered as versioned, two associated tablesthe Adds (a) and Deletes (d) tablesare created to track changes in the dataset. Edits remain in these tables until the geodatabase is compressed. See Compression and Delta Tables in this help and Registering data as versioned, The compress operation, and Compressing an ArcSDE geodatabase in the ArcGIS Desktop or ArcGIS Server help for more information.
A quick tour of versioning and its related topics in the ArcGIS Desktop or
ArcGIS Server help for more background information on versioned databases.