Terminology Overview of Database Edition
With Visual Studio Team System Database Edition, you can create and manage your database as part of your development process alongside the source code for your application. The following definitions explain terminology that relates to Database Edition.
A family of processes that application developers use to minimize risk by developing applications in a series of short iterations that last one to four weeks. In this paradigm, the primary measure of progress is working software, instead of hours spent or tasks completed. Agile Methods emphasizes real-time communication, such as face-to-face meetings, telephone calls, and instant messaging, over written documents.
In database unit testing, one of the following scripts: TestInitialize or TestCleanup. Common scripts do not run as part of a database unit test. Instead, they run before and after tests and test runs to modify the test environment, which includes the database that is being tested.
A database project that contains references to one or more other database or server projects, which are treated as contents of the project that contains the references. When you deploy the project that contains the references, you also deploy to the same database all of the projects that are referenced. If your database project references a server project, you might also deploy updates to objects that are defined in the "master" database.
A reference to one or more objects from an object definition or script that resides in a different database. The two databases might reside on different servers. A cross-database reference is sometimes referred to as a three-part or four-part name because such references specify the names of servers (optional), databases, schemas, and objects.
Data Definition Language (DDL)
Statements in SQL that define, instead of manipulate, data (for example, CREATE TABLE, CREATE INDEX, GRANT, and REVOKE).
database development life cycle
A structured process that is imposed upon the development of the database portion of an application. It is essentially a subset of the software development life cycle that is specific to one or more databases in an application.
data generation plan
A file that contains information about a particular database schema and how Data Generator will generate data for it.
Data Manipulation Language (DML)
Statements in SQL that manipulate, instead of define, data (for example, INSERT, UPDATE, DELETE, and SELECT).
An offline representation of a database. Each database project contains the scripts and the configuration information that are required to deploy a new database or to update an existing database to a database server. A database project does not contain the data that resides in that database. Database projects are saved as .dbproj files.
A database component (for example, a table, index, trigger, view, key, constraint, default, rule, user-defined data type, or stored procedure in a database). Can also refer to a database.
The process by which you can change your entire database project (and possibly related test projects) as a single, comprehensive update. For example, if you rename a column in a database table by using refactoring, you also update all stored procedures, views, indexes, functions, unit tests, and so on that reference the column.
database schema provider
The components that implement the Schema Model and provide supporting services (such as parsing SQL statements or creating scripts from the model) for one or more database products. Database Edition includes database schema providers for SQL Server 2000, SQL Server 2005, and SQL Server 2008. In addition, Database Edition supports an extensibility model so that other companies can develop additional database schema providers that target other database products.
database unit test
A unit test that validates whether a certain aspect of your database is working as you expect.
An implementation of an extensibility point that provides new or updated behavior for a feature. Examples of feature extensions include refactoring types, refactoring contributors, data generators, rules for analyzing database code, and unit test conditions.
isolated development environment
A private copy of the database that you can create from the database project and typically fill with data by using a data generation plan. You can use an isolated development environment to safely implement and test changes to the database schema without interfering with other development processes. After you complete your tests, you can then share your changes with rest of the team when you check your version of the schema into version control. An isolated development environment is often referred to as a "sandbox".
A database that is installed with Microsoft SQL Server and that provides the template for new user databases. SQL Server creates a database by copying in the contents of the model database and then expanding the new database to the size requested.
A collection of files that you can add to a database project by adding a single .files file. For example, you can create a partial project to share object definitions that must be identical in each of multiple databases. You define the objects in one project, export them as a partial project, and then include them in the other projects.
A set of zero or more user-specified database scripts that are executed in a specific order after the database deployment script is executed.
A set of zero or more user-specified database scripts that are executed in a specific order before the database deployment script is executed.
The different types of objects that a database project comprises, including data generation plans, scripts, and the schema object definitions.
A Transact-SQL (T-SQL) statement that displays an error message and sets the @@ERROR automatic variable without changing the flow of the procedure. You can use RAISERROR statements to return test results from database unit tests.
An object or collection of database objects that contain structural information, or metadata, about a database.
An object model and supporting services that represent arbitrary SQL script. That script includes both Data Definition Language (DDL) and Data Manipulation Language (DML) statements.
Script Domain Object Model (Script DOM)
An object model and supporting services that represent the objects in a database instance such as tables, views, and stored procedures.
An offline representation of a database server. Each server project contains the definitions of the objects and settings for the server. When you deploy a server project, the scripts in that project update the objects and settings on the server. Access to server objects and settings is often restricted to database administrators. Server projects are saved as .dbproj files.
The database in a particular operation that the operation does not modify. For example, if you compare your database project to the current deployment of that database with the intent of updating the deployment to match the project, the database project is considered the source for that operation.
tabular data stream (TDS)
The internal protocol for transferring data between a client and a server that is running Microsoft SQL Server. TDS allows client and server products to communicate regardless of operating system, server release, or network transport.
The database on which an operation acts. The operation might or might not modify the target, depending on the type of operation. For example, if you compare your database project to the current deployment of that database with the intent of updating the deployment to match the project, the deployed database is considered the target for that operation.
In a database unit test, a set of frequently used validation functions that test whether a unit test returns the expected results. A test condition analyzes the execution results of a unit test and determines, based on its parameters, whether the results met the criterion of the test condition.
A defined requirement that is checked against a product and that yields either a pass or a fail result. A pass result indicates that the requirement was met, and a fail result indicates that the requirement was not met.