This glossary describes terms used in the Adaptive Server books.
The method used to find the data needed to produce results for a query. Access methods can be serial or parallel. Serial access methods include: table scan, nonclustered index access, clustered index access. A parallel access method is either a partition-based access method or a hash-based access method. Partition-based access methods include parallel partition scan and parallel clustered index partition scan. Hash-based access methods include parallel hash-based table scan and parallel nonclustered index hash-based scan.
An Adaptive Server facility that prevents a user from logging in to Adaptive Server, but permits the user’s account to own databases and objects. The user can be denied access without disrupting the permissions the user may have granted to other users or the availability of database objects owned by the user. Also known as login locking.
A Sybase Enterprise Event Broker (SEEB) component that provides an interface between SEEB and external applications or messaging systems. An adapter detects events, validates event contents, and passes them to an inflow processor. Adapters also receive SEEB events at outflow processors and export the events to external applications.
The server in the Sybase client/server architecture (called SQL Server in versions earlier than 11.5). Adaptive Server manages multiple databases and multiple users, keeps track of the actual location of data on disks, maintains mapping of logical data description to physical data storage, and maintains data and procedure caches in memory.
The name a user uses to log in to Adaptive Server. A login is valid if Adaptive Server has an entry for that user in the system table syslogins.
A type of lock applied to certain resources such as network buffers or internal structures. Address locks are also used to lock index pages.
Adaptive Server may create an adjusted query plan to compensate for the available worker processes. It is generated at runtime and compensates for the lack of available worker processes.
Describes a process in which a certain Adaptive Server task runs only on a certain engine (task affinity), a certain engine handles network I/O for a certain task (network I/O affinity), or a certain engine runs only on a certain CPU (engine affinity).
A function that generates summary values that appear as new columns in the query results. The aggregate functions available in Transact-SQL are: average (avg), maximum (max), minimum (min), sum (sum), and count of the number of items (count).
The first page of an allocation unit, which tracks the use of all pages in the allocation unit.
A logical unit of 1/2 MB, or 256 2K pages. The disk init command initializes a new database file for Adaptive Server and divides it into allocation units.
A client program that interacts with Adaptive Server. Specifically, an application name refers to the “program_name” column in a sysprocesses table entry. The client libraries provide a mechanism to specify the “program_name” of an application.
A subroutine that allows client applications to interface with Adaptive Server. Also known as libraries.
An expression that contains only numeric operands and returns a single numeric value. In Transact-SQL, the operands can be of any Adaptive Server numeric datatype. They can be functions, variables, parameters, or they can be other arithmetic expressions. Also called a numeric expression.
Symbols that enable you to create arithmetic expressions in SQL statements. Addition (+), subtraction (-), division (/), and multiplication (*) can be used with numeric columns. Modulo (%) can be used with int, smallint, and tinyint columns only. See also comparison operator.
The association key combination of user ID, group ID and query text means that for a given user, there cannot be two queries in the same abstract plan group that have the same query text, but different query plans.
A high availability system consisting of one primary companion and one secondary companion. In an asymmetrical system, only the primary companion can fail over. In this system, the secondary Adaptive Server is also known as a “hot standby.”
The act of recording security-related system activity that can be used to detect penetration of the system and misuse of system resources.
A process that runs every time Adaptive Server is restarted. The process ensures that all transactions that completed before Adaptive Server stopped are brought forward and all incomplete transactions are rolled back.
Short for balanced tree, or binary tree. Adaptive Server uses B-tree indexing. All leaf pages in a B-tree are the same distance from the root page of the index. B-trees provide consistent and predictable performance, good sequential and random record retrieval, and a flat tree structure.
Backup Server performs local or remote backups (dumps) and restores (loads) on selected databases and transaction logs on behalf of Adaptive Server. A Backup Server must be running on the same system as Adaptive Server.
January 1, 1900; the date supplied by Adaptive Server when a user does not specify a value for a date column.
The priority of a task or thread when it is created. At any time, the execution priority of a thread may be greater than or equal to its base priority, but the execution priority of a thread will never be lower than its base priority.
One or more Transact-SQL statements terminated by an end-of-batch signal, which submits them to Adaptive Server for processing.
A server-side component that contains the business logic of a program. At runtime, the application clients execute the business logic by invoking the enterprise Bean's functions.
An association between a default or a rule and a table column or a user datatype. When a rule or a default is bound to a table column or a specified user datatype, it affects the data that can be entered in the column. Binding can also refer to an association between a named data cache and a database, table, or index. When a database, table, or index is bound to a named data cache, reads from the database, table, or index go into the named cache.
Waiting for a lock; tasks that need to acquire a lock on a row, page, or table must wait, or block, if another process holds an incompatible lock.
An expression that evaluates to TRUE (1), or FALSE (0). Boolean expressions are often used in control of flow statements, such as if or while conditions.
A point on a route that includes switching logic. A single event can enter the branch processor, and multiple events can depart to sub-branches. A typical application for a branch is to fan out copies of a message to multiple sub-branches.
A unit of storage in a memory pool. A single buffer cache can have pools configured for different I/O sizes, or buffer sizes. All buffers in a pool are the same size. If a pool is configured for 16K I/O, all buffers are 16K, holding eight data pages. Buffers are treated as a unit; all data pages in a buffer are read, written, or flushed from cache simultaneously.
An area of memory within Adaptive Server that contains the in-memory images of database pages, as well as the data structures required to manage the pages. Each cache is given a unique name that is used for configuration purposes. By default, Adaptive Server has a single cache named “default data cache.” Caches configured by users are called “user-defined caches.” Buffer caches are also referred to as data caches and named caches.
An area of memory within a buffer cache that contains a set of buffers linked together on an MRU/LRU (most recently used/least recently used) list.
Reading pages into the data cache at the LRU end of the cache chain, so that the same buffer is available for reuse immediately. This strategy keeps select commands that require large numbers of page reads from flushing other data from the cache.
A wide variety of functions that take one or more arguments and return results. The built-in functions include aggregate functions, mathematical functions, system functions, string functions, text and image functions, date functions, and datatype conversion functions.
The process of copying data in and out of databases. In Adaptive Server, this operation is performed with the bcp utility.
An event generated by a specific business operation, such as a stock price change transmission. In contrast, a user login is not a business event.
A rule that restricts input and updates based on real-world requirements. For example, a sales database can be required to forbid the sale of any items for which there is insufficient stock. Adaptive Server can check each row before it is added to the sales_orders table and enforce the requirement using the business rule on the quantity column.
Also known as trusted root certificates, the CA certificate is a list of trusted CAs loaded by the server at a start-up.
See buffer cache.
For many processes, Adaptive Server uses an in-memory cache. The cache hit ratio is the percentage of times a needed page or result was found in the cache. For data pages, the cache hit ratio is the percentage of page requests that are serviced by the data cache compared to requests that require disk I/O.
All the possible combinations of the rows from each of the tables specified in a join. The number of rows in the Cartesian product is equal to the number of rows in the first table times the number of rows in the second table. Once the Cartesian product is formed, the rows that do not satisfy the join conditions are eliminated.
A submenu that appears to the right of a selected pull-down menu item. An arrow next to an item on a pull-down menu indicates the existence of a cascading menu.
A Sybase utility to convert third-party PKCS12-format certificates into a format that is understood by Adaptive Server and Open Client/Open Server.
Determines whether or not Adaptive Server automatically starts a new transaction on the next data retrieval or data modification statement. When chained transaction mode is set on outside a transaction, the next data retrieval or data modification statement begins a new transaction. This mode is ANSI-compliant. It ensures that every SQL data retrieval and data modification statement occurs inside a transaction. Chained transaction mode may be incompatible with existing Transact-SQL programs. Chained transaction mode is off by default. Applications that require ANSI SQL (such as the Embedded SQL precompiler) should automatically set the chained option on at the beginning of each session.
An expression that returns a single character-type value. It can include literals, concatenation operators, functions, and column identifiers.
A set of specific (usually standardized) characters with an encoding scheme that uniquely defines each character. ASCII and ISO 8859-1 (Latin 1) are two common character sets.
Changing the encoding scheme of a set of characters on the way into or out of Adaptive Server. Conversion is used when Adaptive Server and a client communicating with it use different character sets. For example, if Adaptive Server uses ISO 8859-1 and a client uses Code Page 850, character set conversion must be turned on so that both server and client interpret in the same way the data passing back and forth.
A constraint placed on the check command that limits the values users can insert into a column of a table. A check constraint specifies the search_condition that values must pass before being inserted into the table.
The point at which all data pages that have been changed are guaranteed to have been written to the database device.
A pair of contiguous values in a distribution or histogram. Each step is associated with the set of rows having column values that fall between the upper and lower bound of the step. Also called a step.
An offical document used to verify the identity of one entity (server, router, Web site, and so on) to another.
A pointer in an index that points to the next lowest level of the index containing the key values. A child page pointer consists of a key and a row ID.
A preferential list of key-exchange algorithms,
hashing methods, and encryption methods used by SSL-enabled
In Java, a class provides the definition of an object; an object is an instantiation of a class. An application with a user interface includes forms, which are classes with specific support for the design environment.
A hierarchical level of security; for example, Top Secret, which has a higher classification value than Secret.
A set of keywords and options that tailor a Transact-SQL command to meet a particular need. Also called a keyword phrase.
The user’s side of a client/server arrangement; can refer to the software making the calls to the server or to the machine running the client software.
A cursor declared through Open Client calls or Embedded SQL. Open Client keeps track of the rows returned from Adaptive Server and buffers them for the application. Updates and deletes to the result set of client cursors can be done only through Open Client calls.
A computer system architecture in which clients request a service and a server provides that service. Each machine can then specialize in the tasks it is best suited for.
A collection of nodes in a high availability system. A cluster for the Adaptive Server high availability system consists of two nodes.
An index in which the physical order and the logical (indexed) order is the same. The leaf level of a clustered index represents the data pages themselves. A table can have only one clustered index.
See character set.
See sort order.
Limits the values of a specified column. Place column-level constraints after the column name and datatype in the create table statement, before the delimiting comma.
An instruction that specifies an operation to be performed by the computer. Each command or SQL statement begins with a keyword, such as insert, that names the basic operation performed. Many SQL commands have one or more keyword phrases, or clauses, that tailor the command to meet a particular need.
A dialog box that opens when you execute a command that requires information on how it should execute.
Common Object Request Broker Architecture. An open distributed object computing infrastructure—defined by the Object Management Group (OMG)—that automates many common network programming tasks. A key component in the architecture, the Object Request Broker (ORB), is the middleware that establishes the client/server relationships between objects and enables clients to invoke methods on a server object on the same machine or on a machine on a network.
A symbol used to compare one value to another in a query. Comparison operators include equal to (=) greater than (>), less than (<), greater than or equal to (>=), less than or equal to (<=), not equal to (!=), not greater than (!>), and not less than (!<). See also arithmetic operator.
One of a set of nonhierarchical values used with classifications to make up a sensitivity label. Compartments usually represent topics or work groups.
Datatypes that are automatically converted for implicit or explicit comparison.
Any object that requires entries in the sysprocedures table. Check constraints, declarative defaults, rules, stored procedures, triggers, and views are compiled objects. These objects are described by source text. Adaptive Server uses compiled objects to contain vital information about each database and to help you access and manipulate data.
Packages consist of components, and a component is an application object that consists of one or more methods.
Component Integration Services extends Adaptive Server’s capabilities and provides enhanced interoperability. It is the core interoperability feature of OmniConnect. Component Integration Services allows Adaptive Server and OmniConnect to present a uniform view of enterprise data to client applications and provides location transparency to enterprise-wide data sources.
Indexes that involve more than one column. Use composite indexes when two or more columns are best searched as a unit because of their logical relationship.
An index key that includes two or more columns; for example, authors(au_lname, au_fname).
Combining expressions to form longer expressions. The expressions can include any combination of binary or character strings or column names.
Concurrent execution (multiprocessing) of independent and possibly competing processes or transactions.
Connection caching allows EJB Server components to share pools of preallocated connections to the database server, avoiding the overhead imposed when each instance of a component creates a separate connection.
In parallel sorts, consumer processes simultaneously sort a discrete range of data received from producer processes. Consumer processes hand off the sorted data to a coordinating process.
An expression that returns the same value each time the expression is used. In Transact-SQL syntax statements, a constant expression does not include variables or column identifiers.
A rule applied to a database object that ensures that all entries in the database object to which it applies satisfy a particular condition. For example, a column may have a constraint requiring that all values in the column be unique.
Determines how an event processor interprets the sequence of bytes that makes up the event body. SEEB supports the following containers: binary event, SQL rowset event, SQL typed property event, text event, rvmsg, aggregate, Java object, and property.
Protection that provides certain permissions or privileges depending on the identity of the user. This type of protection can be implemented using views and the user_id built-in function.
A report or data display that breaks data into groups and generates summary information for each break. The breaks control the generation of summary data.
Transact-SQL’s programming-like constructs (such as if, else, while, and goto) that control the flow of execution of Transact-SQL statements.
A reserved database page that stores information about the last page of a partition.
In parallel sorts, the coordinating process merges the results of the consumer processes into a single result set. For queries, the result set is the final, sorted data. For a create index statement, the coordinating process merges subindexes into one, final index.
A subquery that cannot be evaluated independently, but depends on the outer query for its results. Also called a repeating subquery because the subquery is executed once for each row that might be selected by the outer query. See also nested queries.
Distinguish the different roles a particular table plays in a query, especially a correlated query or self-join. Assign correlation names in the from clause and specify the correlation name after the table name:
select au1.au_fname, au2.au_fname from authors au1, authors au2 where au1.zip = au2.zip
A measurable performance item that can be reported by the Windows NT Performance Monitor. This is generic Windows NT terminology for describing a mechanism for producing statistical performance information. Adaptive Server maintains a special set of counters to measure and report on Adaptive Server objects or events on the Windows NT platform.
See index covering.
See index covering.
The current value is the value of the variable just before the update of the current row.
A named select statement that retrieves one or more rows from a given table, and allows you to modify or delete the rows individually. Cursors consist of two parts: the cursor result set and the cursor position.
Indicates the current row of the cursor. You can explicitly reference that row using statements designed to support cursors, such as delete and update. Change the current cursor position through fetch, which moves the current cursor position one or more rows down the cursor result set.
The set of rows resulting from the execution of the select statement associated with the cursor.
The process of generating a cursor result set.
The context in which the cursor is used. A cursor’s existence depends on its scope: within a particular user session, within a stored procedure, or within a trigger.
A locking level or isolation level in which Adaptive Server has a shared lock on the base table pages that contain a current cursor row. The page remains locked until the cursor is no longer positioned on the page (as a result of fetches). If the base table has an index, the corresponding index pages also have shared locks.
See buffer cache.
The process of setting up databases and creating database objects such as tables, indexes, rules, defaults, procedures, triggers, and views. See also source text.
Transact-SQL scripts that capture the state of a database. These scripts can re-create the database in the same location or on a different server.
The system tables that contain a description of each database object and how it is structured.
Adding, deleting, or changing information in the database with the insert, delete, and update commands.
The act of requesting data from the database and receiving the results. See also query.
Replication Server threads corresponding to a connection between a Replication Server and a database. DSI threads, consisting of a scheduler thread and one or more executor threads, submit transactions from the DSI outbound queue to a replicate data server. The scheduler thread groups the transactions by commit order and dispatches them to the executor threads. The executor threads map functions to function strings and execute the transactions in the replicate database.
A subject-oriented information store specifically designed for decision support and analytical processing. A data warehouse contains large amounts of information used by managers, strategic marketers, and merchandisers to help them understand and predict market trends and make crucial business decisions. The information in a data warehouse is not usually modified by the people who use it. See also relational database.
See relational database.
The tasks involved in maintaining, designing, implementing changes to, tuning, and expanding a database. See also system administration.
A device dedicated to the storage of the objects that make up databases.
Any transaction that causes a state change in the database. Examples include: begin, rollback, or commit transaction boundary; an insert, update, or delete; a blob (Java object, image, or text); or a stored procedure invocation that results in a change in the database. The Replication Adapter and SQL Adapter detect database events.
A characteristic of a database evidenced by the database being both valid and complete. Database integrity consists of two complementary components: validity, which guarantees that all false information is excluded from the database, and completeness, which guarantees that all true information is included in the database. See also integrity constraints.
The Adaptive Server DBMS component performs query processing and transaction management for the current task. For example, the DBMS parses, compiles, and executes SQL statements and returns any results.
One of the components of a database: table, column, view, index, procedure, trigger, default, or rule. See also object.
A user who creates a database object.
The creator of a database. The Database Owner has control over all the database objects in that database. The login name for the Database Owner is “dbo.”
A term used to denote both the datapages-locking scheme and the datarows-locking scheme. In these locking schemes, only the underlying data row or page is locked, and no index row locks or page locks are acquired. Index rows or pages are implicitly locked by locking the underlying data page.
The percentage of page accesses that do not require an extra extent I/O when rows are accessed in index order. The database cluster ratio measures the ordering and density of data pages in extents with respect to data access via the given index.
One of the three locking schemes in Adaptive Server. In datapages locking, only data pages are locked. No page locks are acquired on index pages. See also allpages-locking scheme and datarows-locking scheme.
The percentage of row accesses for an index that do not require an extra logical or physical I/O when rows are accessed in index order. The data row cluster ratio is maintained for each clustered index on a data-only-locked table and for each nonclustered index. The data row cluster ratio is not maintained for a clustered index because the ratio is always 1, that is, 100 percent clustered, since rows are guaranteed to be in key order.
One of the three locking schemes in Adaptive Server. In datarows locking, only data rows are locked. No row locks are acquired on index pages. See also allpages-locking scheme and datapages-locking scheme.
Specifies what kind of information each column will hold and how the data will be stored. Datatypes include char, int, money, and so on. Users can construct their own datatypes based on the Adaptive Server system datatypes.
A function that is used to convert expressions of one datatype into another datatype, whenever these conversions are not performed automatically by Adaptive Server.
The hierarchy that determines the results of computations using values of different datatypes.
See query object.
A function that displays information about dates and times, or manipulates date or time values. The date functions include getdate, datename, datepart, datediff, and dateadd.
Parts of a date, such as day, month, or year, recognized by the Transact-SQL date functions.
Instructions to the database consistency checker (dbcc), which checks the logical and physical consistency of a database.
See Database Owner.
A deadlock occurs when two or more user processes each have a lock on a separate page or table and each wants to acquire a lock on the other process’s page or table. The transaction with the least accumulated CPU time is killed and all of its work is rolled back.
A database system that supports queries involving large amounts of data. Commonly used to make business decisions. DSS queries typically access entire tables or large portions of tables, involve joins between many tables, and return summaries of large result sets. DSS applications are often run on a scheduled basis; for example, to produce the same report at the close of every business day. See also data warehouse.
For a user, the language that displays that user’s prompts and messages, set with sp_modifylogin or the language option of the set command. For Adaptive Server, the language used to display prompts and messages for all users unless a user chooses a different language.
EJB Server includes a set of default packages that include components used internally by EJB Server. These packages are available whether or not they are installed to a server’s Packages folder.
An update operation that takes place in two steps. First, the log records for deleting existing entries and inserting new entries are written to the log, but only the delete changes to the data pages and indexes take place. In the second step, the log pages are rescanned, and the insert operations are performed on the data pages and indexes. See also direct update.
See source text.
The number of worker processes that the optimizer chooses to execute the query in parallel. The degree of parallelism depends on both the upper limit of parallelism for the query and the level of parallelism suggested by the optimizer.
A type of direct update operation. The row is deleted from its original location, and inserted at a new location.
Object names, enclosed in double quotes, which avoid certain restrictions on object names.
Prevents additional shared locks from being set on a table or data page. Any new shared lock request has to wait for the demand lock request to finish.
A frequency count in which values are contiguous in the domain. For example, in the integer domain, the set of values 1, 2, 3 is dense. Compare to sparse frequency count.
The average fraction of all the rows in an index that have the same key value. Density is 1 if all of the data values are the same and 1/N if every data value is unique.
A relationship between objects that occurs when one object refers to another, such as a stored procedure that refers to a table.
Data is logically dependent on other data when master data in one table must be kept synchronized with detail data in another table in order to protect the logical consistency of the database.
Data that logically depends on data in another table. For example, in the pubs2 database, the salesdetail table is a detail table. Each order in the sales table can have many corresponding entries in salesdetail. Each item in salesdetail is meaningless without a corresponding entry in the sales table.
Software such as PowerBuilder that helps you build specialized graphical user interface applications for accessing Adaptive Server databases.
The action of reading to or writing from a database device.
Digital signatures are created with a mathematical algorithm that generates a unique, fixed-length string of numbers from a text message; the result is called a hash or message digest. Digital signatures are used for tamper detection and non-repudiation.
An update operation that takes place in a single step, that is, the log records are written and the data and index pages are changed. Direct updates can be performed in three ways: in-place update, on-page update, and delete/insert direct update. See also deferred update.
Entries in an LDAP server are called entities. Each entity has a distinguished name (DN) and is stored in a hierarchical tree structure. The tree structure is called the directory information tree.
Occurs when a wash area is too small for the usage in a buffer pool, and operations that need a clean buffer may have to wait for I/O to complete on the dirty buffer at the LRU end of the pool or at the victim marker.
Occurs when one transaction modifies a row, and then a second transaction reads that row before the first transaction commits the change. If the first transaction rolls back the change, the information read by the second transaction becomes invalid.
Restrict your access to objects based on your identity or your group membership. The controls are discretionary in the sense that a user with a certain access permission can pass that permission onto any other user (such as with the grant command). See also permission.
Disk allocation pieces are the groups of allocation units from which Adaptive Server constructs a new database file. The minimum size for a disk allocation piece is one allocation page.
The process of preparing a database device or file for Adaptive Server use. After the device is initialized, it can be used for storing databases and database objects. The command used to initialize a database device is disk initialization.
A duplicate of an Adaptive Server database device. All writes to the device being mirrored are copied to a separate physical device, making the second device an exact copy of the device being mirrored. If one of the devices fails, the other contains an up-to-date copy of all transactions. The command disk mirror starts the disk mirroring process.
The number of significant binary digits offered by the default display format for real and float values. Internally, real and float values are stored with a precision less than or equal to that of the platform-specific datatypes on which they are built. For display purposes, Sybase real values have 9 digits of precision; Sybase float values, 17.
An ordered set of n+1 values from a column of a table, obtained by sorting all the values and then selecting the first value and every subsequent (row_count/nth) value (where row_count is the number of rows in the table).
A page associated with an index that was used to store statistics about data distribution in pre-11.9 versions of SQL Server and Adaptive Server.
Distributed transaction participant (DTX participant) is an internal memory structure that Adaptive Server uses to coordinate a transaction that has been propagated to a subordinate Adaptive Server.
The action of making a backup of an entire database, including the data and the transaction log, which you accomplish with the dump database command. Also, the data that results from this action. See also load.
A single tape, partition, or file used for a database or transaction dump. A dump can span many devices, or many dumps can be made to a single tape volume.
The name of a dump file used to identify a specific backup on the backup media. The name cannot exceed 17 characters and must conform to operating system conventions. If you do not enter a name, Backup Server generates a default name based on:
The last seven characters of the database name
The two-digit year
The three-digit day of the year (1 through 366)
Hexadecimal-encoded time at which the dump file was created
For example, the file cations93059E100 contains a copy of the publications database created on the fifty-ninth day of 1993.
A single tape, partition, or file used for a database or transaction dump. A dump can span many volumes, or many dumps can be made to a single tape volume.
An Adaptive Server configuration parameter that is updated immediately when you reset it; you do not have to restart Adaptive Server for it to take effect. See also static configuration parameter.
A worktable built by Adaptive Server for the resolution of queries using or. As each qualifying row is retrieved, its row ID is stored in the worktable. The worktable is sorted to remove duplicates, and the row IDs are joined back to the table to return the values.
Software used by Microsoft Windows and IBM OS/2 to provide services to applications.
An adapter that provides a client interface to EAServer. The EAServer Adapter enables you to execute Enterprise JavaBean methods as part of business event processing.
Allows a component’s methods to specify when deactivation occurs. Early deactivation prevents a client application from tying up the resources that are associated with a component instance and allows the instance to serve more clients in a given time frame.
The process wherein a cryptographic algorithm is used to encode information to safeguard it from anyone except the intended recipient.
An instance of the Adaptive Server executable that can communicate with other Adaptive Server engines in shared memory. An Adaptive Server running on a uniprocessor machine always has one engine, engine 0. An Adaptive Server running on a multiprocessor machine can have one or more engines. Also called server engine.
EAServer (also known as Jaguar). An integrated development and deployment environment with a scalable, secure, and transaction-aware platform for Web and component-based applications. Sybase Enterprise Event Broker (SEEB) runs as a service of EAServer.
Data that exists anywhere in a networked system. Enterprise data can be stored on Sybase servers or as heterogeneous data.
An EJB component is a nonvisual server component with methods that typically provide business logic in distributed applications. A remote client, called an EJB client, can invoke these methods, which typically results in the updating of a database.
Reusable modules of code that combine related tasks into a well-defined interface. There are three types of Enterprise JavaBeans: stateful session Beans, stateless session Beans, and entity Beans. All three Bean types work together to process a request and return information to the client.
A database or a database object that can be identified by a unique ID and that is backed by database pages. Examples of entities are the database pubs2, the log for database pubs2, the clustered index for table titles in database pubs2, and the table authors in database pubs2. Identifying entities is the first step in the logical design of a database.
Entity Bean instances are persistent. They represent underlying objects, typically a particular row in a database.
A join based on equality.
Techniques available to Transact-SQL programmers on which to base code and display errors and error messages.
A file that stores severe error messages and the results of the start-up and recovery of databases.
A message issued by Adaptive Server, usually to the user’s terminal, when Adaptive Server detects an error condition.
The number attached to an Adaptive Server error message that allows unique identification of the line of Adaptive Server code at which the error was raised.
The configuration of SQL Server that was evaluated at the C2 security level by the NSA (National Security Agency) in 1996 on the HP 9000 HP-UX BLS, 9.09+ platform. Certain features of SQL Server, such as remote procedures and direct updates to system tables, were excluded from the evaluated configuration. For a complete list of features excluded from the evaluated configuration, see Appendix A in the SQL Server Installation and Configuration Guide for HP 9000 HP-UX BLS, 9.09+.
Within Sybase Enterprise Event Broker (SEEB), an object that is imported, passed between processors, and exported to an external database. Outside SEEB, an event can be a message or a database operation.
An application that routes, transforms, and delivers events to a bus, queue, or comparable destination.
The Sybase Enterprise Event Broker (SEEB) component that directs an event through a route, and processes events along the route. A route comprises a sequence of two or more event processors. The event processor acts upon the event according to event processor logic. SEEB event processors include inflow event processors, outflow event processors, transfer processors, branch processors, and transform processors.
A type of lock acquired on an object during a write operation. It does not allow other transactions to acquire exclusive, updated, or shared locks on the object. Exclusive locks can be obtained on a table or page.
A type of lock acquired on a data row during a write operation. It does not allow other transactions to acquire exclusive, update, or shared locks on the row.
A cursor that is a subset of client cursors whose result set is defined by a stored procedure that has a single select statement. The stored procedure can use parameters. The values of the parameters are sent through Open Client calls.
A classification of applications, logins, and stored procedures based on the performance requirements of these entities. An execution class is defined by a set of execution attributes associated with the objects belonging to that class.
A type of join performed in place of certain subqueries. Instead of the usual nested iteration through a table that returns all matching values, an existence join returns TRUE when it finds the first value and stops processing. If no matching value is found, it returns FALSE.
A user-defined average for the expected size of a data row. Specifying the expected row size for a table reserves space on the data page for rows that grow in length after they are inserted. This helps to avoid row forwarding.
A type of subquery that is introduced with an unmodified comparison operator, must return a single value, and can be used almost anywhere an expression is allowed in SQL.
A mechanism for calling external procedural language functions from within Adaptive Server. Users invoke an extended stored procedure using the same syntax as they use for a regular stored procedure, but instead of executing Transact-SQL statements, the ESP executes procedural language code, which is compiled in a dynamic link library (DLL) or shared library.
Whenever a table or index requires space, Adaptive Server allocates a block of eight 2K pages, called an extent, to the object.
A method of allocating new space for a table or an index. In most cases, new space is allocated one page at a time. However, commands that need to allocate large amounts of space can perform extent allocation, allocating eight pages at a time.
When partitions have run out of space on the device, and extents have been allocated on another physical device. Extent stealing can take place when data is being inserted into the table with insert commands or bulk copy and while clustered indexes are being created.
An alternate login name and password used when a Component Integration Services client logs in to a remote server. It is created using sp_addexternlogin.
The planned event during which Adaptive Server is migrated back to, and restarted on, the original machine. This involves moving the failed-over databases, devices, and client connections from the secondary companion to the restarted primary companion.
During failover, Adaptive Server migrates to another machine which takes over the responsibility of managing the failed over Adaptive Server. Failover can occur because of either a scheduled maintenance or a failure of Adaptive Server or the machine running Adaptive Server.
The mode of the primary companion after it has failed over and is running on the secondary companion.
Errors with severity levels of 19 and above. They terminate the user’s work session, and requires that he or she log in again.
An Adaptive Server option activated with the set command. When the FIPS flagger is active, Adaptive Server returns a warning message when you use Transact-SQL extensions to entry-level SQL92. FIPS recognizes SQL89 as the base standard.
A fetch moves the current cursor position down the cursor result set. Also called a cursor fetch.
An operation that allows you to specify which objects to hide or display in a window or dialog.
A method of ensuring that the row ID (RID) associated with a row does not change. The offset table of the row may change because of row movement within the page, but the row number itself does not change. If row expansion requires a row to move, the row migrates to a new page and the forwarding address is stored in the original location of the row. The row ID does not change for the life of the row, except when clustered indexes are created or when the reorg rebuild command is run. Row IDs are reused after a row is physically deleted from a page.
Including options in a query or session to override the optimizer’s choice for a query plan.
A key column in a table that logically depends on a primary key column in another table. Also, a column (or combination of columns) whose values are required to match a primary key in some other table.
A form is an application window on which you place buttons, text boxes, and other elements of the user interface.
A file created while using bcp to copy data out from a table in an Adaptive Server database to an operating system file. The format file contains information on how the data being copied out is formatted and can be used to copy the data back into an Adaptive Server table or to perform additional copy outs.
A row in a data-only-locked table that has been migrated to a new data page, because of a change in the length of the row. The previous location of the row stores a pointer to the forwarded row’s location.
The new location of a row. The forwarding address is in the original location of the row.
When you allocate only a portion of the space on a device with create or alter database, that portion is called a fragment.
On a multiengine Adaptive Server, each engine has its own freelock list (a list of locks available to satisfy lock requests). If the engine freelock list runs out of locks, Adaptive Server moves locks from the global freelock list to the engine freelock list.
A user-specified threshold that specifies the amount of space on a segment, and the action to be taken when the amount of space available on that segment is less than the specified space.
A method of modeling a data distribution with a low number of values in the domain. For example, a gender column can be modeled by two values, “M” and “F”, which have a count of about 0.48 and 0.52, respectively.
See built-in functions.
Intermediate software that provides language translation, datatype conversion, and protocol conversion between the client and the data source.
A uniquely named set of users assigned a set of permissions for the objects and operations within a database.
See vector aggregate.
A user name in the sysusers table of the model database, which enables a user with a valid Adaptive Server login to use databases created from model, with limited privileges.
An anomaly associated with cursor updates, whereby a row seems to appear twice in the result set. This happens when the index key is updated by the client and the updated index row moves farther down in the result set.
A persistent corruption of Adaptive Server found during a dbcc checkstorage operation. Hard faults cannot be corrected by restarting Adaptive Server. See also soft fault.
A category of parallel access method in which multiple worker processes work on a single chain of index or data pages. This category includes parallel hash-based table scan and parallel nonclustered index hash-based scan.
A table without a clustered index, where data is stored as a heap. The data rows are not stored in any particular order, and new data is always inserted on the last page of a page chain. A typical heap table is an unpartitioned table without a clustered index, but a partitioned table without a clustered index is also classified as a heap table.
A remote server that is not an Adaptive Server installation, for example, an Informix or DB2 database.
A hexadecimal-encoded binary string that begins with the prefix 0x and can include the digits 0 through 9 and the uppercase and lowercase letters A through F. The interpretation of hexadecimal strings is platform specific. For some systems, the first byte after the prefix is the most significant; for others, the last byte. For example, the string 0x0100 is interpreted as 1 on some systems and as 256 on others.
A set of cells in which each cell has a weight. Each cell has an upper limit, a lower bound, and a float value between 0 and 1 representing the percentage of rows within the range. Adaptive Server statistics for column values are stored as histograms in the sysstatistics system table. These statistics are used by the query optimizer.
A value used to control the spacing of thresholds on a segment and to prevent the stored procedure associated with a threshold from being triggered too frequently.
A string of characters used to identify a database object, such as a table name or column name.
A column that contains system-generated values that uniquely identify each row in a table. IDENTITY columns store unique numbers, such as invoice numbers or employee numbers, that are generated automatically by Adaptive Server. The value of the IDENTITY column uniquely identifies each row in a table.
Datatype conversions that Adaptive Server automatically performs to compare datatypes.
A database object that consists of key values from the data tables and pointers to the pages that contain those values. Indexes speed up access to data rows by pointing Adaptive Server to the location of a table column’s data on disk.
A data access condition where the leaf-level pages of a nonclustered index contain the data needed to satisfy a query. The index must contain all columns in the select list as well as the columns in the query clauses, if any. The server can satisfy the query using only the leaf level of the index. When an index covers a query, the server does not access the data pages.
The percentage of index leaf page accesses via the page chain that do not require extra extent I/O. The index page cluster ratio is maintained for clustered indexes on data-only-locked tables and for nonclustered indexes.
The ratio of duplicate key values in an index. An index is selective when it lets the optimizer pinpoint a single row, such as a search for a unique key. An index on nonunique entries is less selective. An index on values such as “M” or “F” (for male or female) is extremely nonselective.
The time required to return the first result row of a query to a user. For some queries, initial response time can be very brief, even though the time to return the full result set can be much longer.
See disk initialization.
Joins that produce a result set that includes only the rows of the joining tables that meet the restriction. Rows that do not meet the join restriction are not included in the joined table.
Describes the placement of a table in an outer join. For example, in a left join, the inner table is the right table.
Allows a single component instance to service multiple clients. Instance pooling eliminates resource drain from repeated allocation of component instances
A model to describe the database integrity in the create table statement.
Rules that describe how data will be kept accurate and consistent in the relational model. See also database integrity.
A type of table-level lock. A shared intent lock indicates that there is a shared lock on a page or row of that table. It prevents other transactions from acquiring an exclusive table-level lock. An exclusive intent lock indicates that there is an exclusive or update lock on a page or row of that table. It prevents other transactions from acquiring an exclusive or shared table-level lock.
The interfaces file is an operating system file that must be available on each machine from which connections to Adaptive Server are made. By default, this file is located in the directory that is specified in the SYBASE environment variable. The name of the file varies, but is usually interfaces on a UNIX system and sql.ini on a PC.
Each entry in the interfaces file tells the host machine how to connect to Adaptive Server. An interfaces file entry contains the name of an Adaptive Server installation and a list of services provided by the server.
The process of enabling an application to support multiple languages and cultural conventions.
See device I/O.
Specifies the kinds of actions that are not permitted while the current transactions execute. The ANSI standard defines four levels of isolation for SQL transactions. Level 0 prevents other transactions from changing. The user controls the isolation level with the set option transaction isolation level or with the at isolation clause of select or readtext. Level 3 is equivalent to doing all queries with holdlock. The default is level 1. Also called “locking level.”
A command-line interface to Adaptive Server.
In Java terminology, an application is a Java program that does not require a host server or browser to run. The user sees windows and menus and interacts with controls. The application can connect with a middle-tier or database server.
A basic operation in a relational system that links the rows in two or more tables by comparing the values in specified columns.
An estimate of the number of rows from a particular table that will join with a row from another table. If index statistics are available for the join column, Adaptive Server bases the join selectivity on the density of the index (the average number of duplicate rows). If no statistics are available, the selectivity is 1/N, where N is the number of rows in the smaller table.
A module within Adaptive Server that acts as the interface between Adaptive Server and the operating system. The kernel manages tasks associated with Adaptive Server’s clients. For example, it tracks the state of the task, which is necessary in a multithreaded environment because of context switching.
A field used to identify a record, often used as the index field for a table.
A word or phrase that is reserved for exclusive use by Transact-SQL. Also known as a reserved word.
A cursor declared in SQL without using Open Client. As with Adaptive Server cursors, Open Client is completely unaware of the cursors and the results are sent back to the client in the same format as a normal select.
The language or languages that are covered by a character set. A language group can contain many languages or only one language.
A set of files, including localization files, that provide alternate language, sort order, and character sets for Adaptive Server.
A default threshold in Adaptive Server that suspends or kills user processes if the transaction log has run out of room. This threshold leaves just enough space for the deallocation records for the log itself. The last-chance threshold calls a procedure named sp_thresholdaction. This procedure is not supplied by Sybase. It must be written by the System Administrator.
A lightweight, nontransactional synchronization mechanism held for a very short duration to ensure the physical consistency of the page.
The level of an index at which all key values appear in order. For Adaptive Server clustered indexes, the leaf level and the data level are the same. For nonclustered indexes, the last index level above the data level is the leaf level, since key values for all of the data rows appear there in sorted order.
A caching strategy for replacing the least-recently used buffers in the data cache. A clean data page is taken from the LRU end of the data cache to store a page read from disk. The new page is placed on the data cache’s page chain at the most recently used (MRU) end of the cache, so that it stays in memory.
Data from older, perhaps out-of-date, data sources or from data sources that are no longer supported by current standards.
An industry standard for accessing directory services, which allow components (applications, other servers, and so on) to look up information by a distinguished name (DN) from an LDAP server that stores and manages server, user, and software information used throughout the enterprise or over a network. LDAP defines the communication protocol and the contents of messages exchanged between clients and servers.
See worker process.
A request for an exclusive lock that is repeatedly denied because a series of overlapping shared locks keeps interfering. Adaptive Server detects the situation after three denials and grants a demand lock to the update transaction, queueing further shared lock requests after the demand lock.
To restore data stored in a backup created during a dump.
The process of adapting an internationalized product to meet the requirements of one particular language or region, for example Spanish, including providing translated system messages; translations for the user interface; and the correct formats for date, time, and currency.
Files that contain translated error messages, character set and sort order definitions, and utilities for converting Adaptive Server’s character set into the appropriate character set for a particular terminal.
A feature unique to Component Integration Services that makes remote data appear as if it were local. Users do not need to know where the data resides to access it.
A concurrency control mechanism that protects the integrity of data and transaction results in a multiuser environment. Adaptive Server applies page or table locks to prevent two users from attempting to change the same data at the same time, and to prevent processes that are selecting data from reading data that is in the process of being changed.
The process of restricting access to resources in a multiuser environment to maintain transactional isolation and prevent concurrent access problems. Adaptive Server automatically applies locks to tables, pages, or rows.
See isolation level.
Promotion of the row or page locks acquired by a scan to a table lock. Lock promotion takes place when a scan has exceeded the user-configurable setting for the lock promotion threshold. Locks are promoted from row locks to table locks, or page locks to table locks.
The number of page locks allowed in a table before Adaptive Server attempts to issue a table lock. If the table lock is successful, Adaptive Server releases the page locks.
A design in which you define the tables, relations, and keys of a relational database. See also physical design.
An expression that evaluates to TRUE (1), FALSE (0) or UNKNOWN (NULL). Logical expressions are often used in control of flow statements, such as if or while conditions.
The primary, foreign, or common key definitions in a database design that define the relationship between tables in the database. Logical keys are not necessarily the same as the physical keys (the keys used to create indexes) on the table.
The operators and, or, and not. All three can be used in where clauses. The operator and joins two or more conditions and returns results when all of the conditions are true; or connects two or more conditions and returns results when any of the conditions is true.
Specified when you build a new master device. All databases, and all objects in every database, use the same logical page size. The size of Adaptive Server’s logical pages (2, 4, 8, or 16K) determines the server’s space allocation.
The process of accessing a data or index page already in memory to satisfy a query. See also physical read.
The name a user uses to log in to Adaptive Server. A login is valid if Adaptive Server has an entry for that user in the system table syslogins.
The set of pages for a particular operation to be fetched by asynchronous prefetch. Each Adaptive Server operation that uses asynchronous prefetch builds a look-ahead set based on the known or expected set of pages that will be needed by the operation in the near future.
Values that are substituted or used as defaults when actual values are not known. For example, the optimizer uses magic numbers for the selectivity of a value in a parameter that cannot be determined when the query is optimized.
The first window displayed by the application. When you create an applet or application target, a main form is created for you.
The system database that controls the user databases and the operation of Adaptive Server as a whole. Known as master, it keeps track of such things as user accounts, ongoing processes, and system error messages.
A table that contains data on which data in another table logically depends. For example, in the pubs2 database, the sales table is a master table. The salesdetail table holds detail data that depends on the master data in sales. The detail table usually has a foreign key that joins to the primary key of the master table.
A relationship between sets of data where one set of data logically depends on the other. For example, in the pubs2 database, the sales table and salesdetail table have a master-detail relationship. See detail and master table.
A scan using a nonclustered index when the query has a where clause (search argument) on a set of columns, and the columns form a prefix subset of keys on the index. The index is used to position the search at the first matching key, and then scanned forward for additional matches on the specified index key columns. The scan stops at the first row that does not match. Matching index scans are quite fast and efficient. Compare to nonmatching index scan.
A function that returns values commonly needed for operations on mathematical data.
A media failure occurs when the information on a medium (typically a hard disk drive) becomes unusable.
Messaging refers to the process of sending events, or strings of bytes, from a source to a destination over a communications pathway.
An e-mail application programming interface developed by Microsoft. Adaptive Server integrates with MAPI to provide an interface for sending and receiving data by e-mail rather than through the traditional client/server connection-based facility.
Data about data. Metadata is stored in local proxy tables by Component Integration Services. The metadata stored by Component Integration Services represents schemas with information about remote tables.
A reserved area of memory used for tracking information on indexes, objects, or databases. You can configure the size of the metadata caches based on the number of metadata descriptions used by indexes, objects, or databases.
A memory data structure that represents the state of an index, an object, or a database while it is in use or cached between uses.
A non-leading column of a composite index. For an index on (A, B, C), B and C are minor columns.
See disk mirroring.
A duplicate Adaptive Server database device. All writes to the primary device are copied (mirrored) to a second physical device. Writes can be either serial (consecutive) or parallel (simultaneous). If one device fails, the other contains an up-to-date copy of all transactions.
A template for new user databases. The installation process creates model when Adaptive Server is installed. Each time create database is issued, Adaptive Server makes a copy of model and extends it to the size requested, if necessary.
An arithmetic operator represented by the percent (%) sign that gives the integer remainder after a division operation on two integers. For example, 21 % 9 = 3 because 21 divided by 9 equals 2 with a remainder of 3.
A caching strategy for table scans and nonclustered index scans. The optimizer chooses this strategy when it determines that the pages need to be accessed only once for a particular query. Instead of adding all of the pages to the MRU/LRU chain, the pages are immediately flushed as soon as the query finishes examining them, and the next page for the query is read into the buffer.
A character set that includes characters encoded using more than one byte. EUC JIS and Shift-JIS are examples of character sets that include several types of characters represented by multiple bytes in a Japanese language environment.
When a transaction accesses, uses, and/or modifies data from multiple databases.
Multiple processes that share memory or use some type of synchronized method for passing messages between them are performing multiprocessing.
Multipurpose Internet Mail Extensions. A format for exchanging complex messages through the Internet. Web browsers and servers use MIME types to describe the messages transmitted from the server to the browser.
See buffer cache.
Also referred to as national character sets. Character sets that are platform-specific and support a subset of languages, for example, the Western European languages.
Operating system-specific formats created using the -n option. Native formats usually create a more compact operating system file.
A join in which the values of the columns being joined are compared on the basis of equality, and all the columns in the tables are included in the results, except that only one of each pair of joined columns is included.
See nested queries.
The process of moving network I/O from one engine to another. SMP systems that support this migration allow Adaptive Server to distribute the network I/O load among all of its engines.
A strategy to protect repeatable read transactions from reading phantom rows.
A noncorrelated subquery can be evaluated as if it were an independent query. Noncorrelated subqueries can alternatively be stated as joins and are processed as joins by Adaptive Server.
A scan using a nonclustered index when the search arguments do not form a prefix subset of the index key columns, although they match some parts of the composite key. The scan is performed using the index from the lowest key value to the highest key value, searching for the matches specified in the query. This type of scan is performed on nonclustered indexes when all columns for a table referenced in the query are included in the index. Although cheaper than a table scan, a nonmatching index scan is more expensive than a matching index scan.
Such reads occur when one transaction reads a row and a second transaction modifies that row. If the second transaction commits its change, subsequent reads by the first transaction yield different results than the original read.
The inability to deny that a document is valid. In regards to Internet communications, digital signatures provide non-repudiation; the sender cannot deny that he sent the message.
The mode during which two Adaptive Servers in a high availability system are functioning as independent servers and are configured to fail over during a scheduled maintenance or system failure.
The standard rules of database design in a relational database management system.
A value given to a parameter or option that has no explicitly assigned value. NULL is not equivalent to zero, or to blank. A value of NULL is not considered to be greater than, less than, or equal to any other value, including another value of NULL.
A passive entity that contains or receives information, and that cannot change the information it contains. In Adaptive Server, objects include rows, tables, databases, stored procedures, triggers, defaults, and views. See also database object.
Regulates the use of certain commands that access certain database objects. Object access permissions are granted and revoked by object owners.
One or more pages within a table or an index on a table that contain pointers to the allocation pages for each allocation unit where the object uses space.
Each table, and each index on a table has an OAM (object allocation map) page. The OAM page holds information on pages allocated to the table or index and is checked when a new page is needed for the index or table.
A method of accessing data by first reading the OAM pages for a table, then the allocation pages, and finally the data pages where the data is stored.
Regulates the use of commands that create objects. These permissions can be granted only by a System Administrator or Database Owner.
User who owns an object either by having created the object or by being given ownership. For example, a System Administrator can designate a user as a Database Owner, a Database Owner can designate a user as a table owner or give a user permission to create a table.
A permission that regulates the use of certain commands (data modification commands, plus select, truncate table and execute commands) to specific tables, views or columns. See also command permission.
A set of fields at the end of data and index pages that store pointers to the byte location of the rows on the page. Indexes on allpages-locked tables do not have offset tables; all other indexes and all data pages do.
Real-time access to and manipulation of data. Commonly used for business applications, for example, a bank customer’s transactions at an automatic teller machine. It is characterized by a large number of users that need fast online access to small result sets.
A type of direct update operation, performed when the length of the data row changes. The changed data row remains on the same data page, but other rows on the page may move. Contrast to in-place update and delete/insert direct update.
The ODBC interface, defined by Microsoft Corporation, is a standard interface to database management systems in the Windows and Windows NT environments.
A group of programs that translates your commands to the computer, so that you can perform such tasks as creating files, running programs, and printing documents.
A collection of data named and recognized by the operating system. Adaptive Server data is not stored in operating system files, but can be exported to operating system files by using the bulk copy operation.
The role required to allow the ability to back up and restore databases on a server-wide basis. See also roles.
Adaptive Server code that analyzes queries and database objects and selects the appropriate query plan. The Adaptive Server optimizer is a cost-based optimizer. It estimates the cost of each permutation of table accesses in terms of CPU cost and I/O cost.
An optimizer strategy for resolving queries using or and queries using in (values list). Indexes are used to retrieve and qualify data rows from a table. The row IDs are stored in a worktable. When all rows have been retrieved, the worktable is sorted to remove duplicates, and the row IDs are used to retrieve the data from the table.
A join in which both matching and nonmatching rows are returned. The operators *= and =* are used to indicate that all the rows in the first or second tables should be returned, regardless of whether or not there is a match on the join column.
Describes the placement of a table in an outer join. For example, in a left join, the outer table is the left table.
A data page for a table with a nonunique clustered index, which contains only rows that have duplicate keys. The key value is the same as the last key on the previous page in the chain. There is no index page pointing directly to an overflow page.
Dependencies of views on other views and/or tables, and of procedures on other procedures, views, and/or tables.
A package is a collection of components that work together to provide a service or some aspect of your application’s business logic. A package defines a boundary of trust within which components can easily communicate. Each package acts as a unit of distribution, grouping together application resources for ease of deployment and management.
A 2K, 4K, 8K, or 16K block of data that is the minimal unit that can be read from or written to disk.
A page lock locks an entire data or index page. Adaptive Server uses page locks as frequently as possible to reduce the contention for data among users and to improve concurrency. A page lock is less restrictive than a table lock.
An action performed by Adaptive Server when new data or index rows need to be added to a page, and there is not enough room for the new rows. Usually, the data on the existing page is split approximately evenly between the newly allocated page and the existing page.
A partition-based access method in which multiple worker processes simultaneously scan data pages in a partitioned table when the clustered index key matches a search argument. One worker process is assigned to each partition. A worker process may also traverse the clustered index first to find the first data page in the partition that satisfies the search argument.
A hash-based access method in which multiple worker processes scan a single chain of data pages in a table at the same time and apply an internal hash function to each page ID. The hash function determines which worker process reads the rows in current page. Typically, the number of worker processes is no more than two or three because it takes only two to three worker processes to fully utilize the I/O of a given physical device.
A hash-based access method in which multiple worker processes simultaneously scan level 0 index pages and apply a hash function to the data page IDs or the key values in each index page. The hash function determines which worker process scans the data rows referenced by the data page ID or key value.
A partition-based access method in which multiple worker processes simultaneously scan partitions in a partitioned table. The number of worker processes is equal to the number of partitions.
The simultaneous execution of Adaptive Server tasks or subtasks. Multiple processes share memory or use some type of synchronized method for passing messages between them.
A technique that employs multiple worker processes to sort data in parallel, either in response to a create index command or to a query that requires an internal sort. A single process partitions the input data into discrete ranges; multiple processes simultaneously sort each individual range of data rows and create subindexes; then a single process merges the sorted ranges and indexes into one sorted index or result set.
A linked chain of database pages that stores a database object. You can divide a table into multiple partitions that reside on separate physical devices to improve the performance of concurrent inserts and to facilitate parallel queries and sorts.
A mode that allows clients to communicate with remote servers in native syntax. The Transact-SQL parser and compiler are bypassed in this mode, and each language “batch” received from the user is passed directly to the server to which the user is connected.
The speed with which Adaptive Server processes queries and returns results. Performance is affected by several factors, including indexes on tables, use of raw partitions compared to files, and segments.
The authority to perform certain actions on certain database objects or to run certain commands.
Occur when one transaction reads a set of rows that satisfy a search condition, and then a second transaction modifies the data (through an insert, delete, update, and so on). If the first transaction repeats the read with the same search conditions, it obtains a different set of rows. Also known as phantoms.
Mapping the logical design to the Transact-SQL data definition commands that actually create the databases on the server.
A column name, or set of column names, used in a create index statement to define an index on a table. A physical key on a table is not necessarily the same as the logical key.
A disk I/O to access a data, index, or log page. Adaptive Server estimates physical reads and logical reads when optimizing queries. See also logical read.
A query that restricts results to a single specific value, usually using the form “where column_value = search_argument”.
The position of a column in the select list. You can use this instead of the column name.
A delete performed through a cursor, using the where current of clause. Compare to searched delete.
An update performed through a cursor, using the where current of clause. Compare to searched update.
The maximum number of decimal digits that can be stored by numeric and decimal datatypes. The precision includes all digits, both to the right and to the left of the decimal point.
A clause that is based on a comparison operator. It does not apply to and, or, or not.
The process of performing multipage I/Os on a table, nonclustered index, or the transaction log. For logs, the server can fetch up to 256 pages, for nonlog tables and indexes, the server can fetch up to 8 pages.
Used to refer to keys in a composite index. Search values form a prefix subset when leading columns of the index are specified. For an index on columns A, B, and C, these are prefix subsets: A, AB, ABC. These are not: AC, B, BC, C. See also matching index scan and nonmatching index scan.
The Adaptive Server whose databases and connections are migrated to the secondary Adaptive Server during failover.
A primary key constraint is a unique constraint that does not permit null values for the component key columns. There can only be one primary key constraint per table. The primary key constraint creates a unique index on the specified columns to enforce this data integrity.
A process in which a certain Adaptive Server task runs only on a certain engine, or a certain engine runs only on a certain CPU.
A collection of SQL statements and optional control-of-flow statements stored under a name. Adaptive Server-supplied procedures are called system procedures.
Used for stored procedures and triggers and for short-term memory needs such as statistics and query plans for parallel queries.
In a parallel sort, producer processes read data simultaneously from the input table, determine the range to which each data value belongs, and distribute data values to consumer processes associated with the proper ranges.
The ability to impersonate another user in the server. A System Security Officer can grant proxy authorization to a user. Proxy authorization allows administrators to check permissions for a particular user or to perform maintenance on a user’s database objects. Application servers can log in to the server and execute procedures and commands on behalf of several users.
Place holder databases created on the secondary companion for every user database on the primary companion. Proxy databases reserve the database names so that during failover, all database names are unique on the system.
A local table that has been mapped to a table on a remote server. The proxy table contains metadata and is used to access the remote table as if it were a local table.
All registered users of a database are members of the group “public.” Users at this level of authority can create a temporary table and have access to objects whose owners have granted permissions to “public.”
Public-key cryptography consists of several mechanisms, including encryption, key exchange, digital signatures, and digital certificates, used to secure transmission of sensitive data over the Internet.
Also known as asymmetric keys, public/private are a pair of keys, one public one private, used to encrypt and decrypt messages. Public/private keys are used in public-key cryptography.
The name of a database object can be qualified, or preceded by, the name of the database and the object owner.
A subquery that operates on lists introduced with in or with a comparison operator modified by any or all. Quantified predicate subqueries return 0 or more values. This type is also used as an existence test, introduced with exists.
A SQL statement or group of SQL statements that access and/or manipulate data in a database. See also data retrieval.
The ordered set of steps required to carry out a query, complete with the access methods chosen for each table.
An internal tree structure that represents the user’s query. A large portion of query processing and compilation is built around the shape and structure of this internal data structure. For stored procedures, views, triggers, rules and defaults these tree structures are stored in the sysprocedures table on disk, and read back from disk when the procedure or view is executed. See also source text.
A cell of a histogram which represents a range of values. The weight of the cell represents the percentage of column values that are greater than the lower bound of the cell, and less than or equal to the upper bound. Compare to frequency cell.
A measure of duplicates in a column or set of columns which has some duplicate values removed when more than one distribution cell is spanned. Compare to total density.
A lock acquired by a range query at transaction isolation level 3, for the purpose of preventing phantom rows. Range locks prevent inserts into the range by other users until the repeatable read transaction completes. Range locks are used on data-only locked tables.
A query that requests data within a specific range of values. These include greater than and less than queries, queries using between, and some queries using like.
Provides parallel access during merge joins on partitioned tables and unpartitioned tables, including worktables created for sorting and merging, and via indexes.
Permission to read an object (for example, to select rows from a table). See also permission.
The rules governing data consistency, specifically the relationships among the primary keys and foreign keys of different tables. Adaptive Server addresses referential integrity with user-defined triggers and with referential integrity constraints.
A requirement that data inserted into a “referencing” table, the table that defines the constraint, must have matching values in a “referenced” table. You cannot delete rows or update column values from a referenced table that match values in a referencing table. Also, you cannot drop the referenced table until the referencing table is dropped or the referential integrity constraint is removed.
A strategy used by Adaptive Server to resolve join queries on large tables that have no useful index. Adaptive Server builds a temporary clustered index on the join columns of the inner table, and uses this index to retrieve the rows. Adaptive Server estimates the cost of this strategy and the cost of the alternative—a table scan—and chooses the least expensive method.
A system for storing and retrieving data from two-dimensional tables in which the use of SQL is standard.
A type of Boolean or logical expression of the form:
arith_expression relational_operator arith_expression In Transact-SQL, a relational expression can return TRUE, FALSE, or UNKNOWN. The results can evaluate to UNKNOWN if one or both of the expressions evaluates to NULL.
An operator that compares two operands and yields a truth value, such as “5 < 7” (TRUE), “ABC” = “ABCD” (FALSE) or “@value > NULL” (UNKNOWN).
A stored procedure that is executed on an Adaptive Server other than the server the user is logged in to.
A query in which the results are not affected by changes made by other transactions. The transaction holds locks on the pages or rows it has read until the end of transaction to ensure other transactions do not update the pages or rows. Also known as transaction isolation level 2. This level does not provide phantom protection, which is provided at transaction isolation level 3.
See correlated subquery.
For databases, a process by which the changes to data in one database (including creation, updating, and deletion of records) are also applied to the corresponding records in other database.
A ratio to be used during large scale allocations performed by bulk copy, create index and select into. Setting a reserved page gap value allows future page allocations for forwarded rows and index page splits to be made close to the original location of the data.
The time it takes for a single task, such as sending a Transact-SQL query to Adaptive Server, to complete. See also initial response time.
A value that indicates that the procedure completed successfully or indicates the reason for failure.
See row ID (RID).
Titles recognized by Adaptive Server that provide individual accountability for users performing system administration and security-related tasks in Adaptive Server. The System Administrator, System Security Officer, and Operator roles can be granted to individual server login accounts. In addition to these system roles, a System Security Officer can create user-defined roles, such as “financial analyst” and “salary administrator.”
A log record generated by Adaptive Server to describe the undoing of an earlier change of the transaction. The rollback record contains the address of the log record that is being undone. Rollback records are redo-only log records. They are never undone.
After a base client instantiates a transactional component, the first method invocation begins an EJB Server transaction. This instance is said to be the root instance of the transaction.
Movement of a row to another page. Row forwarding takes place when a row is updated so that it no longer fits on the page. A pointer to the forwarded row is maintained at the original row location. The row ID of the row does not change.
A unique, internal identifier for a data row. The row ID, or RID, is a combination of the data page number and the row number on the page.
The file used as a reference in restarting Adaptive Server or Backup Server. By default, the runserver file is named RUN_servername and is created when you install Adaptive Server. Runserver files are created in the $SYBASE/install directory.
Adaptive Server creates an adjusted query plan to execute the query using fewer worker processes when the number of worker processes specified in the query plan at runtime is not available.
See System Administrator.
See search argument.
A marker that the user puts inside a user-defined transaction. The user can later use the rollback transaction command with the savepoint name to cancel any commands up to the savepoint, or commit transaction to actually complete the commands. See also transaction and rollback transaction.
An aggregate function that produces a single value from a select statement that does not include a group by clause. This is true whether the aggregate function is operating on all the rows in a table or on a subset of rows defined by a where clause. See also vector aggregate.
The maximum number of digits that can be stored to the right of the decimal point by a numeric or decimal datatype. The scale must be less than or equal to the precision.
An internal data structure that manages the scan of tables being queried, particularly tables that have references to other tables.
A collection of objects associated with a particular schema name and schema authorization identifier. The objects can be tables, views, domains, constraints, assertions, privileges, and so on. A schema is created by a create schema statement.
All the objects are said to be owned by, or to have been created by, the associated schema authorization identifier for the schema.
A writing system, a collection of all the elements that characterize the written form of a human language—for example, Latin, Japanese, or Arabic.
A predicate in a query’s where clause that can be used to locate rows via an index. Also referred to as SARG.
A delete performed while a cursor is active, but not through the cursor, that is, not using the where current of clause. Compare to positioned delete.
An update performed while a cursor is active, but not through the cursor, that is, not using the where current of clause. Compare to positioned update.
The Adaptive Server configured to accept the failed over primary Adaptive Server during failover.
SSL is the standard for securing the transmission of sensitive information, such as credit card numbers, stock trades, and banking transactions, over the Internet.
A filter that is appended to the master and query lines in the Adaptive Server interfaces file to specify that all connections to the specific port must support the SSL protocol before connections are established.
A series of round trip I/O between server and client, wherein the server presents its certificate, and the server and client negotiate and agree upon security mechanism before any data is transmitted.
A named subset of database devices available to a particular database. It is a label that points to one or more database devices. Segments can be used to control the placement of tables and indexes on specific database devices.
A join used for comparing values within a column of a table. Since this operation involves a join of a table with itself, you must give the table two temporary names, or correlation names, which are then used to qualify the column names in the rest of the query.
A semaphore is a simple internal locking mechanism that prevents a second task from accessing the data structure currently in use. Adaptive Server uses semaphores to protect transaction logs, user log caches, and I/O devices. Like a spinlock, a semaphore is relevant only in SMP environments.
A query within a transaction that always returns the same set of rows. Prevents phantoms, rows that appear or disappear from the result set. Also called transaction isolation level 3.
A server certificate authenticates the server that holds it to clients that attempt to connect to it.
An interface specification defining remote access for use with Component Integration Services. For each server class there is a separate access method that handles interaction between the server and remote servers of the same class. Each server class has a set of unique characteristics that System Administrators and programmers use to configure the server for remote data access. The characteristics are:
Mapping between local tables (proxy tables) and external objects
Datatype conversions specific to the class or access method
Special considerations for each class
Restrictions, if any, on Transact-SQL statements applied to the class
A cursor declared inside a stored procedure. The client executing the stored procedure is not aware of the presence of these cursors. Results returned to the client for a fetch appear exactly the same as the results from a normal select.
Sessions allow a browser to maintain a connection with the server across a multiple request-response cycle
An EJB session Bean models the interaction between an end user and the EJB Server. For example, in an online purchasing application, a session Bean might keep track of a user’s uncommitted purchases.
A number between 10 and 24 which indicates the severity of an error condition.
A type of lock acquired on an object for a read operation. It does not allow other transactions to acquire exclusive locks on the object but allows them to acquire shared locks. Shared locks can be obtained on a table or page.
A type of lock acquired on a data row for a read operation. It does not allow other transactions to acquire exclusive locks on the row, but allows them to acquire shared locks.
Starting Adaptive Server in single-user mode allows only one System Administrator to log in, and turns on the allow updates configuration variable. Use this mode to restore the master database. This option creates a m_RUN_servername file and overwrites any existing m_RUN_servername file.
The default method of transmitting RPCs from a local server to a remote server. Site handler establishes a single physical connection between local and remote servers and multiple logical connections as required by RPCs.
Acts as the interface between the EJB runtime environment and the user code that implements the method. Skeletons are compiled and linked with each of the components, and at runtime they enable EJB Server to locate and invoke an appropriate method.
A corruption in Adaptive Server that is usually not persistent. Most soft faults result from temporary inconsistencies in the target database caused by users updating the target database during the dbcc checkstorage operation or by dbcc checkstorage encountering data definition language (DDL) commands. These faults are not repeated when you run dbcc checkstorage a second time. See also hard fault.
A specification used by Adaptive Server to determine the order in which to sort character data. Also called collating sequence.
SQL statements that define a compiled object. Source text is stored in the text column of the syscomments table. It is used during upgrade processes; therefore, it must not be deleted. Source text can be encrypted using sp_hidetext.
One of the properties of a table or index that helps manage how space for the table is allocated or used: fillfactor, max_rows_per_page, exp_row_size and reservepagegap. Space management properties are specified for tables with create table or alter table and for indexes with create index or the alter table commands that generate indexes to enforce unique or primary key constraints. Some of the space management properties can be changed with sp_chgattribute.
The process of recovering space from data-only locked tables after deletes and updates that shrink rows. Space reclamation is performed by tasks inserting or updating rows on a page, by the housekeeper, and by the reorg command.
A simple internal locking mechanism that prevents a process from accessing the resource currently used by another process. All processes trying to access the resource must wait (or “spin”) until the lock is released. Spinlocks protect internal data structures such as a data cache.
See Adaptive Server.
The interfaces file containing definitions for each Adaptive Server to which your workstation can connect. The file must be on each machine from which clients connect to Adaptive Server. Each sql.ini file entry tells a client or host machine how to connect to a specific Adaptive Server. The file contains the name of Adaptive Server, a list of services provided by Adaptive Server, and the port to use for connecting to Adaptive Server for each service.
A stable mode is a system state in which Adaptive Server can exist for an extended period of time, such as the day-to-day operation of Adaptive Server.
A server that is an exact duplicate of an Adaptive Server production server. A standby server is created by loading transaction log dumps from the production server to the standby server as the log dumps are made. Standby servers can provide emergency coverage in case the main server fails, or they can be read-only servers used for reporting or decision support.
Session Bean instances are transient and maintain a one-to-one relationship with the client. They perform tasks and store information in the database on the client’s behalf. Stateful session Beans manage complex tasks that require the accumulation of data.
A component that is deactivated after each method call and supports instance pooling. The component’s state is reset across the boundary of a transaction and activation.
Session Bean instances are transient and maintain a one-to-one relationship with the client. They perform tasks and store information in the database on the client’s behalf. Stateless session Beans manage tasks that do not store data between method calls.
An Adaptive Server configuration parameter that requires you to restart Adaptive Server after resetting the value. See also dynamic configuration parameter.
A pair of contiguous values in a distribution or histogram. Each step is associated with the set of rows having column values that fall between the upper and lower bound of the step. Also called a cell.
A function that operates on strings of characters or binary data. substring and charindex are Transact-SQL string functions.
See dump striping.
A stub is a Java class stub generated by the Adaptive Server plug-in for Sybase Central and acts as a proxy object for an EJB component. A stub is compiled and linked with your Java applets or client application. A stub communicates with EJB Server to instantiate and invoke a method on a component in the middle tier. Stubs make a remote EJB component appear local to the client.
The language used to communicate with a relational database and that is the subject of standards set by several standards bodies.
A select statement that is nested inside another select, insert, update, or delete statement or inside another subquery.
A page that recovery has marked as suspect because of corruption. Suspect pages are normally inaccessible to users unless they have been forced online by special procedures.
The mode of Adaptive Server after companion mode has been suspended. During this mode, Adaptive Server cannot fail over; it is working independently of the other Adaptive Server.
Enterprise Event Broker provides an infrastructure for enabling Sybase servers to use messaging.
A process wherein the same algorithm (key) is used to encrypt and decrypt a message.
An environment in which multiple CPUs simultaneously process client tasks. Any CPU can execute any task.
A high availability system in which two independent Adaptive Servers act as failover servers for each other. That is, each Adaptive Server acts as both a primary and a secondary companion.
An assortment of tasks including but not limited to managing Adaptive Server’s physical storage, creating and backing up databases, creating user accounts, granting permissions, and running diagnostic and repair functions. See also database administration.
A user in charge of Adaptive Server system administration, including managing disk storage, granting and revoking the System Administrator role, and creating new databases. The “sa” account, a single login, is created when Adaptive Server is installed. This login is configured with both the System Administrator and System Security Officer roles. To increase individual accountability, use the “sa” account to assign roles to individual logins.
A function that returns special information from the database, particularly from the system tables.
A stored procedure residing in sybsystemprocs, which is provided by Sybase. System procedures provide shortcuts for retrieving information from the system tables, or mechanisms for accomplishing database administration and other tasks that involve updating system tables.
Tables in the master database that the system procedures use to convert internal system values (for example, status bits) into human-readable format.
A user who controls security-related operations in Adaptive Server, including auditing, locking and unlocking login accounts, creating user-defined roles, and password management. See also System Administrator.
One of the data dictionary tables. System tables keep track of information about the Adaptive Server as a whole and about each user database. The master database contains some system tables that are not in user databases.
A method of accessing a table by reading every row in the table. Table scans are used when there are no conditions (where clauses) on a query, when no index exists on the clauses named in the query, or when the Adaptive Server optimizer determines that an index should not be used because it is more expensive than a table scan. See also access method.
A constraint that limits values on more than one column of a table. Enter table-level constraints as separate comma-delimited clauses in the create statement. You must declare constraints that operate on more than one column as table-level constraints.
The target segment for a sort is the segment where the index is stored when the create index command completes.
The primary transport protocol used in client/server computing. TCP/IP is the protocol that governs the transmission of data over the Internet.
A database that provides a storage area for temporary tables and other temporary working storage needs (for example, intermediate results of group by and order by). In Adaptive Server, the temporary database is tempdb.
A function that operates on text and image data. The text and image functions include patindex, textptr, and textvalid.
A special data structure used to store text and image values for a table. Data rows store pointers to the location of the text or image value in the text chain.
See worker process.
See worker process.
The estimate of the number of log pages required to back up the transaction log, and the action to be taken when the amount of space falls below that value.
The volume of work completed in a given time period. It is usually measured in transactions per second (TPS).
The phase of query processing during which Adaptive Server applies a given resource limit.
The amount of time a task is allowed to run on an Adaptive Server engine before voluntarily yielding the engine to another task. To see the value on your server enter:
sp_configure time slice
A measure of duplicates in a column or set of columns which represents all duplicates even when more than one histogram cell is spanned. Compare to range cell density.
A group of Transact-SQL statements that is treated as a single unit of work. Either all statements in the group are executed or no statements are executed. The tables queried during the transaction are locked until the transaction is complete.
The transaction coordinator manages the flow of transactions that involve more than one connection and sometimes more than one data source.
An internal memory structure that Adaptive Server uses to represent a transaction.
See isolation level.
A system table (syslogs) in which all changes to the database are recorded.
You have the following options for the transaction log:
Backup, truncate, and log – back up the transaction log, remove the inactive part of the log, and create a new transaction log entry recording the backup.
Backup and log – back up the transaction log and create a new transaction log entry recording the backup. This option retains the transaction log entries.
Truncate and log – remove the inactive part of the log without backing it up and create a new transaction log entry recording the dump.
Truncate only – remove the inactive part of the log without backing it up and without creating a new transaction log entry to record the dump.
In a SQL transaction, allow you to set whether transactions begin with or without an implicit begin transaction statement.
The Java client application uses a transaction object to make a database connection.
If your component participates in EJB Server transactions, you can call transaction state primitives to explicitly commit or roll back database updates performed in a method.
The failback transitional mode occurs when Adaptive Server shifts from failed over mode to normal companion mode. The failback transitional mode is typically of a very short duration.
A special form of stored procedure that goes into effect when a user gives a change command such as insert, delete, or update to a specified table or column. Triggers are often used to enforce referential integrity.
The action for which a trigger is specified.
The conditions that cause a trigger to take effect.
When a data modification affects a key column, triggers compare the new column values to related keys by using temporary worktables called trigger test tables.
A list of trusted Certificate Authorities (CAs) loaded by the server at a start-up
A user who is authorized to operate over a range of sensitivity levels in a session. The user logs in by specifying a range of levels over which he or she would like to operate. The user can change current read and write levels during a session.
The transaction mode that requires explicit begin transaction statements paired with commit transaction or rollback transaction statements to complete a transaction. See also chained transaction mode.
See base tables.
See scalar aggregate.
An international character set that supports over 650 of the world’s languages, such as Japanese, Chinese, Russian, French, and German. Unicode allows you to mix different languages from different language groups in the same server, no matter what the platform.
The capability for users to be preauthenticated by a security mechanism before logging in to the server. This capability enables a user to log in to several servers without having to supply a login name and password for every connection.
A constraint requiring that all non-null values in the specified columns must be unique. No two rows in the table are allowed to have the same value in the specified column. The unique constraint creates a unique index on the specified columns to enforce this data integrity.
Indexes that do not permit any two rows in the specified columns to have the same value. Adaptive Server checks for duplicate values when you create the index (if data already exists) and each time data is added.
An addition to, deletion from, or change in data, involving the insert, delete, truncate table, or update statements.
See in-place update.
A type of lock acquired on an object during the scanning phase of an update or delete operation. It does not allow other transactions to acquire update or exclusive locks on the object but allows them to acquire shared locks. Update locks can be obtained only on a page.
A type of lock acquired on a data row during the scanning phase of an update or delete operation. It does not allow other transactions to acquire update or exclusive locks on the row but allows them to acquire shared locks.
A database created by a user. See also system database.
The ID number by which a user is known in a specific database. See also server user ID.
See buffer cache.
A definition, created by the user, of the type of data (the datatype) contained in a column. The user defines these datatypes in terms of the existing system datatypes. Rules and defaults can be bound to user-defined datatypes, but not to system datatypes.
A value that results from using an aggregate function with a group by clause. See also scalar aggregate.
A database architecture designed to make efficient use of hardware and operating system resources. It is Sybase’s implementation of SMP processing. VSA is based on the use of Adaptive Server engines to achieve fully symmetric processing and Sybase’s own database kernel—a multithreaded operating system that handles typical operating system functions, including scheduling and dispatching tasks.
An area of a buffer pool near the LRU end of the MRU/LRU page chain. After pages enter the wash area, Adaptive Server initiates an asynchronous write on the pages. The wash area provides clean buffers at the LRU for any query that needs to perform a disk I/O.
A point in the cache on the MRU/LRU chain. Adaptive Server data cache is managed as an MRU/LRU (most recently used/least recently used) chain of buffers. As buffers age in the cache, they move from the MRU end toward the LRU end.
A special character used with the Transact-SQL like keyword that can stand for one or any number of characters in pattern matching.
An option, when revoking permission, that revokes permission from a specified user or group and also from anyone to whom the specified user or group has granted permission.
An option, when granting permission, that allows a specified user or group to grant the same permission to other users or groups.
An Adaptive Server subtask spawned by an Adaptive Server task in a parallel query processing environment. Together with other worker processes, executes parts of a query simultaneously to reduce response time. Worker processes use only a small amount of the operating system resources that a process uses. They do not need any operating system resources after they are launched. They can share memory space with each other. Also called a thread or lightweight process.
A collection of one or more targets. Your workspace can include all the targets involved in the complete application.
See dynamic index.
Permission to write an object, for example, to update a row or to add a row to a table.
A log, such as the transaction log, that Adaptive Server automatically writes to when a user issues a statement that would modify the database. After all changes for the statement have been recorded in the log, they are written to an in-cache copy of the data page.
An Open Server™ process that executes extended stored procedures on behalf of Adaptive Server. XP Server and Adaptive Server run on the same machine and communicate with each other through a remote procedure call (RPC).