Buscar

ATIVIDADE 3 - DISCIPLINA BANCO DE DADOS - CURSO JOGOS DIGITAIS

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 9 páginas

Prévia do material em texto

QUESTÃO 1
O SQL (de Structured Query Language) é uma linguagem para o trato com os dados e apresenta um conjunto vasto de comandos que são divididos em partes da linguagem como a DDL e a DML. A DDL, que no português seria Linguagem para Definição de Dados (do inglês, Data Definition Language), trata de comandos para estruturação dos componentes de dados, e a DML (do inglês, Data Manipulation Language) engloba comandos para manipular registros nas tabelas.
Analise as alternativas a seguir e marque a que representa um comando de DML:
Resposta correta. A alternativa está correta, os comandos típicos de DML são o SELECT, INSERT, UPDATE e DELETE para consultar, inserir, alterar e excluir registros respectivamente, portanto DELETE está nesta categoria de comandos. Todos os outros comandos dizem respeito à criação de algo na estrutura do banco de dados, logo são comandos de DDL.
· DROP INDEX
· ALTER TABLE
· Resposta correta: 
DELETE
· CREATE VIEW
· ADD COLUMN
QUESTÃO 2
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 correta. A alternativa está correta, pois está aplicando primeiro (na parte mais interna junto à relação CARRO) a operação de seleção (s) 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 (p)  escolhendo apenas as colunas Codigo e Modelo da relação.
· Resposta correta: 
π Codigo, Modelo ( σ  ano >= 2015 ^ Fabricante=Ford ( CARRO ) )
· σ  ano >= 2015  ̌   Fabricante=Ford ( π Codigo, Modelo ( CARRO ) ).
· π Codigo, Modelo ( σ  ano >= 2015  ̌   Fabricante=Ford ( CARRO ) ).
· π  ano >= 2015  ̌ Fabricante=Ford ( σ Codigo, Modelo ( CARRO ) )
· σ Codigo, Modelo ( π  ano >= 2015 ^ Fabricante=Ford ( CARRO ) )
QUESTÃO 3 
Em um sistema, existem diversas demandas por informação que são traduzidas em comandos de SELECT com a especificação das colunas, das tabelas onde recuperar os dados e com os filtros através de um conjunto variado de operadores e combinadores lógicos.
Em um sistema de gestão de cursos de uma instituição de ensino superior, uma breve parte do modelo apresenta a definição exposta a seguir. O campo carga horária indica quantas horas a disciplina tem e o campo obrigatória indica se a disciplina é obrigatória (‘S’) de sim ou opcional com  (‘N’) de não.
 
DISCIPLINA         (COD_DISCIPLINA,           DCR_DISCIPLINA,
CARGA_HORARIA,           OBRIGATORIA, 
COD_CURSO (FK))
CURSO  (COD_CURSO,   DCR_CURSO)
 
A instituição está fazendo um levantamento para enxugar alguns cursos e daí está pesquisando por disciplinas que são opcionais ou que possuam carga horária inferior a 40 horas.
A sentença que melhor reflete esta consulta é:
Resposta correta. A alternativa está correta, pois a cláusula usa o operador OR e com os valores certos, de forma que serão retornadas as linhas com CARGA_HORARIA menor que 40 e com obrigatória = ‘N’ (isto é, opcionais). Nos campos, basta vir a descrição da disciplina; para efeito de levantamento, está coerente, a ideia é identificar as disciplinas.
· SELECT                  *             FROM DISCIPLINA WHERE CARGA_HORARIA < 40   AND       OBRIGATORIA = ‘S’
· Resposta correta:
SELECT   DCR_DISCIPLINA        FROM DISCIPLINA 
WHERE CARGA_HORARIA < 40   OR          OBRIGATORIA = ‘N’
· SELECT   DISCIPLINA, CARGA_HORARIA, OBRIGATORIA    FROM DISCIPLINA WHERE CARGA_HORARIA > 40   AND       OBRIGATORIA = ‘S’   
· SELECT                  *             FROM DISCIPLINA WHERE CARGA_HORARIA < 40   OR          OBRIGATORIA = ‘S’
· SELECT   DISCIPLINA        FROM DISCIPLINA WHERE CARGA_HORARIA < 40   AND       OBRIGATORIA = ‘N’
QUESTÃO 4
O Sistema de Gerenciamento de Banco de Dados relacionais (SGBD), desde a sua criação em 1970, tem tido forte sucesso na Tecnologia de Informação. Conforme Elmasri e Navathe (2011), o sucesso destes SGBDs deve-se a uma linguagem que oferece uma interface de linguagem declarativa de nível mais alto na qual o usuário apenas especifica qual deve ser o resultado esperado, deixando a otimização e as decisões sobre como executar a consulta para o SGBD.
 
ELMASRI, R.; NAVATHE, S. Sistemas de banco de dados. São Paulo: Pearson Addison Wesley, 2011.
 
A linguagem a que se refere os comentários de Elmasri e Navathe (2011) é a:
Resposta correta. A alternativa está correta, pois, de fato, o SQL é a linguagem bastante empregada em SGBDs e usada para expressar e declarar o que se deseja, deixando para o SGBD a tarefa de processamento. Isso torna seu uso bastante prático.
· DCL
· DML
· DDL
· XML
· Resposta correta:
SQL
 
