Você está na página 1de 12

Engenharia de Computação – UEFS - Bancos de Dados

Lista de exercícios

1. Evidencie as diferenças entre os conceitos de BD, SGBD e Sistemas de BD

Resposta:

• Bancos de Dados são conjuntos de dados relacionados e acessíveis. Dados são fatos
conhecidos, que podem ser registrados e possuem significado.

• Sistemas Gerenciadores de Bancos de Dados (SGBD) são sistemas que gerenciam BD,
ou são linguagens utilizadas para manter os BD.

• Sistemas de BD são sistemas desenvolvidos com funções específicas, que usam BD,
desenvolvidos em SGBD.

2. Por que é importante em um sistema de banco de dados armazenar os dados em um


arquivo separado de sua definição?

Resposta:

A separação da base de dados em dois arquivos distintos é importante pois a estrutura dos
dados muda pouco enquanto que os dados em si mudam muito devido à inserção,
alteração ou remoção de dados. Assim, o SGBD cria um arquivo para a estrutura dos
dados e outro para os dados em si.

3. No que diz respeito à modelagem de dados no desenvolvimento de sistemas de


software, um dos modelos descreve a estrutura de um banco de dados
independente de sua classificação. Os objetos, suas características e
relacionamentos entre elementos da realidade têm a representação fiel do ambiente
observado, independente de quaisquer limitações impostas por tecnologias,
técnicas de implementação ou dispositivos físicos. Esse modelo é denominado:

A. Descritivo.
B. Conceitual.
C. Comportamental.
D. Lógico.
E. Físico.

Resposta: B
4. A arquitetura do SGBD é dividida em três níveis que proveem diferentes abstrações
da estrutura do sistema de banco de dados. Essa organização em níveis efetiva a
visão abstrata dos dados, reduzindo a complexidade do sistema:

I. Nível físico: é onde se especifica o acesso aos dados conforme as necessidades


de cada usuário ou aplicação.

II. Nível lógico: é onde se descreve a estrutura completa do banco de dados, que
engloba a definição do esquema do banco de dados.

III. Nível de visão: relaciona-se com as estruturas de armazenamento dos dados e


com o gerenciamento destas.

Quais estão corretas?

A. Apenas II.
B. Apenas I e II.
C. Apenas I e III.
D. Apenas II e III.
E. I, II e III.

Resposta: A

5. Desenvolva o Diagrama Entidade-Relacionamento para as seguintes situações:


a. Um aluno realiza vários trabalhos. Um trabalho é realizado por um ou mais alunos.
b. Um diretor dirige no máximo um departamento. Um departamento tem no máximo
um diretor.
c. Um autor escreve vários livros. Um livro pode ser escrito por vários autores.
d. Uma equipe é composta por vários jogadores. Um jogador joga apenas em uma
equipe.
e. Um cliente realiza várias encomendas. Uma encomenda diz respeito apenas a um
cliente.

Resposta:

Situação a:
Situação b:

Situação c:

Situação d:

Situação e:

6. Considerando o Cenário:

a. Grife as entidades que você identificar no texto do cenário 1.

Resposta: As entidades estão destacadas em negrito no Texto.

b. Liste as entidades que você grifou.

Resposta: Floricultura, Clientes e Produtos

c. Liste os relacionamentos entre as entidades


Resposta:

Pedido_produto: relacionamento entre pedido e produto.


Pedido_cliente: relacionamento entre pedido e cliente.

d. Crie o modelo Entidade Relacionamento.

Resposta:

Cenário: Uma floricultura deseja informatizar suas operações. Inicialmente, deseja


manter um cadastro de todos os seus clientes, mantendo informações como: RG, nome,
telefone e endereço. Deseja também manter um cadastro contendo informações sobre os
produtos que vende, tais como: nome do produto, tipo (flor, vaso, planta,...), preço e
quantidade em estoque. Quando um cliente faz uma compra, a mesma é armazenada,
mantendo informação sobre o cliente que fez a compra, a data da compra, o valor total e
os produtos comprados.

7. Desenvolva um DER considerando as seguintes informações sobre a base de dados


de uma universidade:
● Os professores têm um CPF, um nome, uma idade, um posto, e uma especialidade
de pesquisa.
● Existem projetos que têm um número, um organismo financiador, uma data de
início, uma data final, e um orçamento.
● Os estudantes de pós-graduação têm um CPF, um nome, uma idade, e um plano
de curso (ex. mestrado, doutoramento).
● Cada projeto é gerido por um professor (o pesquisador principal do projeto).
● Cada projeto tem a participação de um ou mais professores.
● Os professores podem gerir e/ou trabalhar em vários projetos.
● Cada projeto tem um ou mais estudantes de pós-graduação (conhecidos como os
assistentes de pesquisa).
● Sempre que um estudante de pós-graduação trabalha num projeto, terá que existir
um professor a supervisionar esse trabalho. Os estudantes podem trabalhar em
vários projetos com supervisores eventualmente diferentes.
● Os departamentos têm um número, um nome, e um escritório principal.
● Os departamentos são liderados por um professor.
● Os professores podem trabalhar num ou mais departamentos. Associada a cada
uma destas funções está uma percentagem do seu tempo.
● Os estudantes de pós-graduação estão associados a um departamento no qual
fazem o seu curso.
● Cada estudante de pós-graduação tem um outro estudante mais velho que é o seu
orientador.

Resposta:
Observação: Os atributos são indicados no modelo relacional do exercício 8. Ressalta-se
também que a cardinalidade pode ser inferida também pelo modelo relacional da questão 8.

8. Obtenha o modelo relacional correspondente ao DER projetado no exercício 4.

Professor(cpf, nome,idade,espc,posto)

Projeto(nro, organ,orçam,data_i,data_f,cpf_gestor)

Departamento(nro, nome, escrit, cpf_lider)


cpf_lider referencia Professor(cpf)

Estudante(cpf, nome, idade, curso, nro_dept)


nro_dept referencia Departamento(nro)

Trabalham(cpf_prof, nro_dept, perc_t)


cpf_prof referencia Professor(cpf)
nro_dept referencia Departamento(nro)

Assistentes_proj(cpf_estud, cpf_proj, cpf_superv)


cpf_estud referencia Estudante(cpf)
nro_proj referencia Projeto(nro)
cpf_superv referencia Professor(cpf)

Orientacao(cpf_orientando, cpf_orientador)
cpf_orientando referencia Estudante(cpf)
cpf_orientador referencia Estudante(cpf)

Participam(cpf_prof, nro_proj)
cpf_prof referencia Professor(cpf)
nro_proj referencia Projeto(nro)

9. Uma indústria farmacêutica possui um banco de dados que registra os vírus para os
quais ela produz medicamentos e os medicamentos que ela produz.

● O banco de dados deve armazenar os nomes científicos e populares dos vírus bem
como os períodos de incubação.

● Para medicamentos, o banco deve armazenar o nome de venda e o composto


ativo.

● Considere que um dado medicamento pode tratar vários vírus e um vírus pode ser
tratado por vários medicamentos.
● O banco de dados também precisa armazenar informações sobre o tipo de
paciente (e.g. criança, adulto, idoso) infectado por um vírus e se este tipo pode ser
tratado pelos respectivos medicamentos. Cada tipo de paciente possui uma
dosagem recomendada para a combinação paciente/medicamento.

● Vírus podem ser classificados em diversas categorias. A categoria retrovírus é


tratada com coquetéis de medicamentos. Um coquetel é composto por vários
medicamentos, cada um em uma concentração específica. Os tratados baseados
em coquetéis também devem especificar dosagens específicas por tipo de
paciente.

Desenvolva o modelo relacional considerando os requisitos elencados acima.

Resposta:

VIRUS(nome_cientifico, nome_popular, periodo_incubacao, tipo)

MEDICAMENTO(nome_venda, composto_ativo)

TRATA(nome_cientifico, nome_venda)

nome_científico referencia VIRUS


nome_venda referencia MEDICAMENTO

DOSAGEM(tpaciente, nome_venda, nome_científico , dosagem)

tpaciente referencia TIPO_PACIENTE


nome_venda referencia MEDICAMENTO
nome_científico referencia VIRUS

TIPO_PACIENTE(tpaciente)

COQUETEL(nome_coquetel)

PARTE_COQUETEL(nome_coquetel, nome_medicamento, concentração)

nome_coquetel referencia COQUETEL


nome_medicamento referencia MEDICAMENTO

RETROVIRUS(nome_cientifico)

nome_científico referencia VIRUS

TRATAC(nome_cientifico, nome_coquetel)
nome_científico referencia RETROVIRUS
nome_coquetel referencia COQUETEL

DOSAGEMC(tpaciente, nome_coquetel, dosagem)


tpaciente referencia TIPO_PACIENTE
nome_coquetel referencia estrangeira COQUETEL

10. Qual é a diferença entre entidade forte e entidade fraca? Uma entidade
identificadora é forte? Dê exemplos.

Resposta: Entidade fraca é a entidade que não existe no banco de dados sem estar
associada a uma entidade identificadora. Isto implica que esta não possui seus próprios
atributos chaves. Neste tipo de entidade, suas instˆancias são identificadas unicamente
pelo conjunto formado por algum(ns) de seus atributos e algum(ns) atributo(s) de outro
tipo de entidade chamada entidade identificadora. Por outro lado, uma entidade forte
existe no banco e possui atributos que a identificam sem precisar estar associadas a
outra entidade identificadora. Ex. típico: Empregado e dependentes

