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

Conteúdo apagado Conteúdo adicionado
FMTbot (discussão | contribs)
m Checkwiki + ajustes
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> They are sometimes jokingly referred to as "Codd's Twelve Commandments".
 
Linha 6:
== 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]]''.
 
'''Regra 1:''' A ''regra da informação'':
: Todas as informações no banco de dados necessitam estar representadas de apenas uma forma, nomeados por valores em posições de colunas dentro de registros de tabelas.
 
'''Regra 2:''' A ''regra de acesso garantido'':
: Todos os dados necessitam ser acessíveis. Esta regra é essencialmente uma reafirmação do requisito fundamental para [[Chave primária|chaves primárias]]. Diz que todo valor na base de dados necessita ser logicamente endereçavel por um nome específico do conteúdo [[Tabela (base de dados)| tabela]], o nome do conteúdo da coluna e o valor da chave primária do conteúdo [[Registro (bando de dados)|registro]].
 
'''Regra 3:''' ''Tratamento sistemático de valores nulos:'':
: 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:''' ''Active [[online]] [[Database catalog|catalog]] based on the relational model'':
: The system must support an online, inline, relational [[Database catalog|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.
 
'''Regra 5:''' The ''comprehensive data sublanguage rule'':
:The system must support at least one relational language that
::# Has a [[linear syntax]]
::# Can be used both interactively and within application programs,
::# 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).
 
Linha 39:
 
'''Regra 10:''' ''Integrity independence'':
:[[Integrity constraints]] must be specified separately from application programs and stored in the [[Database catalog|catalog]]. It must be possible to change such constraints as and when appropriate without unnecessarily affecting existing applications.
 
'''Regra 11:''' ''Distribution independence'':
:The distribution of portions of the database to various locations should be invisible to users of the database. Existing applications should continue to operate successfully :
::# when a distributed version of the DBMS is first introduced; and
::# when existing distributed data are redistributed around the system.
Linha 49:
:If the system provides a low-level (record-at-a-time) interface, then that interface cannot be used to subvert the system, for example, bypassing a relational security or integrity constraint.
 
==Veja {{Ver também}} ==
* [[Sistema R]].
 
== {{Referências ==}}
<references/>
 
{{DEFAULTSORT:12 Regras Codd}}
[[Categoria:SGBDs|* ]]
[[Categoria:Bancos de dados| ]]