SóProvas



Prova CESPE - 2012 - Banco da Amazônia - Técnico Científico - Banco de Dados


ID
770251
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Julgue os itens seguintes, no que se refere aos benefícios que pode trazer a utilização de sistema gerenciador de banco de dados (SGBD) em relação a sistemas de processamento de arquivos.


SGBD utiliza o conceito de atomicidade do registro, assegurando que, uma vez detectada uma falha na operação com o registro, os dados sejam salvos em seu último estado consistente, anterior a essa falha.

Alternativas
Comentários
  • Segundo Navathe, em Sistemas de Bancos de Dados, 4ª Edição, página 405, o conceito de atomicidade é o seguinte: "Uma transação é uma unidade atômica de processamento; ou ela será executada em sua totalidade ou não será de modo nenhum".

    Portanto, o conceito não é atomicidade de registro, mas sim atomicidade de transação. Dessa forma, está incorreta.
  • Esse conceito não seria o de Durabilidade?
  • Respondendo à pergunta da colega, também não é Durabilidade, veja o conceito que Navathe cita: Durabilidade ou permanência - As mudanças aplicadas ao banco de dados pela transação confirmada precisam persistir no banco de dados. Essas mudanças não devem ser perdidas por causa de alguma falha.
    Abraços, vamo que vamo. 
  • A propriedade ou conceito citado na verdade é a propriedade de consistência e não atomicidade como afirmado. (Consistência - Leva um banco de dados de um estado consistente para outro estado consistente) A propriedade da atomicidade diz que a realização da transação é feita integralmente, ou não é feita.

    ACID
    Atomicidade - Realização da transação é feita integralmente, ou não é feita
    Consistência - Leva um banco de dados de um estado consistente para outro estado consistente
    Isolamento - Uma transação deve parecer que executa de forma isolada 
    Durabilidade - Transações devem persistir
  • Eu acho que é o de atomicidade mesmo e não consistência pois fala de uma operação que falhou então há um rollback para o ultimo estado de consistência que é antes do começo da transação, por que a transação é atômica, ou executa inteira ou não. Acho que o maior erro é o de falar "atomicidade do registro" quando deveria ser "atomicidade da transação".

  • ·  Atomicidade: desfaz as ações das transações que não realizaram o commit.

    ·  Durabilidade: todas as ações das transações que fizeram commit serão persistentes. 


  • O conceito de atomicidade esta correto. O erro é  dizer que "os dados sejam salvos em seu último estado consistente, anterior a essa falha....", na verdade, a atomicidade garante que os dados NÃO sejam gravados no banco quando houver alguma falha, ou em liguagem pratica, quando é feito um write dentro de uma transação  o dado é enviado a um Buffer de memória e somente se a mesma for confirmado ele é gravado no banco. Ou seja, não existe a gravação do dado incorreto e depois uma nova gravação do dado anterior a falha

  • A questão se refere à atomicidade. O único erro tá em "registro"(se vc trocar registro por transação, é o conceito de atomicidade):

    Exemplificando uma situação prática, um sistema computacional está sujeito a falhas, sendo imprescindível garantir que, uma vez detectada tal falha, os dados sejam salvos em seu último estado consistente, anterior a ela. Por exemplo, uma operação de transferência bancária entre contas correntes, deve ser uma operação atômica, ou seja, deve ocorrer por completo, ou não ocorrer. Ou ela, quando debitada na conta origem, deve ser creditada no destino, ou se for apenas debitada na origem deve ser desfeita por completo, até o último commit(que vai ser anterior ao início da transação). A consistência, citada na questão, é apenas uma das propriedades, da atomicidade.

    Segundo esta fonte[1], na "um SGBD garante a atomicidade da transação desfazendo as ações das transações incompletas". 

    De brinde, nobres concurseiros, trago-lhes o conceito de ACID, segundo este outro autor:

    1. Atomicidade: Uma transação é uma unidade atômica de processamento; ou ela será executada em sua totalidade ou não será de modo nenhum.

    2. Preservação de consistência: Uma ttransação será preservadora de consistência se sua execução completa fizer o banco de dados passar de um estado consistente para outro.

    3. Isolamento: Uma transação deve ser executada como se estivesse isolada das demais. Isto é, a execução de uma transação não deve sofrer interferência de quaisquer outras transações concorrentes.

    4. Durabilidade ou permanência: As mudanças aplicadas ao banco de dados po

    Fonte:

    [1] https://www.cin.ufpe.br/~if694/aulas_pdf/9%20-%20Gerenciamento%20de%20transacoes.pdf

    [2] SBD, E&N

  • ERRADO!

    Trata-se da propriedade consistência.

    Atomicidade: Em uma transação envolvendo duas ou mais partes de informações discretas, ou a transação será executada totalmente ou não será executada, garantindo assim que as transações sejam atômicas.

    Consistência: A transação cria um novo estado válido dos dados ou em caso de falha retorna todos os dados ao seu estado antes que a transação foi iniciada.

    Isolamento: Uma transação em andamento mas ainda não validada deve permanecer isolada de qualquer outra operação, ou seja, garantimos que a transação não será interferida por nenhuma outra transação concorrente.

    Durabilidade: Dados validados são registados pelo sistema de tal forma que mesmo no caso de uma falha e/ou reinício do sistema, os dados estão disponíveis em seu estado correto.

  • Durabilidade: as mudanças realizadas pela transação confirmada devem ser persistidas no banco de dados no caso de falhas

  • O SGBD utiliza o conceito de atomicidade da transação e não do registro como afirma a assertiva.

    Uma das características dos bancos de dados é o controle de transações

    Uma transação é um programa em execução ou processo que inclui um ou mais acessos ao banco de dados, como a leitura ou atualização de seus registros. Uma transação possui quatro propriedades:

    ❖ Atomicidade: uma transação é uma unidade de processamento atômica; ela deve ser realizada em sua totalidade ou não deve ser realizada de forma alguma.

    ❖ Consistência: uma transação deve, se for completamente executada, levar o banco de dados de um estado consistente para outro.

    ❖ Isolamento: uma transação deve parecer executar isoladamente das demais, embora centenas de transações possam ser executadas concorrentemente.

    ❖ Durabilidade: as mudanças aplicadas ao banco de dados pela transação confirmada precisam persistir no banco de dados. Essas mudanças não devem ser perdidas por causa de alguma falha.

    Gabarito: Errado.

  • ATOMICIDADE É O FAMOSO TUDO OU NADA!

  • Gab: ERRADO 

    • (A C I D ):
    • ATOMICIDADE– A transação deve ocorrer até o fim (Não pode ser dividida) – ou faz até o fim ou nem faz – Exemplo do átomo no qual acreditavam ser indivisível. Se der erro todo conjunto é desfeito, voltando ao seu estado inicial...transação será feita completamente ou não será feita

    CONSISTÊNCIA – Respeita as regras e restrições de integridade dos dados, ou seja, os dados não podem ser alterados (são íntegros/ consistentes) – Em uma transação bancária, não posso depositar R$100,00 e só chegar na conta de destino R$50,00.( CASO da Questão)

    ISOLAMENTO – Várias transações podem ocorrer juntas, mas é como se estivessem sozinhas (isoladas) – Exemplo de um banco de questões de concurso no qual vários alunos fazem filtros simultâneos (operações exteriores), mas essas modificações não se comunicam (parecem isoladas).

    DURABILIDADE – Os resultados de uma transação serão definitivos – Mesmo se acabar a energia os dados estarão disponíveis.

  • Atomicidade : tudo ou nada

    Consistência: regras devem ser obedecidas

    Isolamento: uma transação não interfere na outra

    Durabilidade: um erro não deve invalidar toda transação

    Bons estudos!


ID
770254
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

SGBD, que é formado por uma coleção de arquivos e programas inter-relacionados, tem por objetivo garantir que o acesso para consultas e alterações dos dados nos arquivos seja limitado a um único administrador, responsável por efetuar as modificações e atualizações requeridas pelos usuários do sistema.

Alternativas
Comentários
  • Pode-se conceder papel (role) de administrador para varios usuarios de BANCO.
  • Errado

    Segundo Navathe(2011,p.3),"Um Sistema Gerenciador de Banco de Dados-(SGBD) é uma coleção de programas que permite aos usuários criar e manter um banco de dados. O SGBD é um sistema de software de uso geral que facilita o processo de definição, construção, manipulação e compartilhamento de banco de dados entre diversos usuários e aplicações."

    Sistemas de Banco de Dados-Navathe 6 edição 2011

  • Uma das funcionalidades associadas aos SGBDs é o compartilhamento dos dados. Os bancos de dados costumam ser desenvolvidos para serem utilizados por vários usuários, muitas vezes simultaneamente. Esses usuários podem ter vários graus de permissões no SGBD, como aquelas para realizar modificações e atualizações, e essa quantidade de usuários não está limitada a somente um.

  • Uma das funcionalidades associadas aos SGBDs é o compartilhamento dos dados. Os bancos de dados costumam ser desenvolvidos para serem utilizados por vários usuários, muitas vezes simultaneamente. Esses usuários podem ter vários graus de permissões no SGBD, como aquelas para realizar modificações e atualizações, e essa quantidade de usuários não está limitada a somente um.

  • Arthur Mendonça | Direção Concursos

    Uma das funcionalidades associadas aos SGBDs é o compartilhamento dos dados. Os bancos de dados costumam ser desenvolvidos para serem utilizados por vários usuários, muitas vezes simultaneamente. Esses usuários podem ter vários graus de permissões no SGBD, como aquelas para realizar modificações e atualizações, e essa quantidade de usuários não está limitada a somente um.


ID
770257
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

A utilização de SGBD permite o gerenciamento do acesso concorrente, ou seja, permite atualizações simultâneas nos dados para aumento do desempenho do sistema como um todo e para melhores tempos de resposta.

Alternativas
Comentários
  • Questao muito generica; essa funçao e', especificamente, do  gerenciador de controle de concorrencia, que e' um modulo do SGBD.
    Toda vez q uma transacao T1 precisa acessar um item de dados, ela, antes, envia uma solicitacao ao gerenciador de controle de concorrencia(GCC). Se o item nao estiver bloqueado por outra transacao, ou se o bloqueio mantido por alguma outra transacao for compativel com o bloqueio solicitado, o GCC concede o bloqueio a T1; caso contrario, ela tem q esperar.
    E tudo isso, obviamente, sob controle geral do SGBD, por meio do GCC.
  • "atualizações simultâneas" mas item não é bloqueado antes de ser alterado para que outra transação não acesse ele??
  • Sem complicar nem extrapolar a questão.
    1º O gerenciador de concorrência faz parte do SGBD. Dessa forma, não há equívoco ao dizer que o SGBD permite o gerenciamento de acesso concorrente.
    2º A questão afirma "atualizações simultâneas nos dados", do ponto de vista dos dados como um todo. Em nenhum momento a questão restringe dizendo que serão atualizados os mesmos dados, ou seja, os que estariam sujeitos ao lock. A questão trata de atualização dos dados do BD de maneira simultânea, e.g., duas aplicações que atualizam duas tabelas distintas simultaneamente em um mesmo BD.
    Como essas características tendem a aumentar odesempenho, pois não é preciso esperar a realização serial das operações, o item está correto em sua totalidade.
  • Então, na minha visão é preciso cuidado com esse tipo de questão. Realmente, ele fala de atualizações em considerações gerais. Mas isso é um erro de expressão. Pois um caso é geral quando um caso específico não nega a verdade do caso.

    No caso da questão, se você considerar o controle de concorrência como sendo o bloqueio, um caso específico negaria a verdade do caso, pois ao escrever, o item é bloqueado. O caso só funcionaria se fosse atualizações em duas tabelas diferentes.

    Porém, se considerarmos outro controle de concorrência, como o timestamp, a questão se torna correta. Pois ele não usa o bloqueio. O controle se dá por uso de uma variável incrementada e as atualizações ocorrem em várias versões do dado. O controle se dá pelo timstamp da transação, que vai verificar qual das versões dos dados tem o timestamp mais recente e considera ele. 

    Esse é o protocolo de multi-versão com uso de timestamp. Ele é feito para eliminar o aumento da concorrência causado pela escrita de thomas (forma de timestamp que ao perceber um timestap da transação mais antigo que o timestamp do itme, não descarta a transação. Apenas não a executa, causando maior concorrência) e do impedimento de atualização simultânea do timestamp, pois ao perceber que a transação tem um timestamp da transação é menor que o do item, ele descarta a transação.

  • CERTO


ID
770260
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Julgue os próximos itens, acerca dos sistemas gerenciadores de banco de dados que implementam o modelo relacional de dados.


O modelo relacional de dados necessita que programas ou sistemas implementem regras para evitar características indesejáveis, tais como repetição de informação, incapacidade de representar parte da informação e perda de informação.

Alternativas
Comentários
  • Temos duas interpretações nessa questão:

    1 - "O modelo relacional de dados necessita que programas ou sistemas implementem regras...". Na minha compreensão aqui ele falou de algum software acima do SGDB, pois, no enunciado ele diz que estamos tratando de um SGDB relacional. Então, essa resposta seria ERRADA. Pois o próprio SGDB garante as restrições e características indesejáveis. Um software com um banco bem projetado, não conseguiria burlar as regras do banco.

    2- Na segunda interpretação, temos o que a banca tentou passar. "programas ou sistemas" correspondendo ao  próprio SGDB. Aqui a resposta estaria CORRETA...
  • Em [1], temos:
    "O modelo relacional implementa estruturas de dados organizadas em relações. Porém, para trabalhar com essas tabelas, algumas restrições precisaram ser impostas para evitar aspectos indesejáveis, como: repetição de informação, incapacidade de representar parte da informação e perda de informação. Essas restrições são: integridade referencial, chaves e integridade de junções de relações." (Meu grifo)
    Então vamos substituir no texto a palavra "restrições" por "regras", como estão na questão. A parte sublinhada é implementada por programas ou sistemas, como diz a questão, ou seja, o SGBD!
    Portanto, certa a questão.

    Referência:
    [1] http://www.ime.usp.br/~jef/apostila.pdf
  • A questão só tem um problema no meu ver. "O modelo relacional de dados necessita que (...) implementem regras para evitar características indesejáveis, tais como repetição de informação". Isso não diz respeito ao modelo relacional. Posso muito bem aplicar a desnormalização a BD relacionais (e que sejam baseados no modelo relacional) para aumentar o desempenho. Nesse referido caso, a repetição de informação é desejável.
    As características citadas não são necessárias no modelo relacional, mas sim pelo problema ao qual ele pode ser aplicado.
  • Essa questão se refere à atomicidade, que é a propriedade que exige que uma transação seja sempre completa, atômica: não pode haver subdivisões.
  • O proprio modelo relacional já garante meios de evitar esses problemas durante a modelagem via normalização por exemplo, não tem por quer exigir que isso seja feito por softwares terceiros. Eu pelo menos entendi que programas e sistemas sejam outros que não o sgbd. Muito estranha a questão.

  • No modelo relacional temos o que? Uma representação o BD como uma coleção de relações (tabelas), ou seja, de modo gráfico podemos visualizar as tabelas e como elas estão relacionadas com suas tuplas e atributos, mas para se implementar as regras para evitar redundância de informações ou perda, precisa-se de um SGBD para fazer isso no modelo físico. Então questão correta. 

  • O cara que fez essa questão deve ter lido tanto recurso, mas tanto recurso, que no ano seguinte fez outra tentando se redimir e explicitando o que diabos são esses "programas ou sistemas"

     

    Ano: 2013 Banca: CESPE Órgão: MS Prova: Analista Administrativo

     

    O uso de SGBD com base no modelo relacional de dados permite evitar a ocorrência de aspectos indesejáveis, tais como repetição de informação, incapacidade de representação de parte da informação e perda de informação.

     

    Resposta: Certa

  • "O modelo relacional implementa estruturas de dados organizadas em relações. Porém, para trabalhar com essas tabelas, algumas restrições precisaram ser impostas para evitar aspectos indesejáveis, como: repetição de informaçãoincapacidade de representar parte da informação e perda de informaçãoEssas restrições são: integridade referencial, chaves e integridade de junções de relações." (Meu grifo)

    Então vamos substituir no texto a palavra "restrições" por "regras", como estão na questão. A parte sublinhada é implementada por programas ou sistemas, como diz a questão, ou seja, o SGBD!

    Portanto, certa a questão.


    Referência:

    [1] http://www.ime.usp.br/~jef/apostila.pdf


ID
770263
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

A estrutura fundamental do modelo relacional de dados é a relação, na forma de tabela, constituída por um ou mais atributos — os campos —, que traduzem o tipo de dados a armazenar. Cada instância do esquema — linha — é chamada de tupla ou registro.

Alternativas
Comentários
  • Certa a questão, praticamente foi mostrada a definição.

    No modelo relacional a principal construção para representação dos dados é a relação,
    uma tabela com linhas não ordenadas e colunas. Uma relação consiste de um esquema e
    de uma instância. O esquema especifica o nome da relação e o nome e o domínio de
    cada coluna, também denominada atributo ou campo da relação. O domínio do atributo
    é  referenciado no esquema por  seu nome e serve para  restringir  os valores que este
    atributo pode assumir. O esquema de uma relação é inváriavel ao longo do tempo, sendo
    modificado apenas por comandos específicos. 
  • Quem elaborou não manja nada de Banco de Dados. Desde quando linha e registro é a mesma coisa?

  • Fiquei com dúvida nessa  frase "Cada instância do esquema — linha — é chamada de tupla ou registro" 

    Podemos mesmo considerar um registro/linha como instância do esquema ?

  • Um registro realmente é uma linha, já que registro é uma coleção de atributos. Mas instância do esquema seria a coleções de linhas em um dado instante, n?

  • Na verdade o que traduz o tipo de dados a utilizar é o domínio.

  • (Q261473) Ano: 2011 Banca: CESPE Órgão: MEC Prova: Analista de Processos

    No modelo relacional, os dados são representados, independentemente de seus tipos, em forma de tabelas (relações), ou seja, por meio de linhas (tuplas) e colunas (domínios). (C)

  • CORRETA

    Uma entidade representa um objeto do mundo real ou um conceito, como um funcionário ou um projeto, que são descritos no banco de dados. Um atributo corresponde a alguma propriedade de interesse que ajuda a descrever uma entidade, como o nome do funcionário ou seu salário. O relacionamento entre duas ou mais entidades mostra uma associação entre estas: por exemplo, um relacionamento trabalha-em de um funcionário com um projeto.

    MR( modelo relacional)

    Todos os valores em uma coluna são do mesmo tipo de dado.Na terminologia do modelo relacional formal, uma linha é chamada tupla, um cabeçalho de coluna é conhecido como atributo, e a tabela é chamada relação

    Fonte :20 Capítulo 2 Sistemas de Bancos de Dados: Conceitos e Arquitetura,Navathe

    tabela = relação

    Cardinalidade=relacionamento

    Tupla=linha=registro

    Coluna=atributo=domínio

    esquema de relação= descrição da relação

    Instância=conjunto de tuplas – >seus valores num dado momento.( "foto de determinado momento do banco de dados" )= Snapshot

    -------------------------------------------------------------------------------------------------------------------------------------------

    MER= parte abstrata

    Entidade= pode representar a parte abstrata ou real

    ---------------------------------------------------------------------------------------------------------------------------------------------

    Complementando :

    8.1. O ASPECTO ESTRUTURAL No Modelo Relacional o banco de dados é representado como um conjunto de relações. Considerando que uma relação é, de certo modo, similar a uma tabela de valores e aplicando a terminologia do MR diz-se que as linhas denominam-se tuplas; as colunas, atributos; e a tabela em si, relação (ELMASRI; NAVATHE, 2011, p. 39). 

    O conjunto de valores que cada atributo pode assumir chama-se domínio (SILBERSCHATZ; KORTH; SUDARSHAN, 1999, p. 62)

    Um esquema de relação (ou scheme de relação) é utilizado para descrever uma relação. Um esquema é indicado por R(A1, A2,c,An), onde R é o nome da relação e An são seus atributos (ELMASRI; NAVATHE, 2011, p. 40).

    Uma instância de relação (ou estado de relação) é um conjunto de tuplas – seus valores num dado momento.(ELMASRI; NAVATHE, 2011, p. 40).

  • Assistí aula de dois professores diferentes, uma definiu como instância/ocorrência como indivíduo ilustrativo de uma categoria, mas outro, definiu como uma foto de um determinado momento de uma banco de dados, ou seja, o combinação de dados em um determinado momento. Achei bem diferente

    Acho que eu vou ficar com a primeira

  • Instância (Estado): é o conjunto de dados armazenados no banco e um determinado momento de operação

    Fonte: Estratégia Concursos

  • Questão boa para pegar os sinônimos da estrutura

  • SINÔNIMOS PARA O CESPE:

    1. tabela = relação
    2. Cardinalidade = relacionamento
    3. Tupla = linha=registro
    4. Coluna = atributo = campos
    5. esquema de relação = descrição da relação
    6. Instância=conjunto de tuplas - seus valores num dado momento.
    7. tabelas bidimensionais: colunas & linhas
    8. Chave primária = toda tabela precisa de uma chave primária
    9. Grau = número de colunas de uma relação
    10. Relacionamento = é dado por meio de chave estrangeira

ID
770266
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Assim como nos modelos que o precedem, o modelo relacional de dados precisa de caminhos predefinidos para que os dados sejam acessados.

