Modelo Relacional - Introdução
- Prof. Angelo F. Gomes
- 29 de ago. de 2017
- 5 min de leitura

O modelo relacional foi criado por Edgar F. Codd, nos anos 70 e começou a ser usado com o advento dos bancos de dados relacionais, nos anos 80. A ideia de modelo relacional se baseia no princípio de que as informações em uma base de dados podem ser consideradas como relações matemáticas e que podem ser representadas, de maneira uniforme, através do uso de tabelas onde as linhas representam as ocorrências de uma entidade e as colunas representam os atributos de uma entidade do modelo conceitual.
As relações no modelo relacional são conjuntos de dados vistos como tabelas cujas operações são baseadas na álgebra relacional e que manipulam conjuntos de dados ao invés de um único registro, isto é, cada operação realizada afeta um conjunto de linhas e não apenas uma única linha, ainda que algumas operações possam afetar uma única linha. Da mesma forma, a resposta das operações de consulta são sempre na forma de uma tabela. As operações da álgebra relacional são implementadas por linguagens não procedurais de alto nível, sendo a SQL a linguagem padrão para os bancos de dados relacionais e universalmente usada, tendo sido padronizada pelo ANSI ( American National Standard Institute ).
Principais Vantagens do Modelo Relacional
Entre as principais vantagens do modelo relacional podemos citar:
Independência total dos dados;
Visão múltipla dos dados;
Redução acentuada na atividade de desenvolvimento. Particularmente para extração de dados para relatórios e consultas específicas do usuário;
Maior segurança no acesso aos dados;
Maior agilidade para consulta/atualização;
Qualidade dos dados garantida por restrições de integridade ( identidade, referencial e de domínio )
Entidades e Atributos
Toda a Informação de um banco de dados relacional é armazenada em tabelas que, na linguagem do modelo relacional, também são chamadas de Entidades. Por exemplo, posso ter uma Tabela "Clientes", onde seriam armazenadas informações sobre os diversos clientes.
Sobre cada um dos clientes podem ser armazenadas diversas informações tais como:
Nome
RG
CPF
Rua
Bairro
Telefone
CEP
Data de Nascimento
Essas diversas características de cada Cliente são os "Atributos" da entidade Cliente, também chamados de campos da tabela Cliente.
"O Conjunto de todos os Atributos de um cliente e os valores dos atributos é o que forma o Registro do Cliente".
O Conceito de Chave no Modelo Relacional
Chaves e Índices
Chave - O conceito de chave designa um item de busca, ou seja, um dado que será usado para efetuar uma consulta no banco de dados. É um conceito lógico que só faz sentido para a aplicação e não existe fisicamente no banco de dados.
Índice - O conceito de índice está associado a um recurso físico usado para otimizar uma consulta no banco de dados. É um recurso físico, ou seja, um índice é uma estrutura de dados, ( endereços ), que existe fisicamente no banco de dados.
Existem diferentes tipos de chave em um modelo relacional. Vamos ver cada um dos tipos de chave abaixo:
Chave Primária: A chave primária é usada para identificar univocamente uma linha em uma tabela. A chave primária pode ser composta, ter vários atributos, ou simples, um único atributo. Por exemplo, o atributo CPF pode ser usado como chave primária para a tabela CLIENTES pois identifica um único cliente considerando que não existe mais de um cliente com o mesmo CPF.
Chave Secundária: A chave secundária é usada para acessar um conjunto de informações. Pode ser formada por um único atributo ou mais de um atributo que identifica(m) um subconjunto de dados em uma tabela. Normalmente, se cria um índice para uma chave secundária como forma de otimizar a consulta feita por aquela chave ao banco de dados. Por exemplo, podemos ter uma chave secundária formada pelo CEP para a tabela de CLIENTES pois esta chave identifica um subconjunto de clientes que residem em uma rua.
Chave Candidata: A chave candidata é formada por um atributo que identifica uma única linha na tabela. Como uma tabela pode possuir mais de um atributo identificador único podemos ter várias chaves candidatas em uma única tabela, sendo que apenas uma das chaves candidatas pode ser escolhida para ser a chave primária da tabela. As demais chaves permanecem como chaves candidatas na tabela. Por exemplo, podemos ter uma chave candidata formada pela coluna NIT (PISPASEP) na tabela FUNCIONARIOS que possui como chave primária a coluna MATRICULA. Ambas identificam univocamente um linha na tabela FUNCIONARIOS, porem a chave NIT é candidata e a chave MATRICULA é a chave primária.
Chave Estrangeira: A chave estrangeira é formada por atributos que são chave primária em outra tabela, servindo assim para estabelecer relacionamentos entre as tabelas de um banco de dados. Assim, quando dizemos que duas tabelas estão relacionadas através de uma coluna devemos observar que em uma tabela esta coluna será chave primária e na outra tabela ela será uma chave estrangeira que fará a ligação entre as duas tabelas, estabelecendo o relacionamento. Por exemplo, podemos ter na tabela FUNCIONARIOS uma chave estrangeira COD_DEPTO que estabelece um relacionamento entre a tabela FUNCIONARIOS e a tabela DEPTOS, sendo que na tabela DEPTOS a coluna COD_DEPTO é a chave primária.
Regras de Integridade do Modelo Relacional
O modelo relacional possui duas regras de integridade descritas a seguir.
Integridade de Identidade - A chave primária não pode conter valores nulos. Como toda informação em um banco de dados relacionam precisa ter uma identidade exclusiva, a chave primária deve ser obrigatoriamente preenchida. Alem disso, a chave primária não deve ter valores repetidos em um tabela, de forma a garantir que exista apenas uma linha para cada valor definido para a chave primária.
Integridade Referencial - Se uma determinada tabela A possui uma chave estrangeira que estabelece relacionamento com uma tabela B, então o valor da chave estrangeira da tabela A deve ser igual a um valor de chave primária na tabela B. Esta regra garante que as referencias de uma tabela para outra tabela sejam válidas, de forma que os relacionamentos sejam consistentes e não ocorra inconsistência nos dados, como haver um funcionário alocado em um departamento que não existe. Assim, para todo valor de uma coluna que é chave estrangeira em uma tabela, deve haver um valor correspondente na coluna que é chave primária da tabela com a qual a chave estrangeira faz referencia.
Como nem sempre o relacionamento entre tabelas é obrigatório uma chave estrangeira pode possuir valor nulo.
É importante ressaltar que em um modelo relacional estas regras de integridade são garantidas pelo gerenciador de banco de dados de forma automática, sem a necessidade de se tratar estas regras no código da aplicação. Ou seja, o programador não precisa programar validações no sistema para garantir que estas regras sejam atendidas pois o próprio gerenciador de banco de dados cuida disso. Integridade de Domínio - Restringe o conjunto de valores que podem ser gravados em uma coluna de uma tabela. Desta forma, somente os valores que pertencem ao domínio podem ser gravados na coluna da tabela. Outros valores não são permitidos e a atualização é desfeita pelo gerenciador de banco de dados. O domínio define um conjunto de valores. Quando este domínio é associado a uma coluna de uma tabela, somente os valores definidos para o domínio podem ser gravados na coluna. Este tipo de restrição garante a qualidade de dados na base de dados.
Comments