Prévia do material em texto
ORM (Object-Relational Mapping) 1. O que e o conceito de ORM (Object-Relational Mapping)? a) Um tipo de banco de dados relacional utilizado em sistemas de informacao. b) Um processo de conversao de dados entre sistemas incompativeis utilizando SQL diretamente. c) Uma tecnica que mapeia objetos de um modelo orientado a objetos para tabelas em um banco de dados relacional. d) Um tipo de linguagem de programacao utilizada para trabalhar com bancos de dados. Resposta correta: c Explicacao: O ORM e uma tecnica que permite mapear objetos de um modelo orientado a objetos para tabelas de um banco de dados relacional, facilitando a comunicacao entre o codigo da aplicacao e o banco de dados, sem a necessidade de escrever SQL manualmente. 2. Qual das alternativas abaixo descreve corretamente a principal vantagem do uso de ORM? a) Acesso mais rapido aos dados em grandes volumes. b) Reducao da quantidade de codigo SQL escrito manualmente. c) Maior controle sobre o gerenciamento de transacoes. d) Maior capacidade de realizar consultas complexas em grande escala. Resposta correta: b Explicacao: A principal vantagem do ORM e a reducao da quantidade de SQL que precisa ser escrito manualmente, tornando o codigo da aplicacao mais limpo e facil de entender, alem de permitir que os desenvolvedores foquem mais na logica de negocios. 3. Qual e o principal desafio ao utilizar ORM em sistemas complexos? a) A necessidade de implementar SQL manualmente em todas as operacoes. b) A dificuldade de mapear grandes quantidades de dados para objetos. c) A sobrecarga de desempenho devido a conversao de objetos em dados relacionais. d) A complexidade da linguagem de programacao utilizada. Resposta correta: c Explicacao: Um dos principais desafios ao usar ORM e a sobrecarga de desempenho, ja que a conversao entre objetos e dados relacionais pode ser custosa em termos de recursos computacionais, especialmente quando ha grandes volumes de dados. 4. Qual das alternativas representa um beneficio do uso de ORM na migracao entre diferentes bancos de dados? a) Facilita a substituicao do banco de dados sem reescrever a logica de acesso. b) Impede qualquer tipo de modificacao no modelo de dados. c) Torna a consulta SQL muito mais eficiente e rapida. d) Fornece uma camada de seguranca contra injecao de SQL. Resposta correta: a Explicacao: O ORM facilita a migracao entre diferentes bancos de dados, pois abstrai o modelo de dados subjacente e permite que o codigo da aplicacao continue funcionando mesmo quando o banco de dados for alterado. 5. O que sao os mapeamentos dentro do ORM? a) Sao as tabelas no banco de dados que representam os objetos. b) Sao as regras que determinam como um objeto sera persistido ou recuperado do banco de dados. c) Sao as instrucoes SQL geradas automaticamente pela ferramenta ORM. d) Sao os tipos de dados utilizados no banco de dados. Resposta correta: b Explicacao: No contexto de ORM, "mapeamentos" sao as regras que definem como um objeto deve ser armazenado no banco de dados (por exemplo, uma classe que e mapeada para uma tabela) e como os dados do banco de dados devem ser convertidos de volta para objetos. 6. Qual desses frameworks e um exemplo de ferramenta ORM? a) Spring Boot b) Hibernate c) Angular d) Flask Resposta correta: b Explicacao: O Hibernate e um framework ORM amplamente utilizado na linguagem Java, permitindo a conversao entre objetos Java e tabelas de banco de dados relacionais. 7. Qual das seguintes opcoes e uma caracteristica dos frameworks ORM? a) Eles eliminam a necessidade de usar banco de dados relacionais. b) Eles permitem o uso exclusivo de SQL para interacao com o banco de dados. c) Eles automatizam a traducao de dados entre objetos e o banco de dados. d) Eles forcam o uso de SQL nativo em todas as consultas. Resposta correta: c Explicacao: Os frameworks ORM automatizam a traducao entre os objetos do codigo e as tabelas do banco de dados, simplificando a interacao com o banco sem a necessidade de escrever SQL manualmente. 8. O que e o conceito de "lazy loading" em ORM? a) Um mecanismo de seguranca que impede o acesso a dados confidenciais. b) Um recurso que carrega os dados de forma imediata, independentemente da necessidade. c) Um mecanismo que adia o carregamento de dados ate que eles realmente sejam necessarios. d) Um padrao de design que evita consultas excessivas ao banco de dados. Resposta correta: c Explicacao: O "lazy loading" e um recurso utilizado em ORM que adia o carregamento de dados ate que esses dados sejam efetivamente solicitados pelo codigo, evitando o carregamento desnecessario de informacoes. 9. O que e o "eager loading" em ORM? a) Um recurso que carrega os dados de forma adiada. b) Um padrao para otimizar o tempo de resposta ao carregar grandes volumes de dados. c) Um mecanismo que carrega os dados relacionados imediatamente, sem esperar a necessidade. d) Uma tecnica que impede o carregamento de dados excessivos. Resposta correta: c Explicacao: O "eager loading" e o oposto do "lazy loading". Nesse modelo, os dados relacionados sao carregados imediatamente, o que pode ser util quando voce sabe que esses dados serao necessarios logo apos o carregamento inicial. 10. Qual das seguintes afirmacoes sobre o relacionamento entre entidades e verdadeira em um ORM? a) Um ORM nunca pode mapear um relacionamento muitos-para-muitos. b) Um relacionamento um-para-um e representado apenas como uma tabela no banco de dados. c) Relacionamentos muitos-para-muitos podem ser mapeados utilizando tabelas intermediarias no banco de dados. d) Um ORM nao pode representar relacionamentos entre entidades de diferentes bancos de dados. Resposta correta: c Explicacao: Relacionamentos muitos-para-muitos em ORM sao frequentemente representados por tabelas intermediarias que fazem o link entre as duas entidades envolvidas no relacionamento. 11. Quais sao as desvantagens potenciais de se usar ORM? a) Desempenho reduzido devido a sobrecarga de abstracao e traducao de dados. b) Necessidade de reescrever todas as consultas SQL manualmente. c) Dificuldade de integracao com bancos de dados NoSQL. d) Falta de suporte para transacoes e controle de concorrencia. Resposta correta: a Explicacao: O uso de ORM pode levar a um desempenho reduzido devido a sobrecarga de abstracao. A conversao entre objetos e dados relacionais pode consumir recursos de forma mais intensiva, especialmente quando ha grande volume de dados. 12. O que e o conceito de transacoes no contexto de ORM? a) Um processo que permite realizar varias operacoes no banco de dados de forma automatica e sem controle. b) Um mecanismo que permite agrupar varias operacoes em uma unica unidade de trabalho, garantindo que todas as operacoes sejam bem-sucedidas ou revertidas em caso de erro. c) Uma tecnica para otimizar o acesso ao banco de dados utilizando consultas SQL simples. d) Um modelo de autorizacao utilizado para conceder acesso a dados sensiveis. Resposta correta: b Explicacao: Em ORM, uma transacao agrupa varias operacoes (como insercoes, atualizacoes ou exclusoes) em uma unica unidade de trabalho. Isso garante que todas as operacoes sejam concluidas com sucesso ou revertidas caso haja algum erro, mantendo a integridade dos dados. 13. Como o ORM trata a sincronizacao entre o modelo de dados e a estrutura do banco de dados? a) O ORM nao lida com a sincronizacao, sendo responsabilidade do desenvolvedor. b) A sincronizacao e realizada automaticamente sem qualquer interacao do desenvolvedor. c) O ORM oferece ferramentas para gerar automaticamente scripts de migracao ou atualizacoes de schema no banco de dados. d) O ORM depende exclusivamente do banco de dados para realizar a sincronizacao. Resposta correta: c Explicacao: A maioria dos frameworks ORM, como o Hibernate, oferece ferramentas que geram automaticamente scripts de migracao ou atualizacoes do schema do banco de dados para que ele se mantenha sincronizado com as mudancasno modelo de dados da aplicacao. 14. O que e uma "entidade" em um ORM? a) Um tipo de classe que define a estrutura do banco de dados. b) Uma representacao de um objeto do dominio de negocios que sera mapeado para uma tabela no banco de dados. c) Um modelo de dados abstrato que define as relacoes entre diferentes bancos de dados. d) Uma interface que define as regras de validacao de dados. Resposta correta: b Explicacao: Em ORM, uma "entidade" e um objeto que representa uma tabela no banco de dados. Cada instancia da entidade corresponde a uma linha da tabela, e seus atributos correspondem as colunas dessa tabela. 15. O que significa a sigla "CRUD" no contexto de ORM? a) Criar, Reler, Atualizar, Deletar b) Consultar, Remover, Atualizar, Desenvolver c)