Alternativas
Comentários
  • Questão errada, a grande vantagem do modelo relacional é não precisar de caminhos predefinidos para que os dados seja acessados.
    O modelo relacional, por suas características e por sua completitude, mostrou ser uma excelente  opção,   superando os  modelos  mais  usados   àquela   época:  o de   redes   e  ohierárquico.  A maior   vantagem  do  modelo   relacional   sobre   seus   antecessores   é   a representação simples dos dados e a facilidade com que consultas complexas podem ser expressas.
  • Acho que o erro esta no "precisa". O modelo relacional possui a álgebra relacional na qual você diz como pegar um dado (como se fosse um procedimento para achar o dado)  e o calculo relacional onde diz qual dado você quer mas não como ele deve ser capturado. O sql contem um pouco dos dois. Por tanto dependendo da abordagem que você escolhe você não precisa predefinir o caminho, ou seja, definir o procedimento para pegar o dado.

  • Comparando uma tabela de um banco de dados relacional com um arquivo convencional do sistema de arquivos de um computador, identificam-se as seguintes diferenças:

    (1) As linhas de uma tabela não têm ordenação (...)

    (2) Os valores de campo de uma tabela são atômicos e monovalorados (...)

    (3) As linguagens de consulta a bases de dados relacionais permitem o acesso por quaisquer critérios envolvendo os campos de uma ou mais linhas. Já em arquivos convencionais,  para buscar registros com base em seus campos de forma rápida, usualmente é necessário que exista algum caminho de acesso. Um caminho de acesso é uma estrutura auxiliar, como um índice ou uma cadeia de ponteiros, que acelera a recuperação de registros por determinados critérios, evitando a leitura exaustiva de todos os registros de um arquivo. Caminhos de acesso, também existem em bancos de dados, mas os programadores escrevem as consultas sobre o banco de dados sem considerar a existência ou não de caminhos de acesso.

    (Fonte: Livro Projeto de Banco de Dados, C.A. Heuser, pag 88-89)

    Gabarito "E". 

  • ERRADO!

    O modelo que o antecede não precisa de nada pré-definido, é um mero esboço

  • a grande vantagem do modelo relacional é não precisar de caminhos predefinidos para que os dados seja acessados.

    O modelo relacional, por suas características e por sua completitude, mostrou ser uma excelente opção, superando os modelos mais usados àquela época: o de redes e ohierárquico. A maior vantagem do modelo relacional sobre seus antecessores é a representação simples dos dados e a facilidade com que consultas complexas podem ser expressas.



  • Comparando uma tabela de um banco de dados relacional com um arquivo convencional do sistema de arquivos de um computador, identificam-se as seguintes diferenças:

    (1) As linhas de uma tabela não têm ordenação (...)

    (2) Os valores de campo de uma tabela são atômicos e monovalorados (...)

    (3) As linguagens de consulta a bases de dados relacionais permitem o acesso por quaisquer critérios envolvendo os campos de uma ou mais linhas. Já em arquivos convencionais, para buscar registros com base em seus campos de forma rápida, usualmente é necessário que exista algum caminho de acesso. Um caminho de acesso é uma estrutura auxiliar, como um índice ou uma cadeia de ponteiros, que acelera a recuperação de registros por determinados critérios, evitando a leitura exaustiva de todos os registros de um arquivo. Caminhos de acesso, também existem em bancos de dados, mas os programadores escrevem as consultas sobre o banco de dados sem considerar a existência ou não de caminhos de acesso.

    (Fonte: Livro Projeto de Banco de Dados, C.A. Heuser, pag 88-89)

  • O modelo relacional não tem caminhos predefinidos para se fazer acesso aos dados como nos modelos que o precederam. O modelo relacional implementa estruturas de dados organizadas em relações. Porém, para trabalhar com essas tabelas, algumas restrições precisaram ser impostas para evitar aspectos indesejáveis, como: repetição de informação, incapacidade de representar parte da informação e perda de informação. Essas restrições são: integridade referencial, chaves e integridade de junções de relações.

     

    Fonte: Modelagem de banco de dados - Paulo Henrique Cayres - 2015


ID
770269
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Julgue os itens a seguir, no que concerne ao conceito de modelo de dados em SGBD.



O modelo lógico define-se como uma descrição de banco de dados no nível de abstração visto pelo usuário do SGBD, por isso esse modelo é flexível e independente do tipo particular de SGBD que está sendo usado.

Alternativas
Comentários
  • O modelo lógico é dependente do tipo particular de SGBD.
  • Modelo Conceitual (ER): Utilizado para compreender o modelo conceitual de dados. É o mais alto nível. 
    Modelo Logico (Depende do SGBD): Definir as restrições, relacionamentos e etc.
    Modelo Fisico(Depende do SGBD): SQL.
    • O modelo lógico de dados é dependente do paradigma do banco (Relacional, OO, Objeto-Relacional...) e;
    • O modelo Físico é dependente do modelo do SGBD específico (Um para o Oracle, Um para o SQL Server, Outro para o MySQL .... cada um tem o seu).
  • Resolução de questão retirada do livro de Carlos Alberto Heuser - Projeto de Banco de Dados

    Ao definir Modelo Lógico, ele afirma:

    "Um modelo lógico é uma descrição de um banco de dados no nível de abstração   visto pelo usuário do SGBD. Assim, o modelo lógico é dependente do tipo   particular de SGBD que está sendo usado."

    Ou seja,  Modelo lógico é um modelo de dados que representa a estrutura de dados de um banco de dados conforme vista pelo usuário do SGBD.

    Logo, a questão está errada.
  • Errado!
    Estaria correto se ao invés de modelo lógico, fosse modelo conceitual;
  • Pra mim essa questão está CORRETA. O modelo lógico é sim INDEPENDENTE de SGDB, ele é dependente do Paradigma utilizado pelo sgdb (relacional, oo, hierárquico etc). Quando eu desenho um modelo lógico para o paradigma relacional ele é válido para qualquer SGBD relacional, como por exemplo Oracle, MySQL, SQL Server, ou seja, não depende de forma nenhuma do SGBD, mas apenas do paradigma.

    logical data model (LDM) in systems engineering is a representation of an organization's data, organized in terms of entities and relationships and is independent of any particular data management technology. (Fonte. Wikipedia)
  • Para mim também considero esta questão verdadeira. Somente o modelo físico depende de particularidades do sgbd. Vi os diversos comentários dos colegas postando citações de autores. Vou seguir os autores, mas em meus estudos considero correta a questão!
  • A primeira parte da questao esta errada pq essa eh a definicao do modelo conceitual. Ja' a segunda parte ta correta. Vejam o q diz F. Machado/M. Abreu(BD, Uma visao pratica, 2004).
    "O modelo logico tem seu inicio a partir do modelo coneitual, lenvando em consideracao uma das tres abordagens: relacional, hierarquica e rede.
    O modelo logico descreve as estruturas q estarao contidas no BD, mas sem considerar ainda nenhuma caracteristica especifica de um SGBD.
    Questão errada.
  • Pra quem ficou em dúvida esse artigo explica tudo:

    http://www.diegomacedo.com.br/modelagem-conceitual-logica-e-fisica-de-dados/
  • O pessoal esta errando por causa desta passagem "independente do tipo particular de SGBD que está sendo usado".

    O tipo de SGBD que o modelo lógico trata é se o mesmo é relacional, orientado a objetos, hierárquico, etc. Ou seja ele é dependente do paradigma utilizado;
    Não podemos confundir com o Software que será usado (Oracle, MySql e etc...)

    O erro na questão é que ele afirma que é independente, sendo que ele é dependente do paradigma/tipo de SGBD
  • Modelo lógico é dependente do TIPO (particular) de SGBD e independente de um SGBD PARTICULAR.

  • A questão está afirmando quando considera que a resposta é a opção "errada". Ou seja, a questão está afirnando que o modelo lógico é dependente do SGBD ? Profissionalmente podemos até considerar que existe uma certa dependencia, mas academicamente a questão em referencia está equivocada. Portanto, para mim, a resposta seria a opção: "correta". 
    O único modelo dependente do SGBD é o modelo físico. 

  • Senhores, me parece que tá havendo mais um problema de interpretação do que de entendimento de banco de dados por parte dos colegas. Vou tentar ser o mais didático possível. Vou reescrever a questão separando as afirmações e enfatizando alguns pontos:
    "O modelo lógico define-se como uma descrição de banco de dados no nível de abstração visto pelo usuário do SGBD, / por isso esse modelo é flexível e independente do _tipo_ particular de SGBD que está sendo usado."

    Quando separamos as duas afirmações, percebemos que elas apresentam ideias em contraposição. Observem as frases sublinhadas. Se na primeira afirmação ele diz que no modelo lógico temos um nível de abstração visto pelo usuário do SGBD, como na segunda afirmação ele pode dizer que é independente do tipo particular de SGBD? Isso já coloca a questão como ERRADA.

    Mas o que confundiu a todos foi o fato do examinador utilizar a palavra "tipo". A palavra "tipo" não está relacionada com a definição e escolha do SGBD propriamente dito, como Oracle, SQL Server, IBM DB2, etc. A palavra "tipo" está relacionada ao modelo de SGBD, o que os colegas bem utilizaram o termo paradigma, ou seja, se o tipo de SGBD é relacional, objeto-relacional, orientado a objeto, etc. E como sabemos, o modelo lógico depende dessa definição para que as estruturas do banco sejam criadas.

    Só pra enfatizar e consolidar o que foi exposto acima. Se eu perguntar pra você "Qual o SGBD você usou no projeto X?" é bem diferente se eu perguntar "Qual o tipo de SGBD você usou no projeto X?"
  • O modelo CONCEITUAL define-se como uma descrição de banco de dados no nível de abstração visto pelo usuário do SGBD, por isso esse modelo é flexível e independente do tipo particular de SGBD que está sendo usado

  • Modelo lógico como modelo de dados (descrição formal de regras para definir a estrutura de um banco de dados) é utilizado para representar a estrutura LÓGICA dos dados e é INDEPENDENTE DE SGBD e DEPENDENTE do tipo de dados

    Já o modelo conceitual é utilizado para representar a realidade observada (pelo usuário do SGBD), sendo INDEPENDENTE tanto de SGBD como de tipo de dados

    Logo a frase estaria correta caso fossse modelo conceitual

  • Nivél de abstração mais alto ou na visão do usuário é o Modelo Conceitual e não o Modelo Lógico. A segunda parte da questao está correta realmente o Modelo Lógico não depende de tecnologia(ou SGBD) ultilizada ainda.

  • prova elaborada pelo cespe == prova elaborada pelo cramulhão 

  • Gaba: errado

    É lógico que dona CESPE vai perguntar logo quem ta na "fronteira"...

    segue o esquema abaixo para explicar a treta da questão.

     

    Projeto de banco de dados:

                 mini-mundo
                        |
    Coleta e analise de requisitos 
                        |

    requisitos de dados

                       |

    projeto conceitual

                      |

    esquema conceitual

     

                       |   ------> INDEPENDENTE DE SGBD

    ---> até aqui não depende de SGBD

    PROJETO LOGICO ------> DEPENDENTE/ ESPECIFICO para um SGBD

                     |

             esquema lógico

                    |

             projeto fisico

                    |

        esquema fisico

     

  • Modelo Conceitual (ER): Utilizado para compreender o modelo conceitual de dados. É o mais alto nível. 
    Modelo Logico (Depende do SGBD): Definir as restrições, relacionamentos e etc.
    Modelo Fisico(Depende do SGBD): SQL.

  • modelo lógico: depende de SGBD particular. Representa estrutura de dados conforme vista pelo usuário.

    modelo conceitual: independe do SGBD particular. Dados abstratos.

  • ERRADO.

    Modelo Conceitual (ER): Utilizado para compreender o modelo conceitual de dados. É o mais alto nível. 

    Modelo Logico (Depende do SGBD): Definir as restrições, relacionamentos e etc.

    Modelo Fisico(Depende do SGBD): SQL.



  • MODELAGEM DE DADOS

    Conceitual (Alto nível): como representação de alto nível e com foco na visão do usuário criador dos dados. Geralmente, é o primeiro modelo a ser desenvolvido e fácil de ser entendido. Independe de um SGBD. Modelo conceitual regista quais dados podem aparecer no banco, mas não registra como estes dados estão armazenados no SGBD.

    Lógica: inclui detalhes de implementação e leva às regras e algumas limitações de recursos padronizados. A lógica é possível definindo atributos que serão as chaves para a estrutura. Dependente do tipo do SGBD. Se orientado a objetos, relacional, hierárquico etc.

    Física (Baixo nível): demonstra os dados fisicamente e agrega todas as regras e limitações do banco de dados. Segue padrões e validações. Dá início ao modelo que deve estar espelhado para o seu banco de dados final. Dependente do SBDG.

  • Refere-se ao conceitual

  • No que se refere à abstração, o nível lógico não descreve o modo de visão do usuário; ele descreve a interação entre os níveis Físico e de Visão, sendo o administrador do banco dados (DBA) quem tem a visão nesse nível.

    O usuário orbita no nível de visão, mais alto, multifacetado para atender às demandas de cada usuário específico.

  • GABARITO ERRADO

    Projeto do Banco de Dados:

    Modelo conceitual (Alto nível): Conceitua detalhadamente o banco de dados, entidades, relacionamentos, cardinalidade e etc. É abstrato e independe do SGBD ou de alguma tecnologia.

    Modelo lógico (Representativo): Modelo implementável em que se define o tipo de banco de dados: relacional, hierárquico, rede e etc. Dependente do tipo do SGBD.

    Modelo físico (Baixo nível): Modelo implementado em que se específica o armazenamento interno, organização de arquivo, índices e etc. Dependente do SGBD.

    FONTE: Meus resumos.

    "A repetição com correção até a exaustão leva a perfeição".

  • Q405031

    Julgue os itens seguintes, no que se refere aos projetos conceitual, lógico e físico de banco de dados relacional.

    A construção de um modelo particular para cada SGBD, obtido a partir da transformação do modelo conceitual, é o objetivo do projeto lógico.

    Gabarito CERTO

  • Modelo Conceitual -> ALTO nível de abstração - visão do usuário (não vê os detalhes, a forma como funciona o sistema)

    Modelo Lógico -> MÉDIO nível de abstração - visão administrador (ver mais detalhes que o conceitual)

    Modelo Físico -> BAIXO nível de abstração - visão programador ( ver todos os detalhes)

  • PROJETO DE BANCO DE DADOS:

    CONCEITUAL → modelo de dados de alto nível;

    - descreve os tipos de dados, entidades, atributos, relacionamentos e restrições;

    - representação fiel do ambiente observado;

    - independente de sua implementação, de tecnologia, do paradigma e do SGBD;

    LÓGICO → modelo de dados representativo;

    - representa a estrutura de dados pela visão do usuário do SGBD;

    - independente de tecnologia e do SGBD;

    - dependente do paradigma do SGBD (paradigma implementado, se relacional, se em rede , se hierárquico, se orientado para objetos..) Esse modelo ainda não é necessário saber qual ferramenta será trabalhada.

    FÍSICO → modelo de dados de baixo nível;

    - descreve os detalhes de como os dados são fisicamente armazenados;

    - seleção de índice, formas de acesso e estrutura de armazenamento interno;

    - depende do paradigma e do SGBD

    Fonte: vivendo e aprendendo com os colegas do QC..

    GAB.: ERRADO.

  • Gabarito: errado

    Independe de tecnologia do SGBD, mas depende do paradigma do SGBD.

  • Modelo Lógico : modelo de dados que representa a estrutura de dados de um banco de dados conforme vista pelo usuário do SGBD. = útil para o desenvolvedor , Tem dependência com a classe do Gerenciador de Banco de Dados - GBD, mas não com o GBD específico.

  • Gab.: Errado

     " Independente do tipo particular de SGBD" = conceitual.

  • MODELOS "CLF"

    Conceitual - Independe

    Lógico - Depende

    Físico - Depende

  • ha cara, pelo amor viu... TNC. Como é que "tipo particular" e "específico" são duas coisas diferentes???? o modelo lógico depende do tipo particular do SGBD, mas não depende de um SGBD específico. SÓ NÃO É MESMA COISA PORQUE NÃO QUEREM QUE SEJA.


ID
770272
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

O modelo conceitual define-se como um modelo de dados abstrato, que descreve a estrutura de um banco de dados de forma independente de um SGBD particular.

Alternativas
Comentários
  • Essa definição está mais para o modelo lógico, que não depende do SGBD (mas aqui já depende do paradgima do BD, se é relacional, OO,etc) e a estrutura eu posso vincular também a ideia de chaves PK e FK...
    Achei que não teve algo claro para garantir que é o modelo conceitual.
  • Resolução de questão retirada do livro de Carlos Alberto Heuser - Projeto de Banco de Dados

    Palavras do autor: 

    Modelo conceitual = modelo de dados abstrato, que descreve a estrutura de um banco de dados de forma independente de um SGBD particular

    Questão CERTA.
  • GABARITO: CERTO
    Projeto  Conceitual  (ou  Modelo  Conceitual):  é  uma  representação de alto nível (ou seja, próximo do minimundo) do Modelo de Banco de Dados. Esse é o primeiro modelo que aprenderemos a fazer e interpretar. É  a  descrição  de  mais  alto  nível  da  estrutura  do  BD,  NÃO contendo detalhes de Implementação. Nesta etapa não é necessário se preocupar com o tipo de SGBD a ser usado, ou seja o projeto é independente do  tipo  de  SGBD  usado.  É  o  ponto  de  partida  do  projeto  de  Banco  de Dados  e  seu  objetivo  é  representar  a  semântica  da  informação, independente de considerações de eficiência. O objetivo é a representação dos  requisitos  de  dados  do  domínio.  Requisitos:  clareza  (facilidade  de compreensão) e exatidão (formal). 

    BONS ESTUDOS!!!
  • correto. Descrever o modelo conceitual como representação abstrata é uma das definições mais comuns, alem de especificar que ele nao se preocupa com detalhes e limitações por uma tecnologia em particular

  • GAB: CERTO

    https://www.diegomacedo.com.br/modelagem-conceitual-logica-e-fisica-de-dados/#comments

  • gab: CERTO

    INDEPENDE DO SGBD PARTICULAR. DADOS ABSTRATOS.

  • Certíssima, esse é o conceito de modelo conceitual , chamado também de projeto conceitual.

  • Essas questões conceituais dá até gosto de marcar

  • Modelo CONCEITUAL: não descreve como será armazenado os dados e qual SGDB será utilizado.Também independe de LINGUAGEM DE PROGRAMAÇÃO E FRAMEWORK.

  • Certo.

    O modelo conceitual (alto nível) é classificado como um maior nível de abstrato, ou seja, compreensível aos usuários. É independente de hardware, software e SGDB.

  • GABARITO CORRETO

    Projeto do Banco de Dados:

    Modelo conceitual (Alto nível): Conceitua detalhadamente o banco de dados, entidades, relacionamentos, cardinalidade e etc. É abstrato e independe do SGBD ou de alguma tecnologia.

    Modelo lógico (Representativo): Modelo implementável em que se define o tipo de banco de dados: relacional, hierárquico, rede e etc. Dependente do tipo do SGBD.

    Modelo físico (Baixo nível): Modelo implementado em que se específica o armazenamento interno, organização de arquivo, índices e etc. Dependente do SGBD.

    FONTE: Meus resumos.

    "Se não puder se destacar pelo talento, vença pelo esforço".

  • CERTO

    Abstração significa subtração de detalhes. Logo, algo muito abstrato possui poucos detalhes e algo pouco abstrato possui muitos detalhes. Pode-se concluir, portanto, que o modelo conceitual é um nível bastante alto de abstração visto que ele possui poucos detalhes sobre como os dados são armazenados.

    (TCE/PA – 2012) A diferença existente entre o Modelo Entidade-Relacionamento (MER) do Diagrama Entidade-Relacionamento é que enquanto:

    a) o MER é um conjunto de conceitos aplicados na modelagem dos dados, o DER é a

    representação gráfica do modelo.

  • gab.: CERTO.

    Modelo conceitual = independente do tipo de SGBD (do paradigma implementado, se hierárquico, se relacional..) e independente de qual será utilizado.

    Modelo lógico = depende do paradigma/independe do SGBD a ser utilizado.

    Modelo físico = totalmente dependente do SGBD.

  • Gabarito: certo

    ##CESPE-2011-Analista de Processos- MEC

    No modelo conceitual, os objetos, suas características e relacionamentos representam fielmente o ambiente observado, independentemente das limitações impostas por tecnologias, técnicas de implementação ou dispositivos físicos.(CERTO)

    ##CESPE-2012-PEFOCE- Analista de Sistemas

    O projeto conceitual de um banco de dados corresponde à descrição concisa dos requisitos de dados, tipos de entidades, relacionamentos e restrições. Certo

    ##CESPE-2012-TJ-AC-Analista de sistema

    O modelo conceitual consiste em um modelo de dados abstrato por meio do qual é descrita a estrutura de um banco de dados, de forma independente do Sistema Gerenciador de Banco de Dados (SGBD). (Certo)

  • Modelo conceitual

    >>> descreve a estrutura de um bd

    > alto nível 

    > modelo de dados abstrato

    > simples / fácil compreensão

    > não descreve como será armazenado os dado

    > utiliza-se modelo relacionamento

    >>>independe do SGBD

  • "que descreve a estrutura de um banco de dados" na minha opinião torna a alternativa errada.

  • Acho que essa definição diverge um pouco da definição do modelo conceitual. Na minha opinião, o fato de "descrever a estrutura de um banco de dados" é algo inerente ao modelo lógico.


ID
770275
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Com relação ao modelo entidade e relacionamento, julgue os itens subsequentes.


Relacionamento é o nome dado às associações entre as entidades.

Alternativas
Comentários
  • Correto. 

    Não há muito o que se comentar, essa é a definição do conceito de relacionamento.

    abrasss
  • Relacionamento é o fato, acontecimento que liga 02 objetos, 02 "Coisas" do mundo real. São elementos que dão sentido a existência deste objetos e suas inter-relações, sem as quais ficaria de extrema complexidade o entendimento e a compreensão do domínio do problema.

    Ex: Entidades: JOAO E MARIA
          RELACIONAMENTO: Casado com
  • Banco de dados = Conjunto de dados integrados que tem por objetivo atender a uma comunidade de usuários.

    SGBD = Software que incorpora funções de definição, recuperação e alteração de dados em um banco de dados.

    Modelo de Dados = Descrição formal da estrutura de um banco de dados.

    Entidade = Conjunto de objetos da realidade modelada sobre os quais deseja-se manter informações no banco de dados.

    Ocorrência de entidade = Usado caso seja necessário se referir a um objeto em particular (o mesmo que instância em programação)

    Relacionamento = Conjunto de associações entre ocorrências de entidades.

    Papel de entidade em relacionamento = função que uma instância da entidade cumpre dentro de uma intância de relacionamento.

    Cardinalidade (mínima, máxima) de entidade em relacionamento = Número (mínimo, máximo) de ocorrências de entidade associadas a uma ocorrência da entidade em questão através do relacionamento.

    Atributo = Dado que é associado a cada ocorrência de uma entidade ou de um relacionamento.

    Identificador de entidade = Conjunto de um ou mais atributos e relacionamentos cujos valores servem para distinguir uma ocorrência da entidade das demais ocorrências da mesma entidade.

  • Estrutura que indica a associações de elementos de uma ou mais entidade

  • CERTO

    Complementando:  

    Relacionamento – É uma associação entre várias entidades e representa a maneira como essas entidades podem estar logicamente relacionadas.

  • UMA QUESTÃOZINHA EU DIRIA QUE BEM GENÉRICA.

  • GAb C

    O Relacionamento é tb chamado de associação e ela é representada de forma abstrata.


ID
770278
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Não definido

Os objetos do mundo real são mapeados como entidades nesse modelo.