QUESTÃO 5
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).
· 6,0
· Resposta correta:
8,0
· 7,0
· 5,0
· 9,0
QUESTÃO 6
Na construção de um banco de dados, em seu início, um projetista de dados compreende os requisitos de um sistema e faz a modelagem de dados criando um modelo de entidade e relacionamento ou um modelo relacional. A partir do modelo, os comandos de DDL (Data Definition Language) são usados para criar as tabelas e outras definições no banco de dados.
Para um certo sistema, uma parte do modelo de dados está mostrado a seguir. 
 [1] 
Fonte: Elaborada pelo autor.
Existe a necessidade de criar um comando para gerar a tabela de BAIRRO com todos os campos e restrições, que, considerando que todos os campos são obrigatórios, precisam ser preenchidos na manipulação dos registros. O comando para esta criação da tabela é:
Resposta correta. A alternativa está correta pois apresenta todas as definições necessárias, os campos COD_BAIRRO, DCR_BAIRRO, COD_CIDADE e a chave primária (PRIMARY KEY) e a chave estrangeira (FOREIGN KEY), tudo definido corretamente.
· Resposta correta:
CREATE TABLE BAIRRO (         COD_BAIRRO INTEGER   NOT NULL,
                                                               DCR_BAIRRO VARCHAR(50)  NOT NULL,
                COD_CIDADE INTEGER   NOT NULL,
                                                               PRIMARY KEY (COD_BAIRRO) ,
                                                               FOREING KEY (COD_CIDADE) REFERENCES CIDADE (COD_CIDADE) );
· CREATE TABLE BAIRRO (           COD_BAIRRO INTEGER   NOT NULL,
                                                               DCR_BAIRRO VARCHAR(50)  NOT NULL,
                COD_CIDADE INTEGER   NOT NULL,
                                                               PRIMARY KEY (COD_BAIRRO),
                                                               FOREING KEY (COD_BAIRRO) REFERENCES CIDADE (COD_CIDADE) ); 
· CREATE TABLE BAIRRO (            COD_BAIRRO INTEGER   NOT NULL,
                                                               DCR_BAIRRO VARCHAR(50)  NOT NULL,
                COD_CIDADE INTEGER   NOT NULL,
                                                               FOREING KEY (COD_BAIRRO) REFERENCES CIDADE (COD_CIDADE ) );
· CREATE TABLE BAIRRO (           COD_BAIRRO INTEGER   NOT NULL,
                                                               DCR_BAIRRO VARCHAR(50)  NOT NULL,
                COD_CIDADE INTEGER   NOT NULL,                                                                PRIMARY KEY (COD_BAIRRO) );
· CREATE TABLE BAIRRO (           COD_BAIRRO INTEGER   NOT NULL,
                                                               DCR_BAIRRO VARCHAR(50)  NOT NULL,                                                                 COD_CIDADE INTEGER   NOT NULL);
QUESTÃO 7
Um dos comandos mais versáteis para o uso com banco de dados é o SELECT. Ele permite recuperar os registros de tabelas; sua sintaxe envolve a especificação das tabelas, quais colunas recuperar e os filtros que podem envolver operadores de comparação (>, <, =,...), outros como AND, OR, NOT e ainda existe o like e between.
 
Para cada um dos operadores a seguir associe com sua funcionalidade em um comando SELECT:
 
I.   like
II.  between
III. and
IV. <>
Associe os operadores com as funções dele em um comando de SQL:
 
(     ) Permite combinar duas condições via uma operação lógica. 
(     ) Permite avaliar se um valor está entre dois limites.
(     ) Permite avaliar se um campo de caracteres tem um padrão, contém alguma palavra.
(     ) Permite avaliar se dois valores são diferentes entre si.
 
Assinale a alternativa que apresenta a sequência correta:
Resposta correta. A alternativa está correta, pois o and (Item III) é um operador lógico para combinar duas condições e o between (Item II) permite checar faixa de valores, “idade between 20 and 35” verifica se uma idade é maior que 20 e menor que 35. O like (item I) permite avaliar padrões de campos de caracteres, por exemplo, nome like ‘%Maria%” verifica se o nome contém a palavra Maria e o operador ‘<>’ (item IV) é um operador diferente, para checar se dois valores são diferentes.
· III, I, II, IV
· III, IV, I, II
· Resposta correta:
III, II, I, IV
· II, I, IV, III
· I, IV, III, II
QUESTÃO 8
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-se adicionar 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 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 “.
· V, F, V, V
· V, V, F, V
· Resposta correta:
V, V, V, V
· F, V, V, V
· V, V, V, F
QUESTÃO 9
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.
· F, F, V, F.
· Resposta correta:
F, V, F, V.
· F, F, F, F.
· V, V, V, F.
· V, V, F, V.
QUESTÃO 10
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 excluiruma 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 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.
· F, F, V, V
· Resposta correta:
V, V, V, V
· F, V, F, V
· V, V, F, F
· V, F, V, F

Continue navegando