PostgreSQL |
---|
Prev | Chapter 1. Introduction | Next |
Traditional relational database management systems
(DBMSs) support a data model consisting of a collection
of named relations, containing attributes of a specific
type. In current commercial systems, possible types
include floating point numbers, integers, character
strings, money, and dates. It is commonly recognized
that this model is inadequate for future data
processing applications.
The relational model successfully replaced previous
models in part because of its "Spartan simplicity".
However, as mentioned, this simplicity often makes the
implementation of certain applications very difficult.
Postgres offers substantial additional
power by incorporating the following four additional
basic concepts in such a way that users can easily
extend the system:
classes |
inheritance |
types |
functions |
Other features provide additional power and flexibility:
constraints |
triggers |
rules |
transaction integrity |
These features put Postgres into the category of databases
referred to as object-relational. Note that this is distinct
from those referred to as object-oriented, which in general
are not as well suited to supporting the traditional relational database languages.
So, although Postgres has some object-oriented features,
it is firmly in the relational database world. In fact, some commercial databases
have recently incorporated features pioneered by Postgres.