Alternativas
Comentários
  • Quando se refere a objetos do mundo real, pode ser: concreto ou abstrato.

    P/ entender melhor farei uma analogia com uma empresa.

    Uma empresa tem departamentos, que tem funcionários, que trabalham em um projeto...

    Então EMPRESA, DEPARTAMENTO, FUNCIONÁRIO e PROJETO, cada um deles é uma entidade que se relacionam.

    Resposta: CERTA
  • Vi Objeto, pensei entidade!

    Não sei se está correta a minha associação :/, porém acertei.

  • Entidade = Conjunto de objetos da realidade modelada sobre os quais deseja-se manter informações no banco de dados.


ID
770281
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Julgue os itens a seguir, no que se refere aos conceitos de banco de dados.


O local onde são armazenados ou agrupados todos os objetos, programas e dados é denominado esquema.

Alternativas
Comentários
  • Não entendi por que essa resposta certa é "Certo".
  • Também não entendi.
  • Fiz pelo menos umas 5 questões de banco de dados da CESPE para o Banco da Amazônia mal feitas ou com trechos que não pompõe corretamente o sentido... é F*** ... Como tentar entender a questão...

    Citações de Silberschartz (2006)

    "O projeto geral do banco de dados é o esquema de banco de dados." p.5
    "O esquema físico descreve o projeto de bancos de dados no nível físico"  p.5 - Aqui podemos dizer que os dados propriamente ditos são armazenados.
    "O esquema lógico descreve o banco de dados no nível lógico" p.5 - Podemos dizer que os objetos são armazenados no esquema lógico.
    "Um banco de dados também pode ter vários esquemas no nível de view, algumas vezes chamados de subesquemas" p.5 - Os programas podem ser agrupados fazendo utilização do subesquema. 


    Armazenados -  temos os dados e objetos, descritos em esquemas físico e lógico.

    OU

    Agrupados -  temos os programas que fazem uso da camada de subesquema.

    Então, poderiamos dizer que que a alternativa é CERTA, pois temos esses três tipos que esquema que compõem o esquema de banco de dados estão relacionados com objetos,programas e dados...
  • Um ESQUEMA do BANCO DE DADOS é uma coleção de objetos de um banco de dados que estão disponíveis para um determinado usuário ou grupo. Os OBJETOS do esquema  incluem estruturas, tais como tabelas, visões, seqüências, procedimentos armazenados, sinônimos, índices...

    ESQUEMA de um SISTEMA de banco de dados é uma estrutura descrita em uma linguagem formal suportada pelo SGBD. Em um banco de dados relacional, o esquema define as tabelas, os campos em cada tabela e os relacionamentos entre os campos e tabelas.

    Logo a questão falou do ESQUEMA DO BANCO DE DADOS. QUESTÃO CORRETA
  • Nossa demorei para entender essa palavra "Programas" na questão. Possivelmente estão usando como sinônimo para store procedures.
  • Questão mal formulada. Sabemos que pelos conceitos citados pelos colegas estamos falando do significado de esquema.
    Quando eu penso em LOCAL eu penso em algo físico (como disco, hardware, casa, moto, quarto).

    Pra mim a questão estaria certa se estivesse escrita de forma contrária:

    "O esquema define o armazenamento e agrupamento de todos os objetos, programas e dados. (em relação a um banco de dados)"


    Essa palavra LOCAL na minha opinião não cabe de forma alguma nesta questão. Pode ser interpretação errada minha, mas pra mim não faz sentido.
  • han! banco de dados armazena programas.?

  • Linguagens para Manipulação de Dados

    O uso da linguagem DDL (Data Definition Language - Linguagem de Definição de Dados) é definido pelo nível conceitual e interno. Quando há uma separação do nível interno e conceitual que não é absorvido uma visão clara do usuário, o SGBD tem a ação de compilar o DDL, tendo como ação, a permissão de executar as declarações identificadas pelas suas descrições dos esquemas/níveis onde irá armazená-las no catálogo do SGBD.

    Nos casos que essa separação tem um entendimento do usuário utiliza-se a linguagem SDL (Storage Definition Language - Linguagem de Definição de Armazenamento) para a especificação do esquema/nível interno.

    Por final, quando o SGBD usa a arquitetura com os três níveis, é utilizado a linguagem VDL (Vision Definition Language) que serve para a deinição das visões (views) do banco.

    Quando o desenvolvedor tem o conhecimento em uma linguagem SQL (Strucuture Query Language) basta apenas usar a base dos comandos que formam as linguagens DDLDCL e a DML, que estão descritos abaixo:

    • DDL (comandos que criam, alteram ou removem objetos) - CREATE, ALTER, DROP.
    • DCL (comandos que ajudam na segurança do banco de dados) - GRANT, REVOKE.
    • DML (comandos responsáveis pela manipulação dos dados) - SELECT, DELETE, UPDATE, INSERT.


    Leia mais em: Arquitetura de um SGBD http://www.devmedia.com.br/arquitetura-de-um-sgbd/25007#ixzz3gpIkFl6V

  • Questão absurdamente errada!

    Qualquer amador sabe que Esquema descreve o catálogo, a estrutura de como os dados vão estar...não os próprios dados ou programas...Examinador, pede pra sair...

  • Um esquema em DB é o corpo da estrutura que representa a visao logica do bano inteiro, definindo como dados sao organizados e como as relações sao associadas, estabelecendo tambem as restriç~]oes aplicadas aos dados.

  • Ué, certa essa questão? Como assim?

  • ESQUEMA -> É UMA DESCRIÇÃO DA ESTRUTURA DE UM BANCO DE DADOS

  • PQP esquema dá o sentido de algo abstrato! Redação totalmente infeliz!

  • De forma análoga, podemos dizer que o Esquema do Banco de Dados é como o Memorial Descritivo da Obra! Ele descreve o projeto do banco de dados: estruturas, tabelas, campos, visões, índices, funções, entre outros – antes que ele seja de fato implementado (ele raramente é modificado).

    Instância (ou Estado) é o conjunto de dados armazenados no banco e um determinado momento de operação.

    O esquema é a descrição da estrutura dos dados; a instância são os dados em si!

  • Certo.

    Esquema de Banco de dados

    • Identificação
    •  Organização dos dados em um plano que mostrar como O BD é construído
    • Esquema define tabelas, campos e relacionamentos, visões, funções e outros elementos do BD 
    • Um conjunto de regras que governa um banco de dados ou todo o conjunto de objetos pertencentes a determinado usuário.

    Esquema Logico: define restrições

    Esquema Físico: armazenamento de arquivos, dados, indicies...

    Fonte : Meu resumo + questões qc

  • Sem steress, moçada.

    Acredito q o examinador quis se referir ao BD Oracle, que tem essa definição. Segundo[1], "Quando uma conta de usuärio é criada, um esquema também é criado. Um esquema consiste em objetos pertencentes ä conta. Inicialmente, ele estä vazio. Um esquema é um container para tabelas, visöes, c6digo e outros objetos do banco de dados. 

    No entanto, ó termo geral de esquema tem um conceito diferente, como já colocaram!

    Acredito q se o edital previu BD de forma geral(como disciplina, e não como produto comercial Oracle), essa questao deveria ter o gabarito alterado.

    Fonte:

    [1] OCA Oracle Database 11g : Administração I (Guia do Exame 1Z0-052), John Watson

  • Conceito de Esquema muito esquisito, mas fazer o que.

    “Um esquema de banco de dados é basicamente a descrição de sua estrutura. Logo, se dois DERs possuem entidades e relacionamentos que geram o mesmo esquema de banco de banco de dados, pode-se afirmar que eles são equivalentes.

    Estratégia Concursos”

    Correto

  • Mais uma questão mal feita da Cespe! Depois falam que ela é uma boa instituição. A VERDADE é que não é. Esquema é a representação da estrutura de um banco de dados. Não o local. Absurdo quer dizer que seu eu desenhar toda a estrutura de um banco de dados num papel; o papel vai se chamar esquema? Absurdo


ID
770284
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Instância é o nome técnico atribuído ao conjunto de programas utilizados, em um dado momento, para o gerenciamento de determinado banco de dados.

Alternativas
Comentários
  • Instancia: É o nome técnico atribuido ao conjunto ou muticonjunto de tuplas, em um dado momento.
  • Um servidor pode conter um ou mais banco de dados que são armazenados em disco; cada banco de dados pode ter uma ou mais instâncias que abre cada um dos bancos de dados. Os nomes (SID) de instância que utilizam o mesmo banco de dados precisam ser únicos. No servido pode haver mais de uma instância com o mesmo nome (mas que abre diferentes banco de dados). A instância existe na memória do servidor, no Oracle, por exemplo, é composta de um grande bloco de memória alocado em uma área chamada System Global Area (SGA).

    Fontes:
    - http://aprenderoracle.com/2011/03/13bancodedados/
    - Orcale 10g - Manual do DBA
  • Uma instância é a combinação da memória e dos processos que são parte de uma instalação em funcionamento. A instância é usada para a gerência e acesso ao banco de dados.
  • Segundo o Navathe, os dados no banco de dados em um determinado momento no tempo são chamados de estado ou instante do banco de dados ou conjunto atual de ocorrências ou instância do banco de dados

    Sistema de Bancos de Dados, Navathe, 6° edição ,p. 21
  • Questão errada! Ela se refere a SGBD, conforme [1] exemplifica:
    SGBD eh o software q trata de todo o acesso ao BD. Ex.: usuario faz uma consulta, usando SQL; o SGBD intercepta esse pedido; o SGBD faz algumas inspeções, como permissão de acesso do usuario, mapeamento correspondente etc; o SGBD executa operações necessarias sobre o BD.
    Existem várias definições para instância em BD, dependendo do contexto.
    Instância pode ser o instantaneo do BD em um determinado instante no tempo[2].  Exemplo, quando um novo funcionario eh contratato e seus dados funcionais sao inseridos no BD, nesse exato momento, temos uma instancia do BD com esse novo valor.
    Instancia, no projeto lógico, tbm pode ser uma entidade concreta do mundo real, com todos os atributos. Por exemplo, o funcionario joao, idade 42, e telefone tal, eh 1 instancia do esquema funcionario.
    Já para a arquitetura Oracle[3], a instância eh composta de um grande bloco de memória alocado em uma área chamada SGA, juntamente com alguns processos em segundo plano que interagem entre SGA e os arquivos de banco de dados no disco.
    Resumindo, para a arquitetura do Oracle, instância eh a combinação da memória e dos processos que são parte de uma instalação em funcionamento.
    Aproveitando o gancho da definição de [2] sobre instância, ela eh diferente de esquema, q eh o projeto logico do BD(a estrutura de um banco, com suas tabelas, visões, seqüências, procedimentos armazenados, sinônimos, índices...), enquanto q instancia seria o esquema com algum conteudo, a cada momento em q eh analisado

    Fonte:
    [1] Introdução a sistemas de bancos de dados, Por C. J. Date
    [2] Silberchatz, Projeto de Banco de Dados.
    [3] Oracle Database 11G: Manual do DBA,  Bob Bryla,Kevin Loney
  • O erro aqui está no termo conjunto de programas utilizados. Segundo Silbershatz, ... a coleção das informações armazenadas no banco de dados em um determinado momento é uma instância de banco de dados.
  • Instância do banco de dados: Conjunto de dados armazenados em um banco de dados em um determinado instante do tempo. São valores contidos no banco de dados em um determinado momento, isto é, o conjunto de informações contidas num banco de dados em um determinado instante.
  • Ano: 2014 Banca: FCC Órgão: TJ-AP Prova: Analista Judiciário - Área Apoio Especializado - Tecnologia da Informação

     

    Em um determinado momento, a coleção das informações armazenadas em um banco de dados é

    a) o esquema desse banco de dados.

    b) uma instância desse banco de dados.

    c) um metamodelo desse banco de dados.

    d) o projeto geral desse banco de dados.

    e) uma partição desse banco de dados.

     

    Resposta: B

  • Instância são os dados naquele instante.

  • RESPOSTA E

    INSTÂNCIA=INSTANTE

  • Conjunto de DADOS armazenados em um período de tempo (Instância)

  • Correção: SGBD é o nome técnico atribuído ao conjunto de programas utilizados, em um dado momento, para o gerenciamento de determinado banco de dados.

  • Correção: SGBD é o nome técnico atribuído ao conjunto de programas utilizados, em um dado momento, para o gerenciamento de determinado banco de dados.

  • GAB.: E

    Instância é uma tupla em um determinado instante. É considerada uma coleção de informações em memória.

  • Os bancos de dados mudam a medida que informações são inseridas ou apagadas

    A coleção de informações armazenadas é chamada de INSTÂNCIA do banco de dados (mudam com frequência)

    O projeto geral do banco de dados é chamado ESQUEMA do banco de dados (não mudam com frequência)

  • entidade ORGAO_MODINHA

    instância PRF

  • Instância (ou Estado) é o conjunto de dados armazenados no banco e um determinado momento de operação

    O esquema é a descrição da estrutura dos dados; a instância são os dados em si!

    ###########################################################################

    QUESTÕES SOBRE O TEMA:

    Num sistema de banco de dados, o conceito de instância é definido:

    a) pelo conjunto de dados armazenados no banco num determinado momento de operação.

    (CGU – 2012) O projeto geral do banco de dados é:

    a) o esquema do banco de dados.

  • Gabarito: errado

    Esquema: é uma descrição da estrutura de um banco de dados.

    Um esquema de banco de dados é um conjunto de regras que governa um banco de dados ou todo o conjunto de objetos pertencentes a determinado usuário.

    Instância (ou Estado) : é o conjunto de dados armazenados no banco e um determinado momento de operação.

    O esquema é a descrição da estrutura dos dados; a instância são os dados em si!

  • Esquema

    • é uma DESCRIÇÃO da estrutura de um bd
    • administra um bd ou todo o conjunto de objetos pertencentes a determinado usuário.

    Instância (ou Estado) : 

    • é o conjunto de DADOS armazenados no banco


ID
770287
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Julgue os itens 63 e 64, acerca de independência dos dados.


Independência de dados lógica é a capacidade de modificar o esquema lógico sem que, com isso, qualquer programa de aplicação precise ser reescrito. Modificações no nível lógico são necessárias, ocasionalmente, para aprimorar o desempenho.

Alternativas
Comentários
  • Segundo as 13 regras de Codd:

    10.Independência lógica de dados:
    • Programas de aplicação ou atividades de terminal permanecem logicamente inalteradas quaisquer que sejam as mudanças de informação que permitam teoricamente a não alteração das tabelas base.
    Para aprimorar desempenho creio que as modificações no nivel fisico seriam necessarias.
  • Acho que o erro da questão está em mencionar "esquema lógico", sendo que a arquitetura de três esquemas apenas define os esquemas: interno, conceitual e externo ou visão.
  •  


    Independência de dados

    Vimos três níveis de abstração pelos quais o banco de dados pode ser visto. A habilidade de modificar a definição ded um esquema em um nível sem afetar a definição de esquema num nível mais alto é chamada de independência de dados. Existem dois níveis de independência dos dados:

    • Independência física de dados: é a habilidade de modificar o esquema físico sem a necessidade de reescrever os programas aplicativos. As modificações no nível físico são ocasionalmente necessárias para melhorar o desempenho;
    • Independência lógica de dados: é a habilidade ded modificar o esquema conceitual sem a necessidade de reescrever os programas aplicativos. As modificações no nível conceitual são necessárias quando a estrutura lógica do banco de dados é alterada (por exemplo, a adição de contas de bolsas de mercado num sistema bancário).

    A independência lógica dos dados é mais difícil de ser alcançada do que a independência física, porém os programas são bastante dependentes da estrutura lógica dos dados que eles acessam.

    O conceito de independência dos dados é similar em muitos aspectos ao conceito de tipos abstratos de dados em modernas linguagens de programação. Ambos escondem detalhes de implementação do usuário. Isto permite ao usuário concentrar-se na estrutura geral em vez de detalhes de baixo nível de implementação.

    Fonte: http://www.ime.usp.br/~andrers/aulas/bd2005-1/aula4.html

  • A questão está errada por causa do trecho "Modificações no nível lógico são necessárias, ocasionalmente, para aprimorar o desempenho."

    De acordo com o livro Fundamental of Database Systems, 6ª Edição, página 36, do Navathe:

    "Changes to the internal schema may be needed because some physical files were reorganized—for example, by creating additional access structures—to improve the performance of retrieval or update."

    Mudanças no esquema interno podem ser necessárias devido a alguns arquivos físicos serem reorganizados – por exemplo, através da criação de estruturas de acesso adicionais – para melhorar o desempenho de recuperação ou atualização.

    Abraços.
  • Segundo Navathe:

    Independência lógica de dados: é a capacidade de alterar o esquema conceitual sem mudar o esquema externo ou os programas.

    Independência física de dados: é a capacidade de alterar o esquema interno sem mudar o esquema conceitual.
  • Segundo Navathe (2011, p.23) a questão estaria correta da seguinte maneira,
    "Independência de dados lógica é a capacidade de modificar o esquema lógico(O MESMO QUE ESQUEMA CONCEITUAL) sem que, com isso, qualquer programa de aplicação precise ser reescrito. Modificações no nível INTERNO são necessárias, ocasionalmente, para aprimorar o desempenho."

    O.B.S: Não reescrevi novamente o que estava no livro pois os colegas acima já citaram. Os comentários foram excelentes.


    Bibliografia:

    Sistemas de Banco de Dados-6 edição
    Autor: Navathe; Elmasri
    Capítulo 2, subtítulo 2.2 Arquitetura de três esquemas e independência de dados

  • Celio Pontes, para aprimorar desempenho creio que as modificações no nivel fisico não são necessárias.

    Quem "trabalha" no nível físico, em geral, são os desenvolvedores do SGBD, ou seja, o pessoal que trabalha desenvolvendo o Oracle, o PostgreSQL, o SQL Server etc. O programador "comum" não chega a ter, de forma geral, acesso ao nível físico.

    Normalizar ou desnormalizar relações pode diminuir ou aumentar o desempenho de um banco de dados, e essa é, por exemplo, uma forma de influenciar o desempenho sem precisar de acesso ao nível físico.

  • Quanto as terminologias usadas:
    Elmasri e Navathe nunca usaram em seus livros o termo "esquema lógico". Isso realmente existe? Há uma diferença grande entre "conceitual" e "lógico". Não seria, este, o principal (ou pelo menos um) erro da questão? Alguém conhece/indica uma bibliografia que use o termo "esquema lógico"? O mesmo vale para o padrão arquitetural ANSI-SPARC, que usa o termo "conceptual schema".

  • Segundo Navathe é possvel definir dois tipos de independência de dados:

    1. Independência lgica de dados - a capacidade de alterar o esquema conceitual sem ter de alterar os esquemas externos ou os aplicativos.

    2. Independência fisica de dados - a capacidade de alterar o esquema interno sem ter de alterar o esquema conceitual.

    fonte: Estratégia Concursos.

  • Independência de Dados: capacidade de modificar a definição dos esquemas em determinado nível, sem afetar o esquema do nível superior  

    Independência de dados lógica: é a capacidade de alterar o esquema conceitual sem mudar o esquema externo ou os programas. Porém, para tipos novos ou removidos, há sim que se realizar alterações para acomodá-los no esquema externo (do conceitual para o lógico).  

    Independência física de dados: refere-se à capacidade de mudar o esquema interno sem ter de alterar o esquema conceitual. Consequentemente, o esquema externo também não precisa ser modificado.

    Outras questões:

    Q290932: Independência lógica de dados é a capacidade de modificar o esquema lógico sem a reescritura de nenhum programa de aplicação, sendo ocasionalmente necessárias modificações no nível lógico para o aprimoramento do desempenho. (E)

    Q103200: Devido à independência de dados, provida pela referida arquitetura, as modificações do “esquema conceitual” — tais como a adição ou a remoção de um tipo de registro (ou item) de dados — não causam ou requerem alterações no “esquema externo” ou nos programas de acesso ao banco de dados. (E)

    Q103199: Na arquitetura em questão, a independência lógica de dados consiste na capacidade de alterar o “esquema interno” sem mudar o “esquema conceitual”. (E)

    Q69764: Se um sistema de banco de dados provê independência física dos dados, é correto inferir que esse sistema também permite independência lógica de dados. (E)

    Q40511: Modificações no nível físico da arquitetura de banco de dados relacionais podem ser feitas sem a necessidade de reescrita de consultas SQL. (C)

  • GABARITO ERRADO!

    .

    .

    Independência lógica de dados é a capacidade de alterar o esquema conceitual sem ter de alterar os esquemas externos ou os programas de aplicação. Podemos alterar o esquema conceitual para expandir o banco de dados (acrescentando um tipo de registro ou item de dado), para alterar restrições ou para reduzir o banco de dados (removendo um tipo de registro ou item de dado).

    Independência física de dados é a capacidade de alterar o esquema interno sem ter de alterar o esquema conceitual. Logo, os esquemas externos também não precisam ser alterados. Mudanças no esquema interno podem ser necessárias porque alguns arquivos físicos foram reorganizados — por exemplo, ao criar estruturas de acesso adicionais — para melhorar o desempenho da recuperação ou atualização.

    .

    .

    Sistemas de Banco de Dados, Navathe, 6ª edição.

  • É f*da ter que diferenciar toda hora essa mistureba de nível externo, conceitual e interno com modelo conceitual, lógico e físico! Que bagunça que isso apronta!

  • IndepEndencia logiCa é capacidade de alteral o nivel Conceitual sem alterar o Externo

  • O erro está na parte final da questão.

    Para Navathe, esquema lógico é sinônimo de esquema conceitual.

    Mudanças no ESQUEMA INTERNO podem ser necessárias devido a alguns arquivos físicos serem reorganizados – por exemplo, através da criação de estruturas de acesso adicionais – PARA MELHORAR O DESEMPENHO de recuperação ou atualização.

  • ERRADO

    Ano: 2013 Banca: CESPE / CEBRASPE Órgão: TCE-RO Prova: CESPE - 2013 - TCE-RO - Analista de Informática

    projeto físico é direcionado para um SGBD específico como, por exemplo, Oracle, Postgresql ou SQLServer. Decisões tomadas durante o projeto físico para melhorar o desempenho podem afetar a estrutura do esquema lógico.Certo!

    Lógica--> mexer no conceitual sem mexer no esquema externo ou programas .

    Física --> mexer no esquema interno sem alterar o CONCEITUAL .Ou seja, pode haver alteração nos Apps.

    ==================================================================================

    Independência de dados lógica: é a capacidade de alterar o esquema conceitual sem mudar o esquema externo ou os programas. Podemos modificar o esquema conceitual para expandir o banco de dados (adicionando um tipo de registro ou item de dados), variar as restrições ou reduzir o banco de dados (removendo um tipo de registro ou item de dados). No último caso, os esquemas externos que se referem apenas aos dados remanescentes não precisariam ser afetados. Após uma reorganização lógica no esquema conceitual, os programas que utilizam os construtores do esquema externo devem funcionar como antes da reorganização. As alterações nas restrições podem ser aplicadas ao esquema conceitual, sem afetar os esquemas externos ou os programas

    Independência física de dados: refere-se à capacidade de mudar o esquema interno sem ter de alterar o esquema conceitual. Conseqüentemente, o esquema externo também não precisa ser modificado. As mudanças no esquema interno podem ser necessárias para que alguns arquivos físicos possam ser reorganizados — por exemplo, pela criação de estruturas de acesso adicionais — para aperfeiçoar o desempenho da recuperação ou atualização de dados. Se os mesmos dados permanecem como anteriormente no banco de dados, não deveríamos ter de alterar o esquema conceitual.

    Fonte :SISTEMA DE BANCO DE DADOS NAVATHE pág ;23

  • Para ajudar:

    CESPE Independência lógica de dados é a capacidade de modificar o esquema lógico sem a reescritura de nenhum programa de aplicação, sendo ocasionalmente necessárias modificações no nível lógico para o aprimoramento do desempenho.

    ERRADA.

    CERTA - NÍVEL FÍSICO.

  • Vamos com tudo meu aluno(a), Rumo à Aprovação!

    Gabarito: Errado.

    _____________________________________________________________________________________

    O que é Independência dos Dados?

    Trata-se da habilidade de alterar o conceito dos esquemas de determinado nível, sem afetar o esquema de nível superior.

    _____________________________________________________________________________________

    O que é a Independência Lógica dos Dados?

    É a capacidade de alterar o esquema conceitual sem ter que alterar o esquema externo ou as aplicações do usuário.

    _____________________________________________________________________________________

    O que é a Independência Física dos Dados?

    É a capacidade de alterar o esquema interno sem ter que alterar o esquema conceitual.

    _____________________________________________________________________________________

    RESUMO:

    Independência dos Dados = sem afetar o esquema de nível superior.

    Independência Lógica (alterar o esquema conceitual) = sem ter que alterar o esquema externo.

    Independência Física (alterar o esquema interno) = sem ter que alterar o esquema conceitual.

    Bons Estudos!


