2. EF Codd Rules
Rule 0: The foundation rule:
This rule states that for a system to qualify as an RDBMS, it
must be able to manage database entirely through the
relational capabilities.
Rule 1: The information rule:
All information(including metadata) is to be represented as
stored data in cells of tables.
Rule 2: The guaranteed access rule: Each unique piece of
data(atomic value) should be accessible by : Table Name +
Primary Key(Row) + Attribute(column).
3. EF Codd Rules
Rule 3: Systematic treatment of null values:
Null has several meanings, it can mean missing data,
not applicable or no value. It should be handled
consistently. Also, Primary key must not be null, ever.
Expression on NULL must give null.
Rule 4: Active Online Catlog:
Database dictionary(catalog) is the structure
description of the complete Database and it must be
stored online. The Catalog must be governed by same
rules as rest of the database. The same query language
should be used on catalog as used to query database.
4. EF Codd Rules
Rule 5: The comprehensive data sublanguage rule:
One well structured language must be there to provide all manners of
access to the data stored in the database. Example: SQL, etc. If the
database allows access to the data without the use of this language,
then that is a violation.
Data definition.
View definition.
Data manipulation (interactive and by program).
Integrity constraints.
Authorization.
Transaction boundaries (begin, commit and rollback).
Rule 6: The view updating rule:
All views that are theoretically updatable are also updatable by the
system.
5. EF Codd Rules
Rule 7: Relational level Operations Rule / Possible
for high-level insert, update, and delete:
There must be Insert, Delete, Update operations
at each level of relations. Set operation like Union,
Intersection and minus should also be supported.
Rule 8: Physical data independence:
The physical storage of data should not matter to
the system. If say, some file supporting table is
renamed or moved from one disk to another, it
should not effect the application..
6. EF Codd Rules
Rule 9: Logical data independence:
Application programs and terminal activities remain
logically unimpaired when information-preserving
changes of any kind that theoretically permit un
impairment are made to the base tables. If there is change
in the logical structure(table structures) of the database
the user view of data should not change.
Rule 10: Integrity independence:
Integrity constraints specific to a particular relational data
base must be definable in the relational data sublanguage
and storable in the catalog, not in the application
programs.
7. EF Codd Rules
Rule 11: Distribution independence:
The end-user must not be able to see that the data is distributed
over various locations. Users should always get the impression that
the data is located at one site only.
A database should work properly regardless of its distribution
across a network. Even if a database is geographically distributed,
with data stored in pieces, the end user should get an impression
that it is stored at the same place. This lays the foundation
of distributed database.
Rule 12: Non subversion rule:
If low level access is allowed to a system it should not be able to
subvert or bypass integrity rules to change the data. This can be
achieved by some sort of looking or encryption