This document outlines Edgar Codd's 12 rules for a database management system to be considered truly relational. The rules define requirements around exclusively using relational capabilities to manage stored data, representing all information in tables, guaranteed logical access to individual data values, treating null values systematically, supporting an online relational catalog, a comprehensive relational query language, updatable views, and set-based operations. The rules also cover physical and logical data independence, integrity independence, and distribution independence.
This document outlines Edgar Codd's 12 rules for a database management system to be considered truly relational. The rules define requirements around exclusively using relational capabilities to manage stored data, representing all information in tables, guaranteed logical access to individual data values, treating null values systematically, supporting an online relational catalog, a comprehensive relational query language, updatable views, and set-based operations. The rules also cover physical and logical data independence, integrity independence, and distribution independence.
This document outlines Edgar Codd's 12 rules for a database management system to be considered truly relational. The rules define requirements around exclusively using relational capabilities to manage stored data, representing all information in tables, guaranteed logical access to individual data values, treating null values systematically, supporting an online relational catalog, a comprehensive relational query language, updatable views, and set-based operations. The rules also cover physical and logical data independence, integrity independence, and distribution independence.
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!
DATABASE From the conceptual model to the final application in Access, Visual Basic, Pascal, Html and Php: Inside, examples of applications created with Access, Visual Studio, Lazarus and Wamp