Você está na página 1de 6

Aula 5

Modelo relacional

O modelo relacional é fundamentado na teoria dos conjuntos e lógica de


predicado, que são conceitos matemáticos. Alguns dos primeiros sistemas
comerciais de banco de dados baseados em modelo relacional dos anos 80
foram o Oracle, MySql, Access entre outros.

Enquanto o modelo entidade-relacionamento é voltado para o projeto


conceitual do banco de dados, o modelo relacional está diretamente ligado ao
projeto lógico, sendo assim, essa fase é dependente da conclusão do projeto
conceitual.

O modelo ou projeto conceitual é um modelo abstrato que descreve a estrutura


de um banco de dados independente de um SGBD. Já o modelo lógico ou
projeto lógico é aquele com dados que representam a estrutura com foco em
um SGBD específico, apesar de ainda não ser necessária à sua utilização
durante essa fase do projeto, mas na fase seguinte no projeto físico.

Conceitos básicos

O modelo relacional foi proposto por Edgar Frank Codd, matemático britânico e
pesquisador da IBM, em um artigo acadêmico em 1970. Entre outros aspectos,
Codd propôs representar os dados como uma coleção de relações, sendo que
cada relação fosse representada em formato de tabelas, com colunas e linhas.
Ele é considerado o pai do modelo relacional, já que vários sistemas
gerenciadores de banco de dados nasceram dessa ideia.

O modelo relacional refere-se a três aspectos principais: aspecto estrutural, de


integridade e de manipulação de dados. No aspecto estrutural, o banco de
dados é representado como um conjunto de relações, similar a uma tabela,
com linhas e colunas associadas. As linhas são denominadas tuplas e em cada
coluna são distribuídos os atributos, como se fossem títulos para as colunas.

Essa associação de linhas e colunas forma então uma relação. Lembrando que
tupla refere-se aos valores de uma linha interira da tabela ou um registro da
tabela.
Tupla: é uma sequência ordenada e finita de elementos, em que cada um
desses elementos possui um nome identificador e um valor.

O conjunto de valores em cada coluna, ou seja, o que cada atributo é capaz de


assumir é chamado de domínio. Assim sendo, pode-se representar o domínio
de um atributo por Dn, onde D é o domínio de um determinado atributo e n a
posição do atributo na relação, ou seja, o número da coluna em que o atributo
está alojado.

EX:

Na tabela 1, pode-se ver o domínio do atributo RA na coluna 1 da relação,


portanto, na teoria dos conjuntos, pode ser denotado com D1, já o domínio D2
representa o atributo Aluno, D3 representa o cod_curso e D4 o atributo
nome_curso.

O quadro 1 destaca apenas o domínio D1 com relação de RAs cadastrados.


Ainda na visão dos referidos autores, a relação em questão pode ser definida
como um subconjunto do produto cartesiano de uma lista de domínios. Sendo
assim, a relação de matriculados pode ser denotada por D1 x D2 x D3 x D4, ou
seja, matriculados é um subconjunto de todas as combinações possíveis de
valores. Matriculados também pode ser denotado por relação r.

Podemos também denotar tn para representar as tuplas, onde n é o número


da tupla em evidencia, ou seja, t1 para os valores da primeira tupla, t2 para a
segunda , t3 para a terceiras e assim por diante. Já que uma relação é um
conjunto de tuplas, podemos usar a notação matemática t E r para denotar que
a tupla t pertence à relação r.

De igual modo, as linhas com dados de alunos que formam as tuplas podem
ser denotadas por Vn, sendo, v1 para o RA do aluno, v2 para o seu nome, v3 o
código do curso e v4 o nome do curso e um determinado momento ou posição
na tabela 1.

Exemplo

Como pode ser visto em destaque no quadro 2, em que o RA 123450042


ocupa a quinta posição da tabela, ou seja, é o quinto registro.
O quadro acima ilustra uma visão de um relacionamento entre tabelas no
modelo lógico. Como um produto desse relacionamento, e dependendo da
cardinalidade aplicada, pode-se obter uma entidade associativa ou resultante
chamada matrícula, que pode ser física, formando efetivamente uma nova
tabela ou apenas para efeito de visualização, como em um relatório.

Restrições de integridade

As restrições de integridade servem para garantir a exatidão dos dados em um


banco de dados relacional. Segundo Heuser (2009), as restrições de
integridade equivalem a dizer que os dados de um banco estão íntegros,
significando que eles refletem corretamente a realidade representada pelo
banco de dados e que são consistentes entre si.

Há uma variação de tipos de restrições de integridade. Como exemplo, a


integridade de domínio de um atributo que verifica se os dados são do tipo
esperado e permitido, como alfanumérico, numérico, data, limites para o
tamanho do campo, se pode ter conteúdo nulo ou não.

Tipos de restrições de integridade


Restrição de chave

O conceito básico para estabelecer relações entre linhas de tabelas de um


banco de dados relacional é o da chave. Em um banco de dados relacional, há
ao menos três tipos de chaves a considerar: a chave primária, a chave alternativa, e a
chave estrangeira.

Impede que uma chave-primária tenha repetições, garantindo assim a unicidade dos
dados no banco de dados.

Restrições de domínio

Definir o conjunto de valores permitidos ou possíveis que um atributo pode ter.


Também pode haver a integridade de vazios, que verifica se um campo pode receber
um valor nulo(null) ou não.

Integridade referencial

Uma chave-estrangeira de uma relação tem que coincidir com uma chave primaria da
entidade principal. Nesse caso, o atributo deve ser do mesmo tipo e existir em ambas
as tabelas, assim como o conteúdo idêntico.

Integridade definida pelo usuário.

A integridade definida pelo usuário permite definir regras próprias e especificas


voltadas ao negócio e que não se encaixam em outras categorias de integridade. Pode-
se exemplificar restrições como:

 Todo aluno deve ser matriculado obrigatoriamente em um curso.


 Todo dependente deve estar atrelado a um funcionário
 Todo produto vendido precisa estar associado a um número de pedido
 Toda nota-fiscal precisa ter no mínimo um item de venda associada a ela.

Por intermédio do relacionamento e da aplicação dos tipos de cardinalidades


envolvidas, conseguimos determinar várias restrições de integridades

Esquema relacional de um banco de dados

O esquema relacional é a especificação de um banco de dados relacional de


maneira textual e deve ser utilizado para descrever as relações. Deve conter,
no mínimo, a definição dos seguintes elementos:
 Tabela necessária que irão compor o banco de dados
 Atributos (colunas ou campos) de cada tabela
 Relacionamentos entre tabelas
 Restrições de integridade

O SGBD assegura que as instancias do banco de dados estejam em


conformidade com as restrições impostas no esquema de banco de dados
definido. Uns esquemas de banco de dados não contem dados, ele é apenas
um esboço das tabelas do banco de dados.

Um esquema relacional pode ser indicado por R(A1, A2, A3, ...An), em que R é
o nome da relação e A são atributos.

Projeto de implementação de banco de dados

Você também pode gostar