ID
770290
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Modificações no nível físico são necessárias sempre que um requisito for alterado, por exemplo, para melhorar o desempenho do processo de inclusão de registros.

Alternativas
Comentários
  • A independência de dados ocorre sempre de um nível menor para um maior, por exemplo:

    Se o modelo lógico for alterado, não é necessário que o modelo conceitual seja alterado, mas é necessário alterar o modelo físico.

    Sendo assim, alterações que ocorram nos modelos lógico ou conceitual impactam no modelo físico

  • Vale lembrar que a independência física dos dados é a habilidade de modificar o esquema físico sem a necessidade de reescrever os programas aplicativos. As modificações no nível físico são ocasionalmente necessárias para aprimorar o desempenho.
  • Será mesmo que é sempre? Não existe uma única hipótese de mudança que não acarrete mudanças físicas? Essa questão tá muito aberta...

  • Diego Oliveira

    As mundanças físicas que a banca faz referência na questão, baseiam-se em uma compreensão de como o dado é normalmente acessado, a organização dos dados para acelerar a recuperação desses dados e suportar a carga de acesso a esses dados através da aplicação que faz a conexão com esse banco de dados que foi criado em um SGBD. Refere-se também as estruturas de dados auxiliares que vão ser criadas para recuperar esses dados de maneira mais eficiente, as operações transacionais para manipular esses dados e a maneira como os dados estão armazenados em dispositivos de armazenamento.

  • Concordo com o Diego Oliveira. A palavra sempre é muito forte aí e a banca deveria usá-la com cautela. Falar que para todo X, haverá um fato Y é muito abrangente.

  • ERRADA!


    ·  Independência de dados a nível físico: a capacidade de se modificar o modelo físico, sem precisar reescrever os programas da aplicação

    ·  Independência de dados a nível lógico: a capacidade de se modificar o modelo lógico, sem precisar reescrever os programas da aplicação. Modificações no nível lógico são necessárias sempre que a estrutura lógica do BD for alterada. Em alguns casos a recompilação pode ser requerida.


  • O foco do projeto logico é a representacao das relacoes de forma apropriada(os tipos são identificados, as dependencias entre colunas são identificados e o relacionado é definido; e, a partir dai, a normalizacao.

    [1] Afirma q o projeto fisico deve ser derivado do logico e seu foco esta em eficiencia de armazenamento e desempenho. O modelo lógico pode mudar mais tarde, e essa mudança naturalmente exigira mudança tambem no nivel fisico correspondente.

    Fonte:

    [1] Introdução a sistemas de bancos de dados, Por C. J. Date


  • Pessoal nesse caso não é peguinha. A banca utilizou a palavra "sempre" e de fato sempre que uma mudança na lógica ocorrer, ela repercutirá em uma mudança física no banco. É só raciocinar, se mudamos a lógica de um banco estamos fazendo isso no objetivo de obter melhor desempenho e performance e isso precisa ser fisicamente alterado senão não faz sentido algum.


    Agora se pelos mesmos motivos de desempenho e performance, alteramos o projeto físico sem precisar alterar o projeto lógico, temos o que chamamos de independência física dos dados, o que no caso é ideal e mostra que o projeto lógico foi bem desenvolvido.

  • A independência de dados ocorre quando uma alteração em um nível não acarreta na necessidade de modificação do nível SUPERIOR, p.e. há independência física de dados quando uma alteração do modelo físico não acarreta em uma necessidade de alteração do modelo lógico e/ou modelo conceitual, e há independência lógica de dados quando uma alteração do modelo lógico não acarreta em uma necessidade de alteração do modelo conceitual

    Apesar de ser algo IMPLÍCITO, não lembro da LITERATURA falando que a independência de dados EXIGE uma alteração do nível INFERIOR aquele onde houve mudanças, apesar de estar correto =S

    Resumindo: você pode ter independência lógica de dados e ser obrigado a alterar o nível físico, mas a alteração deste não é característica da independência lógica, e sim uma consequência

    Fonte como exemplo:

    06

    Q252652

    Aplicada em: 2012

    Banca: FUMARC

    Órgão: TJ-MG

    Prova: Técnico Judiciário

    Segundo Elmasri & Navathe, a arquitetura de três esquemas pode ser usada para explicar melhor o conceito de independência de dados. Com relação a esse conceito e a arquitetura de três esquemas, analise os itens a seguir, marcando (V) para o item verdadeiro e (F) para o item falso.

    ( ) Independência de dados lógica é a capacidade de alterar o esquema interno sem mudar o esquema externo. 

    ( ) Independência física de dados é a capacidade de mudar o esquema interno sem ter de alterar o esquema conceitual. 

    ( ) Independência de dados é a capacidade de mudar o esquema em um nível do sistema de banco de dados sem que ocorram alterações do esquema no próximo nível mais alto. 

    ( ) Com a independência de dados, mudanças em um nível não requer mudança no nível superior, pois somente o mapeamento entre os dois níveis é modifcado. Esse mapeamento não traz nenhuma sobrecarga (overhead) durante a compilação ou execução de uma consulta.

    Assinale a opção com a sequência CORRETA.

    Ênfase nas duas do meio

     

     

  • Sempre que houver alteração no modelo conceitual ou lógico, haverá sim, uma alteração no nível físico. Normalizar o banco, por exemplo.

    Agora, REQUISITOS, depende se são os do banco, os do software ou os do sistema...A questão não disse! haha

  • "sempre que um requisito for alterado". Fala sério e se um requisito altera a força da senha de um usuário? Isso mudará o modelo físico? Não, o modelo físico poderá continuar como estava, a alteração se dará na aplicação. A não ser que a validação da força da senha seja realizada no Banco.

    Se alguém souber a fonte para responder a afirmação do SEMPRE, comenta aí

  • Gabarito: Certo.

    Marquei certo depois de uns 5 minutos encarando a questão. Não sei se a justificativa que associei está correta, inclusive agradeço se algum colega da área de TI puder me mandar uma mensagem depois confirmando. Pensei: Ele vai realizar uma mudança no processo de inclusão, isto é, armazenamento de dados. Como a alteração se dá no armazenamento, ocorre uma mudança a nível físico, necessariamente.

    Bons estudos!

  • Meu raciocínio:

    Sabemos que a abstração e a independência de dados (capacidade de se alterar uma camada sem afetar as superiores) decresce na ordem: modelo conceitual, modelo lógico e modelo físico.

    Portanto, quando a questão afirma que "Modificações no nível físico são necessárias sempre que um requisito for alterado, por exemplo, para melhorar o desempenho do processo de inclusão de registros" entendo e leio como:

    "modificações no nível físico são necessárias quando há modificações no nível superior"

    Como a independência diminui no nível físico, faz sentido entender que alteração da camada superior afete também sua própria organização.

  • C - L - F

    C - L - F

    C - L - F

  • O Nível Físico é a parte final do banco de dados. Nessa fase trabalhamos a otimização de desempenho do banco de dados. Ou seja, cada vez que um requisito é modificado é preciso uma alteração, para sempre manter o máximo de desempenho no banco.

  • Gabarito: certo

    Basicamente, se você alterar os níveis baixos você não precisará alterar os de cima, pela independência entre os níveis físicos e conceitual /lógico. Mas isso não quer dizer que se for alterado os de cima não irá alterar os de baixo.

    Logo de baixo pra cima a alteração não interfere. Porém, se a alteração for de cima para baixo poderá interferir ... No caso da questão ela ainda ressaltou ''SEMPRE''

    Nível externo

    Nível conceitual/lógico

    Nível interno

    •  Independência Lógica dos Dados :  capacidade de alterar o esquema conceitual sem precisar modificar os esquemas externos ou programas/aplicações.

    • Independência Física dos Dados: capacidade de alterar o esquema interno sem ter de alterar o esquema conceitual. 

  • Acho que a questão quis dizer o seguinte (mudando a ordem para esclarecer):

    Sempre que um requisito for alterado, por exemplo, para melhorar o desempenho do processo de inclusão de registros, modificações no nível físico são necessárias.

    Se preciso melhorar a inclusão de registros preciso mudar o nível físico.

    Simples assim.

    GABARITO CERTO.


ID
770293
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Julgue os itens que se seguem, a respeito do modelo relacional.


O processo de mapeamento do modelo entidade relacionamento para o modelo relacional tem como objetivo evitar as anomalias de acesso concorrente.

Alternativas
Comentários
  • É no SGBD que se define o controle de acesso concorrente e não no modelo entidade relacionamento.

    Resposta Errada.
  • A abordagem ER é voltada à modelagem de dados de forma independente do SGBD considerado. É adequada para construção do modelo conceitual. Já a abordagem relacional modela os dados a nível de SGBD relacional. Um modelo neste nível de abstração é chamado de modelo lógico.
    Dessa forma, o processo de mapeamento do modelo entidade relacionamento para o modelo relacional tem por objetivo implementar os dados representados de forma abstrata no módelo ER, o que significa que ocorre uma transformação de um modelo mais abstrato para um modelo que contem mais detalhes de implementação.

    Questão ERRADA.
  • O trecho "para o modelo relacional" está INCORRETO, podendo ser substituído corretamente por "para o modelo lógico"

    O trecho "como objetivo evitar as anomalias de acesso concorrente" está INCORRETO. onde o certo deveria ser "como objetivo estabelecer a estrutura lógica da base de dados"

     

  • ERRADO

     

    MUITA GENTE CONFUNDE: o modelo lógico não é o modelo relacional!

    O modelo relacional é um dos modelos possiveis no modelo lógico, assim como o modelo de rede, hierarquico, orientado ao objetvo. 

  • A abordagem ER é voltada à modelagem de dados de forma independente do SGBD considerado. É adequada para construção do modelo conceitual. Já a abordagem relacional modela os dados a nível de SGBD relacional. Um modelo neste nível de abstração é chamado de modelo lógico.

    Dessa forma, o processo de mapeamento do modelo entidade relacionamento para o modelo relacional tem por objetivo implementar os dados representados de forma abstrata no módelo ER, o que significa que ocorre uma transformação de um modelo mais abstrato para um modelo que contem mais detalhes de implementação.

  • O trecho "o processo de mapeamento do modelo entidade relacionamento para o modelo relacional (...)" se refere ao PROJETO LÓGICO de banco de dados, que determina a transformação do modelo conceitual de alto nível (normalmente E-R) para um modelo lógico no modelo de dados específico (normalmente relacional).


    Um dos objetivos dessa fase seria a de reduzir informações redundantes nas duplas, para que as ANOMALIAS DE INSERÇÃO, ATUALIZAÇÃO ou EXCLUSÃO não sejam provocadas.


    A assertiva cita "anomalia de acesso concorrente", ou seja, está ERRADO.


    Obs.: a anomalia de acesso concorrente é controlada, normalmente, através do mecanismo de BLOQUEIOS, que pode variar entre arquiteturas de banco de dados, como por exemplo, na arquitetura distribuída.


ID
770296
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

No processo de mapeamento do modelo relacional para o modelo lógico, uma entidade torna-se uma tabela, e o identificador de cada ocorrência de uma entidade, a chave primária da tabela.

Alternativas
Comentários
  • "modelo relacional para o modelo lógico", não seria "modelo relacional é um modelo lógico" deixando a questão "Errada"?
  • Não tinha visto o erro, o certo seria:
    No processo de mapeamento do modelo conceitual para o modelo lógico, uma entidade torna-se uma tabela, e o identificador de cada ocorrência de uma entidade, a chave primária da tabela.
  • Não concordo com o gabarito, pois o modelo relacional está relacionado ao paradigma implementado pelo SGBD (relacional, orientado a objeto, ...) e podemos dizer que, neste caso particular, o modelo relacional é a própria abstração do modelo lógico. O correto seria mapeamento do modelo conceitual para lógico.
  • Acredito que a intenção de quem formulou a questão era falar sobre o mapeamento de um modelo lógico em uma abordagem relacional. A questão está mal formulada, pois a abordagem relacional deve ser entendida como um paradigma, representada pelos modelos conceituais, lógicos e físicos. Deveria ter sido anulada a questão, mas Cespe é Cespe...
  • O conceito de modelo relacional(q consiste em 1 coleçao de tabelas e relacionamentos), eh amplo. Por meio dele, o desenvolvedor, na fase de modelagem conceitual do banco, foca no conceito, e nao na tecnologia q vai ser usada; ja na modelagem logica, o desenvolvedor vai criar um modelo logico(aplica normalizacao, chaves etc, e e' mais dependente da tecnologia q se vai usar). O desenvolvedor, entao, com base no modelo logico, elabora o modelo fisico, inteiramente dependente da tecnologia a usar.
    Entao, conclui-se q o mapeamennto ocorre do modelo conceitual para o logico, e nao do relacional para o logico, visto q o modelo relacional eh o modelo 'geral' de dados q se vai utilizar.
    Acho q deveria ser anulada.

    Referencia: http://www.devmedia.com.br/modelo-entidade-relacionamento-mer/19821
  • Apesar do cespe ter dado como correta a questão, a considero errada. Parece que temos que desaprender o que aprendemos para responder algumas questões do cespe.
    Modelo relacional, assim como o orientado a objetos, objeto relacional, multidimensional... são tipos de modelos de dados usados nos SGBDs.
    Se a alternativa falasse em mudança do modelo conceitual para o lógico, ai sim, estaria mais coerente.
  • Pessoal, Silberchatz(SBD, 2006, pg 134) afirma q na fase de projeto logico, o projetista mapeia o esquema conceitual de alto nivel para o modelo de dados de implementacao do SBD a ser usado, q, normalmente, eh o modelo relacional.
    So q ele nao afirma mais nada a seguir(nao no mesmo topico). E ai, fica a confusao? seria esse relacional o msm q logico, ou ha 1 mapeamento relacional-logico ainda??
    Abaixo, a transcrição exata do q afirma o renomado autor:

    "Na fase de projeto lógico, o projetista mapeia o esquema conceitual de alto nível para o modelo de dados de implementação do sistema de banco de dados que será usado. O modelo de dados de implementação normalmente é o modelo de dados relacional, e essa etapa geralmente consiste em mapear o esquema conceitual definido usando o modelo entidade-relacionamento em um esquema de relação."
    Anotado!

  • Na minha concepção, o modelo conceitual é aquele completamente independente
    de uma tecnologia específica. O modelo relacional é um tipo de representação de um modelo conceitual.
    Logo, transformar o modelo relacional no modelo lógico, nada mais é do que dizer "transformar o modelo conceitual no modelo lógico".
    Baseio isso no livro do Peter Rob oitava edição.
  • mal formulada a questão, mas o que o examinador fez foi chamar o Modelo Entidade Relacionamento de Peter Chen de Modelo Relacional.
  • Digamos que modelo relacional fosse o modelo conceitual ou o famoso modelo ER.

    A segunda parte da questão diz:

    "uma entidade torna-se uma tabela"

    Sempre mesmo? Eu achava que nos casos do modelo conceitual existir relação binaria (1:1), duas entidades deveriam se tornar uma só no modelo lógico.


    http://marcelmesmo.blogspot.com.br/2011/08/mapeamento-para-esquema-logico.html#.UmBFjVCfizg
  • Essa questão é bastante capiciosa pois inverte a ordem natural das coisas:

    Quando faz-se a transição do modelo conceitual para o modelo lógico é escolhido um paradígma (O.O., estrutural, relacional e etc)

    Ele apenas inverteu um pouco essa ordem, foi como dizer: "No modelo lógico é implantado o modelo relacional" para "No modelo relacional é implantado o modelo lógico"(Ou melhor: o modelo relacional compreende o modelo lógico).

    Nesse caso ele inverteu a ordem natural da ocorrência dos conceitos aos quais estamos acostumados a aprender, sem no entando mudar o significado com essa inversão de nehum deles. Acredito que esse foi o raciocínio do elaborador e confesso que também errei essa questão por não ler com atenção. 
  • Existem vários tipos de modelos lógicos, um deles é o modelo relacional (quando se decidiu optar pela modelagem para um banco relacional, clássico.). onde o SGBD não foi definido, mas a classe de banco sim, relacional, por exemplo.E por definição padrão das principais correntes ideológicas. NÃO existe atributo multivalorado em um modelo relacional.

    O identificador, torna-se uma chave CANDIDATA, não necessariamente primária. A escolha de uma chave primária dentre os identificadores vai ocorrer segundo critérios do negócio e opções. Em um caso específico onde seja garantido a existência de um único identificador (o que nunca posso garantir, pois sempre posso criar um novo campo como identificador) e a necessidade de criação de uma chave primária.
    ERRADO!
    Pensem da seguinte forma....eu posso ter mais de um identificador por entidade. Logo isso faria eu ter mais de uma chave primária por tabela? Sabemos que não se pode ter mais de uma chave primária por tabela, devido a sua estrutura lógica de organização.
    Então essa afirmação está a ERRADA!  
  • Vejo essa questão como mal-elaborada. Um modelo relacional é um modelo lógico, então a entidade já é uma tabela, não se torna uma, o identificador é uma chave primária, não se torna uma...

  • Galera essa questão tá errada mesmo, não adianta ficar fazendo engenharia reversa pra tentar entender o que o autor quis dizer. O que ele quis dizer (precariamente) é problema dele.

  • Questão complicada de resolver. Interpretar "modelo relacional" como "modelo conceitual" já ajuda. Parece que ele quis dizer que, ao converter um MER em um modelo lógico, as entidades se tornam tabelas e os identificadores, chaves primárias. 

  • Pessoal é o que o amigo [Marcelo Mendonca] falou, e falou muito bem ! A questão está ERRADA e ponto. Para entender melhor imagine aquela pessoa orgulha, que você não gosta muito, pois nunca admite que está está errada mesmo quando erra, lembrou ? Então isso é CESP.

  • O IDENTIFICADOR de cada da ocorrência de uma entidade chama-se mesmo chave primária, mas poderia ser uma chave candidata também! Identificaria do mesmo jeito, mas não seria a primária...Quanto à primeira parte, está tudo certo, já que depois do modelo conceitual, precisamos usar o SQL, se for um modelo nrelacional, para implementarmos lógicamente o banco, e definir suas tabelas, restrições...

  • quem fez a questoa nao estudou...

     

    No processo de mapeamento do modelo conceitual (esse seria o correto) para o modelo lógico

  • GABARITO ERRADO!

    .

    .

    O MODELO RELACIONAL EM SI JÁ É O MODELO LÓGICO.

    .

    fonte: CAVALEIRO TEMPLÁRIO

  • Não entendi !! O modelo relacional é o modelo lógico como eu vou mapear do relacional para lógico se são a mesma coisa .O correto seria mapear do conceitual para o lógico.

    Conceitual --> DER( diagrama entidade relacionamento ) e MER ( modelo entidade relacionamento)

    -->entidades , atributos ...

    lógico --> MR ( modelo relacional )

    --> tabelas , e tuplas

    físico

    =============================

    Aqui ela usou correto os termos , porém errou no proposito do mapeamento .

    Cespe ;O processo de mapeamento do modelo entidade relacionamento para o modelo relacional tem como objetivo evitar as anomalias de acesso concorrente.Errado ( pois quem faz isso e o SGBD)

  • Provavelmente esse examinador tinha/tem certo retardad0 mental (nada contra, tbm tenho).

    No mapeamento do modelo relacional para o modelo lógico, uma entidade torna-se uma tabela e o identificador de cada ocorrência de uma entidade torna-se a chave estrangeira da tabela. ERRADO

    No processo de mapeamento do modelo relacional para o modelo lógico, uma entidade torna-se uma tabela, e o identificador de cada ocorrência de uma entidade, a chave primária da tabela. CERTO.

    Ou seja, o início do enunciado das duas questões, NO MUNDO DELE, tá fazendo total sentido.

  • A grande deixa da questão está "No processo de mapeamento do MR para o lógico"

    Neste caso, insere-se o modelo conceitual.

    Também errei por não conseguir compreender o enunciado.

  • Cuidado! O gabarito está trocado.

    Questão errada.

  • O Modelo Lógico ja é o Modelo Relacional.

  • Já fiz 4 questoes dessa. Todos no mesmo estilo e anos diferentes, todas certas. Então, rapaziada, devemos levar essa jurisprudencia para a prova. Não interessa o que diz o "manual". Quem é da área do Direito vai entende isso perfeitamente.

  • modelo relacional já é o modelo lógico. Tem nada que mapear.


ID
770299
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Julgue os itens seguintes, a respeito do processo de normalização.


Uma relação está na terceira forma normal se ela contém dependências funcionais e também dependências transitivas.

Alternativas
Comentários
  • Para uma tabela estar na terceira forma normal, além de estar na segunda forma ela não deve conter dependências transitivas. Um jeito de verificar esta norma é refazer a leitura dos campos fazendo a pergunta: Este campo depende de outro que não seja a chave? Se Sim, temos uma dependência transitiva..
  • 3 FN - Deve está na 2 FN e não possuir dependencias transitivas.
  • E se a questão finalizasse na primeira afirmaçao, estaria correta?

    Uma relação está na terceira forma normal se ela contém dependências funcionais.

    Certo      Errado

    Certo, se a dependencia funcional for total; se for parcial, nao estaria, pq nao estaria tambem na 2FN.
    Nesse caso, a resposta seria certo e errado, dependendo da afirmaçao omitida(dependencia parcial ou total).
    Mto provavelmente a questao seria anulada.
    E vcs, o q acham?
  • Na verdade a tabela NÃO pode ter dependência transitiva, exemplo:

    Dentro de uma tabela existe os atributos categoria e salário, esses dois campos tem dependência transitiva pois estão  "ligados" pelo fato de que quanto maior a categoria maior será o seu salário
  • (Q892471) Ano: 2018 Banca: CESGRANRIO Órgão: Banco do Brasil Prova: Escriturário. (Adaptada)

    No âmbito de bancos de dados relacionais, uma tabela que esteja na terceira forma normal (3FN) não pode conter dependências funcionais parciais. (C)

     

    3FN - Não pode conter dependência transitiva. (Precisa está na 2FN, logo na 1FN, também).

  • Terceira Forma Normal (3FN): O objetivo é eliminar dependências transitivas. Uma tabela está na 3FN se, e somente se, estiver na 2FN e cada atributo não-chave NÃO POSSUIR DEPENDÊNCIA TRANSITIVA PARA CADA CHAVE CANDIDATA.

    GAB E


ID
770302
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

A normalização é um processo passo a passo e irreversível de substituição de uma dada coleção de tabelas por sucessivas coleções de outras tabelas; estas, no entanto, possuem uma estrutura progressivamente mais simples.

Alternativas
Comentários
  • Está ERRADO o trecho "irreversível"...pois existe o processo de DESNORMALIZAÇÃO.
  • Complementando a justificativa do colega acima, a segunda parte esta correta, pois, ao normalizar, vc tira a complexidade de dependencias parciais, transitivas, atributos multivalorados etc..criando outras tabelas separadas. Porem, isso compromente tbm o desempenho, visto q, numa consulta, vc precisa acessar mais tabelas.
    Anotado!
  • O processo de reversão existe porém não é a Desnormalização.

    A Desnormalização é voltada ao processo de Tunning, aumentando de forma controlada a redundância de dados para aumentar a velocidade de leitura do banco de dados.

    O processo inverso da Normalização pode ser obtido através da Engenharia Reversa.
  • REVERSIVEL  SEM perda de dados...

  • Q290920

    Ano: 2012 Banca: CESPE / CEBRASPE Órgão: TJ-AC Prova: CESPE - 2012 - TJ-AC - Analista Judiciário - Análise de Sistemas

    Com relação à modelagem relacional de dados, julgue os itens que se seguem.

    A normalização corresponde a um processo passo a passo reversível de substituição de uma dada coleção de relações por sucessivas coleções de relações, as quais possuem uma estrutura progressivamente mais simples e mais regular. CERTO

    Q256464

    Ano: 2012 Banca: CESPE / CEBRASPE Órgão: Banco da Amazônia Prova: CESPE - 2012 - Banco da Amazônia - Técnico Científico - Administração de Dados

    O processo de normalização é reversível em virtude de preservar as informações das variáveis de relação ao longo do processo de substituição dessas variáveis. CERTO


ID
770305
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

A dependência funcional é uma associação que se estabelece entre duas ou mais relações e define-se do seguinte modo: se X e Y são relações, diz-se que X é funcionalmente dependente de Y se cada um dos valores de X em R, em que R é a relação que contém a chave primária, tem associado a si um e um só valor de Y em R.

Alternativas
Comentários
  • Um atributo B possui uma dependência funcional do atributo A se, para cada valor do atributo A, existe exatamente um único valor do atributo B. A dependência funcional é representada por A → B.

    Portanto, não se estabele entre duas ou mais relações, mas sim atributos X e Y dentro de uma mesma relação R.
  • Além disso, está ao contrário . Ele disse que X é funcionalmente dependente de Y (Y → X). Logo cada valor Y tem associado a ele exatamente um valor X.
  • Em uma tabela relacional, diz-se que uma coluna C2 depende funcionalmente de uma coluna C1 ( ou que uma coluna C1 determina a coluna C2) quando, em todas as linhas da tabela, para cada valor de C1 que aparece na tabela, aparece o mesmo valor de C2.
               
               C1 →C2

    Bons estudos!!
  • O colega celio pontes afirmou q a questao ta errada por falar em relaçoes, e nao em atributos. Ja o Gustavo fala em relaçoes.

    Vejamos o q diz os renomados autores:

    F MAchado/M Abreu(2004):
    Dada um entidade qqr, dizemos q um atributo ou conjunto de atributos A eh dependente funcional de um outro atributo B contido na msm entidade, se a cada valor de B existir nas linhas da entidade em q aparece, um unico valor de A. Em outras palavras, A depende funcionalmente de B.
    Comentario: esses autores naõ falam em associaçao de relaçoes(como afirma a questao), mas de dependencia entre atributos na mesma relaçao.

    Navathe, 2006
    A funcionalidade X deetermina Y em um esquema de relacao R, se e somente se, sempre q duas tuplas de r(R) combinarem sobre seu valor X, elas devem necessariamente combinar sobre seu valore Y.
    Comentario: o autor nao fala em associaçao de relaçoes(como afirma a questao), mas de dependencia entre atributos na mesma relaçao.

    Heuser(1999):
    "uma coluna C2 depende funcionalmente de uma coluna C1 quando, em todas as linhas da tabela, para cada valor de C1 que aparece na tabela, aparece o mesmo valor de C2.”.
    Comentario: o autor nao fala em associaçao de relaçoes(como afirma a questao), mas de dependencia entre atributos na mesma relaçao.

    Silberchatz(185):
    Dado um conjunto F de dependencias funcionais, podemos provar q algumas outras dependencias funcionais se aplicam. Dizemos q essas dependencias funcionais sao implicadaas logicamente ppor F.
    Dado um esquema relaçao R, uma dependencia funcional f em R eh implicada logicamente por um conjunto de dependencias funcionais F em R se cada instancia de relaçao r(R) q satisfaz F tambem satisfaz f.
    Comentario: Silberchatz eh excessivamente tecnico na definicao, mas, em essencia, afirma o mesmo q os autores anteriores.
    Assim, concluo q a questao ta errada por falar em relacoes(e nao atributos) para dependencia funcional, e qdo versa sobre os valores de X e Y(quem determina quem - eh o contrario), como apontou corretamente a colega Rosa.
  • Ilustrando o comentário acima:

    Na relação (tabela) EMP, os atributos Cat e Sal possuem dependência funcional pois o atributo (coluna) Cat determina a coluna Sal.

    Desta forma é necessário remover os dois atributos de dentro da relação e criar uma nova relação
    Categoria, contendo apenas a chave primária Cat e o seu atributo Sal
    [tabela5.gif]
  • Segue uma questão que aborda esse assunto:

     

    Ano: 2010 Banca: CESPE Órgão: TRT - 21ª Região (RN) Prova: Analista Judiciário - Tecnologia da Informação

     

    A dependência funcional é uma associação que se estabelece entre dois ou mais atributos de uma relação e define-se do seguinte modo: se são atributos ou conjuntos de atributos, da relação R, diz-se que B é funcionalmente dependente de A se cada um dos valores de A em R tem associado a si um e um só valor de B em R.

     

    Gabarito: Certa

  • Para quem não entende os comentários sem o gabarito e não tem acesso a resposta.

    Gaba: ERRADO

  • Foster, vc leu o comentaŕio mais curtido ou tirou conclusões com base nesse achismo q vc postou?


ID
770308
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Classifica-se como normalizada a tabela que possui tabela aninhada.

Alternativas
Comentários
  • Tabela Aninhada: E quando um campo possui multivaloração.  para atingir a 1 FN deve-se elimina-las. Assim sendo para uma tabela ser normalizada deve possuir no mínimo a 3 FN.
  • Correção da questão:
    Classifica-se como não normalizada a tabela que possui tabela aninhada.
  • Um dos objetivos da primeira forma normal é eliminar o aninhamento de tabelas. 

  • Eu discordo do comentário do Cesar que afirma que "para estar normalizada, a tabela deve possuir no mínimo a 3 FN", por dois motivos:

    Primeiro: existem 5 FNs e não apenas 3.

    Segundo: dependendo da tabela, a 1FN já basta. Pra que eu vou querer normalizar uma tabela na 2FN ou 3Fn se ela não tem as condiçoes de normalização nessas formas.

    Eu, hem!


ID
770311
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Julgue os itens a seguir, no que diz respeito aos conceitos de dicionário de dados.


Linguagem de definição de dados proporciona comandos para definição de esquemas de relações, exclusão de relações, criação de índices e modificação nos esquemas de relações.

Alternativas
Comentários
  • Correto!

    O DDL - Linguagem de Definição de Dados (CREATE, DROP, ALTER) cria e modifica uma tabela.
  • Errei essa questão por achar que a palavra modificação teria a ver com DML , mas aqui ela está corretamente empregada,pois está modificando as relações e com isso definindo os dados. Estou aprendendo que as questões da CESPE exigem um nivel de concentração maior.

ID
770314
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

O dicionário de dados é um repositório utilizado com a finalidade de armazenar informações dos atributos de cada entidade com o maior número de detalhe possível.

Alternativas
Comentários
  • Um dicionário de dados (do inglês data dictionary) é uma coleção de metadados que contêm definições e representações de elementos de dados.

    Dentro do contexto de SGBD, um dicionário de dados é um grupo de tabelas, habilitadas apenas para leitura ou consulta, ou seja, é uma base de dados, propriamente dita, que entre outras coisas, mantém as seguintes informações:

    • Definição precisa sobre elementos de dados
    • Perfis de usuários, papéis e privilégios
    • Descrição de objetos
    • Restrições de integridade
    • Stored procedures (pequeno trecho de programa de computador, armazenado em um SGBD, que pode ser chamado freqüentemente por um programa principal) e gatilhos
    • Estrutura geral da base de dados
    • Informação de verificação
    • Alocações de espaço
    • Índices
  • Fiquei na dúvida sobre o "com o maior número de detalhe possível". Alguém comenta?

  • Também achei subjetiva essa parte da afirmativa.

  • Acertei mas discordo do  "com o maior número de detalhe possível". Ao meu ver o banco de dados deve suprir as necessidades dos usuarios, não adianta fazer um banco o mais completo possivel se a necessidade do cliente não é para tanto.

  • Em uma questão de 2010 o Cespe considerou essa alternativa "O dicionário não se deve ater a detalhes de representação, como, por exemplo, identificar quais usuários, programas ou relatórios utilizam determinado dado" errada. Acho que para a banca o dicionário deve, então, ser sim detalhado.

  • O dicionário de dados é um “mini banco de dados” que contém metadados a respeito das diversas partes que compõem o sistema. 


ID
770317
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

O dicionário de dados corresponde a um banco de dados em separado que contém informações dos componentes do banco de dados. Dessa forma, para manter segurança das informações, estas devem ser obrigatoriamente armazenadas em local diferente do banco de dados no qual se está trabalhando.

Alternativas
Comentários
  • não é armazenado SEPARADAMENTE como cita a questão.
  • "O dicionário de dados corresponde a um banco de dados em separado que contém informações dos componentes do banco de dados. (...)" Ok, é um banco de dados com os metadados do seu BD. Normalmente, as aplicações de BD possuem um banco de dados para os metadados (o dicionário) e um para os dados (a instância).
    "(...)Dessa forma, para manter segurança das informações, estas devem ser obrigatoriamente armazenadas em local diferente do banco de dados no qual se está trabalhando."  Aí ficou errado. O dicionário pode estar tanto no mesmo local dos dados, quanto em local diferente. É possível manter a segurança utilizando apenas um local para os dois, por exemplo, encriptando os metadados. Portanto, questão ERRADA.
    Comentário: é uma boa prática colocar em locais diferentes (por exemplo, dois HDs) para aumentar a segurança (no caso de uma falha física, perde-se apenas um dos dois) e para melhorar o desempenho (pois é possível a leitura em paralelo tanto dos dados quanto dos metadados).

ID
770320
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Julgue os itens seguintes, a respeito de arquitetura de banco de dados.


A principal vantagem da arquitetura de dados em duas camadas é a divisão do armazenamento e do processamento de dados em dois sistemas. Mas esse processo tem um custo que se reflete em considerável aumento do tráfego de dados na rede.

Alternativas
Comentários
  • acredito que ele esteja falando na arquitetira cliente/servidor.
  • Primeiro, vamos à conceituação dos modelos[1]:

    modelo centralizado: Não há qualquer tipo de processamento no cliente, e o servidor participa em tudo, processando todo o resultado e os enviando aos clientes - até mesmo executando as aplicações clientes (uma vez q estes sao terminais burros).
    Modelo em 2 camadas, ou cliente/servidor: os computadores tem capacidade de processamento local, e um conector liga o cliente ao BD. Assim, todo o processamento referente à aplicação/apresentação de dados eh feito localmente, e o cliente so se coneta ao servidor qdo necessario(ex: fazer consulta). E a segunda camada, servidor, dá suporte às consultas, não às aplicações, como ocorre no modelo centralizado, ocasionando menos trafego em relacao aos sistemas centralizados.
    Modelo de 3 camadas, ou thin-client: entre o cliente e o BD ha o servidor de aplicaçao, q hospeda e executa o codigo da aplicação. Todas as requisiçoes chegam ate ele, q as repassam ao BD(mesmo trafego na rede em relação ao 2 camadas, porém, uma vantagem em relacao a este eh q você tem pouca manutencao ou requisitos de recursos no cliente, manutencao centralizada, e requisitos de recursos medios no servidor de aplicacao, e requisitos de recursos altos, e pouca manutencao nos servidores de BD.

    Agora, vamos à questão:

    Achei a questao mal elaborada, porque o modelo em 2 camadas tem a vantagem de menor tráfego em relação ao modelo centralizado, mas tem o mesmo tráfego em relação ao modelo 3 camada - ou seja, nesse quesito, em relação aos modelos de 3 camadas, nao ha vantagem, pois o tráfego eh o mesmo.

    Fonte:

    [1] Oracle Database 11G: Manual do DBA,  Bob Bryla,Kevin Loney


  • Realmente, mal elaborada. Como o colega citou acima.
  • Não achei complicada a questão.

    Tirou a definição do livro do C. J. Date:

     Na arquitetura Cliente-Servidor, o cliente (front_end) executa as tarefas do aplicativo, ou seja, fornece a interface do usuário (tela, e processamento de entrada e saída). O servidor (back_end) executa as consultas no DBMS e retorna os resultados ao cliente. Apesar de ser uma arquitetura bastante popular, são necessárias soluções sofisticadas de software que possibilitem: o tratamento de transações, as confirmações de transações (commits), desfazer transações (rollbacks), linguagens de consultas (stored procedures) e gatilhos (triggers). A principal vantagem desta arquitetura é a divisão do processamento entre dois sistemas, o que reduz o tráfego de dados na rede.

    Ele trocou apenas a questão sobre o tráfego de dados na rede.

    Por isso questão errada.
  •  

     

    GABARITO ERRADO

    Modelo  Cliente/Servidor

    No modelo em duas camadas temos um programa instalado no Cliente e esse programa que acessa o Servidor do Banco de Dados.  O gerenciamento desse tipo de modelo pode se tornar extremamente custoso, pois uma simples alteração da interface pode gerar a necessidade de se atalizar a aplicação de centenas ou até milhares de computadores. Isso não significa que gera aumento de tráfego de rede.

     

  • A principal vantagem da arquitetura de dados em duas camadas é a divisão do armazenamento e do processamento de dados em dois sistemas.(CERTO) Mas esse processo tem um custo que se reflete em considerável aumento do tráfego de dados na rede.(ERRADO)

    Direto ao erro da assertiva: Na realidade diminui o tráfego de dados.


ID
770323
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

A redundância controlada é uma das estratégias utilizadas para melhorar a performance da arquitetura de um banco de dados distribuídos.

Alternativas
Comentários
  • Há dois tipos de redundância de dados: a redundância controlada
    e a redundância não controlada.
    A redundância controlada acontece quando o software tem
    conhecimento da múltipla representação da informação e garante a sincronia
    entre as diversas representações. Para o usuário, tudo funciona como se o
    sistema utilizasse apenas uma base de dados. Esse tipo de redundância é
    geralmente utilizado para possibilitar uma maior performance ao sistema ou
    aumentar sua confiabilidade.

    A redundância não controlada acontece quando a
    responsabilidade pela manutenção e sincronia das diversas representações de
    uma mesma informação fica a cargo do usuário e não do software.


     Fonte: http://carnevalli.googlepages.com/BD_P2_Cap1.pdf
  • GABARITO CORRETO!

    .

    .

    LECIONA NAVATHE, 6ª EDIÇÃO:

    Na prática, às vezes é necessário usar a redundância controlada para melhorar o desempenho das consultas. Por exemplo, podemos armazenar Nome_aluno e Numero_disciplina redundantemente em um arquivo HISTORICO_ESCOLAR porque, sempre que recuperamos um registro de HISTORICO_ESCOLAR, queremos recuperar o nome do aluno e o número da disciplina juntamente com a nota, o número do aluno e o identificador de turma. Colocando todos os dados juntos, não precisamos pesquisar vários arquivos para coletar esses dados. Isso é conhecido como desnormalização. 

  • CORRETO

    Q678762

    Ano: 2016 Banca: CESPE / CEBRASPE Órgão: TCE-PA Prova: CESPE - 2016 - TCE-PA - Auditor de Controle Externo - Área Informática - Analista de Suporte

    A redundância em banco de dados deve ser reduzida, mas não totalmente eliminada.Certo!

    Q580211

    Ano: 2015 Banca: CESPE / CEBRASPE Órgão: MEC Prova: CESPE - 2015 - MEC - Administrador de Dados

    Atributo derivado é aquele que provém de outros atributos ou entidades a ele relacionados. Conceitualmente, durante o processo de normalização, o atributo derivado é redundante e deve ser eliminado; contudo, do ponto de vista de desempenho, pode ser importante manter os atributos derivados em alguns casos.Certo!

    ----------------------------------

    Normalização -> reduz redundância e as chances de inconsistência -> • MAU desempenho para consultas

    Desnormalização -> melhorar desempenho das consultas -> foco na entrega da informação -> perde-se a garantia de consistência dos dados, posto que haverá um banco bem maior->•  BOM desempenho para consultas

    "Segundo o Navathe para consultas e bom ter uma redundância controlada o que melhor ao desempenho : A segunda diretriz é consistente, de certo modo, com as demais declarações da primeira diretriz. Podemos ver também a necessidade de uma abordagem mais formal para avaliar se um modelo cumpre essas diretrizes. É importante observar que essas diretrizes, às vezes, precisam ser violadas de modo a melhorar o desempenho de certas consultas."

     

  • Gabarito: certo

    Normalização = redução da redundância

    Desnormalização: Maior redundância, maior desempenho, consultas mais rápidas.

    Normalização: Menor redundância, menor desempenho, consultas mais lentas.


ID
770326
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

As funcionalidades de um banco de dados em uma arquitetura dividida em duas camadas podem ser divididas em duas categorias: front-end e back-end. As funcionalidades de front-end são as que permitem gerenciar as estruturas de acesso e realizar o desenvolvimento e a otimização de consultas, além do controle de concorrência e recuperação de dados.

Alternativas
Comentários
  • gerenciamento de estruturas de acesso, desenvolvimento e otimização de consultas tem a ver com tunning de banco e é uma tarefa de DBA que está por trás das cenas e nos bastidores na camada back-end.
    A camada de front-end seria as interfaces de programação e aplicações que acessam as bases de dados.
  • Resposta: ERRADA

    A questão inverteu os conceitos. Vejamos uma explicação sobre front end e back end.

    Arquitetura Cliente/servidor: também chamada de arquitetura de 2 camadas. Nessa arquitetura, o cliente (front end) executa as tarefas do aplicativo, ou seja, fornece a interface do usuário (tela, e processamento de entrada e saída). O servidor (back end) executa as consultas no DBMS e retorna os resultados ao cliente. Apesar de ser uma arquitetura bastante popular, são necessárias soluções sofisticadas de software que possibilitem: o tratamento de transações, as confirmações de transações (commits), desfazer transações (rollbacks), linguagens de consultas (SQL) e gatilhos (triggers). A principal vantagem desta arquitetura é a divisão do processamento entre dois sistemas, o que reduz o tráfego de dados na rede.

    Abraços. =)
  • LEMBRAR: Front é a "regra de ouro" do banco de dados! Significa Cliente!


ID
770338
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Julgue os itens a seguir, a respeito de álgebra relacional.


Considere um banco de dados com as seguintes tabelas e campos, representados na forma de um pseudo código.

cliente (nomecliente, codigocliente, cidade, codigoproduto)
chave estrangeira (codigoproduto) referenciado produto
produto (nomeproduto, codigoproduto, descricaoproduto)

Nessa situação, para se encontrarem todos os nomes de clientes que possuem o produto de nome ACME, é correto, ao se utilizar a linguagem SQL, o emprego do código abaixo.

SELECT nomecliente
FROM cliente as c, produto as p
WHERE c.codigoproduto = p.codigoproduto
AND p.nomeproduto = 'ACME';


Alternativas
Comentários
  • Apesar do modelo conceitual estar equivocado, a consulta em questão reflete exatamente o resultado que se espera.

    Bons estudos.
  • Geraldo, onde o modelo conceitual ta equivocado??

    cliente (nomecliente, codigocliente, cidade, codigoproduto)
    produto (nomeproduto, codigoproduto, descricaoproduto)
    chave estrangeira (codigoproduto) referenciado produto

    A consulta abaixo retorna os nomes de todos os clientes(SELECT nomecliente)  relacionados a produtos(WHERE c.codigoproduto = p.codigoproduto), cujo nome do produto seja acme(AND p.nomeproduto = 'ACME')
    Ou seja, dada a tabela cliente e produto, todas as ocorrencias de produtos para um cliente seriam retornadas na consulta pela chave estrangeira em cliente. Com a restriçao da ultima linha, todos os produtos, mas apenas os q possuam o nome acme sao retornados.

    SELECT nomecliente
    FROM cliente as c, produto as p
    WHERE c.codigoproduto = p.codigoproduto
    AND p.nomeproduto = 'ACME';
  • A falta do 'c' em ...nomecliente... não a torna a questão ERRADA?

    O correto não sereia:
    SELECT c.nomecliente
    FROM cliente as c, produto as p
    WHERE c.codigoproduto = p.codigoproduto
    AND p.nomeproduto = 'ACME';
  • Questão correta!

    Só se explicita a tabela ou sigla da tabela quando o nome do campo for igual em pelos menos duas tabelas num Join.Por exemplo, s
    ó precisaria utilizar o c.nomecliente se na tabela produto também tivesse o campo nomecliente. 

ID
770341
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

A operação de junção interna entre duas tabelas X e Y e com critério de junção J tem a função, na álgebra relacional, de concatenar cada linha da tabela X com cada linha da tabela Y sempre que o critério de junção J for verdadeiro. Caso, para uma linha de X, não exista nenhuma linha em Y que torne o critério verdadeiro, a linha de X aparece no resultado concatenada com campos vazios (NULL).

Alternativas
Comentários
  • O descrito acima ocorreria em caso de LEFT JOIN em que a entidade do lado esquerdo no caso a tabela X apareceria na consulta independente de ocorrência na tabela Y, o que não acontece no INNER JOIN.
  • ERRADO

    A junção interna ou INNER JOIN obriga que haja atributos não nulos nas duas tabelas para que seja retornada na consulta
  • Linguagem grega. Entendi foi nada! #APF2018

  • Ok, Join não entra na minha cabeça.

  • INNER JOIN é a interseção entre dois conjuntos (tabelas) A e B.

    ex: A ( Ana, Beto e Caio), B (Fabio, Beto, João)

    INNER JOIN de A e B seria: Beto;

  • ACRESCENTANDO:

    Quem faz o método de junção é o comando INNER JOIN, ele retorna os registros que são comuns às duas tabelas.

  • A operação JUNÇÃO EXTERNA À ESQUERDA (LEFT OUTER JOIN) mantém toda tupla na primeira relação, se nenhuma tupla correspondente é encontrada, então os atributos no resultado de junção serão preenchidos ou "enchidos" com valores null.


ID
770344
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Em um banco de dados relacional, com as relações expressas no código a seguir e utilizando-se apenas as operações de álgebra relacional união, interseção, diferença, junção natural, projeção e seleção, a consulta “Qual a profissão dos clientes que trabalham em alguma empresa de nome ALPHA”, para ser processada, exige, ao menos, a operação de interseção das relações cliente, trabalha e empresa.

cliente (cpf, profissao)
trabalha (cpf, cnpj, datacontratacao)
empresa (cnpj, nome, endereco)

Alternativas
Comentários
  • A questão está ERRADA. A operação de interseção não é exigida, pois o resultado pode ser obtido apenas com junção natural, seleção e projeção. Por exemplo:
    PROJEÇÃOprofissao (SELEÇÃOnome='ALPHA'(cliente JUNÇÃO NATURAL trabalha JUNÇÃO NATURAL empresa))
    Nesse caso, a junção natural irá fazer a relação pelos campos comuns quando idênticos e a seleção irá escolher . Vale notar que está se assumindo que cpf, (cpf,cnpj) e cnpj são as chaves primárias. Caso não sejam, não há como resolver a questão, pois falta informação na questão (dependendo de quais forem as chaves primárias, a questão pode estar certa ou errada).
  • Alguém comenta plz.
  • Oi Pessoal!
    Ao meu ver essa questão pegou no Português,  quando o enunciado diz: "exige, ao menos, a operação de interseção das relações cliente, trabalha e empresa."
    Note que a EXPRESSÃO "ao menos" significa “no mínimo” , ou seja, também conseguiremos realizar o que a questão pede.
    Por isso acho que a questão está correta.
    Por favor, se alguém discordar da minha interpretação, me corrija.

    Bons estudos
  • questão #@$@###!
    o cara que fez é bem imaginativo mesmo hehehehe
    em oracle ficaria assim:
     
    select c.cpf from cliente c 
    intersect
    select t.cpf from trabalha t inner join empresa e on t.cnpj = e.cnpj where
    e.nome = 'ALPHA';

    infelizmente, não dá pra dizer que está errada...
  • Do jeito que está colocado, parece que ele quer fazer uma interseção entre as três relações - para ser processada, exige, ao menos, a operação de interseção das relações cliente, trabalha e empresa - ... ¬¬ ... ERRADO NA HORA !!! Sem nem pensar.

    Tinha tudo para ser uma boa questão ... Mas o português tá uma merda.
  • Essa questão é realmente complicada pelo português. É possível fazê-la usando a interseção das três tabelas e abaixo eu mostro como, mas eu tenho outra consideração a fazer.

    Projeção de Cliente em CPF. Ficamos somente com CPF. Vou chamar de PC
    Projeção de Tabalha em CPF. Ficamos somente com CPF. Vou chamar de PT
    PC interseção PT = CPF comum das duas. Vou chamar de iCPF (primeira interseção)
     
    Join entre Trabalha e iCPF pelo CPF. Vou chamar de iCPFCNPJ
     
    Projeção de iCPFCNPJ em CNPJ. Vou chamar de PCNPJ
    Projeção de Empresa em CNPJ; Vou chamar de PECNPJ
     
    PECNPJ intersceção PCNPJ = iCNPJ (indiretamente, interseção do resultado das duas primeiras com a terceira)
     
    Temos todos os CNPJs comuns.
     
    Join entre iCNPJ e empresa onde nome = ALPHA.
     
    É possível fazer com as interseções. Uma coisa que precisamos pensar a respeito é: se um join possui uma interseção dentro dele.
    Explicando melhor: se academicamente, um join é uma operação que faz uma interseção. Eu não sei se procede, se proceder, a questão nem precisaria de análise.

    Espero ter ajudado.
  • Na minha opinião, a questão está incorreta.  

    De acordo com o Navathe, 6ª Edição:

    "It has been shown that the set of relational algebra operations {σ, π, ∪, ρ, –, ×} is a
    complete set; that is, any of the other original relational algebra operations can be
    expressed as a sequence of operations from this set. For example, the INTERSECTION
    operation can be expressed by using UNION and MINUS as follows:
    R ∩ S ≡ (R ∪ S) – ((R – S) ∪ (S – R))"

    Logo, não é necessário processar a operação de interseção.

    Att.

ID
770347
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

A operação da álgebra relacional SELECT extrai as tuplas específicas de uma relação, e a operação PROJECT extrai atributos específicos de uma relação.

Alternativas
Comentários
  • Correto! 

    Seleção escolhe um subconjunto de tuplas que satisfaça uma condição. E a seleção é representada pela letra grega Sigma. Já a projeção, escolhe as colunas da tabela e descarta as outras. E a projeção é representada pela letra grega Pi.
  • no meu ponto de vista a questão deveria ser anulada ou alterado o gabarito. a operação selection (selecao) e projection (projecao) da algebra relacional. select e project são operadores do SQL.
  • A operação da álgebra relacional SELECT extrai as tuplas (LINHAS) específicas de uma relação, e a operação PROJECT extrai atributos (COLUNAS) específicos de uma relação.

  • Gabarito: CORRETO!

    Select = Supla = Tupla

  • ta moscando?

    SeLect = Linha (tupla)

    projeCt = Coluna

  • PROJEÇÃO (Project) (π) - Operação que SELECIONA AS COLUNAS ESPECIFICADAS na lista de atributos de todas as linhas da relação e as projeta em uma nova tabela.

    SELEÇÃO (Select) (σ) - É uma operação que FILTRA AS LINHAS de uma tabela que satisfaçam um conjunto de condições ou predicados.


ID
770350
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Considere a tabela de uma base de dados relacional definida com a estrutura abaixo.


colaborador (codcolaborador,
nomecolaborador,
codigodepartamento)

Considerando que essa tabela tem um índice sobre as colunas (codcolaborador, codigodepartamento), nessa ordem, julgue os itens subsecutivos.

Esse índice é adequado para ser usado pelo SGBD relacional para acelerar uma consulta na qual é fornecido um valor de nomecolaborador.


Alternativas
Comentários
  • Em regra, nos atributos que tem índice a busca será indexada e nos que não tem, a busca será sequencial, portanto, não haverá utilização de índice.

    Gabarito: Errado
  • Se a busca for feita pelo nomeColaborador (atributo não indexado) não irá ajudar em nada ter as outras colunas indexadas.

  • para ACELERAR uma consulta =usa-se= colaborador (codcolaborador,


ID
770353
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Considere a tabela de uma base de dados relacional definida com a estrutura abaixo.

colaborador (codcolaborador,
                       nomecolaborador,

                       codigodepartamento)


Considerando que essa tabela tem um índice sobre as colunas (codcolaborador, codigodepartamento), nessa ordem, julgue os itens subsecutivos.

Esse índice pode ser usado pelo SGBD relacional para acelerar uma consulta na qual são fornecidos os valores de codcolaborador, codigodepartamento.

Alternativas
Comentários
  • Em regra, nos atributos que não tem índice a busca será sequencial e nos que tem a busca será indexada, portanto, nessa situação haverá utilização de índice e consequente otimização da consulta.



    Gabarito: Certo
  • Indexar sua tabela de dados acelera o acesso aos dados, pois você esta fornecendo ao JET ponteiros aos registros que ele usa para pesquisar os dados sem ter que ler a tabela inteira. Sem a indexação,a pesquisa ocorre (normalmente) de forma sequencial, como já dito no comentário acima.
  • Fez uma ótima escolha!! Bons estudos!!
  • GABARITO CORRETO!

    .

    .

    ACRESCENTANDO:

    Modelo relacional baseia-se em junções e pouco em índices, ao contrário do multidimensional, que se apoia em índice ao inves de junções.


ID
770356
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

departamento (codigodepartamento, nomedepartamento)
colaborador (codcolaborador, nomecolaborador, codigodepartamento)
chave estrangeira (codigodepartamento) referenciando departamento

Considerando o pseudo código acima, julgue os itens que se seguem.



Em SQL, para se criar um relacionamento entre as duas tabelas existentes no SGBD — departamento e colaborador —, é correto o uso da expressão a seguir.


ALTER TABLE colaborador ADD CONSTRAINT
colaborador_fk FOREIGN KEY (codigodepartamento)
REFERENCES codigodepartamento (departamento);

Alternativas
Comentários
  • REFERENCES NOME_TABELA (NOME_CAMPO) e não o contrário como traz a questão.
  • So lembrando q no modelo conceitual mostrado, ja existe esse relacionamento da chave estrangeira de departamento para colaborador, indicando as ocorrencias.
    Outra coisa q preciso lembrar na modelagem: onde colocar a chave estrangeira num relacionamento? ela sempre vai no lado N da relacao 1:N.
    Assim, um departamento possui N colaboradores, logo, a tabela colaborador vai possuir o campo apontando para a chave primairia de departamento, indicando varias ocorrencias de colaboradores para departamento. Ou seja, pra cada novo departamento, o atributo chave estrangeira vai se repetir.

ID
770359
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Em SQL, para se listarem os nomes dos departamentos da tabela departamento que não possuem colaboradores, é correto utilizar o código abaixo

SELECT nomedepartamento
FROM departamento d
EXCEPT
(SELECT nomedepartamento
FROM departamento d, colaborador c
WHERE d.codigodepartamento = c.codigodepartamento);

Alternativas
Comentários
  • Nessa questão foi utilizada o comando EXCEPT, esse comando, juntamente com os comandos UNION e INTERSECT são utilizado em operações entre conjunto de dados selecionados, funciona da mesma forma como trabalhamos com conjuntos na matemática. No caso em questão EXCEPT significa: um conjunto exceto o outro, seria como dizer - o conjunto A tirando o conjunto B. No item, o comando selecionou todos os departamentos e retirou os que tinham colaboradores, restando apenas os que não tinham colaboradores, tornando o item correto.
    Abraços, vamo que vamo.
  • CERTO
    A clausula EXCEPT pode ser entendida como a diferença entre dois conjuntos, logo a a consulta

    SELECT nomedepartamento
    FROM departamento d, colaborador c
    WHERE d.codigodepartamento = c.codigodepartamento

    retornaria todos os departamentos que possuíssem algum colaborador. Já a primeira consulta

    SELECT nomedepartamento
    FROM departamento d

    retornaria todos os departamentos existentes na tabela. Com isso, fazendo a diferença entre as a primeira e a segunda consulta se chegaria aos departamentos que não possuem colaboradores

ID
770362
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Em SQL, para se criar a tabela departamento, é correto que seja utilizada a expressão apresentada no código abaixo.

CREATE TABLE departamento (
codigodepartamento numeric(4,0) NOT NULL PRIMARY KEY,
nomedepartamento varchar(200));

Alternativas
Comentários
  • Essa questão é passível de recurso. Não há especificação do banco de dados utilizado. Por exemplo, seu eu executar esse CREATE TABLE no MySQL, não vai funcionar, pois NUMERIC não é um data type válido. Já para SQL Server, funcionaria.
    Se não vai pedir na questão um data type genérico e comum aos principais banco de dados, tem que especificar qual está BD está considerando.
    Infelizmente as questões de banco de dados são mal elaboradas pelas principais bancas de concurso.
  • http://theopensourcery.com/sqldatatypes.htm

    Quando omitir o nome do SGBD tenha em mente que eh o que esta sendo exigido eh o ANSI SQL 1999.



  • Rodrigo,

    Funciona no MySQL sim. 
    Testei e a tabela foi criada normalmente, mesmo com o NOT NULL redundante, que não precisava pois a PRIMARY KEY já garante isso.

    Com ou sem o NOT NULL a tabela criada tem todos os atributos exatamente iguais.
  • Funciona. Estranhei o uso da expressão NUMERIC(4,0) para chave primária, mas o resultado acaba saindo um número natural.
    Uma ferramenta boa para testar a validade de um código é o SQLFiddle: http://sqlfiddle.com

    Fonte: 
    http://msdn.microsoft.com/en-us/library/ms187746.aspx

ID
770365
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Considerando o conceito de visões do modelo relacional, julgue os itens seguintes.

Uma visão relacional é uma consulta virtual que nunca é materializada.

Alternativas
Comentários
  • Uma visão, ou vista (em inglês: view), no contexto dos bancos de dados é um objeto que não armazena dados, e não uma relação, composto dinamicamente por uma consulta que é previamente analisada e otimizada. Isso significa que, diferentemente de tabelas, visões não são objetos físicos, ou seja, não ocupam espaço em disco. Alterações nos dados de tabelas que são acessadas por visões, consequentemente alteram os resultados gerados pelas consultas armazenadas nessas visões. 
  • Errada, podemos ter também o conceito de visão materializada, a qual armazena os dados em espaço no disco.
  • A visão visão pode ser materializada em uma tabela física temporária por meio da construção de  materialização das views.

  • Corroborando...

     

     

    (Q883803) Ano: 2018 Banca: CESPE Órgão: STJ Prova: Técnico Judiciário - Suporte Técnico

     

    A diferença entre materialized view e view comum em um banco de dados é o fato de que a primeira é armazenada em cache como uma tabela física, enquanto a segunda existe apenas virtualmente. (C)

  • ERRADO

     

    não há visão relacional

    View materializada = tipos específicos de view que permitem armazenar uma tabela real (é o que acontece quando vc cria um caderno de questões no QC)

  • Uma visão, ou vista (em inglês: view), no contexto dos bancos de dados é um objeto que não armazena dados, e não uma relação, composto dinamicamente por uma consulta que é previamente analisada e otimizada. Isso significa que, diferentemente de tabelas, visões não são objetos físicos, ou seja, não ocupam espaço em disco. Alterações nos dados de tabelas que são acessadas por visões, consequentemente alteram os resultados gerados pelas consultas armazenadas nessas visões.


    Gostei (

    0

    )


  • (Q883803) Ano: 2018 Banca: CESPE Órgão: STJ Prova: Técnico Judiciário - Suporte Técnico

     

    A diferença entre materialized view e view comum em um banco de dados é o fato de que a primeira é armazenada em cache como uma tabela física, enquanto a segunda existe apenas virtualmente. (C)

  • Em alguns casos, ela pode ser materializada .

  • GABARITO ERRADO!

    .

    .

    ALGUM FÓRUM DE TI:

    View materializada cria uma tabela auxiliar para armazenar os dados da query estabelecida pela view. Assim o banco de dados cria uma espécie de gatilho automático para que toda atualização de dados nas colunas envolvidas atualize também a visão materializada (tabela auxiliar), permitindo assim o acesso direto aos dados sem maiores processamentos em uma consulta.

    Com ela você ganha performance de acesso aos dados, mas passa ter um custo maior de atualização dos dados. Precisa analisar o que é mais interessante em cada caso. Então esta é uma otimização de acesso.


ID
770368
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Aplicativos do banco de dados podem ser executados sobre visões de relações da base de dados.

Alternativas
Comentários
  • Não faz sentido essa questão!

  • A vida como um todo não faz ;p 

  • CERTO

    Mas, não entendi nada....

  • CERTO.

    view é o resultado de uma consulta armazenada sobre os dados, onde os usuários do BD podem consultar simplesmente como eles fariam em um objeto de coleção de banco de dados persistente. Uma utilidade é permitir uma visão limitada e controlada dos dados de um SGBD (restringe o acesso de usuários e melhora a segurança) e melhorar a performance por utilizar uma consulta previamente otimizada (simplifica a interação entre usuário final e banco de dados).

  • Se a view for materializada (isto é, quando é armazenada de forma não-volátil no banco de dados) ela passa a funcionar como os demais dados e sobre ela os aplicativos do banco de dados também podem ser executados.

    Acredito que seja isso o que torna a questão correta.

    #Bixiga

  • Gabarito: CERTO.

    O que é Visões (Views)?

    1. são tabelas virtuais, resultam de uma consulta armazenada, que auxilia na observação dos dados;

    2. auxiliam na segurança dos dados, uma vez que permitem restringir o acesso a eles;

    3. não fica fisicamente dentro do banco de dados;

    4- coloca em memória para acesso rápido;

    5- aumenta ao acesso ao banco de dados, mais velocidade;

    6- serve para especificar o modo como o usuário ver os dados;

    7- pode inserir, excluir e atualizar os registros diretamente de uma View;

    8- é uma forma de aumentar a velocidade e segurança, pois impede o acesso direto ao dados de uma tabela.

    Bons Estudos!


ID
770371
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Julgue os próximos itens, relativos ao processamento de transações em bancos de dados.


O resumo incorreto, um dos problemas decorrentes da execução descontrolada de transações simultâneas, ocorre quando uma transação, depois de atualizar um item do banco de dados, falha por um algum motivo.

Alternativas
Comentários
  • PROBLEMA DE ALTERAÇÕES PERDIDAS: Ocorre quando duas transações que acessam o mesmo item de BD possuem suas operações intercaladas de uma maneira que o valor de algum item de dado fique incorreto.
    PROBLEMA DE ALTERAÇÃO TEMPORÁRIA: Ocorre quando uma transação altera um item de dados e depois ela falha por alguma razão. O item de dado é acessado por outra transação antes que o valor original seja estabelecido.
    PROBLEMA DO RESUMO INCORRETO: Se uma transação está calculando uma função agregada com um conjunto de tuplas e outras transações estão alterando algumas destas tuplas, a função agregada pode calcular alguns valores antes deles serem alterados e outros depois de serem alterados.

    Fonte: http://www.inf.unioeste.br/~clodis/BDII/BDII_Modulo_1.pdf
  • Problemas q podem ocorrer devido 'a concorrencia de transacoes:

    Atualizacao perdida: Ocorre qdo uma transacao T1 le um valor X, efetua alguma operacao nele; em seguida, uma outra transacao T2 le o valor antigo(sem a operacao) e efetua alguma operacao nele; so depois, T1 escreve o valor de X(errado, pois perdeu-se a atualizacao q ele tinha feito). E T2, ao escrever seu valor de X tbm o faz errado, pois naõ leu a atualizacao de T1(q so escreveu apos T2 realizar sua operacao).

    Leitura suja: Ocorre qdo uma transacao T1 efetua alguma operacao e falha. Antes do item de dados X voltar ao seu valor original, outra transacao T2 le seu valor errado, sujo.

    Resumo incorreto: qdo uma funcao de agregacao calcula alguns valores antes e outros depois deles serem atualizados, cada transacao vai ler um valor diferente. Ex: T1 executa X:= X - 5, write(X) ; T2 executa read(X), X:=X + 5; em seguida, T1 executa read(X), X:=X + (X + 5 ); ou seja, para T2, o valor de X=X+5, enqto q, para T2 eh X:=X + (X + 5 ). Isso aconteceu pq T2 executou 1 operacao no msm item de dados antes e depois de T1.

    Leitura nao repetitiva:ocorre qdo 1 transacao T1 le o msm item duas vezes e, nesse intervalor, 1 outra transacao T2 altera o item. Como consequencia, T1 tera dois valores distintos para o msm item.
  • Problema de atualização temporária (leitura suja).

  • Não é esse o problema do resumo incorreto! O chamado incorrect summary se dá quando uma das transações está realizando uma agregação, enquanto a outra, num cenário sem isolamento, altera valores da coluna que está sendo agregada. Assim, pode ocorrer a situação em que a agregação considera alguns valores antigos (antes da alteração pela outra transação) e outros novos (depois da alteração), resultando em uma agregação incorreta.

    Gabarito: E


ID
770374
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Transação é uma unidade atômica de processamento no banco de dados e tem a seguinte característica: ou estará terminada totalmente ou não foi realizada de forma alguma.

Alternativas
Comentários
  • Questão correta.

    Uma transação é uma unidade lógica de trabalho. O sistema de banco de dados precisa garantir a execução apropriada de transações  - ou a transação inteira é executada ou nenhuma parte dela é executada.

    Aliás, essa é uma das propriedades ACID das transações: Atomicidade.
    (As demais - a saber -, Consistência, Isolamento e Durabilidade).


    Bons estudo.

    Referências:
    Sistema de Banco de Dados  / Abraham Silberschatz, Henry Korth, S. Sudarshan. Ensevier. 2006
  • (C)

    Está definindo atomicidade:

    A->Atomicidade:(a transação deve ser executada por completo ou nada deve ser feito)

    C->Consistência:(só se pode passar de um estado consistente para outro, sob pena de reversão/rollback)

    I->Isolamento: (uma transação não pode afetar outra)

    D->Durabilidade (as alterações têm que ser persistentes)

    Outras questões da CESPE que ajudam a responder:

    -Conforme o princípio da atomicidade, caso ocorra erro em determinada transação, todo o conjunto a ela relacionado será desfeito até o retorno ao estado inicial, como se a transação nunca tivesse sido executada.(C)

    -A atomicidade garante que todas as operações da transação sejam refletidas corretamente no banco de dados. Do contrário, nenhuma operação será realizada.(C)

    -Atomicidade é a propriedade que assegura que as atualizações relacionadas e dependentes ocorram dentro dos limites da transação ou nenhuma atualização sera efetivada no banco de dados.(C)

    -Em um sistema gerenciador de banco de dados, uma transação é formada por uma sequência de operações que precisam ser executadas integralmente a fim de se garantir a consistência e a precisão. Uma das propriedades da transação é a atomicidade, que é a unidade atômica de processamento.(C)

  • GABARITO CORRETO!

    .

    .

    PRINCÍPIO DA ATOMICIDADE IMPLÍCITO NO CONCEITO DE TRANSAÇÃO.

  • CERTO.

    As transações devem possuir várias propriedades, normalmente chamadas propriedades ACID; elas devem ser impostas pelos métodos de controle de concorrência e recuperação do SGBD.

    Atomicidade: uma transação é uma unidade de processamento atômica; ela deve ser realizada em sua totalidade ou não ser realizada de forma alguma.

    Consistência: uma transação deve preservar a consistência, significando que, se ela for completamente executada do início ao fim sem interferência de outras transações, deve levar o banco de dados de um estado consistente para outro estado consistente, ou seja, todas as regras e restrições definidas no banco de dados devem ser obedecidas.

    Isolamento: uma transação deve parecer como se fosse executada isoladamente de outras transações, embora muitas delas estejam sendo executadas de maneira simultânea, ou seja, a execução de uma transação não deve ser interferida por quaisquer outras transações que acontecem simultaneamente.

    Durabilidade ou permanência: as mudanças aplicadas ao banco de dados pela transação confirmada precisam persistir no banco de dados. Essas mudanças não devem ser perdidas por causa de alguma falha.

  • "Uma transação é uma unidade atômica de trabalho, que deve ser concluída totalmente ou não ser feita de forma alguma".

    Fonte: Sistemas de Banco de Dados, Navathe, p. 506


ID
770377
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Os sistemas de banco de dados que obedecem à propriedade denominada isolamento permitem que transações concorrentes compartilhem resultados intermédios.

Alternativas
Comentários
  • Propriedade Isolamento do conjunto de propriedades ACID. Na proproidade Isolamento as transaçãoes são isoladas umas das outras. Isto é, embora em geral haja muitas transações sendo executadas ao mesmo tempo, as atualizações de qualquer transação dada são ocultas de todas as outras até o COMMIT dessa transação. - Date 8ª Edição
    Pelo o que foi demostrado pela citação do Date, a propriedade Isolamento não permite compartilhamento de resultados intermediários, apenas compartilhamento após o COMMIT.
    Item INCORRETO.
    Abraços, vamo que vamo.
  • Apenas complementando o comentário do colega acima:

    Os sistemas de banco de dados que obedecem à propriedade denominada isolamento permitem (EVITAM) que transações concorrentes compartilhem resultados intermédios.

    A idéia do isolamento é justamente evitar que resultados intermediários, não commitados, sejam utilizados evitando-se leituras fantasmas, leituras sujas ou leituras duplicadas.

  • A propriedade de isolamento garante que a transação não será interferida por nenhuma outra transação concorrente.

  • GABARITO ERRADO!

    .

    .

    SEGUNDO NAVATHE, PÁGINA 508:

    Isolamento. Uma transação deve parecer como se fosse executada isoladamente de outras transações, embora muitas delas estejam sendo executadas de maneira simultânea. Ou seja, a execução de uma transação não deve ser interferida por quaisquer outras transações que acontecem simultaneamente.

  • Fala meu aluno(a)!

    Gabarito: ERRADO.

    Professor, esse assunto cai muito em provas?

    R. Cai não, chove nas provas, kkkkkk. (É preciso entender, depois memorizar).

    Propriedades de Banco de Dados Chamado também de: (Transações).

    Qual a propriedade de Banco de Dados: ACID.

    Atomicidade

    Consistência

    Isolamento

    Durabilidade

    Atomicidade: Uma transação é uma unidade de processamento que deve ser realizada integralmente ou não é realizada (ou tudo ou nada).

    Consistência: Uma transação, após sua execução, deve levar o Banco de Dados de um estado consistente para outro estado consistente. A transação cria um novo estado válido dos dados ou em caso de falha retorna todos os dados ao seu estado antes que a transação foi iniciada.

    Isolamento: Uma transação em andamento mas ainda não validada deve permanecer isolada de qualquer outra operação, ou seja, garantimos que a transação não será interferida por nenhuma outra transação concorrente.

    Durabilidade: Dados validados são registados pelo sistema de tal forma que mesmo no caso de uma falha e/ou reinício do sistema, os dados estão disponíveis em seu estado correto.

    Bons estudos!


ID
770380
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Acerca das técnicas de controle de concorrência, julgue os itens subsequentes.


Consta do protocolo de bloqueio com granularidade múltipla (MGL – multiple granularity locking) a seguinte regra: a raiz da árvore precisa ser bloqueada primeiro, em qualquer modo.

Alternativas
Comentários
  • De acordo com Navathe, o protocolo de bloqueio de granularidade múltipla(MGL - multiple granularity locking) consiste das seguintes regras:

    1. A compatibilidade de bloqueio deve ser aderente.
    2. A raiz da árvore deve ser bloqueada primeiro, em qualquer modo.
  • O MGL permite que os itens de dados sejam de vários tamanhos e define uma hierarquia de granularidades de dados, onde as granularidades pequenas são aninhadas dentro das maiores. Agrupar vários itens de dados e tratá-los como uma unidade de sincronismo individual. Podem ser representadas graficamente como uma árvore. Quando uma transação bloqueia um nó na árvore explicitamente, ela implicitamente bloqueia os descendentes do nó no mesmo modo. Ao invés de bloquear um item de dados, podemos bloquear tuplas, tabelas, blocos de disco ou DBs. Granularidade do bloqueio (nível na árvore onde o bloqueio é feito)
    :- granularidade menor(mais baixo na árvore): alta concorrência, alta sobrecarga de bloqueio
    - granularidade maior(mais alto na árvore): baixa sobrecarga de bloqueio, baixa concorrência
  • O protocolo de bloqueio com granularidade múltipla (MGL), é util quando um banco de dados faz uma consulta em um grande volume de dados e ao mesmo tempo em "pequenas transacoes concorrentes". Assim, o protocolo garante que ao se bloquear um "Objeto" do banco, seus "sub-objetos" (filhos) serão também bloqueados. Já que o Objeto inicial é considerado a raiz de uma arvore (a hierarquia vai se formando) a questão esta correta em dizer que ela precisar ser bloqueada primeiro. []s
  • Copy-paste do livro do Navathe, página 432, 4ed (traduzida).
    "2. A raiz da árvore deve ser bloqueada primeiro, em qualquer modo."
    Examinador preguiçoso. Deve ter aberto o livro e procurado qualquer coisa esdrúxula p/ copiar
  • Essa é uma das regras do protocolo de bloqueio múltiplo. Seguem as outras:
    1) A matriz de compatibilidade precisa ser observada
    2) A raiz da árvore precisa ser bloqueada primeiro e pode ser bloqueada em qq modo
    3) Um item Q pode ser bloqueado por Ti no modo S ou I apenas se o pai de Q está bloqueado no modo IX ou IS
    4) Um item Q pode ser bloqueado por Ti no modo X, IX ou SIX apenas se o pai de Q está bloqueado no modo IX ou SIX
    5) Ti pode bloquear um item apenas se ele não desbloqueou nenhum item antes (i.e. 2PL)
    6) Ti pode desbloquear um item Q apenas se nenhum dos filhos de Q estão corretamente bloqueados por Ti

