Properties of Relational Tables
Relational tables have following
properties:
Values are atomic.
This property implies that columns in a relational table
are not repeating group or arrays. Such tables are referred to
as being in the "first normal form" (1NF). The atomic value
property of relational tables is important because it is one of
the cornerstones of the relational model. The key benefit of the
one value property is that it simplifies data manipulation logic.
Column values are of the same
kind
In relational terms this means that all values in a column
come from the same domain. A domain is a set of values which a
column may have. For example, a Monthly Salary column contains
only specific monthly salaries. It never contains other
information such as comments, status flags, or even weekly
salary. This property simplifies data access because developers
and users can be certain of the type of data contained in a
given column. It also simplifies data validation. Because all
values are from the same domain, the domain can be defined and
enforced with the Data Definition Language (DDL) of the database
software .
Each row is unique
This property ensures that no two rows in a relational
table are identical; there is at least one column, or set of
columns, the values of which uniquely identify each row in the
table. Such columns are called primary keys and are discussed in
more detail in Relationships and Keys. This property guarantees
that every row in a relational table is meaningful and that a
specific row can be identified by specifying the primary key
value.
The sequence of columns is
insignificant
This property states that the ordering of the columns in
the relational table has no meaning. Columns can be retrieved in
any order and in various sequences. The benefit of this property
is that it enables many users to share the same table without
concern of how the table is organized. It also permits the
physical structure of the database to change without affecting
the relational tables.
The sequence of rows is
insignificant
This property is analogous the one above but applies to
rows instead of columns. The main benefit is that the rows of a
relational table can be retrieved in different order and
sequences. Adding information to a relational table is
simplified and does not affect existing queries.
Each column must have a unique name.
Because the sequence of columns is insignificant, columns
must be referenced by name and not by position. In general, a
column name need not be unique within an entire database but
only within the table to which it belongs
Relationships and Keys
A relationship is an
association between two or more tables. Relationships are
expressed in the data values of the primary and foreign keys.
A primary key is a
column or columns in a table whose values uniquely identify
each row in a table. A
foreign key is a column or columns whose values are the same
as the primary key of another table. You can think of a foreign
key as a copy of primary key from another relational table. The
relationship is made between two relational tables by matching
the values of the foreign key in one table with the values of
the primary key in another.
Keys are fundamental to the
concept of relational databases because they enable tables in
the database to be related with each other. Navigation around a
relational database depends on the ability of the primary key to
unambiguously identify specific rows of a table. Navigating
between tables requires that the foreign key is able to
correctly and consistently reference the values of the primary
keys of a related table. For example, the figure below shows how
the keys in the relational tables are used to navigate from
AUTHOR to TITLE to PUBLISHER. AUTHOR TITLE is an all key table
used to link AUTHOR and TITLE. This relational table is required
because AUTHOR and TITLE have a many-to-many relationship.