Baixe o app para aproveitar ainda mais
Prévia do material em texto
Pergunta 1 1 em 1 pontos A álgebra relacional fornece um conjunto de operadores que podem ser aplicados sobre relações e propõe uma sintaxe para combinar operadores e ainda processar condições lógicas com operações como E e OU lógicos. Para extrair um resultado a partir de uma relação, foi necessário formular uma sentença em álgebra linear. O cenário é o de uma locadora de automóveis, e a relação CARRO está apresentada a seguir com alguns valores: Codigo Fabricante Modelo Ano 1 Ford Fiesta 2016 2 Fiat Uno 2018 3 Renault Clio 2014 Fonte: Elaborado pelo autor. A consulta a ser feita é para saber, na lista de carros da locadora, qual o código e o modelo de carros com ano superior ou igual a 2015 e da marca Ford. Qual sentença atende a esta consulta em álgebra relacional? . Resposta Selecionada: π Codigo, Modelo ( σ ano >= 2015 ^ Fabricante=Ford ( CARRO ) ) Resposta Correta: π Codigo, Modelo ( σ ano >= 2015 ^ Fabricante=Ford ( CARRO ) ) Feedback da resposta: Resposta correta. A alternativa está correta, pois está aplicando primeiro (na parte mais interna junto à relação CARRO) a operação de seleção (σ) com o operador lógico E (^) e combinando as duas condições para ano e fabricante. Depois, na parte mais externa, ela aplica a projeção (π) escolhendo apenas as colunas Codigo e Modelo da relação. Pergunta 2 1 em 1 pontos Em um banco de dados, as necessidades de informação do usuário podem ser traduzidas em comandos de SELECT, principalmente a edição dos filtros, isto é, as condições que fazem parte da cláusula WHERE. Em um sistema de clínica médica, existe uma tabela de pacientes com a seguinte especificação. PACIENTE (CODIGO, NOME, CPF, TELEFONE, SEXO, IDADE, BAIRRO) Neste sistema, existe a necessidade de recuperar especificamente o nome e telefone das pacientes do sexo feminino que moram em pelo menos um dos dois bairros mais próximos da clínica, o bairro Barra e o bairro Graça. O comando de SELECT que permite atender a esta necessidade é Resposta Selecionada: SELECT NOME, TELEFONE FROM PACIENTE WHERE SEXO = ‘F’ OR (BAIRRO = ‘Barra’ OR BAIRRO = ‘Graça’) Resposta Correta: SELECT NOME, TELEFONE FROM PACIENTE WHERE SEXO = ‘F’ OR (BAIRRO = ‘Barra’ OR BAIRRO = ‘Graça’) Feedback da resposta: Resposta correta. A alternativa está correta, pois a sentença SEXO = ‘F’ AND (BAIRRO = ‘Barra’ OR BAIRRO = ‘Graça’) recupera as linhas que possuem pacientes de sexo feminino E (and) que morem na Barra ou na Graça, conforme requisitado. Pergunta 3 1 em 1 pontos A álgebra relacional é uma linguagem formal aprendida ao se estudar banco de dados, pois as suas operações permitem entender como as manipulações de linhas e colunas podem ser realizadas em uma tabela. O seu conjunto de operações apresentam uma sintaxe e um objetivo, que é atingido ao ser aplicado em uma relação. Analise as operações presentes na álgebra relacional e associe com seus objetivos ou funcionalidades ao ser aplicada a uma relação. I) Projeção (π). II) Seleção (σ). III) Produto Cartesiano ( x ). IV) Interseção. Realize, agora, a associação com os objetivos das operações. ( ) Permite selecionar as linhas ou tuplas em uma relação. ( ) Combina duas relações, cada tupla sendo combinada com tuplas da outra relação. ( ) Gera relação em que cada tupla deve existir em duas outras relações usadas na operação. ( ) Permite selecionar as colunas em uma relação. A partir das relações feitas anteriormente, assinale a alternativa que apresenta a sequência correta: Resposta Selecionada: II, III, IV, I. Resposta Correta: II, III, IV, I. Feedback da resposta: Resposta correta. A alternativa está correta com a sequência II, III, IV, I. Seguindo essa sequência, a Seleção (sigma) (item II) é a operação que filtra as linhas em uma relação. O produto cartesiano (Item III), de fato, faz um processo combinatório com cada nova linha da relação, combinando um item de uma relação com um item de outra relação. O Item IV, Interseção, é a mesma operação conhecida de teoria de conjuntos, que gera um novo conjunto em um que o elemento é considerado apenas se ele pertencer aos outros dois conjuntos. E a projeção (item I), de fato, é a operação que seleciona quais colunas farão parte da relação resultante. Pergunta 4 0 em 1 pontos O comando SELECT apresenta uma grande variedade de possibilidades ao ser usado para consultas a dados e isso se deve a diversos operadores e cláusulas que podem ser combinadas para expressar a necessidade de informação. Um destes operadores é o like que permite avaliar padrões de campos com caracteres, e existe o operador between usado para campos valores. Em um sistema de rede social, o cadastro de seus usuários apresenta os registros mostrados a seguir. Código Nome Data Nasc Sexo Est. Civil 1 Mariana Júlia Pereira 1990-04-03 F 1 2 Ricardo dos Santos 1992-07-20 M 2 3 Renata Silva Souza 1989-08-15 F 4 4 Mário Junior Ferreira 1991-02-05 M 3 5 Júlia do Carmo Venturini 1987-01-10 F 1 6 José de Assis Couto 1991-05-02 M 2 7 Júlia Maria Silva 1990-06-10 F 1 Fonte: Elaborado pelo autor. Nesta tabela de usuários, foi realizada a seguinte consulta: SELECT * FROM USUARIO WHERE Nome like ‘Júlia%’ AND Data_Nasc between ‘1990-01-01’ AND ‘1994-01-01’ Para esta consulta, quais linhas serão retornadas considerando o código para identificar as linhas nas alternativas: Resposta Selecionada: 1, 5 e 7 Resposta Correta: 1 e 7. Feedback da resposta: Sua resposta está incorreta. A alternativa está incorreta, pois apenas a linha 7 satisfaz a sentença com as condições de Data e contendo o nome Júlia. A linha 1 apareceria se a sentença like fosse like ‘%Júlia%’ com porcento no início, daí Júlia poderia estar em qualquer parte do nome. A linha 5 apareceria se a faixa de data fosse mais cedo do que ‘1990-01-01’, antes de 1987-01-10, que é a data no registro. E as linhas 2, 4 e 6 apareceriam se fosse considerada apenas a condição de data (sem a condição de nome Júlia). Pergunta 5 1 em 1 pontos A álgebra relacional prevê um conjunto de operações para manipular as tuplas de uma relação, por exemplo para selecionar linhas ou colunas, ou ainda combinando relações de diversas formas, e sua escrita segue um formalismo matemático semelhante às fórmulas comumente encontradas nesta área. Considerando um determinado cenário de locações de imóveis, a relação “IMOVEL” apresenta os seguintes atributos. IMOVEL( CODIGO, PROPRIETARIO, NUM_QUARTOS, NUM_BANHEIROS, GARAGEM) A operação em Álgebra Relacional para selecionar as linhas com imóveis com até três quartos é: Resposta Selecionada: σ num_quartos<=3 (IMOVEL) Resposta Correta: σ num_quartos<=3 (IMOVEL) Feedback da resposta: Resposta correta. A alternativa está correta, a operação de seleção na álgebra relacional é expressa por σ e a cláusula lógica está correta com número de quartos menor ou igual a 3. Pergunta 6 1 em 1 pontos A linguagem SQL é bastante ampla e possui comandos e subconjuntos deles com propósitos, tais como definir a estruturação dos dados, manipular os registros de tabelas e ainda para gerenciamento de outros elementos em um SGBD, por exemplo, usuários, permissões, backup, restauração e outros. Em relação a alguns comandos de SQL, analise as afirmativas a seguir e assinale (V) para a(s) verdadeira(s) e (F) para a(s) falsa(s). I. ( ) O INSERT é um comando de DDL e é responsável por criar tabelas e realizar as inserções de seus registros. II. ( ) O ALTER TABLE é um comando de DDL e pode ser usado, por exemplo, para adicionar ou excluir uma coluna da tabela. III. ( ) O UPDATE é um comando de DML responsável pela alteração dos registros em tabelas, porexemplo, mudar o nome de um certo cliente. IV. ( ) O DROP é um comando de DML responsável por excluir as linhas de uma tabela, por exemplo, excluir um certo produto. A partir das associações feitas anteriormente, assinale a alternativa que apresenta a sequência correta: Resposta Selecionada: F, V, V, F. Resposta Correta: F, V, V, F. Feedback da resposta: Resposta correta. A alternativa é a correta. Na sequência dos itens, o item I é falso, o comando INSERT não é de DDL (definição de dados), ele é de DML (manipulação de dados) e, além disso, não é responsável por criar tabelas, apenas inserções de registros. O comando para criar tabela é o CREATE TABLE, este sim de definição de dados (DDL). O item II é verdadeiro, pois adicionar ou excluir colunas são alterações em tabelas feitas por ALTER TABLE (definição de dados - DDL). O item III é verdadeiro, pois o UPDATE muda valores em registros (manipulação de dados - DML) como no caso de mudança de nomes. O item IV é falso; o DROP é usado para excluir elementos da estrutura dos dados, por exemplo, excluir tabelas, views, índices, e é um comando de DDL. O certo seria usar o comando DELETE para excluir linhas. Pergunta 7 1 em 1 pontos 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 Selecionada: 8,0 Resposta Correta: 8,0 Feedback da resposta: 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). Pergunta 8 1 em 1 pontos Após a etapa de modelagem, é necessária a criação dos elementos que vão acomodar os dados e suas restrições; é a etapa em que as tabelas são criadas junto com chave primária, chave estrangeira e outros elementos que estruturam um banco de dados. A DDL (Data Definition Language) é uma parte da SQL responsável por comandos com esta finalidade. A respeito de alguns comandos e termos empregados na execução de comandos de DDL, analise as sentenças a seguir e assinale (V) para verdadeiro e (F) para falso. I. ( ) A palavra CONSTRAINT pode ser empregada na definição de chaves estrangeiras e primárias. II ( ) DROP TABLE é o comando usado para excluir uma tabela no banco de dados. III. ( ) ADD COLUMN é parte de um comando e é usado em geral com comandos de ALTER TABLE. IV. ( ) NUMERIC é uma palavra usada na definição de campos que aceitam números, em geral, com decimais. Conforme as associações realizadas assinale a alternativa correta: Resposta Selecionada: V, V, V, V Resposta Correta: V, V, V, V Feedback da resposta: Resposta correta. A alternativa está correta, pois o item I é verdadeiro; apesar de não ser obrigatório, o termo CONSTRAINT diz respeito a restrições, e as mais comuns, em que é usado na definição de chaves primárias e estrangeiras. O item II é verdadeiro, a exclusão de componentes do banco de dados é feita por DROP, por exemplo, DROP TABLE, DROP VIEW e outros. O item III é verdadeiro, pois, quando é necessário adicionar colunas em uma tabela já criada, o ADD COLUMN é usado como parte do ALTER TABLE. Por fim, o item IV é verdadeiro, pois campos que guardam valores com decimais são definidos com NUMERIC. Pergunta 9 1 em 1 pontos 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 Selecionada: F, V, F, V. Resposta Correta: F, V, F, V. Feedback da resposta: 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. Pergunta 10 1 em 1 pontos Em um modelo relacional, os conceitos de chaves são relevantes. As chaves primárias servem para identificar as linhas em uma tabela e, para o caso da chave estrangeira, ela permite estabelecer a restrição de que um valor depende de outro valor em outra tabela. Por exemplo, em um sistema de uma universidade, uma disciplina pertence a um curso e um curso pode conter várias disciplinas. A especificação destas tabelas pode ser compreendida a seguir; os campos em sublinhado são chaves primárias. DISCIPLINA (COD_DISCIPLINA, DCR_DISCIPLINA, COD_CURSO (FK)) CURSO(COD_CURSO, DCR_CURSO) A respeito dos comandos para criação das chaves primárias e estrangeiras deste modelo, analise as sentenças a seguir e assinale (V) para a(s) verdadeira(s) e (F) para as falsa(s): I. ( ) Para criar a chave primária de disciplina, pode-se adicionar a cláusula a seguir junto com a sequência de campos no comando CREATE TABLE “ PRIMARY KEY (COD_DISCIPLINA) ” II. ( ) Para criar a chave estrangeira na tabela disciplina, pode-seadicionar a cláusula a seguir junto com a sequência de campos no comando CREATE TABLE “ FOREIGN KEY (COD_CURSO) REFERENCES CURSO(COD_CURSO) ” III. ( ) Uma outra forma de criar uma chave estrangeira é via o comando ALTER TABLE, e, para a chave estrangeira na tabela disciplina, pode ser usado desta forma “ ALTER TABLE DISCIPLINA ADD FOREIGN KEY (COD_CURSO) REFERENCES CURSO(COD_CURSO) ” IV. ( ) Para criar uma chave primária, é possível também usar o comando a seguir “ ALTER TABLE DISCIPLINA ADD CONSTRAINT ‘PK_DISC’ PRIMARY KEY (COD_DISCIPLINA) “ Conforme as associações realizadas, assinale a alternativa correta: Resposta Selecionada: V, V, V, V Resposta Correta: V, V, V, V Feedback da resposta: Resposta correta. A alternativa está correta, pois todas as formas estão corretas. A adição de chaves pode ocorrer na lista de definição de campos e restrições do CREATE TABLE (item I e II) e pode ser adicionada posteriormente com o comando de ALTER TABLE sem nenhum nome para a restrição (Item III), ou identificando a restrição com a cláusula “CONSTRAINT ‘PK_DISC “.
Compartilhar