No âmbito de sistemas de banco de dados, o que se observa é que, no modelo relacional formal, uma relação se define com um conjunto de tuplas, sendo que duas tuplas não podem apresentar igual combinação de valores para todos os atributos. Algumas condições adicionais se impõem, por exemplo, a necessidade de cada relação ter ao menos uma superchave-padrão.A esse respeito, analise as asserções a seguir e a relação proposta entre elas.I. Chave e superchave são conceitos distintos, ainda que associados — por exemplo, pela constatação de que uma chave satisfaz a propriedade de ser uma superchave mínima, da qual se pode remover qualquer atributo e, ainda, manter uma restrição de exclusividade.PORQUEII. Uma superchave também é uma chave, embora não se possa afirmar o mesmo da condição contrária, pois jamais uma chave poderia ser assumida como uma superchave, sob qualquer circunstância.
Avaliando as asserções, conclui-se que:
O modelo de dados orientado a objetos pode ser considerado uma extensão do paradigma orientado a objetos. Ele compartilha essencialmente os mesmos conceitos. Afinal, o paradigma orientado a objetos visa construir aplicações a partir de objetos abstraídos da realidade, com a devida associação de dados e comportamentos. Esses objetos têm atributos, entendidos como as propriedades que apresentam valores que descrevem o objeto, e métodos, que são as especificações objetivas do comportamento dos objetos. O modelo orientado a objetos também carrega outras características de suma importância, incluindo o encapsulamento, as mensagens, a herança e o polimorfismo.Sobre a temática, avalie as asserções a seguir e a relação proposta entre elas.I. Polimorfismo é a capacidade de criar uma nova classe a partir de outra.PORQUE
II. Em contrapartida herança é a capacidade de aplicar diferentes implementações para métodos com igual assinatura em diferentes classes.
A respeito das asserções, assinale a alternativa correta:
Quando é utilizado o comando select em linguagem SQL (Structured Query Language ou, em uma tradução livre, Linguagem de Consulta Estruturada), é possível fazer algumas consultas combinadas. Determinada cláusula permite que sejam combinados dados de duas ou mais tabelas em um elementar comando select. Essa cláusula possibilita a junção de dados que seguiram para entidades ou de tabelas separadas a partir da adoção do modelo relacional.Assinale a alternativa correta que contenha um texto ou palavra que esteja associado ao conceito apresentado no contexto acima:
Quando se usa o comando select em linguagem SQL (Structured Query Language ou, em uma tradução livre, Linguagem de Consulta Estruturada), determinada cláusula permite a criação de um filtro que define o conjunto de registros a serem recuperados. A condição é sempre satisfeita mediante uma operação lógica (portanto, booleana). De fato, há diversas possibilidades de condições que podem ser determinadas nessa cláusula em específico.Assinale a alternativa correta que corresponda a cláusula pertinente ao contexto apresentando acima:
No âmbito de banco de dados, denomina-se “índice” a estrutura de acesso auxiliar que é empregada para agilizar a recuperação de registros como resposta a determinadas condições de consulta. Com efeito, os índices são, indiscutivelmente, uma das ferramentas de otimização mais difundidas e de amplo uso por parte dos desenvolvedores de bancos de dados.Com base nas informações apresentadas, identifique se as afirmativas a seguir são (V) verdadeiras ou (F) falsas.Índices devem abranger campos sujeitos a pesquisas frequentes.
Índices são de especial predileção junto a colunas com valores binários.
Existem outras cláusulas além da UNIQUE para serem atribuídas ao índice.Assinale a alternativa que apresenta a sequência correta:
Lançado no mercado em 1989, esse excepcional banco de dados open source suporta SQL e se mostra multiplataforma, rodando muito bem não apenas no Windows mas em FreeBSD, HP-UX, Linux, NetBSD, OpenBSD, OS X, Solaris e Unix. É considerado bastante robusto, sendo de especial predileção para uso em sistemas que reúnem grande quantidade de registros, tendo sido um dos primeiros open source a implementar UTF-8 (um tipo de codificação binária de comprimento variável que se transformou na codificação de caracteres mais usual da World Wide Web).
Assinale a designação correta do banco de dados em questão:
No mapeamento MER para relacional, é preciso, primeiramente, escolher uma abordagem. O que se vê, na prática, é que a mais comum delas é a da chave _______. De toda forma, é preciso saber que existem alternativas, como a abordagem da relação _______ e a abordagem da referência _______, também denominada, muitas vezes, como relação de relacionamento.Preencha as lacunas escolhendo a alternativa correta:
No campo da TI, é importante que se conheça a definição correta dos termos e das expressões técnicas que são comumente empregados, fazendo com que o profissional possa ser mais assertivo nas comunicações no dia a dia. Um desses conceitos corresponde à identificação de um nome do banco de dados. A especificação ocorre durante o projeto do banco de dados, que pode englobar várias estruturas de tabelas.Assinale a designação correta do conceito em questão:
Ao longo das décadas, as arquiteturas de computadores passaram por diversas inovações tecnológicas que impactaram significativamente sua organização e desempenho. É importante entender como essas inovações moldaram os computadores que utilizamos hoje.Analise as seguintes afirmações sobre a evolução das arquiteturas de computadores e selecione a alternativa correta que relaciona uma inovação tecnológica ao seu impacto.
No processo de tradução de linguagens de alto nível para linguagem de máquina, utiliza-se uma série de passos intermediários que envolvem compiladores, montadores e ligadores. Compreender essas etapas é essencial para entender como o código escrito em linguagens como C ou Java é transformado em instruções executáveis pela CPU.Identifique a sequência correta de tradução de um programa em linguagem C até sua execução pela CPU, considerando as etapas de compilação, montagem e ligação.
Linguagens de montagem (assembly) e linguagens de máquina são essenciais para o funcionamento dos sistemas computacionais. A linguagem de montagem usa mnemônicos e é convertida em linguagem de máquina, composta por instruções binárias executáveis pelo processador. A linguagem de montagem facilita a programação de baixo nível, permitindo acesso a recursos específicos do hardware, enquanto a linguagem de máquina está estreitamente ligada à arquitetura do computador.Neste contexto, assinale a alternativa que descreve uma vantagem da linguagem de montagem sobre a linguagem de alto nível em sistemas embarcados.
Em um programa na linguagem C, estruturas (structs) são usadas para agrupar variáveis de diferentes tipos em um único tipo de dado, enquanto typedef facilita a criação de novos nomes para esses tipos de dados complexos. Essa combinação permite a definição clara e reutilizável de dados, melhorando a organização e manutenção do código.Considere um programa que utiliza uma estrutura para representar uma pessoa com os campos nome (string de 30 caracteres) e idade (inteiro) e assinale qual das opções abaixo aplica a definição correta da estrutura e seu uso com typedef para simplificar a criação de variáveis desse tipo.
Existem dois tipos principais de arquiteturas para sistemas de computação paralela: multiprocessadores e multicomputadores. Nos [preencher 1], as CPUs compartilham um único espaço de endereço virtual mapeado para uma memória comum, permitindo um/uma [preencher 2] mais eficiente entre as CPUs. Em contraste, no/nos [preencher 3], cada CPU possui sua própria memória privada, sendo necessário um meio de comunicação para troca de informações.Os termos [preencher 1], [preencher 2] e [preencher 3] são corretamente substituídos por:
As memórias dos computadores têm diversas características importantes que influenciam seu funcionamento e desempenho. Dentre essas características, estão a capacidade de armazenamento, o tempo de acesso e o custo. Compreender como essas características interagem pode ajudar na escolha adequada de memória para diferentes aplicações.Assinale a alternativa que identifica a principal relação entre tempo de acesso e custo nas memórias dos computadores.
Durante uma discussão sobre arquiteturas de computadores, o professor pediu aos estudantes que explicassem como o modelo de Von Neumann processa dados e instruções. Ele forneceu um exemplo onde o computador deve executar uma série de operações aritméticas e lógicas. Selecione a alternativa que explica corretamente como o modelo de Von Neumann processa dados e instruções.
A história da internet no Brasil é marcada por importantes iniciativas que contribuíram para a expansão e democratização do acesso à tecnologia. Instituições acadêmicas e não acadêmicas tiveram papéis fundamentais neste processo, interligando redes e criando serviços que permitiram o acesso a informações e a comunicação entre diferentes grupos e comunidades. Conhecer esses marcos históricos é essencial para entender como a internet se desenvolveu no país.Sobre a história inicial da internet no Brasil, avalie as afirmativas a seguir:O primeiro acesso à internet no Brasil ocorreu no Laboratório Nacional de Computação Científica (LNCC), através de uma conexão com a Universidade de Maryland em 1988.II. A Fapesp foi a segunda instituição no Brasil a conectar-se à Bitnet, estabelecendo uma conexão com o Fermilab em Chicago.III. A rede ANSP foi criada pela Fapesp para interligar diversas universidades no estado de São Paulo, como a USP e a Unicamp.IV. A Universidade Federal do Rio de Janeiro (UFRJ) foi o primeiro ponto de acesso à internet no Rio de Janeiro, conectando-se à Bitnet através da UCLA.V. O Ibase foi fundamental na promoção da democratização do acesso à internet no Brasil, especialmente por meio do serviço Alternex.Está correto o que se afirma em:
A Google Cloud Platform (GCP) oferece uma infraestrutura poderosa e distribuída globalmente para hospedar e escalar aplicações web, proporcionando velocidade, localização e capacidade de processamento de dados em larga escala. Essas características são essenciais para garantir o desempenho e a disponibilidade das aplicações em uma escala global.Neste contexto, qual das seguintes alternativas melhor descreve uma característica fundamental da infraestrutura da Google Cloud Platform?
Iniciar com o Docker envolve uma série de passos fundamentais que introduzem os usuários à criação, gerenciamento e implantação de container. A instalação do Docker, o entendimento de imagens e containers, e a execução de um container Docker básico são etapas essenciais para começar a explorar as vantagens da conteinerização em projetos de desenvolvimento.Qual das seguintes opções descreve corretamente um passo inicial ao utilizar o Docker?
Arquiteturas de software podem variar grandemente em complexidade e funcionalidade. Uma arquitetura monolítica, comumente utilizada em sistemas mais antigos, encapsula todas as operações do sistema em um único e indistinto conjunto. Este modelo suporta diversos tipos de clientes, como mobile e desktop, e pode integrar com outras aplicações usando REST ou SOAP. Embora esta abordagem ofereça um desenvolvimento inicial rápido e seja mais simples de aprender e gerenciar inicialmente, ela também tem desvantagens significativas.Considere as características e implicações do uso de uma arquitetura de software monolítica. Qual das seguintes opções é uma desvantagem dessa arquitetura?
A arquitetura de três esquemas em sistemas de gerenciamento de banco de dados (SGBDs) é fundamental para garantir a eficiência e segurança no manejo dos dados. Esta arquitetura divide a estrutura do banco de dados em três níveis distintos: o esquema interno, que lida com a armazenagem física dos dados; o esquema conceitual, que define a estrutura lógica de toda a base de dados; e o esquema externo, que proporciona várias visões personalizadas dos dados para diferentes usuários. Esta estruturação é projetada para isolar os usuários das complexidades físicas da armazenagem de dados, ao mesmo tempo em que oferece uma visão mais intuitiva e adaptada às suas necessidades específicas.Neste sentido, qual é o principal objetivo da implementação da arquitetura de três esquemas em SGBDs?
O uso de bibliotecas e frameworks no desenvolvimento frontend moderno é uma prática comum que ajuda a acelerar o processo de desenvolvimento, promover a reutilização de código e garantir a manutenção e escalabilidade das aplicações web. Essas ferramentas fornecem abstrações de código e componentes reutilizáveis, facilitando a implementação de funcionalidades complexas e o design responsivo.Neste contexto, qual das seguintes opções representa uma combinação popular de biblioteca/framework utilizado no desenvolvimento frontend de aplicações web?
No padrão de arquitetura de software MVC, a interação entre modelo, visão e controlador é crucial para o funcionamento eficaz de uma aplicação web. Cada componente tem funções bem definidas que, quando executadas em harmonia, resultam em uma experiência de usuário fluida e responsiva. Compreender como esses componentes interagem pode ajudar desenvolvedores a projetar e implementar melhores aplicações web.Neste contexto, sobre a interação entre os componentes do padrão MVC, observe as afirmativas a seguir:I. O controlador recebe e interpreta comandos do usuário, enviando comandos ao modelo para atualizar seu estado conforme necessário.II. O modelo, ao ser atualizado, notifica automaticamente a visão associada para que esta possa alterar a apresentação dos dados ao usuário.III. A visão solicita dados diretamente do controlador, ignorando o modelo para garantir que a exibição dos dados seja feita de maneira mais rápida e eficiente.IV. Após o modelo ser atualizado, ele envia uma notificação para as visões e controladores associados, que então podem reagir a essas mudanças de maneira adequada.V. A visão gera uma representação visual dos dados presentes no modelo, utilizando formatos como HTML ou XML para exibição ao usuário.Está correto o que se afirma em:
O protocolo HTTP é essencial para a comunicação na Web, pois define como as mensagens são formatadas e transmitidas, e como os servidores e navegadores devem responder a diversas requisições. Quando você digita um endereço no navegador, uma requisição HTTP é enviada ao servidor, que responde com o conteúdo solicitado, como páginas HTML, imagens ou vídeos.Qual das opções a seguir descreve corretamente o funcionamento de uma requisição HTTP do tipo GET?
Considere a implementação de um sistema de gerenciamento de biblioteca que utiliza um método genérico findBook para pesquisar livros por diferentes critérios, como título, autor ou ano de publicação.O método utiliza o parâmetro de tipo T tanto no tipo de retorno quanto nos parâmetros do método, e é restrito a objetos que implementam a interface Comparable<T> .Abaixo está uma simplificação do método:Descrição de imagem: O código consiste na declaração de um método genérico findBook, que recebe um array books e um objeto criteria como parâmetros. Ele utiliza um laço for para percorrer o array books, e uma condição if para comparar cada elemento com o criteria. Se um elemento correspondente é encontrado, o método o retorna; caso contrário, retorna null.Suponha que a classe Book implementa Comparable<Book> e que a comparação é feita com base no título do livro. Dada a chamada ao método findBook com um array de objetos Book e um critério de busca, análise qual seria o resultado esperado?
Em um projeto de desenvolvimento de aplicações de rede em Java, um programador se depara com o desafio de balancear a necessidade de confiabilidade com a demanda por transmissões de dados rápidas e em tempo real. Enquanto algumas partes da aplicação requerem uma troca de informações sem falhas, onde cada pacote é crucial, outras priorizam a velocidade e o fluxo contínuo de dados, onde o desempenho em tempo real é mais crítico que a integridade absoluta dos pacotes de dados. Diante desse cenário, o desenvolvedor opta por utilizar sockets TCP para a confiabilidade e UDP para a rapidez.Considere os seguintes fragmentos de código exemplificando a implementação de cada protocolo:TCP:ServerSocket serverSocket = new ServerSocket(portNumber);Socket clientSocket = serverSocket.accept();InputStream in = clientSocket.getInputStream();OutputStream out = clientSocket.getOutputStream();// Código para ler e escrever dados do in e out...UDP:DatagramSocket udpSocket = new DatagramSocket();byte[] sendBuffer = new byte[1024];DatagramPacket sendPacket = new DatagramPacket(sendBuffer, sendBuffer.length, address, port);udpSocket.send(sendPacket);// Código para receber pacotes...Baseando-se na análise dos fragmentos de código para os respectivos protocolos, assinale a alternativa que melhor descreve a implementação correta e as características dos sockets TCP e UDP em Java:
Considere um programa em Java denominado DivideByZeroNoExceptionHandling, que tem por objetivo demonstrar o que acontece quando ocorre uma tentativa de divisão por zero sem o devido tratamento de exceção. Neste contexto, o programa solicita ao usuário dois inteiros: um numerador e um denominador, e em seguida tenta realizar a divisão dos dois. Durante a execução, podem surgir dois tipos principais de exceções: ArithmeticException, quando se tenta dividir por zero, e InputMismatchException, quando o valor inserido não é um inteiro válido. Baseando-se nessas informações, identifique qual alternativa descreve corretamente o comportamento do programa e as exceções geradas.
Em um sistema de gerenciamento de biblioteca, um desenvolvedor está implementando uma funcionalidade para armazenar e recuperar informações sobre livros com base em seus códigos ISBN. Para otimizar a busca e garantir a unicidade dos códigos, ele decide utilizar uma estrutura de dados do tipo Map em Java. Considerando as características das diferentes implementações de Map mencionadas no texto, sobre qual implementação o desenvolvedor deve escolher para atender aos requisitos de armazenamento eficiente e recuperação rápida das informações dos livros, assinale a alternativa correta:
Em um projeto de desenvolvimento de software, você está trabalhando com coleções em Java para armazenar e manipular um conjunto de dados. Durante a revisão do código, você se depara com a necessidade de percorrer os elementos de uma coleção e, ocasionalmente, remover alguns desses elementos durante a iteração. Com base nos conceitos da interface Collection e da classe Collections em Java, identifique qual das seguintes alternativas fornece a solução adequada para percorrer e remover elementos de uma coleção.
Considere que você está trabalhando em um projeto de software utilizando Java, e a arquitetura do sistema requer flexibilidade, modularidade e facilidade de manutenção. Para atingir tais objetivos, decide-se utilizar interfaces como parte fundamental da estrutura do código. Diante deste cenário, identifique qual das seguintes alternativas melhor reflete a utilização e os benefícios das interfaces no desenvolvimento de software em Java:
Em um projeto de software Java que envolve várias funcionalidades distintas, um desenvolvedor deseja compilar todas as classes necessárias de uma vez para testar a aplicação completa. Suponha que todos os arquivos fonte do projeto estejam no mesmo diretório.
Sendo assim, qual é o comando correto que o desenvolvedor deve usar no terminal para compilar todos os arquivos de uma vez, utilizando um caracter coringa para representar os arquivos?