Applications use two components to access a database:
A database API defines how to code an application to connect to a database and pass commands to the database. An object model API is usually language independent and defines a set of objects, properties, and interfaces, while a C or Microsoft® Visual Basic® API defines a set of functions for applications written in C, C++, or Visual Basic.
A database language defines the syntax of the commands sent to the database. The commands sent through the API allow the application to access and modify data. They also allow the application to create and modify objects in the database. All commands are subject to the permissions granted to the user.
This section discusses:
The database language supported by SQL Server is Transact-SQL. Transact-SQL complies with the Entry Level of the SQL-92 standard, but also supports several features from the Intermediate and Full Levels. It also supports some powerful extensions to the SQL-92 standard. For more information, see Getting Started with Transact-SQL.
The ODBC specification defined extensions to the SQL defined in the SQL-92 standard. These ODBC SQL extensions are also supported by OLE DB. Transact-SQL supports the ODBC extensions from applications using the Microsoft ActiveX® Data Objects (ADO), OLE DB, or ODBC APIs, or the APIs that map over ODBC.
SQL Server supports a number of APIs for building general-purpose database applications: