Vous êtes sur la page 1sur 7

Curso

de Tecnologia em Sistemas de Computao


Disciplina Banco de Dados
AD1 2 semestre de 2013.

Nome:______________________________________________________________________________

Observaes:

1. Prova COM consulta.

Ateno: Como a avaliao distncia individual, caso seja constatado que provas de alunos
distintos so cpias umas das outras, independentemente de qualquer motivo, a todas ser atribuda
a nota ZERO. As solues para as questes podem sim, ser buscadas por grupos de alunos, mas a
redao final de cada prova tem que ser individual.

A entrega das ADs ser feita exclusivamente via plataforma. No sero aceitas ADs entregues via
correio.
_____________________________________________________________________________________

Questo 1. [1,0 ponto] De acordo com o que voc aprendeu nas aulas, responda com suas palavras a
razo pela qual a adoo de um Sistema de Gerncia de Banco de Dados (SGBD) reduz o tempo de
desenvolvimento de uma aplicao?

Porque o programador no precisa se preocupar em desenvolver dezenas de funes que j


so nativas de Bancos de dados como, por exemplo, mtodos de acesso aos dados eficientes e
mecanismos de consistncia dos dados. Outras funes como controle de concorrncia,
recuperao de falhas e facilidades para consultas tambm justificam o uso de SGBD, uma vez
que esses controles devem ser implementados pelo programador caso o mesmo opte por
outra soluo como o uso de arquivos.

Questo 2. [1,0 ponto] Explique com suas palavras pelo menos trs funes bsicas de um sistema de
gerncia de banco de dados (SGBD). O objetivo neste exerccio no apenas citar as funes e sim
explicar sucintamente as funes que voc escolher.

Recuperao de Falhas: o SGBD deve garantir que sempre que ocorra alguma falha, a base de
dados possa retornar para um estado consistente.
Integridade Semntica: garantia dos dados sempre corretos em relao ao domnio da
aplicao.

www.CompCEDERJ.com.br

Segurana: garantia de que no acontea violao no acesso aos dados


Controle de Concorrncia: garantia que no ocorram problemas quando houver acessos
simultneos aos dados
Independncia de dados: mudanas na estrutura dos dados da aplicao no devem interferir
na organizao fsica dos dados na base de dados, podendo ter vrios nveis de
independncia, alm da independncia fsica e da independncia lgica, a independncia
semntica.

Questo 3. [1,0 ponto] Imagine que o prefeito da cidade do Rio de Janeiro deseja implantar um sistema
integrado de controle de mdicos em todas as clnicas de famlias do municpio e contratou os servios
de Daniel. Como j estava habituado com a tecnologia, Daniel decidiu utilizar o SGBD AlfaDeltaBeta que
por natureza configurvel, ou seja, alguns recursos do SGBD podem ser ativados ou desativados
dependendo da necessidade do desenvolvedor. As clnicas de famlia da prefeitura esto espalhadas por
toda a cidade e o pronturio dos pacientes deve ser acessado por mdicos em todas as clnicas, j que
no se sabe aonde o paciente vai se consultar. Em cada clnica existe um mdico responsvel que deve
poder analisar apenas os dados dos pacientes que j se consultaram em sua clnica. Apenas o secretrio
de sade do municpio e o prefeito podem ter acesso aos dados de todas as clnicas. Justifique para cada
um dos mecanismos abaixo, quais deles so necessrios e quais no so.

Linguagem de consulta
Mecanismo de autorizao
Recuperao de falha
Controle de concorrncia

Justificativas

Mecanismo de autorizao: como a especificao exige que haja diferentes nveis de acesso
aos dados, necessrio utilizar os mecanismos de autorizao para criar diferentes perfis de
acesso aos dados.
Controle de concorrncia: necessrio, vrios mdicos podero acessar e modificar os
mesmos dados.
Recuperao de falha: essencial, pois o secretrio de sade no tem interesse que dados
sejam perdidos caso a energia seja interrompida enquanto os mdicos usam o sistema.
Linguagem de consulta: fundamental para que o programador possa desenvolver as telas do
sistema ou gerar relatrios para o secretrio de sade e para o prefeito.

Questo 4. [1,0 ponto] Analise o fragmento de modelo ER abaixo apresentado (diagrama incompleto)
para responder as perguntas a seguir. Ele representa a publicao de posts em uma rede social genrica
e a formao de relacionamentos dentro da rede. Um usurio pode publicar diversos posts e pode se
tornar amigo de diversos outros usurios.

www.CompCEDERJ.com.br


(a) Defina os conceitos de Entidade e Relacionamento com suas prprias palavras (no copie
das aulas!).
(b) Para o fragmento de modelo ER apresentado, elabore um diagrama de ocorrncias referente ao
modelo que contenha ao menos 3 ocorrncias das entidades USURIO E POST, e pelo menos 3
ocorrncias do relacionamento PUBLICA.
(c) Suponha que se deseja incluir os seguintes atributos no modelo:
um atributo para indicar o nome do usurio;
um atributo para indicar desde quando dois usurios so amigos na rede social;
um atributo para indicar se o post pblico ou no.
Para cada um dos atributos acima, indique onde ele deve ser colocado no diagrama e justifique sua
deciso. Redesenhe o diagrama com os novos atributos. Indique a cardinalidade de cada um dos
relacionamentos.
(a) Qualquer definio equivalente a:
Entidade - Uma entidade um Conjunto de objetos da realidade modelada sobre os quais se deseja
manter informaes na base de dados.
Relacionamento uma associao entre entidades distintas. No h relao direta entre o nome
relacionamento e o nome relao..
(b)


