This document outlines Codd's 12 rules for relational databases. The rules cover: representing all data in tables (Rule 1), guaranteed access to data through primary keys (Rule 2), supporting null values (Rule 3), representing the database description in tables (Rule 4), supporting data definition, manipulation and integrity constraints through a relational language (Rule 5), supporting updatable views (Rule 6), supporting insertion, updating and deletion of base and derived relations (Rule 7), ensuring application independence from storage changes (Rule 8) and information structure changes (Rule 9), enforcing integrity constraints through the relational language (Rule 10), ensuring distribution independence (Rule 11), and preventing bypassing of integrity rules with a low-level language (