-
Resolução da prova de informática em
http://profanadeinformatica.blogspot.com.br/2014/01/prova-icms-rj-2014-cargo-auditor-fiscal.html
-
Não é possível ocultar seletivamente uma coluna de uma tabela.
A solução nesse caso é restringir o acesso às tabelas que possuem dados sensíveis e disponibilizar o acesso de usuários em geral àquela tabela através de uma ou mais views (visualizações de uma tabela; podem ser imaginadas com o resultado de uma consulta pré-definida do banco de dados; não se trata de replicação, portanto não ocupam espaço em disco) que omitam as colunas sigilosas.
Ilustrando com um exemplo:Tabela CARTAO_DE_CREDITO(numero_cartao, nome_portador, data_validade, senha)
Essa tabela possui dados sigilosos. A maioria dos usuários (ou até mesmo todos) não terá GRANT de leitura nela.
View V_CARTAO_DE_CREDITO: "SELECT nome_portador, data_validade FROM CARTAO_DE_CREDITO"
A view não apresenta dados sigilosos. Pode ser concedido GRANT de leitura nela para uma amplitude de usuários.
-
Prezados,
Vamos analisar as alternativas
A) transformar os campos sigilosos em uma super chave, que é um mecanismo dos bancos de dados que ocultam dados de usuários não autorizados.
Alternativa errada. Transformar os campos sigilosos em super chave não oculta os dados de usuários não autorizados.
B) criar uma view, que é um mecanismo de ocultação de dados. As views criam novas tabelas que ficam armazenadas em áreas protegidas do disco. Essas tabelas ficariam acessíveis apenas aos usuários autorizados.
Alternativa errada. Uma view em resumo é uma consulta armazenada. Ao tentarmos visualizarmos a view , o banco irá rodar a consulta e gerar a visualização da view . Na geração da view podemos ocultar a visualização de algumas colunas , dessa forma poderíamos utilizar uma view para não apresentar dados sigilosos para determinados usuários , entretanto a alternativa erra ao afirmar que a view cria novas tabelas e que elas ficam armazenadas em áreas protegidas do disco. A view não cria uma nova tabela, apenas salva a consulta que irá representar a view.
C) manter a tabela de acesso irrestrito, mas criar uma única view que obscureça as colunas sigilosas usando o comando replace view. Também pode-se restringir quais linhas um grupo de usuários pode acessar adicionando uma cláusula constraint à definição da view.
Alternativa errada. Como vimos , a view poderia ser usada para ocultar alguns dados, mas se deixarmos a tabela com acesso irrestrito, todos poderiam ver na tabela as colunas que não estão aparecendo na view.
D) criar uma view chamada ACESSO RESTRITO usando uma instrução case when e, em seguida, armazenar as tuplas resultantes em outra tabela de acesso irrestrito. Assim, todos os usuários poderiam usar a view criada consultando diretamente as tabelas.
Alternativa errada. A view não é criada com essa instrução, muito menos armazena tuplas.
E) Manter uma tabela privada ( ou seja, não conferir permissão de consulta a qualquer usuário ) e, então, criar uma ou mais views que omitam as colunas sigilosas. Como as view não envolvem armazenamento de dados, não ocupam espaço em disco, o que seria mais uma vantagem.
Alternativa correta. Criando uma view sem as colunas desejadas , e revogando todas as permissões de leitura da tabela, ocultaríamos as coluna sigilosas.
Resposta :E
-
Prezados,
Vamos analisar as alternativas
A) transformar os campos sigilosos em uma superchave, que é um mecanismo dos bancos de dados que ocultam dados de usuários não autorizados.
Alternativa errada. Transformar os campos sigilosos em superchave não oculta os dados de usuários não autorizados.
B) criar uma view, que é um mecanismo de ocultação de dados. As views criam novas tabelas que ficam armazenadas em áreas protegidas do disco. Essas tabelas ficariam acessíveis apenas aos usuários autorizados.
Alternativa errada. Uma view em resumo é uma consulta armazenada. Ao tentarmos visualizarmos a view , o banco irá rodar a consulta e gerar a visualização da view . Na geração da view podemos ocultar a visualização de algumas colunas , dessa forma poderíamos utilizar uma view para não apresentar dados sigilosos para determinados usuários , entretanto a alternativa erra ao afirmar que a view cria novas tabelas e que elas ficam armazenadas em áreas protegidas do disco. A view não cria uma nova tabela, apenas salva a consulta que irá representar a view.
C) manter a tabela de acesso irrestrito, mas criar uma única view que obscureça as colunas sigilosas usando o comando replace view. Também pode-se restringir quais linhas um grupo de usuários pode acessar adicionando uma cláusula constraint à definição da view.
Alternativa errada. Como vimos , a view poderia ser usada para ocultar alguns dados, mas se deixarmos a tabela com acesso irrestrito, todos poderiam ver na tabela as colunas que não estão aparecendo na view.
D) criar uma view chamada ACESSORESTRITO usando uma instrução case when e, em seguida, armazenar as tuplas resultantes em outra tabela de acesso irrestrito. Assim, todos os usuários poderiam usar a view criada consultando diretamente as tabelas.
Alternativa errada. A view não é criada com essa instrução, muito menos armazena tuplas.
E) Manter uma tabela privada ( ou seja, não conferir permissão de consulta a qualquer usuário ) e, então, criar uma ou mais views que omitam as colunas sigilosas. Como as view não envolvem armazenamento de dados, não ocupam espaço em disco, o que seria mais uma vantagem.
Alternativa correta. Criando uma view sem as colunas desejadas , e revogando todas as permissões de leitura da tabela, ocultaríamos as coluna sigilosas.
-
Prezados,
Vamos analisar as alternativas
A) transformar os campos sigilosos em uma superchave, que é um mecanismo dos bancos de dados que ocultam dados de usuários não autorizados.
Alternativa errada. Transformar os campos sigilosos em superchave não oculta os dados de usuários não autorizados.
B) criar uma view, que é um mecanismo de ocultação de dados. As views criam novas tabelas que ficam armazenadas em áreas protegidas do disco. Essas tabelas ficariam acessíveis apenas aos usuários autorizados.
Alternativa errada. Uma view em resumo é uma consulta armazenada. Ao tentarmos visualizarmos a view , o banco irá rodar a consulta e gerar a visualização da view . Na geração da view podemos ocultar a visualização de algumas colunas , dessa forma poderíamos utilizar uma view para não apresentar dados sigilosos para determinados usuários , entretanto a alternativa erra ao afirmar que a view cria novas tabelas e que elas ficam armazenadas em áreas protegidas do disco. A view não cria uma nova tabela, apenas salva a consulta que irá representar a view.
C) manter a tabela de acesso irrestrito, mas criar uma única view que obscureça as colunas sigilosas usando o comando replace view. Também pode-se restringir quais linhas um grupo de usuários pode acessar adicionando uma cláusula constraint à definição da view.
Alternativa errada. Como vimos , a view poderia ser usada para ocultar alguns dados, mas se deixarmos a tabela com acesso irrestrito, todos poderiam ver na tabela as colunas que não estão aparecendo na view.
D) criar uma view chamada ACESSORESTRITO usando uma instrução case when e, em seguida, armazenar as tuplas resultantes em outra tabela de acesso irrestrito. Assim, todos os usuários poderiam usar a view criada consultando diretamente as tabelas.
Alternativa errada. A view não é criada com essa instrução, muito menos armazena tuplas.
E) Manter uma tabela privada ( ou seja, não conferir permissão de consulta a qualquer usuário ) e, então, criar uma ou mais views que omitam as colunas sigilosas. Como as view não envolvem armazenamento de dados, não ocupam espaço em disco, o que seria mais uma vantagem.
Alternativa correta. Criando uma view sem as colunas desejadas , e revogando todas as permissões de leitura da tabela, ocultaríamos as coluna sigilosas.
-
GAB. E
Prova do capíroto essa de informática.
-
Comentários
A assertiva A é a solução para o problema. Uma visão (view) pode ser considerada como uma maneira alternativa de observação de dados de uma ou mais entidades (tabelas). Pode ser considerada também como uma tabela virtual ou uma consulta armazenada. As vantagens de se usar views são:
• permite economizar tempo, evitando retrabalho;
• aumenta a velocidade de acesso aos dados;
• esconde a complexidade do banco de dados;
• simplifica a gerência de permissão de usuários; e
• organiza os dados a serem exportados.
Uma vez que a view é gerada, o seu conjunto de dados é armazenado em uma tabela temporária (virtual), tornando o acesso às informações mais rápido. Deve-se ressaltar que uma view não existe fisicamente, é uma tabela virtual. No entanto, os dados contidos em uma view podem ser modificados normalmente.
Para criar uma visão, você seleciona apenas as colunas da tabela (ou tabelas) básica em que está interessado, podendo omitir as colunas sigilosas. A sintaxe básica para se criar uma visão é a seguinte:
CREATE VIEW nome_view AS
SELECT coluna(s)
FROM tabela
WHERE condição
Conforme visto, a letra A é a resposta da questão.
Gabarito: letra A.