Relational Database Systems - Basic concepts
What is the mythical creature called relational database?
Briefly, it's an instrument for storing and handling information
efficiently and effectively - in the sense that data is
protected from accidental loss or coruption, that it doesn't use
more resources (human or machine) then necessary, and that it
can be retrieved in sensible ways whithin reasonable performance
constraints.
The database itself is the phisical implementation of a
relational model, which is a way of describing some aspects of
the real world accordingly to a set of rules proposed by Dr.
Codd in late 1960s.
In theory, a relational database could be coded from scratch,
but in real world you'll usually use the services of a database
management system (DBMS). A DBMS is sometimes called a
relational database management system (RDBMS), but technically a
DBMS must comply with some 300 rules to qualify as relational,
and as far as I know, no commercially available sistem fully
qualifies.
A relational database is a phisical implementation of a
relational model (the data model), and it's important to keep
these two concepts distinct. While it's almost impossible to
completely ignore the constraints of the implementation
environment during the design phase, best practice dictates that
the original model be as "pure" as possible. Although you might
already know that for performance reasons you're going to have
to make certain trade-offs during implementation, you can, and
should, ignore these decisions during data modelling. An example
of this is storing calculated fields (such as TotalOrder) in a
base table, which is a major no-no in relational design,
but a common technique in practice. Whatever you choose to do
with your implementation, your model should not include the
calculated field.
Freelance
Programming