Exercícios SGBD - CESPE

Slides:



Advertisements
Apresentações semelhantes
CONTROLE DE CONCORRÊNCIA
Advertisements

Introdução Gdes. bancos de dados: Concorrência: Transação:
Curso: Banco de Dados I Análise de Sistemas PUC Campinas
Evolução dos SGBD’s (2ª Parte).
Introdução a Banco de Dados Prof.: Bruno Rafael de Oliveira Rodrigues.
SISTEMAS DE INFORMAÇÃO
© Marcelo Bezerra de AlcântaraBanco de Dados II – Controle de Concorrência - 1 Disciplina Banco de Dados II Introdução ao Controle de Concorrência Msc,
© Marcelo Bezerra de AlcântaraBanco de Dados II - Transação - 1 Disciplina Banco de Dados II Gerenciamento de transações Msc, Marcelo Bezerra de Alcântara.
Recuperação Como garantir a integridade da informação, em caso de avarias de HW ou SW forma de suportar a reposição de um estado consistente da informação.
Bloqueios partilhados
Gestão de transacções noções básicas modelo simples modelo elaborado
Maurício Edgar Stivanello
Motor de Armazenamento
SGBD.
Transações Atômicas Distribuídas
Transações Atômicas Distribuídas
Sistema Gerenciador de Banco de Dados SGBD
Sumário 1 SQL Embutida 2 Processamento de Consultas
Professora: Aline Vasconcelos
Controle de Concorrência em Sistemas Distribuídos
Fundamentals of Database Processing
Conceitos Básicos Dado: fato do mundo real que está registrado e possui um significado implícito no contexto de um domínio de aplicação Exemplos: endereço,
Prof. Alexander Roberto Valdameri
Prof. Alexander Roberto Valdameri
Fundamentos de Banco de Dados Prof. Alexander Roberto Valdameri
Professor Victor Sotero
RECUPERAÇÃO APÓS FALHA
Administração de Sistemas de Informação Banco de Dados
CONCEITOS Modelo de Dados
Educação Profissional Técnica de Nível Médio em Informática
Gerenciamento de Transações - Introdução
Banco de Dados Aplicado ao Desenvolvimento de Software
Banco de Dados II Prof. Antônio Cordeiro.
Otimizador de consultas
Banco de Dados e Usuários do Banco de Dados (capítulo 1)
SGBD - Regra 1 Regra 1: Auto-Contenção- Um SGBD não contém apenas os dados em si, mas armazena completamente toda a descrição dos dados, seus relacionamentos.
Prof. Kelly E. Medeiros Bacharel em Sistemas de Informação
Prof. Alessandro Gonçalves
Projeto de Banco de Dados
Controle Distribuído da Concorrência
Introdução a Banco de dados
Transações Atômicas Distribuídas Prof. Alcides Calsavara
Controle de concorrência
BD Distribuído Conceitos Iniciais.
A abordagem de banco de dados para gerenciamento de dados
Banco de Dados Aplicado ao Desenvolvimento de Software
Campus de Caraguatatuba Aula 16e: Exercícios de View
Assunto: Transações concorrentes, Disciplina: Banco de dados II, profa. Cristina Paludo Max W. Ourique Ranieri R. Tremea
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
SISTEMAS DISTRIBUÍDOS Transações Atômicas
Introdução a Banco de Dados Aula 04
Bancos de Dados Estrutura e Funcionamento de um SGBD
Teste.
Protocolo de Bloqueios
Modos de Desconexão para BD’s Móveis Sandberg Marcel Santos Baseado no artigo “Disconnection Modes for Mobile Databases”, de Holliday, Agrawal e El Abbadi.
1 24/4/ :29 FMU – 1. Semestre – Tecnologia – Analise e Desenvolvimento de Sistemas Professor: Eduardo Silvestri Aluno:Clóvis de Oliveira- RA
Sumário 1 Processamento de Consultas 2 Introdução a Transações
Sumário 1 Processamento de Consultas 2 Introdução a Transações
Transações Banco de Dados II Aline S Costa 1. TRANSAÇÕES Conjunto de operações que formam uma única unidade lógica de trabalho; Conjunto de instruções.
Bancos de Dados Fundamentos Prof. Marcos R. Cardoso.
Daniel Paulo SQL Server 2014 Módulo II Daniel Paulo
UCSal – Bacharelado em Informática
UCSal – Bacharelado em Informática
Plano de Ensino Conceitos e Características Tipos de Banco de Dados
Banco de Dados Distribuídos Sílvia Cristina de Matos Soares
Copyright © 2011 Ramez Elmasri and Shamkant Navathe slide 1 Tópicos  Introdução  Um exemplo  Características da abordagem de banco de dados  Vantagens.
Banco de Dados Parte 1 Profa. Ana Karina Barbosa Fevereiro/2008.
Fundamentos de Banco de Dados Prof. André Cypriano M. Costa
Modelagem de Banco de Dados: Conceitos
Universidade de Passo Fundo Tecnologia em Sistemas de Informação TSI109- Fundamentos de Banco de Dados (Restrições de Integridade) Prof. Alexandre Tagliari.
Transcrição da apresentação:

