Bancos de Dados - Aula 16 - Linguagem de consulta – SQL Parte IV

Bancos de Dados - Aula 16 - Linguagem de consulta – SQL Parte IV

Aula 4: SQL e Restrições em Banco de Dados

Introdução ao Conteúdo da Aula

  • A professora Sara introduz a quarta aula sobre SQL, enfatizando a importância do conteúdo didático acessível para os alunos acompanharem as consultas.

Restrições no Mundo Real

  • Existem regras e restrições que não podem ser especificadas diretamente no projeto de banco de dados, como restrições de domínio e unicidade.
  • Algumas regras precisam ser implementadas através da lógica da aplicação ou utilizando linguagens de programação disponíveis nos SGBDs (Sistemas de Gerenciamento de Banco de Dados).

Implementação das Regras

  • É possível usar recursos avançados do SQL para implementar essas regras, combinando diferentes abordagens para atender à modelagem necessária.
  • A aula se concentrará em exceções, asserções e visões, com exemplos práticos sobre como modelar essas regras.

Exceções e Asserções

  • As exceções são especificações em SQL que permitem implementar regras complexas envolvendo múltiplas relações.
  • O uso do comando CHECK é limitado ao escopo da tabela; para checagens entre tabelas diferentes, são necessárias asserções mais avançadas.

Estrutura Geral das Asserções

  • A estrutura geral de uma asserção envolve criar um objeto no banco de dados que verifica se uma condição é verdadeira ou falsa. Se violada, o sistema deve tomar ações apropriadas.

Implementação de Gatilhos em SQL

Conceitos Básicos sobre Gatilhos

  • A discussão inicial aborda a necessidade de especificações para ações em casos de violação, destacando a importância dos gatilhos no contexto do SQL.
  • Os gatilhos são definidos como implementações que permitem executar ações automaticamente quando eventos específicos ocorrem ou condições são atendidas.

Estrutura e Modelagem de Gatilhos

  • A modelagem de um gatilho envolve três componentes principais: evento, condição e ação. O evento é o que dispara o gatilho.
  • Eventos comuns incluem inserções, alterações ou exclusões em tabelas do banco de dados, onde as ações podem ser necessárias para evitar violações ou remediar situações.

Tipos de Execução dos Gatilhos

  • Existem dois tipos principais de execução: antes (BEFORE) e depois (AFTER). O tipo BEFORE executa ações antes da alteração no banco, enquanto AFTER executa após a alteração.
  • A escolha entre BEFORE e AFTER depende da lógica necessária para garantir a integridade dos dados durante operações críticas.

Condições nos Gatilhos

  • As condições dentro dos gatilhos determinam se uma ação deve ser realizada com base na verificação da validade das regras estabelecidas.
  • É possível implementar gatilhos sem condições; nesse caso, a ação é disparada diretamente pela ocorrência do evento.

Exemplo Prático: Aviso sobre Salários

  • Um exemplo prático ilustra um cenário onde um aviso deve ser emitido sempre que o salário de um funcionário excede o salário do supervisor.
  • O gatilho é configurado para acionar notificações em eventos como inserção ou alteração do salário do funcionário ou supervisor.

Criação e Sintaxe do Gatilho

  • A implementação do gatilho requer uma sintaxe específica que varia conforme o sistema gerenciador de banco de dados (SGBD).
  • Um exemplo específico é apresentado com um gatilho chamado "violação salário", que verifica se o salário do funcionário ultrapassa o limite definido pelo salário do supervisor.

Verificação da Condição no Gatilho

  • Após definir os eventos, é necessário especificar as condições. Uma subconsulta pode ser utilizada para comparar salários entre funcionários e supervisores.
  • Se a condição for verdadeira, uma ação será executada; neste caso, emitir um aviso ao supervisor sobre a discrepância salarial.

Conclusão sobre Transações e Gatihos

Inserção e Manipulação de Variáveis em Banco de Dados

Diferença entre Variáveis

  • A inserção de dados requer que os valores da tutela sejam armazenados em variáveis distintas das que já existem na tabela do banco de dados.
  • A palavra "mil" é utilizada para diferenciar as variáveis associadas a eventos ou alterações, como o novo salário que está sendo inserido.

Verificação de Salários

  • O novo salário deve ser maior que o salário existente no banco, especialmente para funcionários gerentes que estão passando por alterações.

Gatilhos e Visões

  • Discussão sobre gatilhos (triggers) e sua importância na manipulação de dados. Exemplos práticos são fornecidos para melhor compreensão.
  • As visões (views) são tabelas virtuais derivadas de outras tabelas, permitindo a extração e combinação de informações sem alterar os dados originais.

Utilidade das Visões

  • As visões podem ser consultadas livremente, mas têm limitações quanto à inserção de novos dados. Elas otimizam consultas e garantem segurança ao restringir o acesso a informações sensíveis.

Exemplo Prático: Criação de uma Visão

  • Um exemplo prático é apresentado com a criação da visão "trabalha_em", que possui atributos derivados das tabelas funcionário, projeto e horas trabalhadas.
  • A junção dessas três tabelas é necessária para criar a visão, facilitando o acesso às informações sem repetidas operações complexas.

Atualização das Visões

  • É crucial manter as visões atualizadas em relação às tabelas base; novas inserções devem refletir nas visões automaticamente.

Resumo Estatístico com Visões

  • Uma visão pode resumir informações estatísticas, como o número total de funcionários por departamento e a soma dos salários. Isso é útil para análises sem expor dados individuais.
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

Bancos de Dados - Aula 16 - Linguagem de consulta – SQL Parte IV | YouTube Video Summary | Video Highlight