Bancos de Dados - Aula 05 – Modelo Relacional (R) –  características, formalização e restrições

Bancos de Dados - Aula 05 – Modelo Relacional (R) – características, formalização e restrições

Introdução ao Modelo Relacional

O que é o Modelo Relacional?

  • O modelo relacional representa um banco de dados como uma coleção de relações, onde cada relação é uma tabela. Cada linha da tabela representa um conjunto de valores relacionados, enquanto as colunas representam os atributos dessa relação.
  • As aulas anteriores abordaram entidades e relacionamentos no modelo entidade-relacionamento, conceitos que também são aplicáveis ao estudo do modelo relacional, mas com uma nova perspectiva.

Implementação do Modelo Relacional

  • O modelo relacional é o mais próximo da implementação em sistemas gerenciadores de banco de dados (SGBD), sendo utilizado em SGBDs relacionais ou objeto-relacionais que suportam características do modelo.
  • É essencial entender a nomenclatura formal do modelo relacional e seu mapeamento para a terminologia comum utilizada nas empresas que desenvolvem projetos de banco de dados.

Conceitos Fundamentais do Modelo Relacional

  • Quatro conceitos principais no modelo relacional: relação (ou tabela), atributo (coluna), domínio (tipo de dado) e tupla (linha). A relação pode ser vista como uma tabela, os atributos como colunas e os domínios como tipos dos dados.
  • Um exemplo prático é a relação "funcionário", que possui vários atributos organizados em colunas. Cada linha representa um fato real sobre um funcionário específico.

Estrutura das Relações

Esquema da Relação

  • O esquema da relação R é composto por uma lista de atributos. Cada atributo pode assumir diferentes valores conforme definido pelo domínio associado a ele.
  • No exemplo do esquema "funcionário", temos atributos como identificador, nome, endereço, salário e data de nascimento. Cada atributo tem um tipo específico que define o conjunto possível de valores.

Composição das Tuplas

  • Uma tupla é composta por uma lista ordenada de valores correspondentes aos atributos definidos na relação. Isso implica que a ordem dos elementos dentro da tupla é importante para sua interpretação correta.
  • A notação para referenciar valores específicos dentro das tuplas utiliza índices baseados na posição dos elementos na lista ordenada. Por exemplo, t3 refere-se à terceira tupla no atributo nome.

Ordenação e Comparação nas Relações

Importância da Ordenação

  • A ordenação das duplas em uma relação não importa; duas relações podem ter as mesmas duplas em ordens diferentes e ainda assim serem consideradas iguais. Contudo, a ordem dos valores dentro das duplas deve ser respeitada para garantir precisão nos dados representados.

Relações e Atributos no Modelo Relacional

Diferenças nas Relações

  • A ordem dos atributos em diferentes relações pode afetar a interpretação dos dados, mesmo que os valores sejam os mesmos. Por exemplo, na relação "dente" e "nome", a ordem é diferente da relação "ser".

Valores nos Atributos

  • Os valores inseridos nos atributos devem ser atômicos. Atributos compostos ou multivalorados do modelo entidade-relacionamento não são permitidos no modelo relacional.

Representação de Valores Desconhecidos

  • O valor "nulo" é utilizado para representar informações desconhecidas ou que não se aplicam a um determinado atributo. É importante distinguir entre "nulo" e "não aplicável".

Restrições do Modelo Relacional

  • O modelo relacional possui várias restrições que garantem a integridade dos dados, sendo uma delas a restrição de domínio, que especifica que cada valor deve ser atômico e pertencer a um domínio definido.

Chaves e Superchaves

  • Cada relação deve ter elementos únicos; isso implica que as duplas (tuplas) em uma relação não podem ter combinações idênticas de valores para todos os seus atributos.

Conceito de Superchave

  • Uma superchave é qualquer conjunto de atributos cuja combinação garante unicidade entre as tuplas. Toda relação tem pelo menos uma superchave composta por todos os seus atributos.

Definição de Chave Primária

  • A chave primária é um subconjunto mínimo de uma superchave capaz de identificar unicamente as tuplas dentro da relação. Um identificador único é suficiente para diferenciar funcionários, por exemplo.

Chaves Candidatas

  • Uma relação pode ter múltiplas chaves candidatas, das quais uma será escolhida como chave primária. As demais serão consideradas chaves alternativas.

Implicações das Restrições

Integridade de Entidades e Referencial em Modelos Relacionais

Integridade de Entidades

  • A integridade de entidades assegura que nenhum valor nulo seja permitido em atributos definidos como chave primária, pois estes são essenciais para identificar dados dentro de uma relação.
  • Para garantir a consistência dos dados, a integridade de entidade proíbe o cadastro de valores nulos nas chaves primárias, sendo essa responsabilidade do sistema gerenciador de banco de dados (SGBD).

Integridade Referencial

  • A integridade referencial é crucial para manter a consistência entre duas relações. Por exemplo, um funcionário deve referenciar um departamento existente no sistema.
  • Não é permitido cadastrar um funcionário que trabalhe para um departamento inexistente, pois isso causaria inconsistências nos dados.

Implementação da Integridade Referencial

  • A implementação da integridade referencial envolve o uso de chaves estrangeiras que fazem referência a chaves primárias em outras relações.
  • As restrições incluem que os atributos da chave estrangeira devem ter o mesmo domínio dos atributos da chave primária na relação referenciada.

Exemplos Práticos

  • No modelo relacional apresentado, a relação "Funcionário" possui um atributo identificador chamado "dente", enquanto "Departamento" tem "número" como chave primária.
  • O atributo "b num tributo" na relação Funcionário é uma referência ao número da chave primária do Departamento, indicando que cada funcionário está associado a um departamento específico.

Importância das Restrições

  • É fundamental garantir que as referências entre as relações sejam consistentes; ou seja, cada funcionário deve se relacionar com um departamento já existente.
Video description

Engenharia de Computação – Bancos de Dados Disciplina EID - 002 - Bancos de Dados Professora responsável: Sarajane Peres Playlist da disciplina: https://www.youtube.com/playlist?list=PLxI8Can9yAHeHQr2McJ01e-ANyh3K0Lfq