Bancos de Dados - Aula 19 - Formas Normais – Parte I

Bancos de Dados - Aula 19 - Formas Normais – Parte I

Formas Normais em Banco de Dados

Introdução às Formas Normais

  • A professora Sara introduz o tema da aula, que é sobre formas normais no contexto de banco de dados, destacando sua importância na qualidade do projeto.
  • Serão abordadas quatro formas normais: 1NF, 2NF, 3NF e BCNF. Outras formas normais são mencionadas como disponíveis no livro texto.

Importância da Terceira Forma Normal

  • A terceira forma normal (3NF) é enfatizada como a meta desejada ao avaliar a qualidade do projeto de banco de dados.
  • A normalização é um processo que visa melhorar a qualidade do banco de dados, fundamentado em dependências funcionais e chaves das relações.

Análise das Relações

  • O objetivo da análise das relações é minimizar redundâncias para evitar anomalias durante inserções, exclusões ou alterações nos dados.
  • Relações que não atendem certas condições devem ser decompostas em esquemas menores que satisfaçam as condições desejáveis.

Medindo a Qualidade do Projeto

  • A forma normal mais alta alcançada por uma relação determina a classificação do projeto; se uma relação está em 3NF, todo o projeto será considerado nessa forma.
  • Um exemplo prático ilustra que mesmo com várias relações em BCNF, se uma estiver apenas em 3NF, o projeto completo será classificado como 3NF.

Propriedades Adicionais na Avaliação

  • Além das formas normais, propriedades adicionais devem ser analisadas para garantir a qualidade do projeto.
  • A propriedade de junção sem perdas é crucial para evitar tuplas espúrias e garantir integridade nas junções entre relações.

Preservação das Dependências Funcionais

  • É importante preservar as dependências funcionais durante o processo de normalização; no entanto, pode haver situações onde isso não seja possível.

Primeira Forma Normal (1NF)

  • A primeira forma normal exige atributos atômicos nas relações; qualquer atributo multivalorado compromete essa condição.
  • Um exemplo prático mostra uma relação com um atributo multivalorado (localizações), evidenciando que ela não atende à 1NF.

Normalização de Atributos Multivalorados

Conceito de Atributo Multivalorado

  • Um atributo é considerado multivalorado quando pode receber vários valores, o que caracteriza a necessidade de normalização para atender à primeira forma normal.
  • Para normalizar, o esquema original é dividido em dois esquemas menores, separando atributos multivalorados em novas relações.

Processo de Normalização

  • O modelo entidade-relacionamento permite atributos multivalorados, mas no modelo relacional isso não é permitido. Portanto, esses atributos são transformados em novas relações.
  • A transformação dos atributos multivalorados em novas relações deve manter a chave primária da relação original.

Exemplificação da Normalização

  • Um exemplo prático envolve uma relação chamada "funk proj", onde um funcionário está associado a múltiplos projetos com diferentes horas dedicadas.
  • A chave primária é composta pelo identificador do funcionário e o número do projeto, sendo que o número do projeto pode ser visto como uma chave parcial.

Divisão das Relações

  • Ao dividir as relações originais em duas menores, mantemos os dados do funcionário e criamos uma nova relação para associar projetos e horas trabalhadas.
  • Essa divisão reflete o mapeamento entre entidades no modelo entidade-relacionamento e suas correspondências no modelo relacional.

Introdução à Segunda Forma Normal

Conceitos Fundamentais

  • A segunda forma normal depende dos conceitos de atributo primo e dependência funcional total.
  • Um atributo é considerado primo se faz parte de alguma chave candidata; caso contrário, é um atributo não primo.

Dependência Funcional Total

  • Dependência funcional total ocorre quando a remoção de qualquer atributo do lado esquerdo da dependência resulta na perda da validade dessa dependência.

Exemplificação das Dependências Funcionais

Teoria de Dependências Funcionais e Normalização

Dependência Funcional e Horas Trabalhadas

  • A relação entre funcionário e número de projeto determina a quantidade de horas trabalhadas, estabelecendo que para um determinado funcionário em um projeto específico, sempre haverá uma quantidade fixa de 10 horas.

Análise da Dependência Funcional

  • Ao remover o atributo "número do projeto" da dependência funcional, a relação entre "funcionário identificador" e "horas" não se mantém, pois o identificador do funcionário pode estar associado a diferentes projetos com diferentes quantidades de horas.

Totalidade da Dependência Funcional

  • A dependência funcional que liga "funcionário identificador" a "horas" é considerada total, pois depende de ambos os atributos. Se apenas um dos atributos for considerado, a relação não se sustenta.

Definição da Segunda Forma Normal

  • Um esquema está na segunda forma normal (2FN) se todos os atributos não primos têm dependências funcionais totais em relação à chave primária ou qualquer chave da relação. Isso garante que não haja dependências parciais.

Exemplificação da Normalização

  • O exemplo apresentado mostra que embora o esquema inicial esteja na primeira forma normal (1FN), ele não atende à 2FN devido à presença de atributos não primos que dependem parcialmente da chave.

Criação de Novos Esquemas

  • Para atender às regras da 2FN, novos esquemas são criados para cada dependência funcional identificada. Cada novo esquema elimina as violações à segunda forma normal.

Conclusão sobre Formas Normais

Video description

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