A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Exercícios SGBD - CESPE

Apresentações semelhantes


Apresentação em tema: "Exercícios SGBD - CESPE"— Transcrição da apresentação:

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

2 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

3 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

4 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.

5 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.

6 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.

7 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.

8 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.

9 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).

10 Gabarito

11 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

12 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

13 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

14 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

15 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

16 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

17 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

18 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


Carregar ppt "Exercícios SGBD - CESPE"

Apresentações semelhantes


Anúncios Google