ID
770383
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Ocorre deadlock quando uma transação de um conjunto com duas ou mais transações concorrentes aguarda por algum item de dado que foi bloqueado por outra transação do mesmo conjunto.

Alternativas
Comentários
  • Questão do CESPE no estilo da FCC, fala só a metade do conceito e considera como correto o item, não ocorre deadlock apenas porque uma transação es tá aguardando o item de dado da outra, tem que ser no mínimo duas transações, uma esperando o recurso da outra, por isso que se chama impasse, vejam o que falam os dois autores conceituados sobre o assunto:
    Navathe - O deadlock ocorre quando cada transação T em um conjunto de duas ou mais transações está esperando por algum item que está bloqueado por alguma outra transação T' no conjunto. 
    Date - O impasse é uma situação na qual duas ou mais transações estão em estado de espera simultaneamente, cada uma esperando que uma das outras libere um bloqueio antes de poder prosseguir.
    Portando consedere o item INCORRETO.
  • Ximenes concordo com a sua citação, porém a qustão esta dizendo "quando uma transação de um conjunto com duas ou mais transações", ou seja essa "uma" transação esta dentro de um conjunto de n transações.

    Questão correta.
  • Concordo com o Ximenes em sua totalidade. A questão afirma que uma transação de um conjunto de n transações estão aguardando um item bloqueado, ou seja, uma única trnasação qualquer. Isso não caracteriza um deadlock. É necessário que cada transação desse conjunto esteja a espera de um item bloqueado por outra transação desse mesmo conjunto.
    Um exemplo rápido, transações A e B, A espera um recurso bloqueado por B. Não há deadlock, pois B pode continuar sua execução normal e, em seguida, liberar o recurso que será utilizado por A.
    Vale lembrar que são necessárias 4 condições para um deadlock: exclusão mútua (2 não podem usar o mesmo recurso); espera carregada (não liberar o recurso); não preempção (não pode tirar o recurso); espera circular (há um ciclo de espera). Sem qualquer dessas condições, não há deadlock.
  • Gustavo, a questao ta afirmando o seguinte: Ocorre deadlock quando uma transação de um conjunto com duas ou mais transações concorrentes aguarda por algum item de dado que foi bloqueado por outra transação do mesmo conjunto.
    Ou seja, considere Ct = {T1, T2, T3..Tn}
    Pelo enunciado da questao, bastaria q qqr uma das transacoes T do conjunto de transacoes(Ct) aguardasse por algum item bloqueado por outra transacao de Ct para ocorrer deadlock.
    Ou seja, se T1 aguarda pelo fim do bloqueio de T2 ja taria ocorrendo deadlock(segundo a questao).
    E isso nao  configura deadlock, pq T2 pderia desbloquear imediatamente seu recurso e nao haveria deadlock.
    O deadlock ocorre quando nao apenas uma, mas, pelo menos, 2 transacoes tao aguardando o recurso q a outra detem, e uma nao libera pq a outra tbm nao libera a sua.
    Isso me faz lembrar jovens em busca de emprego: o mercado nao lhes oferece emprego pq nao tem experiencia e o jovem nao tem experiencia pq nao consegue arrumar emprego.,
    E um fica um esperando pelo outro.
  • Deadlock ocorre se a Transação (A) aguarda um item que está na posse de uma transação (B)  bloqueada à espera por um item que ela a transação (A)  detém. Caracterizando a espera circular. Que merda de questão é essa?

  • se uma só está esperando, não há impasse. É preciso haver ciclos de necessidade e bloqueios.

    precisa haver pelo menos 2 transações e cada uma precisa estar bloqueando algo que a outra precisa.


