Ao implementar um Sistema de Gerenciamento de Banco de Dado...
- Gabarito Comentado (0)
- Aulas (3)
- Comentários (2)
- Estatísticas
- Cadernos
- Criar anotações
- Notificar Erro
Comentários
Veja os comentários dos nossos alunos
## A resposta correta é:
**B) Controle de Concorrência baseado em Locks.**
### Por que o controle de concorrência baseado em locks é essencial?
O **controle de concorrência** é fundamental em um SGBD relacional para garantir que múltiplas transações possam acessar e modificar dados de forma concorrente sem comprometer a integridade e a consistência do banco de dados. O **bloqueio (lock)** é um dos mecanismos mais comuns para implementar esse controle.
**Como funciona o controle de concorrência baseado em locks:**
* **Bloqueios:** Quando uma transação precisa acessar um dado, ela adquire um bloqueio sobre ele. Existem dois tipos principais de bloqueios:
* **Bloqueio exclusivo (X):** Permite que apenas uma transação tenha acesso exclusivo ao dado para escrita.
* **Bloqueio compartilhado (S):** Permite que múltiplas transações leiam o dado simultaneamente.
* **Serialização:** O sistema de gerenciamento de banco de dados garante que as transações sejam executadas de forma serializável, ou seja, como se fossem executadas uma após a outra em alguma ordem serial.
* **Prevenção de conflitos:** Os bloqueios evitam que duas transações modifiquem o mesmo dado simultaneamente, o que poderia levar a resultados inconsistentes.
**Por que as outras alternativas não são a principal resposta?**
* **A) Indexação Full-Text:** A indexação full-text otimiza a busca por texto completo, mas não garante a integridade e a consistência transacional.
* **C) Uso de Stored Procedures:** Stored procedures são rotinas armazenadas no banco de dados que podem executar várias operações, mas não são o mecanismo principal para controlar a concorrência.
* **D) Normalização de Dados:** A normalização é um processo de organização dos dados em tabelas para reduzir a redundância e dependência, melhorando a integridade dos dados, mas não garante a consistência transacional em si.
### Em resumo
O controle de concorrência baseado em locks é essencial para garantir a integridade e a consistência transacional em um SGBD relacional, pois ele permite que múltiplas transações acessem o banco de dados de forma segura e confiável, evitando conflitos e garantindo que os dados sejam atualizados de forma correta.
**Outras técnicas de controle de concorrência:**
Além do bloqueio, existem outras técnicas de controle de concorrência, como:
* **Timestamping:** Atribui um carimbo de tempo a cada transação e utiliza esses carimbos para determinar a ordem de execução.
* **Otimização de transações:** Utiliza algoritmos para otimizar a ordem de execução das transações e minimizar o número de bloqueios.
A escolha do mecanismo de controle de concorrência mais adequado depende de fatores como o tipo de carga de trabalho, o nível de isolamento desejado e as características do sistema de banco de dados.
Fonte: Gemini
O controle de concorrência baseada em bloqueios garante a integridade, muito porque essa operação faz com que somente um processo por vez possa realizar uma atualização de um registro. Sem a técnica de bloqueio, dois ou mais processos poderiam atualizar, ao mesmo tempo, determinado registro transacional, o que acabaria comprometendo o valor de um atributo e consequentemente afetando a integridade do dado.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo