Codd's Twelve Rules - Rule 12 - Non-Subversion Rule
Rule 12 | Non-Subversion Rule |
Rule | If the system provides a low-level (record-at-a-time) interface, then that interface cannot be used to subvert the system, for example, bypassing a relational security or integrity constraint. |
Description | “This rule states that if a Relational Database Management System has an interface that provides access to low level records, this interface then must not be able to subvert the system and bypass security and integrity constraints.” “The system must not have features that allow you to subvert database structure integrity. Basically, the system must not include back doors that let you cheat the system for features such as administrative privileges or data constraints.” “There should be no way to modify the database structure other than through the multiple row database language (like SQL).” Overall, there should not be a way in any form to violate the integrity constraints defined on a database. Only the language/sublanguage which was used to define those constraints can be able to redefine them. If we would say that a low level language is supported by a RDBMS, then it should not be possible for that low level language to bypass any integrity constraints defined in a high level language. |
Example violations of this rule | SQL Server 2008 violates this through Bulk copy and Disabling constraints and triggers options. |
Some DBMS that fulfills this property | SQL Server, Oracle |
No comments:
Post a Comment