Banco de Dados I
Forums › MATERIAL DE ESTUDO › Atividades › Banco de Dados I
-
Conforme (Elmasri, 2011), “a normalização de dados pode ser considerada um processo de analisar os esquemas de relação dados com base em suas dependências funcionais e chaves primárias para conseguir as propriedades desejadas de (1) minimização de redundância e (2) minimização de anomalias de inserção, exclusão e atualização. Ele pode ser considerado um processo de filtragem ou purificação que faz com que o modelo tenha qualidade cada vez melhor” (ELMASRI, 2011, p. 348).
ELMASRI, R.; NAVATHE, S. Sistemas de Banco de Dados . São Paulo: Pearson Addison Wesley, 2011, p. 348.
Analise o quadro a seguir.
CODNOMEEMAIL1João1João2Maria2Maria3Joana3JoanaFonte: Elaborado pelo autor.
Ao analisar o quadro indique qual forma normal deve ser considerada e como a normalização deve acontecer:
Resposta Correta:
A primeira forma normal (1FN) deve ser considerada uma nova tabela de e-mail, devendo ser criada copiando os valores de e-mail e criando uma chave estrangeira para a tabela de clientes
Ao criar um Modelo Relacional, situações mapeadas no modelo conceitual precisam ser convertidas. Em uma representação, por exemplo, relacionamentos dão origem ao conceito de chave estrangeira.
Analise as seguintes situações sobre algumas situações nessa conversão do Modelo de Entidade e Relacionamento (MER) em um Modelo Relacional, e assinale (V) verdadeiro para indicar que o tratamento na conversão está correto e (F) Falso para situações em que o tratamento da conversão não está correto.
( ) Em um sistema de consulta médica em que um Paciente mora em um Bairro e um Bairro pode ser associado a vários clientes. Nesse caso, uma chave estrangeira Bairro deve ser incorporada na tabela Cliente.
( ) Em um sistema de uma empresa em que um Funcionário chefia apenas um setor e um setor é chefiado apenas por um Funcionario. Nesse caso, uma chave estrangeira Setor pode ser adicionada em Funcionario ou uma chave estrangeira Funcionario pode ser adicionada em Setor.
( ) Em um sistema de condomínio em que um Morador mora em apenas um apartamento e um apartamento pode conter vários moradores, uma chave estrangeira Apartamento deve ser incorporada na tabela de Moradores.
( ) Em um sistema de escola em que um aluno pode cursar várias disciplinas e uma disciplina pode conter vários alunos, uma tabela associativa deve ser criada contendo duas chaves estrangeiras, uma para Aluno e uma para Disciplina.A seguir, assinale a alternativa que apresenta a sequência correta:
Resposta Correta:
V, V, V, V.
A normalização de dados é uma atividade que visa analisar e rearranjar a forma como o modelo de dados está sendo tratado. A respeito dessa tarefa de normalização de dados, analise as sentenças a seguir e assinale (V) Verdadeiro ou (F) Falso.
( ) A normalização de dados visa melhorar a estrutura dos dados para evitar anomalias na manipulação de dados e redundância de dados.
( ) A normalização são classificadas em primeira forma normal (1FN), segunda forma normal (2FN) e outras e um modelo ao atender uma forma normal é acumulativo, isto é, deve atender também a uma forma normal anterior
( ) A primeira forma normal trata, por exemplo, do tratamento de campos multivalorados.
( ) As definições do conceito de normalização e de suas formas normais têm forte relação com o conceito de dependência funcional, considerando o quanto um atributo depende funcionalmente de um atributo anterior.A partir das associações feitas anteriormente, assinale a alternativa que apresenta a sequência correta:
Resposta Correta:
V, V, V, V.
O desenvolvimento de um software começa com analistas e projetistas, compreendendo o cenário que será informatizado e, então, os modelos são criados, por exemplo, os modelos de dados. Uma hamburgueria resolveu adquirir um software para controlar as suas entregas e o analista dos dados identificou as seguintes entidades e informações do cenário.
Associe os tipos de dados apresentados a seguir a cada um dos atributos descritos:
I – Os vários tipos de hamburguer serão itens do cardápio e cada item precisa de sua descrição para o cliente saber sobre o produto.
II – Cada item do cardápio tem um determinado valor que deve ser cobrado.
III – Um item do cardápio apresenta também um código que facilita ao comandar os pedidos para a cozinha.
IV – Cada pedido possui um status, uma letra que indica se está pedido (P), se está sendo preparado na cozinha (C) ou se já foi entregue na mesa (E).
( ) CHAR.
( ) VARCHAR.
( ) NUMERIC.
( ) INTEGER.A partir das associações feitas anteriormente, assinale a alternativa que apresenta a sequência correta:
Resposta Correta:
IV, I, II, III.
Ao desenvolver um sistema, a sua modelagem pode usar alguns tipos diferentes de modelos. Na UML, existem alguns, tais como: o diagrama de classes, de atividades ou casos de uso. Na modelagem de dados, podemos usar o Modelo de Entidade e Relacionamento ou o Modelo Relacional. Os modelos podem ter um nível de abstração que indicam o quanto eles visam expressar mais questões próximas ao mundo real ou ao outro extremo, isto é, próximas ao universo de codificação do sistema.
Nesse contexto, o Modelo de Entidade e Relacionamento (MER) é um modelo:
Resposta Correta:
De Nível Conceitual.
Um modelo é uma abstração da realidade e, em diversas áreas, pode agregar várias vantagens, antecipar eventuais problemas durante a construção de um edifício, especificar o que deve ser construído posteriormente, além de outros.
Em cada área, algum exemplo do conceito de modelo pode ser aplicado. Para cada um de exemplos de modelos, associe a área em que são empregados.
I – Planta baixa.
II – Esquemático de circuito.
III – Modelagem de Entidade e Relacionamento.
IV – Organograma.As áreas para se associar os modelos são:
( ) Tecnologia de Informação.
( ) Engenharia Civil ou Arquitetura.
( ) Engenharia Elétrica.
( ) Administração.A partir das relações feitas anteriormente, assinale a alternativa que apresenta a sequência correta:
Resposta Correta:
III, I, II, IV.
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:
F, V, F, V.
De acordo com Elmasri e Navathe (2011), o modelo relacional foi introduzido, em 1970, via um artigo clássico de CODD. Esta teoria de modelo relacional deu origem aos sistemas gerenciadores de bancos de dados relacionais (SGBDs) que têm sido amplamente empregados por aproximadamente 50 anos.
ELMASRI, R.; NAVATHE, S. Sistemas de banco de dados. São Paulo: Pearson Addison Wesley, 2011.
Em relação a esses SGBDs relacionais, analise as sentenças a seguir:
I. Um dos motivos de sucesso dos SGBDs relacionais é a linguagem SQL, que serve para expressar os comandos que devem ser executados pelo SGBD
Porque:
II. Como essa linguagem (SQL) tornou-se um padrão, os usuários apresentam menos dificuldades para migrar suas aplicações; por exemplo, um usuário insatisfeito com um SGBD comercial pode implantar sua aplicação em outro SGBD com esforço e custo mais controlado.
A seguir, assinale a alternativa correta:
Resposta Correta:
As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.
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 Correta:
II, III, IV, I.
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:
CodigoFabricanteModeloAno1FordFiesta20162FiatUno20183RenaultClio2014Fonte: 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:
π Codigo, Modelo ( σ ano >= 2015 ^ Fabricante=Ford ( CARRO ) )
Os comandos de SQL para manipulação de dados (DML) podem ser executados através de uma ferramenta administrativa, ou eles são executados internamente por um software ao se codificar uma funcionalidade do sistema.
Imagine que um Módulo de Sistema de Recursos Humanos possui uma função que é aplicar um reajuste de um determinado valor para todos os funcionários de um determinado setor. Essa situação pode ocorrer por conta de uma negociação de reajuste anual para a categoria de funcionários, por exemplo.
Considerando que, em determinado ano, o reajuste foi de 3,5%, qual comando a seguir deve ter sido disparado pela função interna do sistema responsável por este reajuste?
Resposta Correta:
UPDATE FUNCIONARIO SET SALARIO = SALARIO + SALARIO * (3.5/100)
WHERE COD_SETOR = 10As 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:
8,0
Uma das manipulações que existem em banco de dados é a exclusão de registros em tabelas e em SQL. O comando para esta finalidade é o DELETE. A sintaxe deste comando envolve especificar qual a tabela que está sendo afetada e um filtro para indicar quais registros devem ser excluídos pelo comando.
Em um sistema de registro de áreas agrícolas, na tabela PLANTIO existem os seguintes registros:
CódigoMunicípioÁreaProdutoData Colheita1Alegre32,50Tomate20/02/20192Linhares54,70Mamão05/03/20193Sooretama47,30Tomate10/03/20194Linhares52,10Café25/02/20195Colatina35,80Café18/02/20196Linhares43,70Mamão03/03/2019Fonte: Elaborado pelo autor.
O seguinte comando foi executado no banco de dados:
DELETE FROM PLANTIO
WHERE (AREA < 40) OR (MUNICIPIO = ‘Linhares’ AND AREA > 50)Quantas linhas foram afetadas por este comando?
Resposta Correta:
4
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:
SELECT DISCIPLINA FROM DISCIPLINA
WHERE CARGA_HORARIA < 40 OR OBRIGATORIA = ‘N’As atividades rotineiras de um desenvolvedor, ao manipular um banco de dados, envolve escrever consultas ou comandos em SQL e analisar os resultados que o servidor apresenta, por exemplo, ao inserir uma linha com um INSERT, ele depois checa se a linha foi inserida ou, quando realiza uma consulta, ele avalia os dados da consulta. Em uma destas tarefas, um programador obteve a seguinte consulta:
CódigoFabricantePlacaModeloAno1FordMQF4236Fiesta20162FiatQFG5534Uno20183RenaultFES3321Clio20144FiatQQF5298Idea20185RenaultAAX8943Sandero2013Fonte: Elaborado pelo autor.
Qual consulta o programador deve ter digitado na ferramenta do SGBD?
Resposta Correta:
SELECT * FROM CARRO WHERE (ANO <=2015) OR (PLACA LIKE ‘%QF%’)
You must be logged in to reply to this topic.