Entre as 12 regras de Codd para Sistemas de Gerenciamento de Banco de Dados Relacional está a Regra 1, que afirma o seguinte:
Regra 1 : Regra de informação
Todas as informações (incluindo metadados) devem ser representadas como dados armazenados em células de tabelas. As linhas e colunas devem ser estritamente desordenadas.
Por que é importante que os metadados sejam armazenados em tabelas?
Os metadados não são exclusivamente mais importantes do que os não metadados neste contexto. Em vez disso, sua regra simplesmente quer que o leitor perceba que " Todas as informações" incluem até mesmo os metadados referentes ao próprio banco de dados. Isso é útil para entender a estrutura do banco de dados e o modelo relacional por trás dele. É por isso que o Esquema de Informações faz parte dos padrões ANSI SQL .
Nenhuma das regras de Codd vive isolada. Todos eles trabalham juntos para oferecer a você aquela experiência maravilhosa que você tem hoje com o RDBMS moderno, que todos nós damos como certo hoje. Porque antes das regras de Codd, o mundo era um lugar horrível horrível que nós "jovens" não conhecíamos e os "anciões" tentam desesperadamente esquecer.
Imagine aquele mundo horrível onde para cada pequena tarefa, você tinha que ler um manual de usuário diferente , usar uma linguagem de programação diferente , aplicar uma mentalidade diferente , paradigma, etc. etc.
Eu penso nisso toda vez que fico surpreso por não conseguir fazer alguma tarefa administrativa simples do meu editor SQL favorito (Dbeaver no meu caso, você pode usar qualquer outra ferramenta que quiser, outro efeito colateral das regras de Codd!). Curti
Eu posso fazer todas essas coisas usando uma única ferramenta (se eu tiver os privilégios, é claro). Eu não tenho que ir para alguma linha de comando estranha e aprender alguns comandos estranhos. Eu não tenho que escrever um roteiro em um idioma que apenas 3 pessoas no planeta entendem. Não. É tudo SQL (Regra 5 "A regra abrangente da sublinguagem de dados").
E com relação à Regra 1, como todas as regras, ela não vive isolada. Imagine, para verificar se aquela coluna que você deseja adicionar já existe. Imagine que você teve que sair desse maravilhoso domínio do SQL para a verificação e voltar mais tarde para adicionar a coluna. Não. Você não. Você executa um rápido:
E você pode escrever isso, novamente, em SQL ou em uma linguagem procedural que seja uma extensão do SQL. Nunca deixando aquele único ecossistema onde você pode fazer quase todas as tarefas que você precisa fazer em seu RDBMS.
A propósito, as regras de Codd não precisam ser estritamente sobre RDBMS, mesmo que seja para isso que elas foram projetadas. Se a política puder ser removida das regras, ela poderá ser aplicada a todos os DBMS.