Prévia do material em texto
ORM (Object-Relational Mapping) O que e ORM (Object-Relational Mapping)? a) Um processo que converte dados de tabelas relacionais em objetos b) Uma tecnica para converter dados em formato JSON c) Um tipo de banco de dados relacional d) Uma linguagem de programacao para trabalhar com bancos de dados Resposta correta: a) Um processo que converte dados de tabelas relacionais em objetos Explicacao: ORM e uma tecnica que permite mapear objetos do mundo da programacao orientada a objetos para tabelas em bancos de dados relacionais, facilitando a interacao entre o codigo e o banco de dados. Qual e a principal vantagem de usar ORM em um projeto? a) Facilita a criacao de tabelas no banco de dados b) Elimina a necessidade de um banco de dados relacional c) Facilita a manipulacao de dados no banco de dados atraves de objetos de programacao d) Reduz a quantidade de dados armazenados Resposta correta: c) Facilita a manipulacao de dados no banco de dados atraves de objetos de programacao Explicacao: ORM permite que o programador trabalhe diretamente com objetos, sem a necessidade de escrever SQL manualmente, tornando o desenvolvimento mais agil e o codigo mais facil de entender e manter. O que e "mapeamento" em ORM? a) A definicao de como as tabelas do banco de dados devem ser criadas b) A conversao entre a estrutura de dados relacional e os objetos em uma linguagem de programacao c) O processo de indexacao de dados em um banco relacional d) A traducao de codigo SQL para consultas em uma linguagem orientada a objetos Resposta correta: b) A conversao entre a estrutura de dados relacional e os objetos em uma linguagem de programacao Explicacao: O mapeamento no ORM e o processo de converter as tabelas e colunas do banco de dados em classes e atributos da linguagem de programacao, permitindo que os dados sejam manipulados como objetos. Qual e a principal funcao de um ORM em relacao ao banco de dados? a) Aumentar a complexidade de consultas SQL b) Tornar desnecessaria a conexao com o banco de dados c) Facilitar a transicao entre dados relacionais e objetos de programacao d) Substituir completamente o uso de SQL no sistema Resposta correta: c) Facilitar a transicao entre dados relacionais e objetos de programacao Explicacao: O ORM serve para mapear as tabelas do banco de dados para objetos na linguagem de programacao, tornando mais facil para os desenvolvedores manipular os dados sem escrever SQL manualmente. Em um sistema que usa ORM, o que sao as "entidades"? a) Metodos usados para manipular o banco de dados b) Classes que representam tabelas no banco de dados c) Consultas SQL geradas automaticamente d) Indices que aceleram as buscas no banco de dados Resposta correta: b) Classes que representam tabelas no banco de dados Explicacao: No contexto do ORM, as "entidades" sao classes que mapeiam para as tabelas do banco de dados. Cada instancia da classe representa uma linha na tabela. Qual e o papel do "repositorio" em um sistema que utiliza ORM? a) Guardar o codigo SQL gerado pelas consultas b) Abstrair as operacoes de persistencia de dados, fornecendo metodos para acessar as entidades c) Manter a conexao com o banco de dados d) Gerenciar o cache de dados no sistema Resposta correta: b) Abstrair as operacoes de persistencia de dados, fornecendo metodos para acessar as entidades Explicacao: O repositorio e uma camada de abstracao que oferece metodos para realizar operacoes de leitura e gravacao no banco de dados, sem que o desenvolvedor precise lidar diretamente com SQL. Qual das alternativas abaixo e um exemplo de framework ORM? a) Hibernate b) MySQL c) MongoDB d) PostgreSQL Resposta correta: a) Hibernate Explicacao: O Hibernate e um framework ORM amplamente utilizado em Java. Ele facilita o mapeamento objeto-relacional, permitindo que os desenvolvedores manipulem dados em objetos sem escrever SQL diretamente. Qual e o tipo de relacao que o ORM pode mapear entre classes e tabelas no banco de dados? a) Relacao de heranca b) Relacao de associacao, composicao e heranca c) Relacao de heranca e composicao apenas d) Relacao de agregacao exclusivamente Resposta correta: b) Relacao de associacao, composicao e heranca Explicacao: O ORM pode mapear diferentes tipos de relacoes entre classes e tabelas, incluindo associacao, composicao e heranca, permitindo que as entidades no codigo reflitam as relacoes existentes no banco de dados. O que significa a sigla "CRUD" no contexto de ORM? a) Calculos de Dados Relacionais Unificados b) Criacao, Leitura, Atualizacao e Exclusao de dados c) Criacao, Relacionamento, Atualizacao e Delecao d) Codigo Relacional para Atualizacao de Dados Resposta correta: b) Criacao, Leitura, Atualizacao e Exclusao de dados Explicacao: CRUD e um acronimo para as quatro operacoes basicas realizadas em bancos de dados: Criacao, Leitura, Atualizacao e Exclusao. No ORM, essas operacoes sao feitas por meio de objetos, sem a necessidade de escrever SQL diretamente. Qual e a desvantagem de usar um ORM? a) Maior controle sobre a execucao de SQL e otimizacao de consultas b) Aumento do numero de requisicoes ao banco de dados c) Menor performance devido a abstracao entre a aplicacao e o banco de dados d) Necessidade de escrever SQL mais complexo Resposta correta: c) Menor performance devido a abstracao entre a aplicacao e o banco de dados Explicacao: Uma das desvantagens do ORM e que a abstracao pode gerar uma leve sobrecarga no desempenho, especialmente em operacoes complexas que exigem otimizacoes especificas no SQL. O que significa o termo "lazy loading" no contexto de ORM? a) Carregamento de dados apenas quando necessario b) Carregamento de todos os dados imediatamente ao iniciar o sistema c) Carregamento de dados atraves de SQL otimizado d) Carregamento de dados somente em consultas agregadas Resposta correta: a) Carregamento de dados apenas quando necessario Explicacao: O "lazy loading" e uma estrategia onde os dados associados a uma entidade sao carregados apenas quando sao realmente necessarios, em vez de serem carregados automaticamente junto com a entidade principal, o que pode melhorar o desempenho em muitos casos. Qual e a principal diferenca entre "eager loading" e "lazy loading"? a) "Eager loading" carrega dados somente quando explicitamente requisitado, enquanto "lazy loading" carrega todos os dados de imediato. b) "Eager loading" carrega dados de forma imediata, enquanto "lazy loading" carrega os dados somente quando necessario. c) Nao ha diferenca entre os dois metodos de carregamento. d) "Eager loading" e mais eficiente que "lazy loading" em todos os casos. Resposta correta: b) "Eager loading" carrega dados de forma imediata, enquanto "lazy loading" carrega os dados somente quando necessario. Explicacao: "Eager loading" carrega todos os dados relacionados de imediato, enquanto "lazy loading" carrega os dados associados somente quando sao acessados pela primeira vez, podendo melhorar o desempenho quando nao sao necessarios todos os dados relacionados. O que e "mapeamento bidirecional" em ORM? a) O relacionamento entre objetos e mapeado apenas de um lado b) O relacionamento entre objetos e mapeado para que ambos os lados possam ser acessados e manipulados c) O mapeamento bidirecional nao e possivel em ORM d) O mapeamento bidirecional significa que os dados podem ser recuperados simultaneamente de duas tabelas Resposta correta: b) O relacionamento entre objetos e mapeado para que ambos os lados possam ser acessados e manipulados Explicacao: O mapeamento bidirecional permite que, em um relacionamento entre duas entidades, tanto o lado A quanto o lado B possam acessar e manipular as informacoes de forma mutua. Qual e o papel da "anotacao" no uso de frameworks ORM como o Hibernate? a) Definir a estrutura da tabela no banco de dados b) Fornecer uma interface para consulta de dados no banco c) Especificar mapeamentos entre classes e tabelas no banco de dados d) Definir otipo de banco de dados a ser usado Resposta correta: c) Especificar mapeamentos entre classes e tabelas no banco de dados Explicacao: As anotacoes em frameworks como Hibernate sao usadas para definir como as classes de um programa devem ser mapeadas para tabelas no banco de dados, facilitando a configuracao e o gerenciamento das entidades. 15