Uma entidade identificadora pode por si mesma ser identificada apenas por outra
entidade identificadora numa espécie de cascata. Assim, ser identificadora não implica
em ser entidade forte.

11. Diferencie chave, chave primária e chave candidata.

Resposta:
Chaves são os conjuntos mínimos que podem identificar unicamente uma tupla. Isto
implica que o subconjunto de atributos nesta chave não pode ser reduzido e ainda
mantermos a propriedade da identificação unívoca.

Chaves candidatas são chaves que identificam univocamente uma entidade. Têm a
propriedade de serem superchaves minimais. Chave primária é a chave candidata
escolhida pelo projetista.

12. Em um modelo de banco de dados de uma universidade, existem alunos que se


matricularam em disciplinas para cursar em um determinado semestre. O
relacionamento entre aluno e disciplina, portanto, tem a seguinte cardinalidade:
a) 1:1

b) 1:N

c) N:1
d) N:N

e) Nenhuma das alternativas.

Resposta: d

13. Assinale (V) se a afirmativa for verdadeira ou (F) se a alternativa for falsa:

a) A restrição de domínio define que o valor de cada atributo deve ser atômico e estar
dentro de um conjunto de valores especificados por aquele domínio. V
b) A restrição de chave define que todas as tuplas de um conjunto devem ser distintas
entre si. V
c) A restrição de integridade de entidade define que todos os valores de atributos
devem ser não nulos. F
d) Valores atômicos são aqueles que não são compostos nem multivalorados. V
e) Uma chave estrangeira tem o mesmo domínio da chave primária à qual ela se
referencia. V

14. Considerando a tabela abaixo, liste as possíveis chaves.

COL1 COL2 COL3

A 10 F

A 15 F

D 15 M

B 5 F

A 5 M

B 10 M

As informações contidas na relação em questão são suficientes para determinar a


chave primária? Justifique
Resposta 1: Sem informação de esquema e domínio dos atributos não é possível.
Resposta 2: Parcialmente: se a tabela nunca mudar, se poderia escolher uma chave
(não é boa solução).
15. Uma relação sempre terá uma chave? Justifique.
Resposta: Sim, porque não há tuplas repetidas no modelo relacional.

16. O que são restrições de integridade? Cite alguns exemplos.


Resposta: As restrições de integridade no modelo relacional estão relacionadas a um
conjunto de regras que visam garantir que os dados estão armazenados de forma
precisa, válida e consistente. As regras devem garantir um estado válido em qualquer
momento do tempo.

Exemplos: Integridade de domínio, integridade de vazio, integridade de chave,


integridade referencial.

17. Justifique a importância da restrição de Integridade referencial.


Resposta: A integridade referencial é importante pois garante que apenas as
alterações, adições ou remoções necessárias ocorram por meio de regras implantadas
na estrutura do banco de dados sobre como as chaves estrangeiras são usadas. Com
isso, evita-se que operações que ferem a integridade do banco de dados sejam
executadas. Ou seja, garante-se que o valor da chave estrangeira deve aparecer na
chave primária da tabela referenciada.

18. Considere duas tabelas relacionais Nota Fiscal e Produto onde as notas fiscais
relacionam os produtos vendidos. Cada produto é identificado pelo seu código e
cada nota fiscal pelo seu número. A ação cruzada entre essas tabelas é a venda
que não será usada em nenhum outro relacionamento. Do ponto de vista do
mundo real, no modelo entidade-relacionamento, venda deve ser modelada
como:

A. Uma entidade fraca 1:n no sentido das entidades nota fiscal e produto que
garante a integridade referencial entre elas porque a chave do lado n é
reproduzida no lado 1 correspondente.

B. Uma entidade dependente n:n entre nota fiscal e produto que garante a
integridade referencial porque a chave de produto é reproduzida na nota fiscal
correspondente.
C. Um relacionamento 1:n no sentido nota fiscal e produto que garante a
integridade referencial entre nota fiscal e produto porque a chave do lado 1 é
reproduzida no lado n correspondente.

D. Um relacionamento 1:n no sentido produto e nota fiscal que garante a


integridade referencial entre nota fiscal e produto porque a chave do lado n é
reproduzida no lado 1 correspondente.

E. Um relacionamento n:n que garante a integridade referencial entre nota fiscal e


produto porque contém os pares ordenados das identificações de ambas.

Resposta: E

19. Considerando o DER ilustrado abaixo, determine o modelo relacional.


Resposta:
Grupo(CodGrup, Nome)
Empresa(CodGrup, NoEmpresa, Nome)
Empregado(CodGrup, NoEmpresa, NoEmpreg, Nome)
Dependente(CodGrup, NoEmpresa, NoEmpreg, NoSeq, Nome)

Observação: No esquema relacional correspondente não foram explicitadas as chaves


estrangeiras.

Você também pode gostar