Os bancos de dados relacionais foram idealizados por
Edgar Frank "Ted" Codd, um cientista de computação britânico que, enquanto trabalhava para a IBM, inventou o modelo relacional para a gestão de banco de dados, a base teórica para bancos de dados relacionais. Ele fez outras contribuições valiosas para a ciência da computação, mas o modelo relacional, uma teoria muito influente sobre gestão de dados gerais, continua sendo seu feito mais citado. Em 1970 ele apareceu com
13 leis (numeradas de 0 a 12) que descreveriam o que é um banco de dados relacional e o que é um Sistema Gerenciador de Banco de Dados Relacionais faz e, várias leis de normalização que descrevem as propriedades de dados relacionais. Apenas os dados que haviam sido normalizados poderiam ser considerados relacionais.
Vejamos as 12 regras de Ted Codd
0) Regra Fundamental: Um SGBD relacional deve gerenciar seus dados usando apenas suas capacidades relacionais.
1) Regra da informação: Toda informação deve ser representada de uma única forma, como dados em uma tabela.
2) Regra da garantia de acesso: Todo dado (valor atômico) pode ser acessado logicamente (e unicamente) usando o nome da tabela, o valor da
chave primária da linha e o nome da coluna.
3) Tratamento sistemático de valores nulos: Os valores nulos (diferente do zero, da string vazia, da string de caracteres em brancos e outros valores não nulos) existem para representar dados não existentes de forma sistemática e independente do tipo de dado.
4) Catálogo dinâmico on-line baseado no modelo relacional: A descrição do banco de dados é representada no nível lógico como dados comuns (isso é, em tabelas), permitindo que usuários autorizados apliquem as mesmas formas de manipular dados aplicados aos dados comuns ao consultá-los.
5) Regra da sub-linguagem compreensiva: Um sistema relacional pode suportar várias linguagens e formas de uso, porém deve possuir ao menos uma linguagem com sintaxe bem definida e expressa por cadeia de caracteres e com habilidade de apoiar a definição de dados, a definição de visões, a manipulação de dados, as restrições de integridade, a autorização e a fronteira de transações.
6) Regra da atualização de visões: Toda visão que for teoricamente atualizável será também atualizável pelo sistema.