B ANCO DE D ADOS E XERCÍCIOS RESOLVIDOS
Hiroo Hir oo Tak Takaok aoka a
E XERCÍCIO 1
Você foi convidado a elaborar um banco de dados para uma empresa de consultoria que deseja registrar informações sobre seus projetos proj etos e consultores. De acordo com o solicitado pelo seu cliente, para cada projeto você você deverá armazenar armazenar o código, nome nome e endereço da empresa que solicitou o projeto, o número do projeto, a data de início e de término do projeto, pro jeto, o valor do projeto, o número, nome, número número do documento de identidade e especialização dos consultores que participaram do projeto, as horas que trabalharam em cada projeto e a função que exerceu (líder ou membro). Note que uma mesma mesma empresa pode solicitar diversos projetos e um mesmo mesmo consultor pode trabalhar em diversos d iversos projetos. Utilizando seus conhecimentos conhecimentos sobre sobr e modelo de entidades e relacionamentos (MER), elabore o desenho inicial deste banco de dados.
E XERCÍCIO 1 - SOLUÇÃO Pr ojeto
Em pr esa
Código Nome Endereço
1
Solicitou
N
Num_Projeto Data_Início Data_Término_ Valor
Consultor
N
Participou Horas_Trabalhadas Função_Exercida
•
•
N
Num_Consultor Nome Num_Ident Especialização
E XERCÍCIO 2
Converter o modelo de entidades e relacionamentos (MER) do exercício 1 para Access (conjunto de tabelas e relacionamentos). Para cada tabela criada indique o nome da tabela, o nome e tipo dos campos (T=texto, N=número ou valor e D=data), qual a chave primária (indique com um “X” ao lado do nome do(s) campo(s) e faça os relacionamentos ligando os campos com linhas – indique o lado “1” e o lado “ ” dos relacionamentos). Elabore o nome dos campos de maneira a deixar claro que informação está sendo armazenada no mesmo.
E XERCÍCIO 2 - SOLUÇÃO Pr ojeto X Num_Projeto (T
Em pr esa X Código (T)
Nome (T) Endereço (T)
1
Data-Início(T) Data_Término (T) Valor (N) Cod_Empresa (T)
1
P r o j e t o _C o n s u l t o r
X Num_Projeto (T) X Num_Consultor (T)
Horas_Trabalhadas (N) Função_Exercida (T)
1 Consultor X Num_Consultor (T) Nome (T) Num_Ident (T) Especialização(T)
E XERCÍCIO 3
Construa um modelo de entidades e relacionamentos (MER) para um banco de dados de uma empresa contendo tipo de produto, fornecedor, cliente, venda e loja?
Suponha que: um tipo de produto pode ser fornecido por vários fornecedores e um fornecedor pode fornecer vários tipos de produto; a venda a um cliente pode conter vários tipos de produto e um tipo de produto pode fazer parte de várias vendas; a venda a um cliente é realizada em uma das lojas da empresa; cada produto numa venda tem preço e quantidade; cada venda tem número da nota fiscal, data e valor total; cada tipo de produto tem código, nome e descrição; cada cliente tem código, nome e endereço; cada fornecedor tem código, nome, CNPJ e endereço; cada loja tem código, nome e CNPJ.
◦
◦
◦
◦
◦
◦
◦
◦
◦
E XERCÍCIO 3 - SOLUÇÃO
Cliente
Código Nome Endereço 1
Feita N For necedor
Código Nome CNPJ Endereço
N
Fornece
N
P r od u t o
Código Nome Descrição
N
Faz parte
N
Venda
Num_NFiscal Data Valor_Total
Preço Quantidade
N
•
•
Feita 1 L oj a
Código Nome CNPJ
E XERCÍCIO 4
Converter o modelo de entidades e relacionamentos (MER) do exercício 3 para Access (conjunto de tabelas e relacionamentos). Para cada tabela criada indique o nome da tabela, o nome e tipo dos campos (T=texto, N=número ou valor e D=data), qual a chave primária (indique com um “X” ao lado do nome do(s) campo(s) e faça os relacionamentos ligando os campos com linhas – indique o lado “1” e o lado “ ” dos relacionamentos). Elabore o nome dos campos de maneira a deixar claro que informação está sendo armazenada no mesmo.
E XERCÍCIO 4 - SOLUÇÃO For necedor
X Código (T)
Nome (T) CNPJ( T) Endereço
1
1
For necedor _Pr odu to
X Cod-Fornecedor (T) X Cod_Produto (T)
Cliente X Código (T)
Nome (T) Endereço (T)
P r od u t o X Código (T)
1 Nome (T) Descrição (T)
1
P r o d u t o _V e n d a
X Cod-Produto (T) X Num_NFiscal (N)
Preço (N) Quantidade (T)
Venda
X Num_NFiscal (N) 1 Data (D) Valor_Total (N) Cod_Cliente (T) Cod_Loja (T)
L oj a
X Código (T)
1
Nome (T) CNPJ (T)
E XERCÍCIO 5
Construir um modelo de entidades e relacionamentos (MER) para uma companhia de seguros de automóveis com um conjunto de clientes, onde cada um possui um certo número de automóveis. Os dados do cliente são código, nome, RG, CPF, endereço e telefone. Do carro deve-se armazenar a placa, código RENAVAN, fabricante, modelo e ano. Associado a cada automóvel há um histórico de ocorrências. Cada ocorrência deve ter um número (único), data, local e descrição.
E XERCÍCIO 5 - SOLUÇÃO
Automóvel
Cliente
Código Nome RG CPF Endereço Telefone
1
N
Tem
Placa Cód_RENAVAN Fabricante Modelo Ano
O co r r ên ci a
1
Tem
N
Num_Ocorrência Data Local Descrição
E XERCÍCIO 6
Converter o modelo de entidades e relacionamentos (MER) do exercício 5 para Access (conjunto de tabelas e relacionamentos). Para cada tabela criada indique o nome da tabela, o nome e tipo dos campos (T=texto, N=número ou valor e D=data), qual a chave primária (indique com um “X” ao lado do nome do(s) campo(s) e faça os relacionamentos ligando os campos com linhas – indique o lado “1” e o lado “ ” dos relacionamentos). Elabore o nome dos campos de maneira a deixar claro que informação está sendo armazenada no mesmo.
E XERCÍCIO 6 - SOLUÇÃO Cliente X Código (T)
Nome (T) RG (T) CPF (T) Endereço (T) Telefone (T)
Automóvel X Placa (T)
1
Cod_RENAVAN (T) 1 Fabricante (T) Modelo (T) Ano (D) Cod_Cliente (T)
O cor r ên ci a
X Num_Ocorrência (N)
Data (D) Local (T) Descrição (T) Placa (T)
E XERCÍCIO 7 Construir um modelo de entidades e relacionamentos (MER) para o banco de dados de uma clínica abaixo:
Cada médico que trabalha na clínica é identificado pelo seu CRM, um nome, uma data de admissão e um salário. Para todo paciente internado na clínica são cadastrados alguns dados pessoais: código, nome, RG, CPF, endereço e telefone para contato.
Um paciente tem sempre um médico como responsável, com um horário de visita diário predeterminado.
Pacientes estão sempre internados em quartos individuais que são identificados por um número e está em um andar da clínica.
E XERCÍCIO 7 - SOLUÇÃO Paciente
Mé d i co
CRM Nome Data_Admissão Salário
1
Responsável Horário_visita
•
N
Código Nome RG CPF Endereço Tel_Contato
1
Internado
1
Qua r to
Num_Quarto Andar
E XERCÍCIO 8
Converter o modelo de entidades e relacionamentos (MER) do exercício 7 para Access (conjunto de tabelas e relacionamentos). Para cada tabela criada indique o nome da tabela, o nome e tipo dos campos (T=texto, N=número ou valor e D=data), qual a chave primária (indique com um “X” ao lado do nome do(s) campo(s) e faça os relacionamentos ligando os campos com linhas – indique o lado “1” e o lado “ ” dos relacionamentos). Elabore o nome dos campos de maneira a deixar claro que informação está sendo armazenada no mesmo.
E XERCÍCIO 8 - SOLUÇÃO Mé d i co X CRM (T)
Nome (T) Data_Admissão (D) Salário (N)
1
Mé d i co_Pa ci ent e X CRM_Médico (T) X Cod_Paciente (T)
Horário_Visita (D)
1
1
Paciente
1
X Código (T)
Nome (T) RG (T) CPF (T) Endereço (T) Tel_Contato (T) Num_Quarto (T)
Qua r to X Num_Quarto (T)
Andar (N)
1
E XERCÍCIO 9
Você foi convidado a elaborar um banco de dados para uma pequena companhia aérea que deseja registrar informações sobre seus vôos e clientes. De acordo com o solicitado pelo seu cliente, para cada vôo você deverá armazenar o nome, o número do registro e a data de validade do registro do piloto que realizou o vôo, o número do vôo, a hora de partida e de chegada do vôo, o local de partida e de destino do vôo, o nome, número do documento de identidade, telefone e endereço dos clientes que estavam presentes, o número da cadeira em que estavam sentados e a quantidade de bagagens que cada cliente despachou. Note que um mesmo piloto pode fazer diferentes vôos e um mesmo cliente pode voar diversas vezes. Utilizando seus conhecimentos sobre bancos de dados, elabore o modelo de entidades e relacionamentos (MER).
E XERCÍCIO 9 - SOLUÇÃO
V ôo
Piloto
Num_Registro Nome Data_Validade
1
Fez
N
Num_Vôo Hora_Partida Hora_Chegada Local_Partida Local_Destino
Cliente
N
Voou •
•
Num_Cadeira Quant-Bagagem
N
Num_Ident Nome Telefone Endereço
E XERCÍCIO 10
Converter o modelo de entidades e relacionamentos (MER) do exercício 9 para Access (conjunto de tabelas e relacionamentos). Para cada tabela criada indique o nome da tabela, o nome e tipo dos campos (T=texto, N=número ou valor e D=data), qual a chave primária (indique com um “X” ao lado do nome do(s) campo(s) e faça os relacionamentos ligando os campos com linhas – indique o lado “1” e o lado “ ” dos relacionamentos). Elabore o nome dos campos de maneira a deixar claro que informação está sendo armazenada no mesmo.
E XERCÍCIO 10 - SOLUÇÃO
Piloto
X Num_Registro (N)
V ôo X Num_Vôo (N)
1
Nome (T) Data_Validade (D)
Hora_Partida (D) Hora_Chegada (D) Local_Partida (T) Local_Destino (T) Num_Piloto (N)
1
Vôo_Cliente
X Num_Vôo (N)
X Num_Ident (T)
Num-Cadeira (T) Quant_Bagagem (N)
1 Cliente X Num_Ident (T) Nome (T) Telefone (T) Endereço (T)
E XERCÍCIO 11
Você foi convidado a elaborar um banco de dados para uma loja de material de escritório que deseja registrar informações sobre vendas de materiais. De acordo com o solicitado pela loja, para cada venda você deverá armazenar o código, CNPJ, nome, endereço do cliente para o qual fez a venda, o número da nota fiscal, a data da venda, o valor do desconto concedido, o endereço de entrega e o código, nome, descrição e preço de tabela dos materiais que foram vendidas, as quantidades vendidas com os preços praticados para cada tipo de material. Note que para um mesmo cliente pode realizar várias vendas e um mesmo tipo de material pode ser vendido diversas vezes. Utilizando seus conhecimentos sobre bancos de dados, elabore o modelo de entidades e relacionamentos (MER).
E XERCÍCIO 11 - SOLUÇÃO
Venda
Cliente
Cod_cliente Nome_Cliente CNPJ Endereço
1
Fez
N
Num_NFiscal Data_Venda Valor_Desc Ender_Entrega
Pr odu to N
Tem item Quant_Vendida Preço_Venda
• •
N
Cod_Prod Nome_Prod Descrição Preço_Tabela
E XERCÍCIO 12
Converter o modelo de entidades e relacionamentos (MER) do exercício 11 para Access (conjunto de tabelas e relacionamentos). Para cada tabela criada indique o nome da tabela, o nome e tipo dos campos (T=texto, N=número ou valor e D=data), qual a chave primária (indique com um “X” ao lado do nome do(s) campo(s) e faça os relacionamentos ligando os campos com linhas – indique o lado “1” e o lado “ ” dos relacionamentos). Elabore o nome dos campos de maneira a deixar claro que informação está sendo armazenada no mesmo.
E XERCÍCIO 12 - SOLUÇÃO
Cliente X Cod-Cliente
(N)
Nome (T) CNPJ (T) Endereço (T)
Venda X Num_NFiscal (N)
Data_Venda (D) Valor-Desc (N) Ender_Entrega (T) Cod_Cliente (N)
1
1
V en d a _ P r o d u t o X Num_NFiscal (N) X
Cod_Prod (N) Quant_Vendida (N) Preço_Venda (N)
Pr odu to X Cod_Prod
1
(N) Nome_Prod (T) Descrição (T) Preço_Tabela (N)