1. In a repository environment, a method of providing entities the ability to create, manage, and/or store fine-grained metadata, artifacts, or other software related items of a domain by providing a relational model that stores these items in a way that allows rich querying using database routines and other tools, the method comprising: exposing, via an interface stored in memory of a computer system a set of schema guidelines that describe how software related items of a schematized model of a domain are to be categorized in query tables of a repository, the software related items including both executables and metadata that describes the executables, wherein the set of schema guidelines includes two or more of: naming guidelines; script file guidelines; table guidelines; indexing guidelines; viewing guidelines; procedure and function guidelines; foreign key guidelines; query guidelines; or cursor use guidelines; receiving from one or more entities software related items that are organized according to one or more schema guidelines in the set of schema guidelines, the software related items being received by the repository; and storing the organized software related items into a plurality of query tables of the repository, wherein the organized software related items are stored in rows of the query tables, wherein each row includes a container version ID field storing a container version ID that identifies a container to which the organized software related items stored in the row pertain, and wherein the containers are versioned based on when changes to the organized software related items the containers contain are made.