12 regras de Codd: diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
bot: revertidas edições de 200.178.122.2 ( modificação suspeita : -42), para a edição 31133835 de Salebot
Linha 1:
{{Em tradução|data=janeiro de 2012}}
As '''Doze regras de Codd''' são um conjunto de treze regras (enumeradas de zero à doze) propostas por [[Edgar F. Codd]], um pioneiro do [[modelo relacional]] para [[banco de dados]], designado para definir o que é necessário para que um [[sistema de gerenciamento de banco de dados]] para ser considerado ''relacional''.<ref>{{citation | last = Codd | first = Edgar Frank | title = Is Your DBMS Really Relational? | journal = ComputerWorld | date = 14 October 1985}}.</ref><ref>{{citation | last = Codd | first = Edgar Frank | title = Does Your DBMS Run By the Rules | journal = ComputerWorld | date = 21 October 1985}}.</ref> ElesThey são,are àssometimes vezesjokingly porreferred brincadeirato chamados deas "DozeCodd's MandamentosTwelve de CoddCommandments".
 
Codd criou estas regras como parte de uma campanha pessoal para impedir que a sua visão de banco de dados relacional fosse diluída, como fornecedores de banco de dados embaralhados no início de 1980 para remontar produtos existentes com um verniz relacional. A regra 12 foi especialmente criada para combater este posicionamento dos fornecedores.
 
== As regras ==
'''Regra (0):''' O sistema precisa ser qualificado como ''[[Modelo relacional|relacional]]'', como um ''[[banco de dados]]'', e como um ''[[sistema de gerenciamento]]''.
:Para um sistema para se qualificar como um sistema de gerenciamento de banco de dados relacional ([[SGBD]]), este sistema precisa usar suas facilidades de ''relacionamento'' (exclusivamente) para ''gerenciar'' o ''banco de dados''.
 
Linha 17:
:O SGBD deve permitir que cada campo possa permanecer nulo (ou vazio). Especificamente, ele deve suportar uma representação de "falta de informação e informações inaplicáveis" que é [[sistemática]], diferente de todos os valores regulares (oor exemplo, "diferente de zero ou qualquer outro número", no caso de valores numéricos), e independente de [[tipo de dados]]. É também implícito que tais representações devem ser manipuladas pelo SGBD de maneira sistemática.
 
'''Regra 4:''' ''CatálogoActive [[on-lineonline]] baseado[[Database catalog|catalog]] based on nothe modelorelational relacionalmodel'':
:The system must support an online, inline, relational catalog that is accessible to authorized users by means of their regular [[linguagem de consulta]]. That is, users must be able to access the database's structure (catalog) using the same query language that they use to access the database's data.
:Os [[metadados]] devem ser armazenados e gerenciados como dados comuns, ou seja, em tabelas no interior do [[Banco de Dados]]. Esses dados devem estar disponíveis aos usuários autorizados, utilizando a [[linguagem de consulta]] padrão do [[Banco de Dados]].
 
'''Regra 5:''' The ''Sublinguagemcomprehensive Ampladata desublanguage Dadosrule'':
:The system must support at least one relational language that
:O sistema necessita suportar ao menos uma linguagem relacional que
::# PossuaHas uma sintaxea [[linear; syntax]]
::# Can be used both interactively and within application programs,
::# Possa ser utilizada seja interativamente, seja por meio de programas;
::# Supports data definition operations (including view definitions), data manipulation operations (update as well as retrieval), security and integrity constraints, and [[database transaction|transaction]] management operations (begin, commit, and rollback).
::# Suporte operações de [[ Linguagem de definição de dados|definição de dados]] (incluindo definições de [[Visão (banco de dados) | Visualizações]]);
::# Suporte operações de [[ Linguagem de manipulação de dados|manipulação de dados]] (atualização, bem como recuperação), de segurança e [[restrições de integridade]], e [[transação em base de dados | transação]]; operações de gerenciamento (begin, commit e rollback).
 
'''Regra 6:''' Atualização por meio deThe ''[[VisãoView (banco de dadosdatabase) | Visualizaçõesview]] updating rule'':
:All views that are theoretically updatable must be updatable by the system.
:Todas as [[Visão (banco de dados) | Visualizações]] que são teoricamente atualizáveis deve ser atualizáveis pelo sistema.
 
'''Regra 7:''' ''InserçãoHigh-level insert, Atualizaçãoupdate, e exclusão de Altoand níveldelete'':
:The system must support set-at-a-time ''insert'', ''update'', and ''delete'' operators. This means that data can be retrieved from a relational database in sets constructed of data from multiple rows and/or multiple tables. This rule states that insert, update, and delete operations should be supported for any retrievable set rather than just for a single row in a single table.
:O sistema necessita fornecer suporte à configuração do nível de operações de ''insert'', ''update'', e ''delete''. Isto significa que os dados podem ser recuperados a partir de um banco de dados relacional em conjuntos de dados construídos a partir de várias linhas e / ou várias tabelas. Esta regra afirma que as operações de insersão, atualização, e exclusão devem ser apoiadas para qualquer conjunto recuperável e não apenas para uma única linha em uma única tabela.
 
'''Regra 8:''' ''IndependênciaPhysical Física de dadosdata independence'':
:Changes to the physical level (how the data is stored, whether in arrays or linked lists etc.) must not require a change to an application based on the structure.
:Aplicativos e recursos ''ad hoc'' não são afetados logicamente quando os métodos de acesso ou as estruturas de armazenamento físico são alterados..
 
'''Regra 9:''' ''Logical data independence'':