A database management system (DBMS) generally includes computer hardware running system software for creating and managing databases. Some examples of a DBMS include MySQL, PostgreSQL, MongoDB, Microsoft SQL Server, Oracle, Sybase, SAP HANA, and IBM DB2. The DBMS provides users and programmers with a systematic way to create, retrieve update and manage data in a database. Examples of databases include relational database, flat database, object oriented database, hierarchical database etc.
Data in a relational database of a DBMS can be stored in relational tables. In a relational table, data is organized into one or more tables comprising rows (also referred to as records or tuples) and columns (also referred to as attributes). A row of the relational table can represent a type of entity, and a column can represent values corresponding to the type of entity. Data in the relational table (e.g., values in a column) can be organized in data blocks. Each time a user requests access to a data block in the table, the DBMS can sequentially search the entire table. However, sequential searches can be inefficient, especially when the database is stored in a storage disk that is slow to respond to a search request (query).
Data in a database (e.g., a data block) can be efficiently accessed by using a data index. The data index can include a copy of a selected column of the relational table along with the memory address of data blocks in the selected column. When a user requests access to a data block, a search is performed in the data index. If a match is found, the DBMS can directly access the data block in the database. Hence, data index obviates sequential searching in the database, and can therefore allow accessing data efficiently.
USPTO Backgrounds
USPTO Backgrounds