- Rule 0: Any RDBMS must be able to manage databases entirely through its relational capabilities. If a DBMS depends on a record-by-record data manipulation tool, it is not truly relational.
- Rule 1: All data in a relational database is explicitly represented (at the logical level) as values in tables. Data cannot be stored in any other way.
- Rule 2: Every data element must be logically accessible through the use of a combination of its primary key value, table name, and column name.
- Rule 3: Null values are explicitly supported. Nulls represent missing or inapplicable information.
- Rule 4: The database description or catalog, is also stored at the logical level as tabular values. The relational language - Structured Query Language, for instance - must be able to act on the database design in the same manner in which it acts on data stored in the structure.
- Rule 5: An RDBMS must support a clearly defined data - manipulation language that comprehensively supports data manipulation and definition, view definition, integrity constraints, and transactional boundaries, and authorization. SQL is the most well known of these languages.
- Rule 6: All views that can be updated must be updateable by the system. In a true RDBMS, most though not all, views would be updateable.
- Rule 7: An RDBMS must do more than just be able to retrieve relational data sets. It has to be capable of inserting, updating, and deleting data as a relational set.
- Rule 8: Data must be physically independent of application programs. The underlying RDBMS program or "optimizer" should be able to track physical changes in the data. For instance, an RDBMS's application programs should not have to change when an index is added to a table.
- Rule 9: Whenever possible, applications software must be independent of changes made to the base tables. For example, no code should need to be rewritten when tables are combined into a view.
- Rule 10: Data integrity must be definable in a relational language and stored in the catalog. This law is another one that has proved difficult put into practice. Data-integrity constraints can be built into applications. This approach is foreign to the relational model. In the relational model the integrity should be inherent in the database design.
- Rule 11: An RDBMS has distribution independence.
- Rule 12: If an RDBMS has a single-record-at-a-time language, that language cannot be used to bypass the integrity rules or constraints of the relational language. Thus, not only must an RDBMS be goverened by relational rules, but these rules must be primary laws.