(c)

www.CompCEDERJ.com.br

O atributo de data do incio da amizade deve ser includo no relacionamento AMIZADE, j que
estas no so informaes especficas do USURIO, e sim da amizade em si.
O atributo nome deve ser includo na entidade USURIO, j que informao especfica da
pessoa.
O atributo PUBLICO deve ser includo na entidade POST, j que informao especfica do
POST realizado.

Questo 5. [2,0 pontos] Deseja-se projetar uma base de dados que dar apoio a um sistema Web para
relacionamento entre prossionais. Por meio de um diagrama ER, deve ser modelada a base de dados
de acordo com as regras apresentadas a seguir. O sistema proposto armazena dados sobre os
funcionrios de uma empresa. Para cada pessoa, o banco de dados armazena um identicador interno,
um endereo de correio eletrnico e o nome da pessoa, bem como os relacionamentos da pessoa. Para
um relacionamento, alm da pessoa relacionada, necessrio conhecer a data na qual o
relacionamento foi cadastrado e uma descrio do relacionamento (algo como "colega no curso de
Computao do CEDERJ"). As pessoas podem participar de grupos. Cada grupo identicado por uma
sigla e tem um nome. Um grupo pode reunir vrias pessoas e uma pessoa pode participar de vrios
grupos. Grupos vazios so apagados da base de dados, isto , todo grupo deve ter ao menos um
participante. Alm disso, o banco de dados deve armazenar um histrico prossional da pessoa. Para
cada posio ocupada pela pessoa, deve ser armazenado o ano de incio e de m, bem como uma
descrio da posio, em formato livre. necessrio conhecer a posio corrente da pessoa (se houver).

www.CompCEDERJ.com.br


Ateno: tambm ser aceita cardinalidade mnima 0 no relacionamento entre pessoa e grupo, j que
o enunciado no deixa claro que uma pessoa deve obrigatoriamente participar de algum grupo.
Questo 6. [2,0 pontos] A empresa Rocha est montando uma rea de atendimento telefnico (help-
desk) destinado a dar apoio aos seus usurios internos. Para acelerar o atendimento em caso de um
chamado de usurio, necessrio conhecer os programas que esto instalados em cada mquina
utilizada pelo usurio. Assim, deseja-se projetar uma base de dados que registre os programas utilizados
nas mquinas da empresa. Para cada mquina usada na empresa, so mantidas as seguintes
informaes:
1. um nmero de patrimnio, que identifica a mquina;
2. o modelo da CPU nela usada (este um texto livre fornecido quando do cadastramento, que
contm algo como "Intel Core i7");
3. a memria principal em GB;
4. a data da instalao da mquina (ou seja, a data em que ela entrou em uso); e
5. a data da "aposentadoria", no caso de a mquina no estar mais em uso.
Cada mquina pode ter nela instalados um ou mais programas. Cada programa identificado por um
nmero interno e tem um nome (algo como "Microsoft Windows Vista"). Alm de registrar o programa
armazenado em cada mquina, a base de dados deve registrar a data em que o programa foi instalado
na mquina, a data em que foi removido (se isso ocorreu), bem como a verso do programa que se
encontra instalado. Finalmente, necessrio registrar os usurios responsveis por cada mquina. Para

www.CompCEDERJ.com.br

cada mquina, h um nico responsvel, sendo que um usurio pode ser responsvel por vrias
mquinas. Usurios so identificados por um nmero de crach e tm seu nome registrado na base de
dados. Projete um modelo ER para armazenar os dados acima sem redundncia de dados. Enumere as
entidades, seus atributos, seus relacionamentos e as cardinalidades. No devem ser criados atributos
artificiais, alm dos apresentados no enunciado. Apresente o esquema na notao da ferramenta DIA.


Questo 7. [2,0 pontos] Dona Palmirinha, famosa cozinheira da TV est tendo problemas srios para
gerenciar o seu catlogo de receitas. Cada receita do catlogo de Palmirinha foi enviada por um
telespectador, ou seja, o telespectador que envia as receitas. Seu neto Joo resolveu modelar um
banco de dados para Dona Palmirinha para ajud-la a gerenciar suas receitas. Abaixo apresentado
esquema da base de dados proposta por Joo. As chaves primrias esto sublinhadas.
Pessoa(CodPessoa, Nome)
Receita(CodReceita, DataEnvio, Ttulo, ModoPreparo, CodPessoa)
CodPessoa referencia Pessoa (CodPessoa)
Ingrediente(CodReceita, SeqIngrediente, NomeI, Quantidade, Unidade)
CodReceita referencia Receita

Sobre esta base de dados, resolver as consultas a seguir usando lgebra relacional. No usar mais
tabelas que o estritamente necessrio.
(a) Faa uma consulta que retorne os ttulos das receitas postadas por Joo Silva e que tenham bacon
como ingrediente [0,5 ponto].
(Receita
titulo ( Nome =Joo Silva Pessoa
( NomeI =bacon Ingrediente)))

(b) Faa uma consulta que retorne os ttulos das receitas que usam mais do que 3 ovos [0,5 ponto].

www.CompCEDERJ.com.br

titulo ( Quantidade > 3 ^ NomeI = ovo Ingrediente Receita)



(c) Faa uma consulta que retorne os nomes das pessoas que no enviaram nenhuma receita [1 ponto].
nome ( codPessoa (Pessoa) codPessoa (Receita))

Pessoa)

www.CompCEDERJ.com.br