Prévia do material em texto
1. As alterações em tabelas no banco de dados são realizadas pelo comando UPDATE, e, para consultar os dados, o comando usado é o SELECT. Estes dois comandos são parte da DML (Data Manipulation Language) em que estão outros comandos como o INSERT e DELETE, todos eles para manterem as informações dos registros. Em um sistema de uma escola, houve a necessidade de fazer um ajuste em uma nota do aluno. Antes de ser executado o ajuste, o aluno tinha uma nota1 de valor 7,0. O ajuste feito foi o seguinte: UPDATE NOTA_ALUNO SET NOTA1 = NOTA1 + 1.0 WHERE MATRICULA = 201901221; SELECT NOTA1 FROM NOTA_ALUNO WHERE MATRICULA = 201901221 O valor a ser visualizado pelo comando de SELECT após o update de ajuste será: Resposta correta. A alternativa está correta, pois com um valor de nota1 antes do ajuste com valor igual a 7 e com o ajuste em que NOTA1=NOTA1 + 1, este valor será ajustado para 8 (1 ponto adicional). • 9,0 ✓ 8,0 • 5,0 • 7,0 • 6,0 2. Conceito usado como base para o modelo de dados relacional - que se parece com uma tabela de valores - como seu bloco de montagem básico. A sua base teórica reside em uma teoria de conjuntos e lógica de predicado de primeira ordem (ELMASRI, 2011, p. 38). ELMASRI, R.; NAVATHE, S. Sistemas de Banco de Dados. São Paulo: Pearson Addison Wesley, 2011, p. 38. Com base no trecho apresentado anteriormente, assinale a alternativa que indique corretamente o conceito de Modelo Relacional: Resposta correta, pois a relação ou tabela é a “essência” em um Modelo Relacional e em banco de dados, pois representa os registros (dados) armazenados no sistema. • Atributo. ✓ Relação. • Chave primária. • Domínio de valores dos dados. • Chave estrangeira. 3. Ao utilizar comandos de DDL (data definition language), o usuário do banco de dados pode criar, modificar ou excluir objetos em um banco de dados. O comando de CREATE TABLE, por exemplo, cria tabelas que basicamente são um conjunto de campos com seus tipos de dados e de restrições como chave primária e chave estrangeira. Em um sistema bancário, existe uma tabela TRANSACAO que foi criada com o seguinte comando: CREATE TABLE TRANSACAO (COD_TRANSACAO INTEGER NOT NULL, COD_CONTA INTEGER NOT NULL, DATA DATETIME NOT NULL, VALOR NUMERIC(9,2) NOT NULL, TIPO CHAR(1) NOT NULL, RESGATE CHAR(1) NOT NULL, FOREIGN KEY (COD_CONTA) REFERENCES CONTA(COD_CONTA) ) Alguns campos possuem o nome intuitivo, já para TIPO vale esclarecer que este campo indica o tipo de transação, Crédito ou Débito. O campo RESGATE indica se a transação foi resultado de um resgate de aplicação. Considerando apenas o comando de CREATE TABLE apresentado, analise as sentenças a seguir e assinale (V) para a(s) opções verdadeiras ou (F) para as falsas. I. ( ) O campo COD_TRANSACAO não pode ter valores repetidos, pois é chave primária. II. ( ) O campo COD_CONTA não aceita valores com números decimais. III. ( ) O campo RESGATE pode não ter valores atribuídos a este campo. IV. ( ) O campo COD_CONTA só pode ter valores que existam no campo código de CONTA. A partir das associações feitas anteriormente, assinale a alternativa que apresenta a sequência correta: Resposta correta. A alternativa está correta, pois o item I é falso, uma vez que não há no comando a cláusula de primary key, portanto esta restrição não foi estabelecida e pode haver valores repetidos de código na tabela. O item II é verdadeiro, como o campo COD_CONTA é INTEGER, apenas valores inteiros (sem decimais) devem ser aceitos. O item III é falso, pois o campo RESGATE é not null, portanto é obrigatório ter um valor atribuído a este campo. Por fim, o item IV é verdadeiro; o campo COD_CONTA é uma chave estrangeira que aponta para o campo CÓDIGO na tabela de conta, portanto apenas valores de código presentes na tabela conta são válidos para este campo COD_CONTA na tabela de TRANSACAO. • V, V, F, V. ✓ F, V, F, V. • V, V, V, F. • F, F, V, F. • F, F, F, F. 4. Um Modelo Relacional apresenta alguns componentes para representar as informações de um cenário modelado, por exemplo, as relações ou tabelas, as tuplas, os atributos, as chaves e outros. Considerando um Sistema de Consultas Médicas como exemplo, imagine os seguintes elementos da modelagem e associe com os conceitos do Modelo Relacional. 1. Um médico possui uma especialidade, por isso o Código Identificador da especialidade presente em uma relação ESPECIALIDADE deve ser incorporada à relação MEDICO. 2. Cada paciente possui seu registro, os vários registros de pacientes podem ser considerados como linhas em uma tabela. 3. Um paciente é identificado através de seu CPF. 4. Percebeu-se que o nome do paciente deve ser um VARCHAR e sua altura um campo NUMERIC. Associe os itens citados aos elementos do Modelo Relacional: ( ) Tuplas. ( ) Tipos de dados. ( ) Chave Primária. ( ) Chave estrangeira. A partir das associações feitas anteriormente, assinale a alternativa que apresenta a sequência correta: Resposta correta. As tuplas (Item II) de fato são termos usados para o conjunto de valores de atributos que formam as linhas de uma relação ou tabela. Os tipos de dados (Item IV) indicam qual domínio de valores um atributo pode estar associado, por exemplo, inteiros, caracteres (CHAR ou VARCHAR) e, nesses casos, números e datas são os mais usados. As chaves primárias (Item III) permitem identificar registros, não existem dois registros iguais com mesmo valor de chave, como CPF em cliente. Uma chave estrangeira (Item I) permite a associação entre duas relações ou tabela, como o que está descrito para ESPECIALIDADE e MEDICO. • IV, I, II, III. • III, IV, I, II. • I, IV, II, III. ✓ II, IV, III, I. • I, II, IV, III. 5. SQL é um acrônimo de Structured Query Language que, em português, refere-se à Linguagem de Consulta Estruturada. Essa linguagem apresenta um conjunto de comandos com as suas respectivas sintaxes para que as operações sejam disparadas ao servidor de banco de dados. Tal linguagem é dividida em dois subconjuntos de comandos: DDL (Data Definition Language) e DML (Data Manipulation Language). Para cada um dos comandos a seguir, assinale entre DDL ou DML, conforme o subconjunto a qual o comando pertence. ( ) CREATE INDEX. ( ) INSERT. ( ) DELETE. ( ) DROP TABLE. Agora, assinale a alternativa que apresenta a sequência correta. Resposta correta. A alternativa D está correta. O CREATE INDEX é um comando para a criação que define índices de certa tabela e o DROP TABLE exclui uma tabela do banco, portanto ambos os comandos são para a definição de dados (DDL). O INSERT serve para inserir um dado em uma tabela e o DELETE exclui um item da tabela, dessa forma ambos os comandos são DML. Assim, a sequência correta é: DDL, DML, DML, DDL. • DML, DML, DML, DDL. ✓ DDL, DML, DML, DDL. • DML, DML, DDL, DDL. • DDL, DDL, DML, DML. • DML, DDL, DDL, DML. 6. Um banco de dados é um conjunto de componentes definidos de diversas formas via comandos de DDL. Por exemplo, dentre os componentes existem as tabelas, os procedimentos armazenados e as visões, dentre outros, cada um com suas finalidades. Sobre as visões, qual das sentenças a seguir representa uma das vantagens de usar estes componentes em um banco de dados? Resposta correta. A alternativa está corretapois com a criação de uma view, uma consulta complexa é encapsulada e os usuários passam a ter um mecanismo mais simples para consultar os dados de tabelas. • Definem os perfis de usuários que podem inserir dados no banco de dados • Permite armazenar dados para uma consulta mais simples • São funções que permitem contabilizar ou totalizar valores • Permite combinar dados de tabelas diferentes via chave estrangeira ✓ Permite que consultas mais complexas sejam manipuladas de forma mais simples 7. Durante a modelagem de um banco de dados, é comum nos deparamos com conceitos de entidades, tabelas, atributos, chaves primárias, relacionamentos e outros. Uma determinada escola deseja implantar um sistema de gestão escolar e, na modelagem dos dados, foram identificadas algumas situações. Considerando o exposto, relacione cada um dos conceitos a seguir, os quais são itens presentes ao fazer uma modelagem de dados, com as situações previstas no sistema que melhor aplicam o conceito durante uma modelagem. 1. Banco de Dados. 2. Entidades ou tabelas. 3. Atributos. 4. Relacionamentos. ( ) Percebeu-se que deve ser previsto um cadastro dos ALUNOS da escola. ( ) Ao analisar, identificou-se que um aluno é composto por dados de MATRÍCULA, NOME, ENDEREÇO e outros. ( ) As informações de turmas, alunos, professores e outros funcionários devem formar um repositório de informações em separado e identificado como GESTÃO ESCOLAR. Além desse repositório, existem as informações do contexto de RECURSOS HUMANOS e do contexto de FINANCEIRO em seus respectivos repositórios. ( ) É necessário que, para as TURMAS, seja previsto um professor devidamente incluído no cadastro de PROFESSORES. A partir das relações feitas anteriormente, assinale a alternativa que apresenta a sequência correta. Resposta correta. A alternativa E está correta. A explicação a seguir apresenta a sequência correta das relações feitas. As entidades do domínio do problema, ALUNOS, PROFESSORES, TURMAS, são representadas em um modelo como entidades ou tabelas (conceito II). Essas tabelas são compostas por atributos ou campos, como no caso da alternativa, em que se tratou como ALUNOS, mas, se fosse TURMAS, teríamos: CÓDIGO, DISCIPLINA e outros (conceito III). Todo o conjunto de tabelas forma um repositório que é justamente denominado banco de dados e uma empresa pode ter vários em separado (GESTÃO ESCOLAR, RH, FINANCEIRO e outros) (conceito I). Quando associamos duas tabelas, como no caso de alocar (relacionar) um PROFESSOR à sua respectiva TURMA, há o que denominamos relacionamento entre entidades ou tabelas (conceito IV). Dessa maneira, a sequência correta é: II (Tabelas), III (Atributos), I (Banco de Dados), IV (Relacionamentos). ✓ II, III, I, IV. • IV, I, II, III. • I, IV, II, III. • II, IV, III, I. • I, II, IV, III. 8. A construção de um software, especificamente da modelagem de dados, envolve algumas tarefas. Associe cada uma das tarefas necessárias para a construção de um modelo de dados ao contexto ou ao nível de abstração com o qual ela melhor se relaciona: 1. Processos de negócios e requisitos do sistema. 2. Modelo conceitual. 3. Modelo lógico. 4. Modelo físico. ( ) Conversão das entidades em tabelas do banco de dados ( ) Definição dos tipos de dados dos campos e tamanho de espaço em disco. ( ) Definição de quais funções o sistema deve contemplar. ( ) Determinação das entidades do sistema. A partir das associações feitas anteriormente, assinale a alternativa que apresenta a sequência correta: Resposta correta. Converter entidades, por exemplo, de um MER para um Modelo Relacional, está relacionado à criação de um Modelo Lógico dos dados com base em uma certa tecnologia. No momento que se está definindo os tipos de dados e, sobretudo, ao pensar seu armazenamento em disco, isso tem forte relação com o modelo físico de como as informações serão tratadas. Definir as funções do sistema, por exemplo, as telas e as operações que o usuário poderá executar, é uma das primeiras etapas do desenvolvimento de software: conhecer os processos de negócio e os requisitos do sistema. Por fim, o Modelo de Entidade e Relacionamento com sua abordagem de estar próximo do mundo real é um exemplo típico de modelagem conceitual. • IV, I, II, III. ✓ III, IV, I, II. • I, IV, II, III. • II, IV, III, I. • I, II, IV, III. 9. Dados em tabelas diferentes podem compor um conjunto de resultados em um comando de SELECT através das junções. Alguns tipos de junções são as junções internas e as junções externas, estas últimas podem ser pela esquerda ou pela direita. Em um sistema de uma universidade existe o cadastro de Alunos e o de Cursos, onde em aluno pode conter apenas um curso e em curso pode conter vários cursos. Em uma consulta foi feita uma junção (join) entre as tabelas Alunos e Cursos e na consulta SELECT, Alunos e Cursos estão escritas nesta ordem (Alunos primeiro, antes de Cursos). O resultado da consulta está expresso na tabela a seguir: Matrícula Nome Cod_Curso Dcr_Curso 322871 Joana Vieira 2 Engenharia Elétrica 322609 Márcio Nogueira 2 Engenharia Elétrica 212320 Cristiano Azevedo 12 Direito 212201 Lúcia Vergamini 12 Direito NULL NULL 4 Gestão Ambiental Quadro - Resultado de consulta com junção entre Alunos e Cursos Fonte: Elaborado pelo autor (2019). Qual foi a junção realizada nesta consulta? Resposta correta. A resposta está correta pois perceba que na última linha existe o curso Gestão Ambiental que não possui aluno correspondente, e o curso está a direita na escrita do SELECT porque aparece depois de aluno (está à esquerda). E se o campo de aluno ficou NULL é por que os valores direita prevaleceram (right outer join). • Join • Full Join • Inner Join ✓ Right Outer Join • Left Outer Join 10. Em um processo de construção de um banco de dados, algumas etapas ou fases são seguidas da concepção, momento em que a necessidade de um sistema de informação foi identificada, até a implantação e uso do sistema na organização a informatizar. A partir do exposto, organize as afirmativas a seguir, com base na sequência de passos comumente encontrada no processo de construção de um banco de dados, da concepção ao uso final, atribuindo os números 1, 2, 3 e 4. ( ) Um conjunto de comandos de DDL é executado para a implantação do banco de dados. ( ) As entidades e os atributos são identificados e estruturados. Por exemplo, em um sistema para viagens urbanas por aplicativos, as entidades MOTORISTAS, USUÁRIOS e LOCAIS seriam modeladas. ( ) Os usuários utilizam o sistema que dispara as ações, por exemplo, de consulta e inserção de dados. ( ) Para a codificação da interface do sistema, os eventos da tela do sistema são codificados em comandos de DML para o trato com os dados. Agora, assinale a alternativa que apresenta a sequência correta. Resposta correta. A alternativa C está correta. A sequência de etapas, na construção do banco de dados, é: a modelagem dos dados quando as entidades são identificadas (2). Assim, com o modelo, os dados (tabelas, campos e outros) são definidos por meio de comandos de DDL (1). Com as tabelas, os programadores podem codificar os comandos de manipulação via DML (4) e, por fim, os usuários utilizam os softwares para a manipulação dos dados (3). • 2, 1, 3, 4. • 1, 2, 4, 3. • 2, 3, 1, 4. ✓ 2, 1, 4, 3. • 1, 4, 3, 2.