C. J. Date propôs 12 regras que um SGBDD completo deveria seguir
Autonomia local: Cada nó participante de um sistema distribuído deve ser independente dos outros nós. Cada nó deve prover mecanismos de segurança, bloqueio, acesso, integridade e recuperação após falha.
Dependência de um nó central - Um sistema de banco de dados distribuído não deve depender de um nó central, isso porque depender de um nó central também significa que o sistema possui um único ponto de falha, afetando todos os outros nós. Existindo um nó central também vai acarretar em perda de desempenho do sistema, porque o nó central ficará muito carregado;
Operação contínua - Um sistema de banco de dados distribuído nunca deve precisar ser desativado. As operações de backup e a recuperação devem ser suportadas online. Ainda, as operações citadas anteriormente devem ser rápidas o bastante para não afetarem o funcionamento do sistema (backup incremental, por exemplo);
Transparência e independência de localidade - Os usuários do sistema não devem saber, nem mesmo estarem cientes do local onde estão localizados os dados. Devem se comportar como se os dados estivessem armazenados localmente. A transparência de localização pode ser alcançada pela utilização de sinônimos estendidos e pelo extenso uso do dicionário de dados. A transparência de localização permite que aplicações sejam transportadas de um nó da rede para outro sem a necessidade de modificações;
Independência de fragmentação- As tabelas que fazem parte de um sistema de banco de dados distribuído podem estar divididas em fragmentos e estarem localizadas fisicamente em diferentes nós, de forma transparente para o usuário. Assim como na regra anterior, os usuários e as aplicações não devem estar cientes do fato que alguns dados de uma determinada tabela estão armazenados em um nó diferente do nó onde a tabela originalmente está armazenada;
Iindependência de replicação - Dados podem estar replicados em vários nós da rede, de forma transparente. Assim como nas regras de independência de localização e fragmentação, a independência de replicação é projetada para livrar os usuários de preocupações como o local onde os dados estão armazenados. No caso da replicação, os usuários e as aplicações não devem saber que réplicas de dados são mantidas e sincronizadas automaticamente pelo SGBDD.
C. J. Date propôs 12 regras que um SGBDD completo deveria seguir
Continuação...
Processamento de consultas distribuído - O desempenho de uma consulta deve ser independente do local onde a mesma é executada. Sabendo que um SGBD relacional provê um mecanismo de acesso aos dados não navegável (através de SQL), um SGBDD deve possuir um otimizador que possa selecionar não apenas o melhor caminho para o acesso a um determinado nó da rede, mas também otimizar o desempenho de uma consulta distribuída, levando em conta a localização dos dados, utilização de CPU e I/O e ainda o tráfego da rede;
Gerenciamento de transações distribuídas - Um SGBDD deve suportar transações atômicas. As propriedades ACID (Atomicidade, Consistência, Independência e Durabilidade) das transações e ainda a possibilidade de serialização devem ser suportadas não apenas para transações locais, mas para transações distribuídas também. Um exemplo de gerenciamento de transações distribuídas é visto no processamento de um two-phase commit;
Independência de hardware - Um SGBDD deve poder operar e acessar dados em uma variedade de plataformas de hardware. Um SGBDD verdadeiro não deve depender de uma determinada característica de hardware, nem deve ser limitado auma determinada plataforma;
Independência de sistema operacional - Um SGBDD deve poder ser executado em sistemas operacionais diferentes. Assim como na regra anterior, um SGBDD não deve depender de um sistema operacional em especial; j) independência de rede - Um SGBDD deve ser projetado para executar independente do protocolo de comunicação e da topologia de rede usada para interligar os vários nós que fazem parte da rede;
Independência de rede: Um SGBDD deve ser projetado para executar independentemente do protocolo de comunicação e da topologia de rede usada para interligar os vários nós que fazem parte da rede.
Independência de SGBD - Um SGBDD ideal deve possuir capacidade para se comunicar com outros sistemas de bancos de dados executando em nós diferentes, mesmo se estes sistemas de bancos de dados forem diferentes (heterogêneos). Todos estes sistemas devem usar APIs (Application Programming Interface) em comum.