Download as rtf, pdf, or txt
Download as rtf, pdf, or txt
You are on page 1of 4

Codd's 12 rules

From Wikipedia, the free encyclopedia


Jump to: navigation, search
This article includes a list of references, ut its sources remain unclear because it has
insufficient inline citations! "lease help to improve this article y introducing more
precise citations! (July 2013)
This article relies on references to primary sources! "lease add references to secondary
or tertiary sources! (July 2013)
Codd's twelve rules are a set of thirteen rules #numered $ero to t%elve& proposed y
'dgar F! Codd, a pioneer of the relational model for dataases, designed to define %hat is
re(uired from a dataase management system in order for it to e considered relational,
i!e!, a relational dataase management system #)*+,-&!.1/.2/ They are sometimes
0okingly referred to as 1Codd's T%elve Commandments1!
Contents
.hide/
1 *etails
2 )ules
2 -ee also
3 )eferences
4 Further reading
Details[edit]
Codd produced these rules as part of a personal campaign to prevent his vision of the
relational dataase eing diluted, as dataase vendors scramled in the early 1567s to
repackage e8isting products %ith a relational veneer! )ule 12 %as particularly designed to
counter such a positioning! 'ven if such repackaged non9relational products eventually
gave %ay to -:; *+,-s, no popular 1relational1 *+,-s are actually relational, e it y
Codd<s t%elve rules or y the more formal definitions in his papers, in his ooks or in
succeeding %orks in the academia or y its co%orkers and successors, Christopher J!
*ate, =ugh *ar%en, *avid ,c>overan and Faian "ascal! ?nly less kno%n *+,-s,
most of them academic, strive to comply! The only commercial e8ample, as of *ecemer
2717.update/, is *ataphor! -ome rules are controversial, especially rule three, ecause of
the deate on three9valued logic!
Rules[edit]
Rule 0: The Foundation rule:
@ relational dataase management system must manage its stored data using only its
relational capailities! The system must (ualify as relational, as a database, and as a
management system! For a system to (ualify as a relational dataase management
system #)*+,-&, that system must use its relational facilities #e8clusively& to
manage the database!
Rule 1: The information rule:
@ll information in a relational dataase #including tale and column names& is
represented in only one %ay, namely as a value in a tale!
Rule 2: The guaranteed access rule:
@ll data must e accessile! This rule is essentially a restatement of the fundamental
re(uirement for primary keys! At says that every individual scalar value in the
dataase must e logically addressale y specifying the name of the containing
tale, the name of the containing column and the primary key value of the containing
ro%!
Rule : Systematic treatment of null values:
The *+,- must allo% each field to remain null #or empty&! -pecifically, it must
support a representation of 1missing information and inapplicale information1 that is
systematic, distinct from all regular values #for e8ample, 1distinct from $ero or any
other numer1, in the case of numeric values&, and independent of data type! At is also
implied that such representations must e manipulated y the *+,- in a systematic
%ay!
Rule !: Active online catalog based on the relational model:
The system must support an online, inline, relational catalog that is accessile to
authori$ed users y means of their regular (uery language! That is, users must e ale
to access the dataase's structure #catalog& using the same (uery language that they
use to access the dataase's data!
Rule ": The comprehensive data sublanguage rule:
The system must support at least one relational language that
=as a linear synta8
Can e used oth interactively and %ithin application programs,
-upports data definition operations #including vie% definitions&, data
manipulation operations #update as %ell as retrieval&, security and integrity
constraints, and transaction management operations #egin, commit, and
rollack&!
Rule #: The vie updating rule:
@ll vie%s that are theoretically updatale must e updatale y the system!
Rule $: !igh"level insert# update# and delete:
The system must support set9at9a9time insert, update, and delete operators! This means
that data can e retrieved from a relational dataase in sets constructed of data from
multiple ro%s andBor multiple tales! This rule states that insert, update, and delete
operations should e supported for any retrievale set rather than 0ust for a single ro% in a
single tale!
Rule %: $hysical data independence:
Changes to the physical level #ho% the data is stored, %hether in arrays or linked lists
etc!& must not re(uire a change to an application ased on the structure!
Rule &: %ogical data independence:
Changes to the logical level #tales, columns, ro%s, and so on& must not re(uire a change
to an application ased on the structure! ;ogical data independence is more difficult to
achieve than physical data independence!
Rule 10: &ntegrity independence:
Antegrity constraints must e specified separately from application programs and stored in
the catalog! At must e possile to change such constraints as and %hen appropriate
%ithout unnecessarily affecting e8isting applications!
Rule 11: 'istribution independence:
The distriution of portions of the dataase to various locations should e invisile to
users of the dataase! '8isting applications should continue to operate successfully:
%hen a distriuted version of the *+,- is first introducedC and
%hen e8isting distriuted data are redistriuted around the system!
Rule 12: The nonsubversion rule:
Af the system provides a lo%9level #record9at9a9time& interface, then that interface cannot e
used to suvert the system, for e8ample, ypassing a relational security or integrity
constraint!
'ee also[edit]
A+, -ystem )
References[edit]
(ump up ) Codd, 'dgar Frank #13 ?ctoer 1564&, 1As Dour *+,- )eally
)elationalE1, (omputer)orld !
(ump up ) Codd, 'dgar Frank #21 ?ctoer 1564&, 1*oes Dour *+,- )un +y the
)ules1, (omputer)orld !
*urther readin+[edit]
Codd, 'dgar F! #1557&! *he relational model for database management+ ,ersion
2! @ddison9Wesley! A-+F 5G67271131523!
=arrington, Jan ;! #2772&! 1Codd's )ules1! -elational 'atabase 'esign (learly
./plained! The ,organ Haufmann -eries in *ata ,anagement -ystems #2nd ed!&!
,organ Haufmann! A-+F 5G61446I7627G!
Hrishna, -! #1552&! 1Criteria for 'valuating )elational *ataase -ystems1!
&ntroduction to 'atabase and 0noledge"1ase Systems! Computer -cience 2%!
World -cientific! pp! 51 et se(! A-+F 5G6561727I152!

You might also like