Exercícios SGBD - CESPE Banco de Dados - Senado Exercícios SGBD - CESPE

Quando uma regra de integridade referencial é violada, o procedimento normal a ser adotado é rejeitar a ação que ocasionou essa violação. Regras de datalog podem ser classificadas como sendo um tipo de gatilho (trigger) utilizado, geralmente, para o tratamento na definição de visões no banco de dados. Duas exigências devem ser satisfeitas para a definição de um mecanismo de gatilho: especificar as condições nas quais o gatilho deve ser executado; e especificar as ações que devem ser tomadas quando um gatilho for disparado. A execução de transações de maneira concorrente possibilita o surgimento de inconsistências dos dados armazenados em um banco de dados. A responsabilidade pela consistência dos dados é única e exclusiva do banco de dados, mais especificamente, do componente de controle de concorrência. 2

O protocolo de falha do coordenador é executado em um sistema de banco de dados distribuídos quando um nó participante do sistema, por alguma razão, não recebe uma resposta do coordenador do sistema por determinado período de tempo. Um dos problemas inerentes a uma arquitetura distribuída de banco de dados é o problema de tolerância a falhas, causado pelo fato de os dados estarem distribuídos entre os nós pertencentes ao banco distribuído. Entretanto, esse problema é resolvido mantendo-se uma cópia de cada dado pertencente ao banco em um único nó, conhecido como coordenador. Em um sistema de banco de dados distribuídos, a comunicação entre nós pertencentes ao sistema é feita de maneira não-transparente para o usuário do banco. 3

Na utilização de um banco de dados relacional, cabe exclusivamente ao sistema gerenciador de banco de dados (SGBD) o controle das restrições de integridade dos dados. A função do catálogo de um SGBD é a de armazenar os esquemas, ou descrições, das bases de dados que o SGBD mantém. Uma linguagem de definição de visões (view definition language) serve para especificar o modo como o usuário vê os dados e como essa visão é mapeada para o esquema conceitual da base de dados.

O administrador de dados tem capacidade para criar o esquema conceitual, depois que o DBA definir o projeto lógico contendo as definições conceituais do banco de dados como um todo. O catálogo do SGBD contém especificação de esquema, restrições de integridade, autorizações de acesso, visões, localização de arquivos do BD, configurações e estimativas. No controle de transações, é desnecessário que a atomicidade de cada transação tome conhecimento de outras transações concorrentes no sistema. Na criação de uma trigger, é necessária a ligação da constraints de integridade, para que o resultado obtido seja otimizado.

Um índice é um artifício usado para se encontrar, rapidamente, linhas (registros) com valores específicos. Sem um índice, o gerenciador precisará sempre procurar determinados valores da primeira até a última linha do banco de dados. Esse processo de busca, em tabelas muito grandes (com muitos registros), pode demandar elevado tempo e causar até mesmo perdas significativas de informação. Considerando uma variável de relação R, diz-se que K é uma chave candidata de R se ela apresentar as propriedades de unicidade e irredutibilidade. A primeira propriedade garante que não há duas tuplas de R com o mesmo valor de K. Já a segunda, que nenhum subconjunto de K apresenta a propriedade de unicidade. Consistência é considerada uma propriedade das transações para os sistemas de bancos de dados.

Um escalonamento é considerado correto quando se pode encontrar um escalonamento serial que seja equivalente a ele. Dado um conjunto de transações T1, ... ,Tn, dois escalonamentos S1 e S2 são equivalentes se existe sincronização read-write e sincronização write-write. No two-phase locking, os locks de dados supõem que a transação está dividida em uma fase de crescimento, na qual os locks são feitos, e em uma fase de encolhimento, na qual os locks são confirmados. As transações aninhadas devem ter a propriedade de ser serializáveis em relação aos seus pares, ou seja, o acesso a recursos compartilhados entre essas transações deve obedecer as regras de sincronização de read-write e write-write.

Na situação em questão, a transação T2 pode ver os writes incrementais de T1. Esse enfoque diminui a concorrência do sistema. Se, por alguma razão, a transação T1 for abortada, o requerimento de atomicidade implicará que também sejam abortadas as transações como T2, aquelas que igualmente tenham visto os resultados de T1, transações que tenham visto os writes dessas transações e assim por diante. Esse problema é conhecido como rollback em cascata.

No processamento de uma consulta expressa em uma linguagem de alto nível, como a SQL, o SGBD deve planejar uma estratégia de execução para recuperar o resultado da consulta, a partir dos arquivos do banco de dados. Para o SGBD viabilizar a execução de transações concomitantemente existem diversas técnicas de controle de concorrência que são utilizadas para garantir propriedade de não-interferência ou isolamento de transações. Uma dessas técnicas é o controle de concorrência baseado em ordenamento de registro de timestamp que utiliza o bloqueio combinado com o Protocol Two-Phase locking (L).

