Key Concepts
This section explains some basic concepts of databases and some of the key concepts that distinguish PSQL from other database products.
Basic Database Structures and Terms
Most database management systems in use today share a common set of basic structures. This section briefly explains those structures. The descriptions that follow refer to the diagram below:
Value
The most basic element of a database is a value. A value is one piece of data, one characteristic, for a specific entity. For example, in the diagram, the name John Doe or the phone number 555-1212 is a value.
Column or Field
Another element is a column, or a field. A column represents a characteristic with no specific value. Columns generally have names that describe the given characteristic. For example, in the telephone book, Name and Phone are columns. They do not have specific values unless you look up a particular person. Field is sometimes used to refer to the generic characteristic of a specific row. For example, someone might point to a specific box in the table above and ask, “What is the value of that field?”
Row or Record
Another element is called a row, or a record. A row is a collection of all the values for one particular instance. For example, one entry in the phone book, complete with name, address, and phone number, is one record or row.
Cell
A cell is a column within a specific record. You can think of it as the intersection of a row and a column. Each cell has a specific value. For example, you might tell a co-worker, “The value of the cell located at row 2, column 3 is ‘12345’.”
Table
A collection of rows and columns makes up a table. A table is a set of data that shares exactly the same structure. Tables generally have names that describe the contents of the table. For example, the table above is called Phone Book. With PSQL, each table is stored as a separate data file on the hard disk.
Index
An index is an ordered list of all the values in a particular column. A table can have zero or more indexes on it. The database engine uses indexes to find specific records in the database without having to step through every record one at a time. Creating indexes on columns which will frequently be used in database searches is likely to improve the performance of your database.
Database
A database is a collection of one or more tables. The data in the tables does not need to be related among the various tables, but usually there are many relations. For example, a database might consist of the Food Preferences table below, and the Phone Book table above. With PSQL, a database consists of one or more data files and Data Dictionary Files (DDFs) on your hard disk. The DDFs are special data files that contain all the definitions for tables, columns, and other attributes that define the structure of your database.
Schema
The term schema refers to the complete set of definitions that describe the entire structure of a database. A typical schema includes definitions for tables, columns, indexes, and many other attributes. The DDFs for a database contain the database’s schema.
Remote
The term remote refers to an object, such as a file server or a database, that is not located in the computer you are using now. When you connect to a database over the network, you are connecting to a remote database. Remote is the opposite of local. Remote can refer to either the client or the server, depending on whether you are currently seated at the server computer or a client computer. Remote always refers to an object that is not located on the system you are using.
Local
The term local refers to the computer you are using right now, or something stored on this computer. A local database is a database in which the data files are stored on the hard disk of the computer you are currently using. Local is the opposite of remote. Local can refer to either the client or the server, depending on whether you are currently seated at the server computer or a client computer.
Relational
The term relational refers to the storage of data in the form of related tables. The related tables allow relationships to be created between sub-sets of data.
For example, you can see that both our example tables contain the Name column, and some of the names are the same. Because we can cross-reference the names in the Phone table with the names in the Food table, we have the power to ask and answer such questions as, “What is the phone number of someone who likes steak?” We may also answer such questions as, “Which consumer profile purchased the most product B after buying product A?”
You can see how powerful relational data access is. The Relational Engine of PSQL provides full relational access to your data.
Join
A join refers to an association between columns of related tables. Typically, a join operation is part of a SELECT query, which is used to obtain information from related tables.
Unique Benefits of PSQL
One unique feature of PSQL is that it allows applications to access data through either the industry-standard Relational Engine, or through the ultra-high-speed MicroKernel Engine. In fact, PSQL allows applications to use both engines at the same time to access the same data.
Engine Access Methods
PSQL provides a variety of methods to access data through the engines, such as the Btrieve API, ADO.NET, and ODBC. Refer to the SDK documentation for all of the access methods.
Terminology Revisited
When the product and the documentation refer to the MicroKernel Engine, the terms table and database are generally not used, and data files are referred to directly as such. In addition, MicroKernel Engine users normally use the terms records and fields rather than rows and columns.