3 ms·
If we exclude stuff like OLAP and spatial databases, there are only 3 types of database: relational, pointer and logical. Relational means something that accep
by ucee054 14y ago
If we exclude stuff like OLAP and spatial databases, there are only 3 types of database: relational, pointer and logical.
Relational means something that accepts Codd's constraints, more-or-less. Pointer is something that doesn't, and which therefore easily allows hierarchies.
Logical is like relational, expanded to allow recursive queries, prolog-style, which is a high level way to have hierarchies and Codd's constraints, but you pay for in terms of query performance.
The thing is, pointer databases have been reinvented again and again: First as the mainframe cobol databases of the 70s, then as the filesystem, then as the windows registry, then as OODBMSs, then as XML databases, and now as NoSQL.
The other thing is, Postgres is designed to cater for all 3, relational, pointer and logical.