ID
770386
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Acerca das técnicas de controle de recuperação de banco de dados, julgue o item abaixo.


O algoritmo ARIES é exemplo de algoritmo de recuperação utilizado em sistemas de bancos de dados, sendo o logging write-ahead um dos conceitos em que esse algoritmo se embasa.

Alternativas
Comentários
  • O algoritimo de recuperação ARIES baseia-se em três conceitos:

    1. Write-ahead logging
    2. Repetição de escalonamento
    3. Alteração de logging durante o desfazimento 


    1. Write-ahead logging
    Primeiramente é realizada a entrada no log e depois no banco de dados
    2. Repetição de escalonamento
    A reconstituição será efetuada apartir do estado do banco no instante que ocorreu o colapso
    3. Alteração de logging durante o desfazimento 
    Evita a repetição de operações de desfazimento completas

    O procedimento de recuperação do ARIES consiste em três etapas princiapais: Análise, REDO (refazer) , UNDO (desfazer).
    Análise - Identifica as páginas sujas e as transações ativas no momento do colapso, determina o ponto onde a operação REDO deve iniciar.
    REDO - Reaplica atualizações apartir do log.
    UNDO - Desfaz as operações que estavam ativas no momento do colapso em ordem inversa.
  • CERTO
    complementando nas palavras de Navathe.

    Segundo Navathe (2011,p.553),"Agora, descrevemos o algoritmo ARIES como um exemplo de algoritmo de recuperação usado em sistemas de banco de dados. [...] O ARIES possui uma técnica steal/no-force para gravação, e é baseado em três conceitos: logging write-ahead, histórico repetitivo durante o redo e mudanças no logging durante o undo."


    Fonte:
    SISTEMAS DE BANCO DE DADOS- NAVATHE-6 EDIÇÃO
  • Gabaito Certo

    O ARIES é um algoritmo de recuperação que é projetado para trabalhar com uma abordagem de “roubar” e “não forçar”. Quando o gerenciador de recuperação é invocado após uma falha, o reinício se procede em três fases:

    Fase de Análise: identifica páginas “sujas” no buffer (pool) e transações ativas no momento da falha;

    Fase de Refazer: repete todas as ações, começando do ponto apropriado no log e restaura o estado da base de dados idêntico ao momento da falha;

    Fase de Desfazer: desfaz as ações das transações que não realizaram o commit, de forma que a base de dados reflita apenas as ações das transações que realizaram o commit.

     

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !


