Page 2 of 4
www.AssignmentPoint.com
A relational database is a digital database whose organization is based on the
relational model of data, as proposed by E.F. Codd in 1970. This model
organizes data into one or more tables (or "relations") of rows and columns,
with a unique key for each row. Generally, each entity type described in a
database has its own table, the rows representing instances of that type of entity
and the columns representing values attributed to that instance. Because each
row in a table has its own unique key, rows in a table can be linked to rows in
other tables by storing the unique key of the row to which it should be linked
(where such unique key is known as a "foreign key"). Codd showed that data
relationships of arbitrary complexity can be represented using this simple set of
concepts.
Prior to the advent of this model, databases were usually hierarchical, and each
tended to be organized with a unique mix of indexes, chains, and pointers. The
simplicity of the relational model led to it soon becoming the predominant type
of database.
The various software systems used to maintain relational databases are known
as Relational Database Management Systems (RDBMS).
Virtually all relational database systems use SQL (Structured Query Language)
as the language for querying and maintaining the database.
Overview
Page 3 of 4
www.AssignmentPoint.com
Each database is a collection of tables, which are called relations, hence the
name "relational database". Each table is a metaphorical representation of an
entity or object that is in a tabular format consisting of columns and rows.
Columns are the fields of a record or the attributes of an entity. The rows
contain the values or data instances; these are also called records or tuples.
Relationships exist both among the columns within a table and among the
tables. These relationships take three logical forms: one-to-one, one-to-many, or
many-to-many. Most relational databases are designed so there is only one
value per cell (an intersection of a column and row); in this design pattern, there
are only one-to-one relationships within a table. Each table is named according
to the data it contains, such as people or addresses.
In order for a database management system (DBMS) to operate efficiently and
accurately, it must have ACID transactions. Part of this processing involves
consistently being able to select or modify one and only one row in a table.
Therefore, most physical implementations have a system-assigned, unique
primary key for each table. When a new row is written to the table, the system
generates and writes the new, unique value for the primary key (PK); this is the
key that the system uses primarily for accessing the table. System performance
is optimized for PKs. Other, more natural keys may also be identified and
defined as alternate keys (AK). Often several columns may be needed to form
an AK (this is one reason why a single integer column is usually made the PK).
Both PKs and AKs have the ability to uniquely identify one row within a table.
Additional technology may be applied that will significantly assure a unique ID
across the world, a globally unique identifier; these are used when there are
broader system requirements.
Page 4 of 4
www.AssignmentPoint.com
The primary keys within a database are used to define the relationships among
the tables. When a PK migrates to another table, it becomes a foreign key in the
other table. When each cell can contain only one value and the PK migrates into
a regular entity table, this design pattern can represent either a one-to-one, or a
one-to-many relationship. Most relational database designs resolve many-to-
many relationships by creating an additional table that contains the PKs from
both of the other entity tables—the relationship becomes an entity; the
resolution table is then named appropriately and is often assigned its own PK
while the two FKs are combined to form an AK. The migration of PKs to other
tables is the second major reason why system-assigned integers are used
normally as PKs; there usually is neither efficiency nor clarity in migrating a
bunch of other types of columns.
Most of the programming within a RDBMS is accomplished using stored
procedures (SPs). Often procedures can be used to greatly reduce the amount of
information transferred within and outside of a system. For increased security,
the system design may also grant access to only the stored procedures and not
directly to the tables. Fundamental stored procedures contain the logic needed to
insert new data and update existing data. More complex procedures may be
written to implement additional rules and logic related to processing or selecting
the data.