Escolar Documentos
Profissional Documentos
Cultura Documentos
Prof. Anderson Rocha & Prof. Andr e Santanch e Campinas, 24 de Setembro de 2012
Nome:
RA:
Observa c oes
Este lista contem 20 exerc cios e contempla os seguintes assuntos do curso: 1. Introdu c ao: arquitetura de banco de dados. 2. Modelos de dados: modelagem e abstra c oes. 3. Modelos conceituais: modelo entidade-relacionamento (ER) b asico e estendido. 4. Modelo relacional: deni c oes e formaliza c ao. 5. Mapeamento do modelo ER para o modelo relacional. 6. Depend encias funcionais e normaliza c ao. 7. Linguagens de deni c ao e de manipula c ao de dados. Bons estudos.
2
2.1
Quest oes
Q Evidencie as diferen cas entre os conceitos de BD, SGBD e Sistemas de BD.
Proposta de resposta : Bancos de Dados s ao conjuntos de dados relacionados e acess veis. Dados s ao fatos conhecidos, que podem ser registrados e possuem signicado. Sistemas Gerenciadores de Bancos de Dados (SGBD) s ao sistemas que gerenciam BD, ou s ao linguagens utilizadas para manter os BD. Sistemas de BD s ao sistemas desenvolvidos com fun c oes espec cas, que usam BD, desenvolvidos em SGBD.
2.2
Q Por qu e e importante em um sistema de banco de dados armazenar os dados em um arquivo separado de sua deni c ao?
Proposta de resposta :
A separa c ao da base de dados em dois arquivos distintos e importante pois a estrutura dos dados muda pouco enquanto que os dados em si mudam muito devido inser c ao, altera c ao ou remo c ao de dados. Assim, o SGBD cria um arquivo para a estrutura dos dados e outro para os dados em si.
2.3
Considere o banco de dados de uma livraria. De acordo com os requisitos a seguir, utilize o MER para representar o banco de dados desta livraria. 1. A livraria deseja manter um cadastro de clientes. 2. Sobre cada cliente, e importante manter seu endere co, telefone, CPF e lista dos livros que este cliente j a comprou. Para cada compra, e importante guardar a data em que esta foi realizada. 3. Um cliente pode comprar muitos livros. Um livro pode ser vendido para mais de um cliente pois geralmente h a v arios livros em estoque. 4. Um cliente pode ser pessoa f sica ou jur dica. Se for pessoa jur dica, o seu identicador deve ser o CNPJ. 5. A livraria compra livros livros de editoras. 6. Sobre as editoras, a livraria precisa de seu c odigo, endere co, telefone de contato, e o nome de seu gerente. 7. Cada cliente tem um c odigo u nico. 8. Deve-se manter um cadastro sobre cada livro na livraria. Para cada livro, e importante armazenar o nome do autor, assunto, editora, ISBN e a quantidade dos livros em estoque. 9. Editoras diferentes n ao fornecem o mesmo tipo de livro.
Proposta de resposta :
C odigo C odigo
Telefone Endere co
Endere co Telefone
CPF
CNPJ
Tipo
ISBN
Qtde ISBN
Assunto
Autor
C odigoEditora
(c) Editora.
Gerente
C odigoCliente
2.4
Considere o banco de dados do exerc cio anterior. Fa ca o mapeamento desse banco para o modelo relacional.
Proposta de resposta :
A Tabela 1 apresenta uma poss vel solu c ao. No caso, cliente pessoa f sica e pessoa jur dica s ao disjuntos e apenas possuem o atributo CPF ou CNPJ. Desta forma, o mapeamento mais simples e colocar um atributo que diz o tipo de cliente. Como nada e perfeito, quando o cliente e pessoa f sica, o CNPJ deste e vazio. Um valor padr ao pode ser criado para evitar nulos mas isso j a e detalhe de implementa c ao.
2.5
Considere o banco de dados de um hospital. De acordo com os requisitos a seguir, utilize o MER para representar o banco de dados desta livraria. 1. O hospital possui v arias alas.
2. Cada ala possui uma enfermeira respons avel. 3. Cada enfermeira se reporta a uma enfermeira-chefe. 4. Enfermeiras podem atender apenas uma ala. 5. O hospital atende (credencia) os planos de sa ude A, B e C. 6. Para cada plano de sa ude, e necess ario saber os m edicos credenciados no mesmo. 7. M edico tem CRM e enfermeira CRE que lhes s ao u nicos. 8. Todo atendimento de um m edico a um paciente deve ser registrado com a data e hora em que o mesmo ocorreu. 9. Um mesmo paciente pode ser atendido por mais de um m edico. 10. Hospital tem CNPJ. 11. Ala do hospital tem um identicador. 12. Plano de sa ude tem um nome e telefone da operadora. 13. M edicos t em nome e especialidade. 14. Enfermeiras t em nome. 15. O nome de um plano de sa ude eu nico.
Proposta de resposta :
2.6
Considere o banco de dados do exerc cio anterior. Fa ca o mapeamento desse banco para o modelo relacional.
Proposta de resposta :
2.7
Q Qual e a diferen ca entre entidade forte e entidade fraca? Uma entidade identicadora e forte? D e exemplos.
Proposta de resposta :
Entidade fraca e a entidade que n ao existe no banco de dados sem estar associada a uma entidade identicadoras. Isto implica que esta n ao possui seus pr oprios atributos chaves. Neste tipo de entidade, suas inst ancias s ao identicadas unicamente pelo conjunto formado por algum(ns) de seus atributos e algum(ns) atributo(s) de outro tipo de entidade chamada entidade identicadora. Por outro lado, uma entidade forte existe no banco e possui atributos que a identicam sem precisar estar associadas a outra entidade identicadora. Ex. t pico: Empregado e dependentes. Uma entidade identicadora pode por si mesma ser identicada apenas por outra entidade identicadora numa esp ecie de cascata. Assim, ser identicadora n ao implica em ser entidade forte.
(a) Enfermeira.
(c) Hospital.
CRE
Nome
ID
CRE
(f) Paciente.
ID NomePlano CRM
Nome Nome
Fone Especialidade
(g) M edico.
ID Hospital NomePaciente
NomePaciente
Hora
2.8
Proposta de resposta :
Superchave e um conjunto de um ou mais atributos que, tomados coletivamente, nos permite identicar de maneira un voca uma entidade em um conjunto de entidades. Chaves s ao superchaves minimais. Isto implica que o subconjunto de atributos nesta chave n ao pode ser reduzido e ainda mantermos a propriedade da identica c ao un voca. Chaves candidatas s ao chaves que identicam univocamente uma entidade. T em a propriedade de serem superchaves minimais. Chave prim aria e a chave candidata escolhida pelo projetista.
2.9
Proposta de resposta :
Uma depend encia funcional (DF) e uma propriedade da sem antica ou do signicado dos atributos. Formalmente, uma depend encia funcional entre dois conjuntos de atributos, x e y , que s ao subconjuntos de um esquema de rela c ao R, denotada por x y e uma restri c ao que estabelece que para quaisquer tuplas t1 e t2 de uma inst ancia r de R, tal que, se temos t1 [x] = t2 [x], ent ao tamb em devemos ter que t1 [y ] = t2 [y ]. Em outras palavras, os valores do componente y em uma tupla de r dependem de (ou s ao determinados por) valores do componente x.
2.10
Proposta de resposta :
X XY pela regra A2. Temos que X Z , logo XY ZY por A2. Finalmente, X ZY por A3.
2.11
Proposta de resposta :
2.12
Q Normaliza c ao 1.
RG
Nome
{Endere co}
Telefone
{Habilidade}
Esta pessoa pode possuir mais de um endere co e mais de uma habilidade. Este rela c ao est a em que forma normal. Normalize esta rela c ao para a forma normal mais prop cia.
Proposta de resposta :
Como vimos, {Endere co} e {Habilidade} s ao atributos multivalorados. Portanto, a rela c ao Pessoa n ao est a na primeira forma normal. Vamos resolver este problema quebrando a rela c ao em tr es.
(b) Pessoa. (c) Habilidades Pessoa. (d) Endereco Pessoa.
RG
Nome
Telefone
RG
Habilidade
RG
Endere co
Segundo esta normaliza c ao, n ao h a atributos multivalorados, n ao h a depend encia parcial de chave e n ao h a transitividade. Al em disso, toda depend encia n ao trivial X Y tem X como superchave ent ao as rela c oes est ao em FNBC.
2.13
Q Normaliza c ao 2.
Considere tamb em o conjunto de depend encias funcionais: Normalize esta rela c ao para a forma normal mais prop cia.
Proposta de resposta :
Temos um caso de depend encia parcial da chave. Desta forma, vamos quebrar a rela c ao em duas.
(f) Rela ca o R1 . (g) Rela ca o R2 .
Como n ao h a mais depend encia parcial de chave, transitividade e toda depend encia n ao trivial X Y tem X como superchave, as rela c oes est ao em FNBC. Obviamente, apenas o CPG Funcionario poderia determinar todos os atributos.
2.14
Q Normaliza c ao 3.
A, B
{A} {C, D, E, F } {B } {F } Considere tamb em o conjunto de depend encias funcionais: {E } {G} {D} {B }
Proposta de resposta :
Temos casos de depend encia parcial de chave e de transitividade. Al em disso, nem toda depend encia n ao trivial X Y tem X como superchave (e.g. D B ). Vamos quebrar em v arias rela c oes.
(i) S1 . (j) S2 . (k) S3 . (l) S4 . (m) S5 .
Esta e uma solu c ao que cria redund ancia. Optei por esta resposta para garantir todas as depend encias funcionais. Aceitaria respostas que, por ventura, ocasionasse perda em depend encias funcionais pois n ao foi pedido normaliza c ao sem perda. As rela c oes S1 , . . . S5 est ao em BCNF agora.
2.15
Proposta de resposta :
2.16
Q Algebra relacional 1.
RA
Nome
Situa c ao
Curso
Endere co
C odigo
RA Aluno
Tipo
T tulo
Ano Defesa
Liste todos os nomes de alunos de mestrado, que moram na rua Jabaquara ou Jo ao V tor e que estejam regulares no curso. Liste os nomes dos alunos que defenderam tese em 2005. Liste tamb em o t tulo da tese junto com o nome do aluno. Liste o nome dos alunos de doutorado que j a defenderam tese de mestrado.
Proposta de resposta :
Liste todos os nomes de alunos de mestrado, que moram na rua Jabaquara ou Jo ao V tor e que estejam regulares no curso. N ome (curso=mestradosituacao=regular(endereco= Jabaquara endereco= JoaoV itor ) (A) Liste os nomes dos alunos que defenderam tese em 2005. Liste tamb em o t tulo da tese junto com o nome do aluno. nome,titulo (anoDef esa= 2005 (A RA=RA
Aluno
T )))
Liste o nome dos alunos de doutorado que j a defenderam tese de mestrado. nome (curso= Doutorado T ipo= M estrado (A RA=RA
Aluno
T )))
2.17
Q C alculo relacional 1.
Considere as rela c oes Aluno e Tese do exerc cio anterior. Refa ca as consultas solicitadas utilizando a nota c ao do c alculo relacional.
Proposta de resposta :
Liste todos os nomes de alunos de mestrado, que moram na rua Jabaquara ou Jo ao V tor e que estejam regulares no curso. {t.nome | t A t.curso = M estrado t.Situacao = Regular (t.Endereco = Jabaquara t.Endereco = JoaoV itor )} 10
Liste os nomes dos alunos que defenderam tese em 2005. Liste tamb em o t tulo da tese junto com o nome do aluno. {a.nome, t.titulo|a A t T t.AnoDef esa = 2005 a.RA = t.RA Aluno} Liste o nome dos alunos de doutorado que j a defenderam tese de mestrado. {a.nome|a A t T (a.RA = t.RA Aluno t.tipo = M estrado }
11
2.18
Q Algebra relacional 2.
RA
CPF
Nome
Situa c ao
Curso
Endere co Ano
CPF CPF
Nome
Endereco
Dedicacao
(c) Publicacao P .
Codigo
Titulo
Qualis
NomePeriodico
Liste todas as publica c oes feitas pelo docente Anderson em 2005. Liste todas as publica c oes feitas por no m nimo um professor e um aluno.
Proposta de resposta :
Liste todas as publica c oes feitas pelo docente Anderson em 2005. R1 CP F (N ome = Anderson (D)) R2 Codigo (R1 CP F P P ) Ano = 2005 (R2 ) R1 R2 Liste todas as publica c oes feitas por no m nimo um professor e um aluno. R3 R4 A CP F P P D CP F P P R1 Codigo R2 (Codigo (R3 )) Codigo P
2.19
Q C alculo relacional 2.
Considere as rela c oes Aluno e Professor e Publica c ao e Pessoa Publica c ao do exerc cio anterior. Refa ca o exerc cio utilizando a nota c ao do c alculo relacional.
Proposta de resposta :
Liste todas as publica c oes feitas pelo docente Anderson em 2005. {p | p P d D pp P P (d.CP F = pp.CP F pp.Codigo = p.Codigo)} Liste todas as publica c oes feitas por no m nimo um professor e um aluno. {p | p P a A, d D, pp1 P P, pp2 P P (a.CP F = pp1 .CP F d.CP F = pp2 .CP F pp1 .Codigo = pp2 .Codigo pp1 .Codigo = p.Codigo)}
12
2.20
Q SQL.
Proposta de resposta :
1. N ome (curso=mestradosituacao=regular(endereco= Jabaquara endereco= JoaoV itor ) (A) 2. nome,titulo (anoDef esa= 2005 (A RA=RA
Aluno
T )))
Aluno
T )))
A.Nome A Curso = Mestrado AND Situacao = Regular AND (Endere co = Jabaquara OR Endere co = Jo ao V tor);
Nome A, T A.Curso = Doutorado AND T.Tipo = Mestrado AND A.RA = T.RA Aluno;
13