ID
770392
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Os procedimentos armazenados no servidor de banco de dados podem ser invocados por inúmeras aplicações.

Alternativas
Comentários
  • O examinador ta falando das stored procedures de BD q, segundo a definiçao de Navathe:

    Procedimentos armazenados, q podem ser funçoes ou procedimentos, são modulos de programaçaõ armazanedos pelo SGBD no servidor de BD.
    Os procedimentos armazenados sao uteis nas seguintes circunstancias:
    - Se 1 programa de BD eh necessario por varias aplicacoes, ele pode ser armazenado no servidor e invocado por qqr 1 dos programas de aplicacao;
    - Pde reduzir a transferencia de dados e o custo de comuncacao cliente/servidor;
    - pdem ser usados para verificar restricoes complexas q estao alem do poder de especificacao de assertions/triggers.
  • o nosso colega nao citou a fonte completa.

    Segue abaixo

    Bibliografia:

    SISTEMAS DE BANCO DE DADOS 6 EDIÇÃO 2011-Capítulo 13, página 320 na seção 13.4 (Procedimentos armazenados de banco de dados e SQL/PSM)


ID
770395
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Com relação a visões (views) e SQL ANSI, julgue os itens consecutivos.


Em SQL, caso uma view tenha de atualizar dados no banco de dados, a cláusula WITH CHECK deverá ser acrescentada ao final da definição da view.

Alternativas
Comentários
  • Com a cláusula WITH CHECK OPTION  será permitda a inserção de dados na visão somente se os dados atenderem a cláusula where presente na visão. Além disto deve obedecer as seguintes restrições:

    - A query não pode conter join, ou seja, deve ser baseada apenas em uma tabela.
    - A query deve conter todas as colunas nottnull da tabela referenciada.
    - A query não pode conter operadores de conjunto: UNION, EXCEPT e INTERSECT.
    - A query não pode conter o operador DISTINCT.
    - A query não pode conter funções de agregação.
    - A query não pode conter GROUP BY.

    Fonte: Banco de dados - Marcio Victorino - Cathedra
  • O erro da questão está em que a cláusula WITH CHECK OPTION deverá ser acrescentada. Ela poderá ser acrescentada. Caso não seja acrescentada, dados não pertencentes a visão poderão ser inseridos. E em relação a atualização, nada será feito em relação a dados não pertencentes a visão.
  • exemplificando as colocações dos colegas.

    a) Tenho uma tabela com todas as cidades do brasil
    b) baseado nesta tabela, crio uma view com SOMENTE as cidades do RS
    c) Ao incluir uma nova cidade na view, temos dois casos:

    SE NÃO USAR a claúsula with check options posso inserir uma cidade de SP na view. A cidade inserida NÃO sera mostrada na view (lembre-se que a view contém somente as cidades do RS), mas irá atualizar a tabela original das cidades sem nenhum erro.

    Se USAR a clausula with check options  NÃO será permitida a inclusão, será retornado um erro do sistema.Neste caso, posso incluir na view somente cidade que respeitem o critério usado para criar a mesma, ou seja, cidades do RS.
  • Só complementando com uma outra fonte:

    "Na SQL, a cláusula WITH CHECK OPTION" precisa ser adicionada no final da definição da visão se ela puder ser  atualizada.

    Fonte: Navathe, Sistemas de banco de dados, 4ª Edição, página 186.

  • Em SQL, caso uma view tenha de atualizar dados no banco de dados, a cláusula WITH CHECK deverá ser acrescentada ao final da definição da view.
     

    Realmente, a view só precisa de um UPDATE pra atualizar os dados! kkk

  • "Na SQL, a cláusula WITH CHECK OPTION precisa ser adicionada no final da definição da view se uma view tiver de ser atualizada por comandos INSERT, DELETE e UPDATE. Isso permite que o sistema rejeite operações que violam as regras da SQL para atualizações de view."

    Navathe, Sistemas de banco de dados, 7ª Edição, página 212.


ID
770398
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Em SQL, tanto CREATE VIEW quanto CREATE LIST TABLE são comandos que permitem que seja especificada uma view.

Alternativas
Comentários
  • Nunca ouvi falar do comando CREATE LIST TABLE.
  • Errado


    O comando CREATE VIEW define a visão de um comando. A visão não é materializada fisicamente. Em vez disso, o comando é executado toda vez que a visão é referenciada em um comando. [1] [2] [3] [4] [5] [6]

    O comando CREATE OR REPLACE VIEW é semelhante, mas se já existir uma visão com o mesmo nome então esta é substituída. Uma visão somente pode ser substituída por um novo comando que produza um conjunto idêntico de colunas (ou seja, mesmos nomes de colunas e tipos de dado).

    Se for fornecido o nome do esquema (por exemplo, CREATE VIEW meu_esquema.minha_visao ...) então a visão será criada no esquema especificado, senão será criada no esquema corrente. As visões temporárias são criadas em um esquema especial, portanto não pode ser fornecido o nome do esquema ao se criar uma visão temporária. O nome da visão deve ser distinto do nome de qualquer outra visão, tabela, seqüência ou índice no mesmo esquema.



ID
770401
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

As visões definidas sobre várias tabelas por meio de junções, em geral, não são atualizáveis.

Alternativas
Comentários
  • Em geral tudo bem não são atualizáveis, mas existe a visão materializada que pode ser atualizada.
  • Acho que neste caso devemos seguir o padrão ANSI. Pelo padrão ANSI, views com Joins não são atualizáveis, há menos que o JOIN seja um auto-relacionamento de tabela.

  • Uma visão não necessariamente existe em forma física; ela é considerada uma tabela virtual, ao contrário das tabelas da base, cujas tuplas sempre estão armazenadas fisicamente no banco de dados. Isso limita as possíveis operações de atualização que podem ser aplicadas às visões, mas não oferece quaisquer limitações sobre a consulta de uma visão.

    Assim, em regra, somente as visões materializadas são atualizáveis.

    Gabarito: Certo.

    (CESPE - 2012 - Banco da Amazônia - Técnico Científico - Banco de Dados) Uma visão relacional é uma consulta virtual que nunca é materializada.

    Resolução:

    Uma visão não necessariamente existe em forma física; ela é considerada uma tabela virtual. No entanto, certos sistemas de bancos de dados permitem que as visões sejam armazenadas, falando-se nas chamadas visões materializadas.

    Gabarito: Errado.

  • Uma visão não necessariamente existe em forma física; ela é considerada uma tabela virtual, ao contrário das tabelas da base, cujas tuplas sempre estão armazenadas fisicamente no banco de dados. Isso limita as possíveis operações de atualização que podem ser aplicadas às visões, mas não oferece quaisquer limitações sobre a consulta de uma visão.

    Assim, em regra, somente as visões materializadas são atualizáveis.

    Gabarito: Certo.

    (CESPE - 2012 - Banco da Amazônia - Técnico Científico - Banco de Dados) Uma visão relacional é uma consulta virtual que nunca é materializada.

    Resolução:

    Uma visão não necessariamente existe em forma física; ela é considerada uma tabela virtual. No entanto, certos sistemas de bancos de dados permitem que as visões sejam armazenadas, falando-se nas chamadas visões materializadas.

    Gabarito: Errado.

  • "Para uma view que envolve junções (joins), uma operação de atualização pode ser mapeada para operações de atualização sobre as relações da base de múltiplas maneiras".

    "Resumindo, podemos fazer as seguintes observações:

    Uma view com uma única tabela de definição é atualizável se seus atributos tiverem a chave primária da relação da base, bem como todos os atributos com a restrição NOT NULL que não tem valor default especificado.

    As views definidas sobre múltiplas tabelas usando junções geralmente não são atualizáveis.

    As views definidas usando funções de agrupamento e agregação não são atualizáveis."

    Cespe tirou a questão do livro do Navathe.

    Pelo que eu entendi, tem como atualizar, mas em geral não é possível.

  • — É possível inserir, excluir e atualizar registros diretamente em uma view desde que ela seja atualizável (view que envolva 1 única tabela).


ID
770404
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Acerca dos gatilhos (triggers) na linguagem SQL ANSI, julgue os itens subsequentes.


Ao se especificar um gatilho, as palavras-chave obrigatórias FOR EACH ROW garantem que a regra será disparada mais de uma vez para cada linha afetada pelo evento de disparo.

Alternativas
Comentários
  • FOR EACH ROW -> PARA CADA LINHA...garantir que a regra sera disparada 1 vez
  • FOR EACH ROW é uma cláusula opcional, não obrigatória. Essa cláusula é usada para determinar se um gatilho deve ser disparado quando cada linha é afetada (row level trigger) ou somente uma vez quando o segmente inteiro é executado (statment level trigger)

ID
770407
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Evento(s), condição e ação são componentes que constituem um gatilho típico.