Gabarito

Quando uma regra de integridade referencial é violada, o procedimento normal a ser adotado é rejeitar a ação que ocasionou essa violação. Regras de datalog podem ser classificadas como sendo um tipo de gatilho (trigger) utilizado, geralmente, para o tratamento na definição de visões no banco de dados. Duas exigências devem ser satisfeitas para a definição de um mecanismo de gatilho: especificar as condições nas quais o gatilho deve ser executado; e especificar as ações que devem ser tomadas quando um gatilho for disparado. A execução de transações de maneira concorrente possibilita o surgimento de inconsistências dos dados armazenados em um banco de dados. A responsabilidade pela consistência dos dados é única e exclusiva do banco de dados, mais especificamente, do componente de controle de concorrência. C E C C 11 11

C O protocolo de falha do coordenador é executado em um sistema de banco de dados distribuídos quando um nó participante do sistema, por alguma razão, não recebe uma resposta do coordenador do sistema por determinado período de tempo. Um dos problemas inerentes a uma arquitetura distribuída de banco de dados é o problema de tolerância a falhas, causado pelo fato de os dados estarem distribuídos entre os nós pertencentes ao banco distribuído. Entretanto, esse problema é resolvido mantendo-se uma cópia de cada dado pertencente ao banco em um único nó, conhecido como coordenador. Em um sistema de banco de dados distribuídos, a comunicação entre nós pertencentes ao sistema é feita de maneira não-transparente para o usuário do banco. E E 12 12

Na utilização de um banco de dados relacional, cabe exclusivamente ao sistema gerenciador de banco de dados (SGBD) o controle das restrições de integridade dos dados. A função do catálogo de um SGBD é a de armazenar os esquemas, ou descrições, das bases de dados que o SGBD mantém. Uma linguagem de definição de visões (view definition language) serve para especificar o modo como o usuário vê os dados e como essa visão é mapeada para o esquema conceitual da base de dados. E C C 13

O administrador de dados tem capacidade para criar o esquema conceitual, depois que o DBA definir o projeto lógico contendo as definições conceituais do banco de dados como um todo. O catálogo do SGBD contém especificação de esquema, restrições de integridade, autorizações de acesso, visões, localização de arquivos do BD, configurações e estimativas. No controle de transações, é desnecessário que a atomicidade de cada transação tome conhecimento de outras transações concorrentes no sistema. Na criação de uma trigger, é necessária a ligação da constraints de integridade, para que o resultado obtido seja otimizado. E C E E 14

Um índice é um artifício usado para se encontrar, rapidamente, linhas (registros) com valores específicos. Sem um índice, o gerenciador precisará sempre procurar determinados valores da primeira até a última linha do banco de dados. Esse processo de busca, em tabelas muito grandes (com muitos registros), pode demandar elevado tempo e causar até mesmo perdas significativas de informação. Considerando uma variável de relação R, diz-se que K é uma chave candidata de R se ela apresentar as propriedades de unicidade e irredutibilidade. A primeira propriedade garante que não há duas tuplas de R com o mesmo valor de K. Já a segunda, que nenhum subconjunto de K apresenta a propriedade de unicidade. Consistência é considerada uma propriedade das transações para os sistemas de bancos de dados. C C C 15

Um escalonamento é considerado correto quando se pode encontrar um escalonamento serial que seja equivalente a ele. Dado um conjunto de transações T1, ... ,Tn, dois escalonamentos S1 e S2 são equivalentes se existe sincronização read-write e sincronização write-write. No two-phase locking, os locks de dados supõem que a transação está dividida em uma fase de crescimento, na qual os locks são feitos, e em uma fase de encolhimento, na qual os locks são confirmados. As transações aninhadas devem ter a propriedade de ser serializáveis em relação aos seus pares, ou seja, o acesso a recursos compartilhados entre essas transações deve obedecer as regras de sincronização de read-write e write-write. C C C 16

Na situação em questão, a transação T2 pode ver os writes incrementais de T1. Esse enfoque diminui a concorrência do sistema. Se, por alguma razão, a transação T1 for bortada, o requerimento de atomicidade implicará que também sejam abortadas as transações como T2, aquelas que igualmente tenham visto os resultados de T1, transações que tenham visto os writes dessas transações e assim por diante. Esse problema é conhecido como rollback em cascata. E C 17

No processamento de uma consulta expressa em uma linguagem de alto nível, como a SQL, o SGBD deve planejar uma estratégia de execução para recuperar o resultado da consulta, a partir dos arquivos do banco de dados. Para o SGBD viabilizar a execução de transações concomitantemente existem diversas técnicas de controle de concorrência que são utilizadas para garantir propriedade de não-interferência ou isolamento de transações. Uma dessas técnicas é o controle de concorrência baseado em ordenamento de registro de timestamp que utiliza o bloqueio combinado com o Protocol Two-Phase locking (L). C E 18 18