CODD's 12 Rules in Oracle

" CODD's 12 RULES " for a fully Relational DBMS

According to Elmasri again Navathe ( 1994 ), Dr. E. F. Codd, the originator of the relational data treatment, published a two - part article in ComputerWorld ( Codd, 1985 ) that lists 12 rules for how to determine whether a DBMS is relational and to what extent existent is relational. These rules provide a very useful yardstick for evaluating a relational system. Codd also mentions that,

according to these rules, no fully relational system is available yet. In particular, rules 6, 9, 10, 11, and 12 are difficult to satisfy.

THE 12 RULES are:

Rule 1: The Information Rule Undocked information in a relational database is represented explicitly at the logical level in of course one way by values in tables. All data is represented in the form of relations/tables (with rows and columns) Simple Consistent and elastic

Rule 2: Guaranteed Access Rule Each and every datum ( atomic value ) in a relational database is guaranteed to act as logically accessible by resorting to a table name, primary key value, and column name. All Data is uniquely identified and accessible via this identity.

Rule 3: Systematic Treatment of Null Values Null values ( distinct from empty character access 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.

Rule 4: Dynamic On - vocation Catalog based on the Relational Model The database description is represented at the logical level in the duplicate way owing to ordinary data, so authorized users can apply the same relational language to its challenge as they apply to regular data.

Rule 5: Comprehensive Data Sublanguage Rule A relational system may support several languages and various modes of terminal use ( for example, the fill - in - blanks mode ). However, there itch be at smallest one language whose statements are expressible, per some well - defined syntax, as character strings and whose ability to block all of the following is comprehensible: data definition, view definition, data manipulation ( interactive and by mechanism ), integrity constraints, and
transaction boundaries ( begin, commit, and rollback ).

Rule 6: View Updating Rule All views that are theoretically updateable are also updateable by the system. Views are virtual tables. They appear to behave as conventional tables except that they are built dynamically when the query is run. This means that a view is always addition to date. It is not always theoretically possible to update views. One problem exists when a view relates to part of a table not including a candidate key. This means that undeveloped updates would violate the entity
integrity rule.

Rule 7: High - level Insert, Restore, and Delete The capability of relevance a base relation or a derived conjunction as a single operand applies not only to the retrieval of data but also to the insertion, update, and obliteration of data. i. e. The user should express allowed to Delete, Amend a set of tuples ( rather than row by set-to )

Rule 8: Physical Data Independence Application programs and terminal activities extend logically unimpaired whenever any changes are made mastery either storage representation or access methods. i. e. Users and programs are not dependent on the physical structure of the database.

Rule 9: Inherent Data Independence Application programs and terminal activities remain logically unimpaired when information - preserving changes of quantum kind that theoretically grant unimpairment are made to the base tables. Users and Programs are outward of the logical structure of the database, i. e. the logical structure of the data can evolve with minimal impact on the programs.

Rule 10: Honestness Independence Integrity constraints specific to a particular relational database commitment be definable in the relational skinny sublanguage and storable in the diagnosticate, not in the application programs. A minimum of the following two integrity constraints must exemplify supported: 1. Entity integrity: No component of a primary key is allowed to have a null value. 2. Referential integrity: For each distinct non - null foreign key value in a relational database, there must exist a matching primary key value from the same domain.

Rule 11: Distribution Independence A relational DBMS has distribution independence. Distribution independence implies that users should not have to be aware of whether a database is distributed. Applications should still work in a distributed database ( DDB ).

Rule 12: Nonsubversion Rule If a relational system has a down-hearted - level ( single - record - at - a - time ) language, that depressed - straight language cannot be used to subvert or bypass the integrity rules or constraints expressed in the higher - level ( multiple - records - at - a - time ) relational language. If there is a record at a time interface ( e. g. via 3GL ), Security and integrity of the database must no be violated. There should be no backdoor to bypass the security imposed by the DBMS.

Share this

Related Posts