Alternativas
Comentários
  • Trata-se das definições do TRIGGER
  • Um exemplo:

    CREATE TRIGGER name { BEFORE | AFTER |INSTEAD OF}

       {DELETE| INSERT | UPDATE [OF (col,...)] [OR ...] }

       ON {table|view} FOR EACH { ROW | STATEMENT }

        [ WHEN (condition) ]

       [<!EXECUTE PROCEDURE func ( arguments )>| pl/sql block]

  • CERTO


    RESUMO DOS PARÂMETROS DE TRIGGER:

    nome

    O nome a ser dado ao novo gatilho. Deve ser distinto do nome de qualquer outro gatilho para a mesma tabela.

    BEFORE
    AFTER

    Determina se a função será chamada antes ou depois do evento.

    evento

    Um entre INSERT, UPDATE ou DELETE; especifica o evento que dispara o gatilho. Podem ser especificados vários eventos utilizando OR.

    tabela

    O nome (opcionalmente qualificado pelo esquema) da tabela que o gatilho se destina.

    FOR EACH ROW
    FOR EACH STATEMENT

    Especifica se o procedimento do gatilho deve ser disparado uma vez para cada linha afetada pelo evento do gatilho, ou apenas uma vez por comando SQL. Se não for especificado nenhum dos dois, o padrão é FOR EACH STATEMENT.

    nome_da_função

    Uma função fornecida pelo usuário, declarada como não recebendo nenhum argumento e retornando o tipo trigger, que é executada quando o gatilho dispara.

    argumentos

    Uma lista opcional de argumentos, separados por vírgula, a serem fornecidos para a função quando o gatilho for executado. Os argumentos são constantes cadeia de caracteres literais. Também podem ser escritos nomes simples e constantes numéricas, mas serão todos convertidos em cadeias de caracteres. Por favor, verifique na descrição da linguagem de implementação da função de gatilho como os argumentos dos gatilhos são acessados dentro da função; pode ser diferente dos argumentos das funções normais.


    http://pgdocptbr.sourceforge.net/pg82/sql-createtrigger.html

  • Força Guerreiro!!!!!!


ID
770410
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Em SQL, o comando CREATE TRIGGER permite que se especifique um gatilho.

Alternativas
Comentários
  • Questão Correta.
    Segue um exemplo:

    PostgreSQL
    CREATE TRIGGER name { BEFORE | AFTER } { event [ OR ... ] }    ON TABLE [ FOR [ EACH ] { ROW | STATEMENT } ]    EXECUTE PROCEDURE funcname ( arguments )

    Fonte: http://en.wikipedia.org/wiki/Database_trigger#PostgreSQL
  • questão de inglês:

    trigger(inglês) - gatilho(português)


ID
770413
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Gatilhos não permitem especificar tipo algum de regra ativa em sistemas de bancos de dados.

Alternativas
Comentários
  • Exatamente o contrário, Gatilhos (TRIGGERS) especificam sim regras ativas a serem aplicadas conforme um evento e sob uma condição.
  • ERRADO

    Por exemplo podemos ter :

    FOR EACH ROW: Especifica se o procedimento do gatilho deve ser disparado uma vez para cada linha afetada pelo evento do gatilho.


    FOR EACH STATEMENT: Especifica se o procedimento do gatilho deve ser disparado apenas uma vez por comando SQL.

     

    Se não for especificado nenhum dos dois, o padrão é FOR EACH STATEMENT.


ID
770416
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Os comandos da linguagem SQL padrão INSERT, DELETE e UPDATE podem ser utilizados para se definir um gatilho.

Alternativas
Comentários
  • SIM, são comandos usados como EVENTO para disparar o gatilho.
  • Achei estranho usar o termo "definir um gatilho"

    Alguém pode comentar essa questão
  • Adriana, também achei estranho e errei a questão, mas quando criamos um trigger temos:

    CREATE TRIGGER name { BEFORE | AFTER } { event [ OR ... ] }
       ON TABLE [ FOR [ EACH ] { ROW | STATEMENT } ]
       EXECUTE PROCEDURE funcname ( arguments )
     

    Ou seja, na definição de um trigger, usamos o "event" para definir se o trigger vai ser disparado em um INSERT, UPDATE ou DELETE.

  • A palavra "definir" realmente ficou muito estranha. 

    Mas enfim, trata-se de evento INSERT, UPDATE ou DELETE que especifica o evento que dispara o gatilho. Podem ser especificados vários eventos utilizando OR.

  • ah cara, definir o gatilho usando INSERT, DELETE e UPDATE, chega de internet por hoje

  • é esse tipo de questão que quebra a confiança


ID
770419
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Algoritmos e Estrutura de Dados
Assuntos

Ao se especificar um gatilho, a cláusula opcional WHEN é utilizada para indicar as condições que necessitam ser verificadas antes de a ação ser executada.

Alternativas
Comentários
  • Como se pode observar, na sintaxe padrao do sql92 a clausula WHEN é opcional.
    http://owen.sj.ca.us/~rk/howto/sql92.html


    Command: (CREATE <OR REPLACE> TRIGGER)(not SQL92)Description: Creates a new triggerCREATE TRIGGER name { BEFORE | AFTER |INSTEAD OF} {DELETE| INSERT | UPDATE [OF (col,...)] [OR ...] } ON {table|view} FOR EACH { ROW | STATEMENT } [ WHEN (condition) ] [<!EXECUTE PROCEDURE func ( arguments )>| pl/sql block]
  • Perfeito e PODE SER utilizado
  • Força Guerreiro!!!!!!


ID
770422
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Acerca das ferramentas de front-end, julgue os itens consecutivos.


A ferramenta DBDesigner versão 4 permite criar um modelo de banco de dados que contenha tabelas, relacionamentos entre tabelas e conexão entre dois relacionamentos.

Alternativas
Comentários
  • O problema foi "conexão entre dois relacionamentos..."
  • GAB: ERRADO

     

    DBDesigner 4 é uma ferramenta CASE (Computer-Aided Software Engineering) desenvolvida pela empresa Fabulous Force Database Tools. Esta ferramenta é livre e utilizada para a modelagem de dados visual que está disponível sob a licença GNU General Public License (GLP).

     

    O DBDesigner é uma excelente opção para quem utiliza qualquer banco de dadosprincipalmente MySQL, Oracle, MSSQL e PostgreSQL, mas obviamente não se limita apenas a esses. Através dele podemos modelar tabelas de forma gráfica, relacionamentos e muito mais. Utilizando este poderoso ambiente temos a geração da modelagem, do projeto, da implementação e da manutenção integradas em apenas um ambiente.

     

    Vários relacionamentos....

     

    #TODODIAEULUTO

     

     

  • Não é possível conexão: relacionamento-relacionamento.


ID
770425
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

A ferramenta Rational Rose Data Modeler possibilita realizar engenharias direta e reversa de um banco de dados.

Alternativas
Comentários
  • É inviável responder a uma questão dessas tendo apenas os conceitos e BD e SGBD. Seria a mesma coisa de uma questão perguntar como usar um determinado atalho no eclipse em uma prova de java. 

    Sinceramente, não considero essa questão como modelagem de dados, e sim, como usar tal ferramenta.

    É isso!
  • Acertei no chute!

    Essa questão não avalia o conhecimento em BD e sim na ferramenta.

    Mas se estava no edital do concurso.... 

  • Seria interessante a classificação da questão como Ferramenta Case ao invéns de Modelagem de Dados.

  • Por que não poderia? Engenharia reversa em um BD não é tão difícil de se fazer para um ser humano e, para uma ferramenta que modela bancos, desfazer modelagem deve ser sopa.


ID
770428
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

A ferramenta de front-end DBDesigner versão 4, de domínio público, é utilizada em projeto de banco de dados. Por meio dessa ferramenta, é possível criar relacionamentos binários entre tabelas e relacionamentos recursivos em uma tabela.

Alternativas

ID
770431
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Acerca do SQL ANSI, julgue os itens de 111 a 115.


Para a criação de uma tabela, a cláusula UNIQUE é obrigatória e, por meio dela, especificam-se chaves primárias.

Alternativas
Comentários
  • A cláusula UNIQUE não é obrigatória e não é por meio delas que se especifica Chaves Primárias, visto que pode-se ter duas colunas UNIQUE e nem por isso elas especificariam chaves primárias. Pode-se ter, inclusive, uma coluna UNIQUE NOT NULL e mesmo assim não seria Chave Primária.

    Especifica-se Chave Primária:

    CREATE TABLE Tabela (
    Coluna integer,
    ...,
    PRIMARY KEY (Coluna));
  • Para a criação de uma tabela, a cláusula UNIQUE é obrigatória e, por meio dela, especificam-se chaves primárias(candidatas).

ID
770437
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Considere que a tabela cliente tenha sido criada em um banco de dados por meio do seguinte script SQL.

CREATE TABLE cliente (nome varchar(50) NOT NULL,
CPF integer NOT NULL, PRIMARY KEY(CPF)
);

Nesse caso, é possível inserir uma nova linha à tabela cliente por meio do script SQL apresentado abaixo.

INSERT INTO cliente VALUES ('Antonio Silva', 123);

Também é possível inserir outra nova linha à tabela cliente por meio do seguinte script SQL.

INSERT INTO cliente (nome, CPF) VALUES ();

Alternativas
Comentários
  • Achei que estava ERRADO, pois o segundo INSERT não apresenta valores de inserção, ou seja não estou inserindo nenhum dado, então os dados estaria NULL e não pode inserir campos NULL nome  e CPF.
  • Concordo. Também não entendi! Alguém sabe explicar?
  • Olá, pessoal!
    O gabarito foi corrigido para "E"
    Bons estudos!
  • Será que a ausência de valores na cláusula VALUES da segunda instrução SQL não implica dizer que estamos colocando valores em branco (e não valores  NULL), tornando o gabarito Certo?

    Agradeço, aguardo.
  • Esta cláusula tem erro de sintaxe. Não roda!
  • CREATE TABLE cliente (nome varchar(50) NOT NULL,
    CPF integer NOT NULL, PRIMARY KEY(CPF)
    );

    Nesse caso, é possível inserir uma nova linha à tabela cliente por meio do script SQL apresentado abaixo.

    INSERT INTO cliente VALUES ('Antonio Silva', 123);  --  Errado! pois devem ser especificadas q colunas alterar. 

    Também é possível inserir outra nova linha à tabela cliente por meio do seguinte script SQL.

      INSERT INTO cliente (nome, CPF) VALUES (); --   Errado, pois CPF nao pde ser nulo.
    Nao sei como uma questao dessa, no gabarito preliminar, foi considerada certa, se ta toda errada..  :p
  • Peço venia, como o pessoal do direito, para discordar. O primeiro comando de inserção funciona perfeitamente em SQL ansi.
    O problema é o segundo script SQL, ao se inserir uma coluna na cláusula INSERT, obriga-se a informar seu respectivo valor na cláusula VALUES.
    A questão mostra nome e CPF sem seus valores preenchidos. Pode-se testar em http://sqlfiddle.com/#!6/6d82c/1.
    Portanto questão errada.


ID
770440
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Em linguagem SQL, os comandos GRANT e REVOKE permitem especificar, respectivamente, concessão e revogação de privilégios aos usuários de bancos de dados.

Alternativas
Comentários
  • Exato! 

    Ambos executados pelo Comando DCL.
  • CERTO
    Complementando os comandos GRANT E REVOKE fazem parte da Data Control Language(DCL)
  • Grant, revoke e deny são comandos transact-sql usados para atribuir e negar permissões para acessos a objetos e recursos. 

    GRANT = utilizado para atribuir permissão ao user, para realizar uma operação;
    DENY = nega permissão a um usuário ou grupo para realizar operação em um objeto ou recurso;
    REVOKE = remove a permissão GRANT ou DENY.


    https://angmaximo.wordpress.com/2013/04/17/entendendo-comandos-grant-revoke-deny/

  • Questão tranquila! Os comandos GRANT e REVOKE, realmente, são aqueles que permitem que se conceda e cancele privilégios de usuários, na efetivação do controle discricionário de acesso.

    Gabarito: C


ID
770443
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Considere que a tabela empregado tenha sido criada em um banco de dados por meio do seguinte script SQL.

CREATE TABLE empregado
(matricula integer NOT NULL,
salario decimal(10,2) NOT NULL,
PRIMARY KEY(matricula) );

Nesse caso, se o script SQL mostrado abaixo for executado, todas as linhas da tabela empregado serão modificadas, e todos os empregados terão aumento de 10% no salário.

UPDATE empregado SET salario = salario * 1,1 WHERE matricula = 2012;


Alternativas
Comentários
  • APENAS o empregado com a matricula descrita na clausula WHERE terá o aumento de 10% do salario.
  • ERRADO
    O erro da questão é afirmar que "todas as linhas" e "todos os empregados" serão alterados, pois o update só ocorrerá na matrícula especificada na clausula where

ID
770446
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Acerca do SGBD ORACLE, julgue os itens seguintes.


A tablespace consiste em um espaço no hard disk (disco) onde é possível que se armazenem tabelas. O comando CREAT TABLESPACE permite criar uma tablespace.


Alternativas
Comentários
  • Olá, pessoal!
    O gabarito foi atualizado para "E", conforme edital publicado pela banca e postado no site.
    Justificativa da banca:  O comando CREAT TABLESPACE não permite criar uma tablespace, mas sim, o comando CREATE TABLESPACE. Dessa forma, opta-se pela alteração do gabarito do item.
    Bons estudos!
  • Introdução ao conceito de Tablespaces

    Por Eduardo Legatti
    Postado en setembro 2011

    Comecemos com a seguinte pergunta: Qual é a relação entre tablespaces e arquivos de dados? Bom, para responder esta pergunta, primeiro precisamos entender como os dados são armazenados no banco de dados. O Oracle armazena dados logicamente em tablespaces e fisicamente em arquivos de dados (datafiles). Apesar dos arquivos de dados e os tablespaces estarem muito "inter-relacionados", os mesmos possuem diferenças importantes:

    • Um banco de dados Oracle consiste em uma ou mais unidades de armazenamento lógicas denominadas tablespaces, que armazenam coletivamente todos os dados do banco de dados.
    • Cada tablespace em um banco de dados Oracle consiste em um ou mais arquivos denominados arquivos de dados (datafiles), que são estruturas físicas compatíveis com o sistema operacional no qual o Oracle é executado.
    • Os dados de um banco de dados são armazenados coletivamente nos arquivos de dados que constituem cada tablespace do banco de dados.

    Como um banco de dados é um conjunto de arquivos de dados, é muito importante que entendamos como um banco de dados Oracle agrupa esses arquivos. Como dito anteriormente, o Oracle faz isso sob a proteção de um objeto de banco de dados chamado tablespace. Antes de poder inserir dados em um banco de dados Oracle, primeiro é necessário criar um tablespace e depois uma tabela dentro desse tablespace que conterá os dados. Podemos observar que na criação de um banco de dados utilizando o DBCA, o Oracle como padrão sempre cria um tablespace de dados chamado USERS. Ao criar uma tabela é necessário incluir todas as informações sobre o tipo de dados que deseja manter. O código abaixo, gerado para criar a tabela CLIENTE, ilustra como o Oracle armazena informações sobre o tipo de dado que irá registrar:

    SQL> create table cliente
      2  (cod_cliente   number constraint pk_cliente primary key,
      3   nome          varchar2(60)  not null,
      4   endereco      varchar2(100) not null,
      5   telefone      number,
      6   data_cadastro date)
      7  tablespace users;
    
    Tabela criada.
    
    SQL> desc cliente
    Nome                          Nulo?    Tipo
    ----------------------------- -------- --------------------
    COD_CLIENTE                   NOT NULL NUMBER
    NOME                          NOT NULL VARCHAR2(60)
    ENDERECO                      NOT NULL VARCHAR2(100)
    TELEFONE                               NUMBER
    DATA_CADASTRO                          DATE
    
    SQL> select table_name,tablespace_name
      2  from user_tables
      3  where table_name='CLIENTE';
    
    TABLE_NAME                     TABLESPACE_NAME
    ------------------------------ ------------------------------
    CLIENTE                        USERS
    http://www.oracle.com/technetwork/pt/articles/database-performance/introducao-conceito-de-tablespaces-495850-ptb.html

  • Sobre os textões: ninguém lê!

     

    É Tóis!


ID
770449
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

A execução da consulta SQL SELECT * FROM (SELECT * FROM empregado ORDER BY matricula DESC) WHERE ROWNUM <= 2 ORDER BY matricula; terá como resultado apenas as duas primeiras linhas dos empregados ordenados por matrícula de forma decrescente

Alternativas
Comentários
  • Para obter o resultado especificado na questão, a consulta teria que ser a seguinte:
    SELECT * FROM (SELECT * FROM empregado ORDER BY matricula DESC) WHERE ROWNUM <= 2 ORDER BY matricula DESC

    O (
    SELECT * FROM empregado ORDER BY matricula DESC) de fato ordena os empregados por ordem decrescente, mas o  ORDER BY matricula externo ordena o resultado final de forma crescente (ASC), que é a padrão se nada for especificado. Portanto, eu humildemente considero o gabarito errado. Marquei E.
  • A análise não está incorreta. De fato, o ORDER BY externo vai se sobrepor e a saída final estará em ordem crescente. O que pega na questão é o português. "terá como resultado apenas as duas primeiras linhas dos empregados ordenados por matrícula de forma decrescente" significa que o resultado são as duas primeiras linhas da tabela resultante dos empregados ordenados por matrícula de forma decrescente. Um exemplo:
    Empregado tem valores {1,2,3}.
    SELECT * FROM (SELECT * FROM empregado ORDER BY matricula DESC) WHERE ROWNUM <= 2 ORDER BY matricula; : {3,2,1}
    SELECT * FROM (SELECT * FROM empregado ORDER BY matricula DESC) WHERE ROWNUM <= 2 ORDER BY matricula : {3,2}
    SELECT * FROM (SELECT * FROM empregado ORDER BY matricula DESC) WHERE ROWNUM <= 2 ORDER BY matricula : {2,3}
    A saída seria {2,3}, que são as duas primeiras linhas dos empregados ordenados de forma desc {3,2,1}, em ordem asc. Meio embolado, eu errei a questão, mas creio que o gabarito não mude.
  • Foi a pegadinha mais malvada que eu já vi rs

    Realmnente, se tivesse uma vírgula logo depois de "empregados", a questão estaria Incorreta.

  • pense numa pegadinha fdp => apresento-lhes essa questão

    A execução da consulta SQL SELECT * FROM (SELECT * FROM empregado ORDER BY matricula DESC) WHERE ROWNUM <= 2 ORDER BY matricula; terá como resultado apenas as duas primeiras linhas dos empregados ordenados por matrícula de forma decrescente (CERTO)

    A execução da consulta SQL SELECT * FROM (SELECT * FROM empregado ORDER BY matricula DESC) WHERE ROWNUM <= 2 ORDER BY matricula; terá como resultado apenas as duas primeiras linhas dos empregados, ordenados por matrícula de forma decrescente (ERRADO)


ID
770452
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

Determinadas características de orientação a objeto incorporadas à versão 8 do ORACLE possibilitam definir atributos multivalorados. O tipo de dados utilizado para essa definição é o VARRAY, que possui as propriedades COUNT e LIMIT.

Alternativas
Comentários
  • Essa é um tipo de questão prática, ou seja, só responde que trabalha de fato com Oracle. 

    A solução: http://www.dba-oracle.com/tips_oracle_varray.htm
  • É muito relativo. Eu sou DBA há 8 anos e nunca trabalhei com este tipo de dados. Ainda assim é muito relativo dizer que quem trabalha com Oracle conhece.

  • Certo,

    Eu acertei usando a lógica. Se um array são blocos um VARRAY são blocos(estruturas) de strings. E levando consideração as linguagens de programação que tratam com array sempre tem os atributos de COUNT e LIMIT para essas estruturas.

  • O Oracle implementa dois tipos de dados coleções: o tipo vetor (varray) e a tabela aninhada (nested table). 


    Tipo Vetor (VARRAY): Esse tipo é um vetor, ou seja, uma lista ordenada de elementos do mesmo tipo. Cada elemento tem um índice, que é um número da posição do elemento no vetor. No Oracle é chamado de VARRAY, porque o vetor é de tamanho variável. Por isso quando este for criado sempre deverá ser especificado o seu tamanho máximo. É importante notar que o banco de dados não aloca realmente qualquer espaço; ele apenas define um novo tipo e o armazena no catálogo do sistema. 


    O seguinte exemplo declara um tipo varray: 

    create type lista_telefones as varray(5) of varchar2(10) 

  • cuidado que isso não é multivaloração.

    cada dado é atômico, do tipo do domínio. O domínio é que por acaso é um array.

    daqui a pouco a banca pergunta se isso fere a 1ª forma normal.


ID
770455
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Arquitetura de Computadores
Assuntos

Large object (LOB) são tipos de dados para armazenar dados não estruturados cujo tamanho mínimo seja de 4.000 bytes.

Alternativas
Comentários
  • O erro seria a informação do tamanho mínimo de 4000 bytes.
  • Depende do sistema e o tipo de LOB utilizado (CLOB, BLOB, etc).
    Na documentação da IBM, consta que os LOB, além das especializações de aplicação, se compõem de dois tipos importantes: LOB de alocação e LOB de dados.

    Os LOB Allocation Objects usam aproximadamente 4 KB (4*1024= 4096 bytes), no mínimo, para guardar suas informações, enquanto os LOB Data Objects usam aproximadamente 1 KB.

    Fonte:
    http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/admin/r0008473.htm

ID
770458
Banca
CESPE / CEBRASPE
Órgão
Banco da Amazônia
Ano
2012
Provas
Disciplina
Banco de Dados
Assuntos

A execução da consulta SQL

SELECT departamento, AVG (salario)
FROM empregado
WHERE AVG (salario) > 2000
GROUP BY departamento;

terá como resultado a média dos salários dos empregados agrupada por departamento, se essa média for maior que 2.000.


Alternativas
Comentários
  • Já que estamos usando função de agrupamento AVG deveriamos usar uma clausula HAVING como condicional e não o WHERE tradicional.
  • Só mais uma observação:
    Não pode ter função de agrupamento (como AVG, MIN, MAX, COUNT) na clausula WHERE.
  • O correto seria:
    SELECT departamento, AVG (salario)
    FROM empregado
    GROUP BY departamento
    HAVING AVG (salario) > 2000;
  • Apenas para clarear as idéias, o WHERE pode ser utilizado em consultas onde existam funções de agregação, não podem entretanto ser utilizado na mesma ''linha'', isto é, as funções de agregação não podem estar juntas, coladas do WHERE

    Consulta simples:
    SELECT COL1, COL2,...,COLN
    FROM NOME_TABELA
    WHERE (expressão lógica)
    GROUP BY (atributos de agrupamento)
    HAVING (condição de agrupamento)
    ORDER BY (lista de atributos)

    Where: filtra antes do agrupamento.
    Having: filtra  depois do agrupamento
    Como a questão diz :
    terá como resultado a média dos salários dos empregados agrupada por departamento, se essa média for maior que 2.000.
    Ela quer saber do resultado após o agrupamento, para se ter esse resultado ai seria como o já mencionado pelos colegas acima, entretanto com a cláusula where antes, implicaria no agrupamento apenas dos resultados que satisfizessem(palavra feia) a condição where.

    Slide das aulas de Linguagem e Manipulação de Dados do Prof. Marcio Vitorino
  • Todas as funções de agrupamento pedem Having!