Banco de Dados
Download
Report
Transcript Banco de Dados
Banco de Dados - Senado
Exercícios SGBD - CESPE
Material preparado: Prof. Marcio Vitorino
a) Quando uma regra de integridade referencial é violada, o
procedimento normal a ser adotado é rejeitar a ação que
ocasionou essa violação.
b) 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.
c) 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.
d) 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.
Ilka Kawashita
[email protected]
2
2
a) 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.
b) 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.
c) 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.
Ilka Kawashita
[email protected]
3
3
a)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.
b)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.
c) 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.
Ilka Kawashita
[email protected]
4
a) 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.
b) 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.
c) No controle de transações, é desnecessário que
a atomicidade de cada transação tome
conhecimento de outras transações concorrentes
no sistema.
d) Na criação de uma trigger, é necessária a ligação
da constraints de integridade, para que o
resultado obtido seja otimizado.
Ilka Kawashita
[email protected]
5
a) 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.
b) 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.
c) Consistência é considerada uma propriedade das
transações para os sistemas de bancos de dados.
Ilka Kawashita
[email protected]
6
a) 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.
b) 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.
c) 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.
Ilka Kawashita
[email protected]
7
a) 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.
b) 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.
Ilka Kawashita
[email protected]
8
1) 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.
2) 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).
Ilka Kawashita
[email protected]
9
Gabarito
Material preparado: Prof. Marcio Vitorino
a)
C Quando uma regra de integridade referencial é violada, o
procedimento normal a ser adotado é rejeitar a ação que
ocasionou essa violação.
b)
E 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.
c)
C 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.
d)
C 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.
Ilka Kawashita
[email protected]
11
11
C O protocolo de falha do coordenador é executado em um
a)
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.
b)
E 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.
c)
E 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.
Ilka Kawashita
[email protected]
12
12
a)Na utilização de um banco de dados relacional, cabe
exclusivamente ao sistema gerenciador de banco de
E
dados (SGBD) o controle das restrições de
integridade dos dados.
b)A função do catálogo de um SGBD é a de armazenar
C os esquemas, ou descrições, das bases de dados
que o SGBD mantém.
c) Uma linguagem de definição de visões (view
definition language) serve para especificar o modo
C como o usuário vê os dados e como essa visão é
mapeada para o esquema conceitual da base de
dados.
Ilka Kawashita
[email protected]
13
a) O administrador de dados tem capacidade para criar o
esquema conceitual, depois que o DBA definir o projeto
E lógico contendo as definições conceituais do banco de dados
como um todo.
b) O catálogo do SGBD contém especificação de esquema,
restrições de integridade, autorizações de acesso, visões,
C localização de arquivos do BD, configurações e estimativas.
c) No controle de transações, é desnecessário que a
atomicidade de cada transação tome conhecimento de
E outras transações concorrentes no sistema.
d) Na criação de uma trigger, é necessária a ligação da
constraints de integridade, para que o resultado obtido seja
E otimizado.
Ilka Kawashita
[email protected]
14
a) Um índice é um artifício usado para se encontrar,
rapidamente, linhas (registros) com valores específicos. Sem
C 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.
b) Considerando uma variável de relação R, diz-se que K é uma
chave candidata de R se ela apresentar as propriedades de
C 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.
c) Consistência é considerada uma propriedade das transações
para os sistemas de bancos de dados.
C
Ilka Kawashita
[email protected]
15
a) Um escalonamento é considerado correto quando se pode
encontrar um escalonamento serial que seja equivalente a
C 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.
b) No two-phase locking, os locks de dados supõem que a
transação está dividida em uma fase de crescimento, na qual
C os locks são feitos, e em uma fase de encolhimento, na qual
os locks são confirmados.
c) As transações aninhadas devem ter a propriedade de ser
serializáveis em relação aos seus pares, ou seja, o acesso a
C recursos compartilhados entre essas transações deve
obedecer as regras de sincronização de read-write e writewrite.
Ilka Kawashita
[email protected]
16
a) Na situação em questão, a
transação T2 pode ver os writes
incrementais de T1. Esse
E
enfoque diminui a concorrência
do sistema.
b) 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
C 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.
Ilka Kawashita
[email protected]
17
1)
C 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.
E Para o SGBD viabilizar a execução de transações
2)
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).
Ilka Kawashita
[email protected]
18