Dr. E. F. Codd's 12 Rules For Defining A Fully Relational Database
Dr. E. F. Codd's 12 Rules For Defining A Fully Relational Database
Codd's 12 rules
1. Foundation Rule
A relational database management system must manage its stored data using only its
relational capabilities.
2. Information Rule
All information in the database should be represented in one and only one way - as
values in a table.
3. Guaranteed Access Rule
Each and every datum (atomic value) is guaranteed to be logically accessible by
resorting to a combination of table name, primary key value and column name.
4. Systematic Treatment of Null Values
Null values (distinct from empty character string or a string of blank characters and
distinct from zero or any other number) are supported in the fully relational DBMS for
representing missing information in a systematic way, independent of data type.
5. Dynamic On-line Catalog Based on the Relational Model
The database description is represented at the logical level in the same way as ordinary
data, so authorized users can apply the same relational language to its interrogation as
they apply to regular data.
6. Comprehensive Data Sublanguage Rule
A relational system may support several languages and various modes of terminal use.
However, there must be at least one language whose statements are expressible, per
some well-defined syntax, as character strings and whose ability to support all of the
following is comprehensible:
a. data definition
b. view definition
c. data manipulation (interactive and by program)
d. integrity constraints
e. authorization
f. transaction boundaries (begin, commit, and rollback).
Normalization refers to social processes through which ideas and actions come to be
seen as "normal" and become taken-for-granted or 'natural' in everyday life. In
sociological theory normalization appears in two forms.
First, the concept of normalization is found in the work of Michel Foucault, especially
Discipline and Punish, in the context of his account of disciplinary power. As Foucault
used the term, normalization involved the construction of an idealized norm of conduct –
for example, the way a proper soldier ideally should stand, march, present arms, and so
on, as defined in minute detail – and then rewarding or punishing individuals for
conforming to or deviating from this ideal.[1][2]. In Foucault's account, normalization was
one of an ensemble of tactics for exerting the maximum social control with the minimum
expenditure of force, which Foucault calls "disciplinary power". Disciplinary power
emerged over the course of the 19th century, came to be used extensively in military
barracks, hospitals, asylums, schools, factories, offices, and so on, and hence became a
crucial aspect of social structure in modern societies.
Second, Normalization Process Theory[3] is a middle-range theory used mainly in medical
sociology and science and technology studies to provide a framework for understanding
the social processes by which new ways of thinking, working and organizing become
routinely incorporated in everyday work. Normalization Process Theory has its roots in
empirical studies of technological innovation in health care, and especially in the
evaluation of complex interventions.
The normal forms (abbrev. NF) of relational database theory provide criteria for
determining a table's degree of vulnerability to logical inconsistencies and anomalies. The higher
the normal form applicable to a table, the less vulnerable it is to inconsistencies and anomalies.
Each table has a "highest normal form" (HNF): by definition, a table always meets the
requirements of its HNF and of all normal forms lower than its HNF; also by definition, a table
fails to meet the requirements of any normal form higher than its HNF.
The normal forms are applicable to individual tables; to say that an entire database is in normal
form n is to say that all of its tables are in normal form n.
First normal form (1NF or Minimal Form) is a normal form used in database normalization. A
relational database table that adheres to 1NF is one that meets a certain minimum set of criteria.
These criteria are basically concerned with ensuring that the table is a faithful representation of a
relation[1] and that it is free of repeating groups.
Second normal form (2NF) is a normal form used in database normalization. 2NF was
originally defined by E.F. Codd in 1971.[1] A table that is in first normal form (1NF) must meet
additional criteria if it is to qualify for second normal form. Specifically: a 1NF table is in 2NF if
and only if, given any candidate key K and any attribute A that is not a constituent of a candidate
key, A depends upon the whole of K rather than just a part of it.
Third normal form (3NF) is a normal form used in database normalization. 3NF was originally
defined by E.F. Codd in 1971.[1] Codd's definition states that a table is in 3NF if and only if both
of the following conditions hold:
Boyce-Codd normal form (or BCNF or 3.5NF) is a normal form used in database
normalization. It is a slightly stronger version of the third normal form (3NF). A table is in
Boyce-Codd normal form if and only if for every one of its nontrivial dependencies X → Y, X is
a superkey—that is, X is either a candidate key or a superset thereof.