Glossary
An acronym for atomicity, consistency, isolation, durability. These four concepts of transactional data stores, including SQL databases, ensure data integrity.
The representation of all arcs or edges of a graph as a list. In SQL, this is often implemented as a self-referential table in which each row maintains a pointer to its parent node in the graph.
Also known as Project Astoria. ADO.NET Data Services provides middle-tier support for accessing SQL Server databases through REST-style queries and entity data models (EDMs).
The nonrecursive query specified in the body of a common table expression.
application programming interface (API)
A well-defined interface provided by an application or service to support requests and communications from other applications.
assembly
In SQL Server, a .NET assembly is a compiled SQL CLR executable or DLL.
asymmetric encryption
Encryption that requires two different keys: one to encrypt data and another to decrypt it. The most common form of asymmetric encryption is public key encryption, in which the two keys are mathematically related.
atomic, list, and union data types
The XML Schema 1.1 Part 2: Data Types specification working draft (http://www.w3.org/TR/xmlschema11-2/) defines no built-in union data types.
Atomic data types are indivisible data types that derive from the xs:anyAtomicType type. Examples include xs:boolean, xs:date, and xs:integer.
list data types are constructed of sequences of other types.
union data types are constructed from the ordered union of two or more data types, or a restricted subset of a data type.
axis
Specifier that indicates the relationship between the nodes selected by the location step and the context node. Examples of axis specifiers include child, parent, and ancestor.
A command-line utility supplied with SQL Server for the purpose of quickly loading large datasets into tables.
catalog view
View that returns a SQL Server database and server-specific metadata.
certificate
An electronic document consisting of an asymmetric key with additional metadata such as an expiration date and a digital signature that allows it to be verified by a third party like a certificate authority (CA).
check constraint
A condition placed on a table that restricts the range of valid values for one or more columns.
A logic formalism stating that what is not known to be true, is false. SQL databases violate the CWA through the introduction of NULLs.
An index that contains a table’s row data in its leaf-level nodes.
comment
In XQuery, code that is ignored during processing. XQuery comments are denoted by the (: and :) delimiters in XQuery queries. They should not be confused with XML comment nodes, which are designated with <!-- and --> delimiters.
T-SQL allows single-line comments that begin with -- or multiline comments enclosed in /* and */ delimiters.
An alternative way to create XML nodes by specifying the type of node to be created through the use of special keywords.
content expression
Part of a computed constructor, enclosed in braces, that generates XML node content.
An expression that evaluates to the context node.
The node currently being processed. Each node of each set/sequence returned by a step in a location path is used in turn as a context node. Subsequent steps define their axes in relation to the current context node. For instance, with the sample XPath expression /Root/Person/Address, the Root node is the first context node. All Person nodes returned below Root become the context node in turn, and the Address nodes are retrieved relative to these context nodes.
database encryption key
An encryption key used by Transparent Data Encryption to encrypt entire SQL Server databases.
A database-level encryption key used to secure other keys in the database.
data domain
For a column, all valid values that may be stored in that column. The data domain can be restricted through the use of data types, check constraints, referential integrity/foreign key constraints, and triggers.
data page
The smallest unit of storage that SQL Server can allocate. The data page consists of 8 KB of logically contiguous storage.
datum
A set of reference points against which position can be measured. A geodetic datum is often associated with a model of the shape of the Earth to define a geographic coordinate system.
An XPath 2.0/XQuery 1.0 sequence containing zero items.
An abstract logical representation of a physical database, used to implement database connectivity in the middle or client tiers.
A lightweight diagnostic system that can help you troubleshoot performance problems with SQL Server.
extensible key management (EKM)
A SQL Server 2012 encryption option that allows you to physically store encryption keys on third-party hardware security modules (HSMs).
extent
SQL Server’s basic allocation unit of storage. An extent is 64 KB in size and consists of eight logically contiguous data pages, each of which is 8 KB in size.
Extract, Transform, Load (ETL)
Processes that involve pulling data from disparate data sources, cleaning and scrubbing the data, manipulating it (transform), and storing it in the database.
A schema component used to constrain data types. A couple of commonly used facets are whiteSpace, which controls how whitespace in string values is handled, and length, which restricts values to a specific number of units in length.
A primary expression followed by zero or more predicates.
Expressions that support iteration and binding variables. FLWOR is an acronym for the XQuery keywords for, let, where, order by, and return.
A logical coupling of two SQL tables through the values of specified columns.
A logical grouping of SQL Server full-text indexes for management purposes.
full-text index
Index that enables advanced text-based searches to be performed against a database table.
The SQL Server 2012 implementation of the SQL Server full-text search engine with the SQL Server query engine.
The XQuery 1.0 and XPath 2.0 Functions and Operators specification, available at www.w3.org/TR/xquery-operators/.
An existentially quantified XQuery comparison that may be applied to operand sequences of any length. In general comparisons, the nodes are atomized and the atomic values of both operands are compared using value comparisons. If any of the value comparisons evaluate to true, the result is true.
Geography Markup Language (GML)
A standard for the representation of geographic data using XML.
grouping set
A SQL Server 2012 feature that allows you to define sets of grouping columns in your queries.
hash
The result of applying a mathematical function or transformation to data to generate a smaller “fingerprint” of the data. Generally, the most useful hash functions are one-way, collision-free hashes that guarantee a high level of uniqueness in their results.
heap
An unordered collection of data pages. Any table without a clustered index is a heap.
An XQuery sequence of atomic values of different types and/or XML nodes. SQL Server XQuery doesn’t support heterogeneous sequences consisting of atomic values and nodes.
An XQuery sequence consisting entirely of nodes or entirely of singleton atomic values of compatible data types.
indirect recursion
Recursion by a trigger that occurs when a trigger fires, causing another trigger of the same type to fire, which causes the first trigger to fire again.
inflectional forms
Are the different tenses of a verb or the singular and plural forms of nouns. SQL Server integrated full-text search (FTS) can search for inflectional forms of a word, including verb tenses and plural forms of nouns.
A block of bits that is used to obfuscate the first block of data during the encryption process.
Language Integrated Query (LINQ)
A set of features that adds native data source-agnostic querying capabilities to .NET languages using a declarative syntax.
location path
A series of steps separated by the solidus (forward slash) character, evaluated from left to right. A path is an XPath or XQuery expression that addresses a specific subset of nodes in an XML document. Each step on a location path generates a sequence of items. Location paths can be relative or absolute. Absolute location paths begin with a single solidus character; relative location paths do not.
logon trigger
A trigger that fires in response to a server LOGON event.
materialized path model
A model for storing hierarchical data, in which the entire path to the root node is stored with each node in the hierarchy.
Multiple Active Result Sets (MARS)
A feature that allows you to simultaneously open multiple result sets on a single open connection.
A model in which hierarchical data is represented as a collection of sets containing other sets. The lower and upper bounds of each set define the contents of the set.
In the Document Object Model (DOM), everything in an XML document is a node. The entire document is a tree-like structure that makes connections between the arbitrary attributes or nodes. XPath 2.0 and XQuery 1.0 treat XML data as a hierarchical tree structure, similar to (but not exactly the same as) the Document Object Model (DOM) that web programmers often use to manipulate HTML and XML. XPath and XQuery XML trees are composed of the seven types of nodes defined in the W3C XQuery 1.0 and XPath 2.0 Data Model (XDM), full descriptions of which are available at www.w3.org/TR/xpath-datamodel/#node-identity. These node types include the following:
XPath 1.0 defines the node types it uses in Part 5 of the XPath 1.0 specification. The main difference between XPath 1.0 nodes and XDM nodes is that XPath 1.0 defines the root node of a document in place of the document nodes of the XDM. Another major difference is that in the XDM, element nodes are either explicitly or implicitly (based on content) assigned type information.
node comparison
Comparison of nodes in XQuery based on their document order or identity.
node test
A condition that must be true for each node generated by a step. A node test can be based on the name of the node, the kind of node, or the type of node.
An index that stores the clustering key or row ID of the row data in its leaf nodes, depending on whether the table is a clustered table or a heap.
object-relational mapping (O/RM)
A technique for mapping data between relational databases and object-oriented programming languages.
A logic formalism stating that the truth of a statement is independent of whether it’s known to be true.
The ? character, when used in conjunction with the cast as keywords. It indicates that the empty sequence is allowed.
parameterization
The act of using named or positional markers in place of constant values in a T-SQL query or statement. The actual values are passed to SQL Server independently of the actual query.
See location path.
predicate
In T-SQL, an expression that evaluates to a SQL truth value. Predicates are used to control program flow and to limit the results of queries and the effect of statements.
An XQuery predicate is an expression enclosed in brackets ([]) that is used to filter a sequence. The predicate expressions are generally comparison expressions of some sort (equality, inequality, and so on).
predicate truth value
In XQuery, a Boolean value derived from the result of an expression through a set of rules defined in the XQuery recommendation.
primary expression
The basic primitive of the XQuery language. A primary expression can be a literal, a variable reference, a context item expression, a data type constructor, or a function call.
query plan
A sequence of logical and physical operators and data flows that the SQL query optimizer returns for use by the query processor to retrieve or modify data.
recompilation
The process of compiling a new query plan for a given query, statement, or stored procedure when a plan already exists in the query-plan cache. Recompilation can be triggered by SQL Server due to changes that have occurred since the prior query plan was generated for the statement, or it can be forced by user actions and T-SQL options.
recursion
A method of defining functions, common table expressions, procedures, or triggers in such a way that they call themselves or cause themselves to be called multiple times.
row constructor
A SQL Server 2012 feature that allows you to specify multiple rows in a single VALUES clause of the INSERT statement.
scalar function
A function that returns a single atomic value as its result.
searched CASE expression
An expression that allows you to specify one or more SQL predicates in WHEN clauses.
sequence
An ordered collection of zero or more items, as defined in XPath 2.0 and XQuery 1.0. The word ordered is important, because it differentiates a sequence from a set, which, as most T-SQL programmers know (or quickly come to realize), is unordered. XPath 1.0 defined its results in terms of node sets, which are unordered and can’t contain duplicates. XQuery changes this terminology to node sequences, which recognize the importance of node order in XML and can contain duplicates.
server certificate
A certificate created in the master database for the purpose of encrypting an entire database via transparent data encryption (TDE).
An encryption key managed at the SQL Server service level. The SMK is used to encrypt all other keys in the SQL Server encryption key hierarchy.
The process of converting XML data into relational style rows and columns.
simple CASE expression
An expression defined with constants or value expressions in its WHEN clauses. The simple CASE evaluates to a series of simple equality expressions.
SOAP
Simple Object Access Protocol, an XML-based protocol designed for exchanging structured information in distributed, decentralized environments.
spatial data
Data used to represent objects and points on the Earth.
spatial index
A mechanism for increasing the efficiency of geographic calculations such as the distance between points, or whether an object contains another point or object.
A set of tools that provides an integrated environment for database and application development.
SQL injection
A technique that exploits security vulnerabilities in the application layer and middle tier, allowing users to execute arbitrary SQL statements on a server.
step
In XQuery, a part of a path expression that generates a sequence of items and then filters the sequence. Each step is composed of an axis, a node test, and zero or more predicates.
table type
An alias type that defines a table structure for use with table-valued parameters.
A logic system that the SQL language supports with three truth values: true, false, and unknown.
transparent data encryption (TDE)
A SQL Server 2012 feature that allows you to encrypt an entire database at once.
An XML data instance that is not associated with an XML schema collection.
A SQL CLR routine that applies a function or calculation to an entire set of values.
A SQL CLR-based data type.
A comparison of single values in XQuery.
XML data that follows the W3C XML recommendation for well-formed data. It includes a single root element and properly nested elements, and it’s properly entitized.
A plain-text format for defining geospatial data.
Functions that can partition and possibly order datasets before they’re applied to the dataset partitions.
World Wide Web Consortium (W3C)
A standards body with the stated mission of “developing interoperable technologies … to lead the Web to its full potential.”
XML
Extensible Markup Language, a restricted form of Standardized General Markup Language (SGML) designed to be easily served, received, and processed on the Web.
XML schema
The basic data types utilized by XQuery. Part 2 of the XML Schema 1.1 standard defines XML Schema data types.
XPath
XML Path Language, an expression language designed to allow processing of values that conform to the XPath Data Model (XDM).
XQuery
XML Query Language, an XML query language designed to retrieve and interpret data from diverse XML sources.
The XQuery 1.0 and XPath 2.0 Data Model, defined by the W3C at www.w3.org/TR/2006/PR-xpath-datamodel-20061121/. See XQuery.
XSL
Extensible Stylesheet LanguageXSL transformations (XSLT), a language for expressing style sheets, consisting of a language for transforming XML documents and an XML vocabulary for specifying formatting semantics. See XSLT.
XSLT
XSL TransformationsExtensible Stylesheet Language (XSL), a language for transforming XML documents into other XML documents. For instance, XSLT can be used to transform an XML document into an XHTML document. See XSL.