Skip to content

ZyonCruz/views_triggers_permissions_SQL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

views_triggers_permissions_SQL

Projeto de Engenharia de Banco de Dados: Views, Acessos e Triggers Este repositório contém o projeto de banco de dados do desafio da DIO, focado em três pilares essenciais: a criação de Views, o controle de Permissões e a implementação de Triggers. O projeto demonstra como otimizar o acesso aos dados e automatizar ações no banco de dados.

🎯 Objetivos do Projeto Views: Criar visões personalizadas para simplificar consultas complexas e fornecer diferentes perspectivas dos dados para usuários específicos. Permissões: Gerenciar o acesso dos usuários ao banco de dados, garantindo que cada tipo de conta (ex: gerente, empregado) tenha acesso apenas às informações relevantes. Triggers: Automatizar ações no banco de dados, como registrar exclusões de dados e validar informações antes de uma atualização.

📈 Parte 1: Personalizando Acessos com Views e Permissões As views foram criadas para fornecer uma camada de abstração sobre as tabelas, tornando as consultas mais simples e seguras. O gerenciamento de usuários foi implementado para garantir que a visibilidade dos dados seja restrita a grupos específicos. Views Criadas: view_empregados_por_departamento: Mostra o número de empregados por departamento e cidade. view_departamentos_gerentes: Lista os departamentos e seus respectivos gerentes. view_projetos_mais_populares: Identifica projetos com o maior número de empregados. view_projetos_departamentos_gerentes: Fornece uma visão completa de projetos, seus departamentos e gerentes. view_dependentes_gerentes: Indica quais empregados têm dependentes e se eles são gerentes.

Controle de Acessos: Usuário gerente: Tem permissão de leitura (SELECT) para as views mais estratégicas, como as que relacionam departamentos, projetos e gerentes. Usuário empregado: Tem acesso limitado às views com informações de projetos e dependentes, que são relevantes para suas atividades, mas sem acesso a dados sensíveis.

🛠️ Parte 2: Automação com Triggers Os triggers foram criados para garantir a integridade e o histórico dos dados, automatizando ações em resposta a eventos específicos. Triggers Implementadas: tg_log_cliente_excluido (BEFORE DELETE): Antes de um cliente ser removido, seus dados são salvos em uma tabela de log (Log_Exclusoes_Clientes). Isso evita a perda de informações e cria um histórico de exclusões. tg_valida_salario_update (BEFORE UPDATE): Antes de um salário ser atualizado, o trigger verifica se o novo valor é válido (maior que zero). Se o valor for negativo, a atualização é impedida para manter a integridade dos dados.

📄 Script SQL O arquivo views_triggers_permissions.sql contém o script completo que inclui a criação dos esquemas, as tabelas, as views, os usuários e os triggers. Ele é a prova de conceito de todas as funcionalidades abordadas.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published