Kamis, 22 Mei 2008

Dr. Codd's 12 Rules for a Relational Database Model

The most popular data storage model is the relational database, which grew from the

seminal paper "A Relational Model of Data for Large Shared Data Banks," written by

Dr. E. F. Codd in 1970. SQL evolved to service the concepts of the relational database

model. Dr. Codd defined 13 rules, oddly enough referred to as Codd's 12 Rules, for the

relational model:

0. A relational DBMS must be able to manage databases entirely through its

relational capabilities.

1. Information rule-- All information in a relational database (including table

and column names) is represented explicitly as values in tables.


2. Guaranteed access--Every value in a relational database is guaranteed to be

accessible by using a combination of the table name, primary key value, and

column name.


3. Systematic null value support--The DBMS provides systematic support for the

treatment of null values (unknown or inapplicable data), distinct from default

values, and independent of any domain.


4. Active, online relational catalog--The description of the database and its

contents is represented at the logical level as tables and can therefore be

queried using the database language.


5. Comprehensive data sublanguage--At least one supported language must have a

well-defined syntax and be comprehensive. It must support data definition,

manipulation, integrity rules, authorization, and transactions.


6. View updating rule--All views that are theoretically updatable can be updated

through the system.


7. Set-level insertion, update, and deletion--The DBMS supports not only set-

level retrievals but also set-level inserts, updates, and deletes.


8. Physical data independence--Application programs and ad hoc programs are

logically unaffected when physical access methods or storage structures are

altered.


9. Logical data independence--Application programs and ad hoc programs are

logically unaffected, to the extent possible, when changes are made to the table

structures.


10. Integrity independence--The database language must be capable of defining

integrity rules. They must be stored in the online catalog, and they cannot be

bypassed.


11. Distribution independence--Application programs and ad hoc requests are

logically unaffected when data is first distributed or when it is redistributed.


12. Nonsubversion--It must not be possible to bypass the integrity rules defined

through the database language by using lower-level languages.


Tidak ada komentar: