Buscar

EAD657 Tecnologia de BD

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 77 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 77 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 77 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

TTECNOLOGIAECNOLOGIA DEDE BBANCOSANCOS DEDE DDADOSADOS
Hiroo Takaoka
GGERENCIAMENTOERENCIAMENTO DEDE DDADOSADOS
Finanças
Engenharia
Produção
Vendas
Arquivo
Arquivo
Arquivo
Arquivo
Orientado a Área FuncionalOrientado a Área Funcional
GGERENCIAMENTOERENCIAMENTO DEDE DDADOSADOS
 Problemas
◦ Redundância e inconsistência de dados
 É a presença de dados duplicados em múltiplos arquivos de dados.
 Um mesmo dado pode ter diferentes significados e diferentes níveis 
de atualização.
◦ Dependência entre programa e dados
 É o estreito relacionamento entre dados armazenados em arquivos 
e os programas requeridos para atualizar e manter esses arquivos.
◦ Falta de flexibilidade
 Um sistema de arquivo pode produzir relatórios pré-programados, 
mas não pode produzir relatórios ad hoc (como e quando preciso).
◦ Baixo nível de segurança
 Há pouco controle ou gerenciamento de dados.
◦ Falta de compartilhamento e disponibilidade dos dados
 Como não se pode relacionar facilmente os dados de diferentes 
arquivos, é quase impossível que a informação seja compartilhada 
ou acessada de modo oportuno.
Orientado a Área FuncionalOrientado a Área Funcional
GGERENCIAMENTOERENCIAMENTO DEDE DDADOSADOS
Finanças EngenhariaVendas
BancoBanco
dede
DadosDados
Produção
Orientado a DadosOrientado a Dados
Sistema de Gerenciamento de Banco de Dados (Access, SQL Server, Oracle etc.)
Consulta
ad hoc
TTECNOLOGIAECNOLOGIA DEDE BBANCOSANCOS DEDE DDADOSADOS
 Banco de Dados
◦ Um Banco de Dados é uma coleção de dados organizados para atender 
a muitas aplicações, centralizando eficientemente os dados e 
minimizando dados redundantes.
 Sistema de Gerenciamento de Banco de Dados
◦ Um Sistema de Gerenciamento de Banco de Dados (SGBD) é 
simplesmente o software que permite a uma organização centralizar 
seus dados e gerenciá-los com eficiência e proporciona acesso a 
programas aplicativos aos dados armazenados.
Banco
de Dados
Sistema de Gerenciamento de Banco de Dados (Access, SQL Server, Oracle etc.)
Sistema de
Faturamento
Sistema de
Cotabilidade
Sistema de
Pedido
Sistema de
Programação
de. Produção
...Consulta
Sistemas de Processamento de Transações
TTIPOSIPOS DEDE BBANCOSANCOS DEDE DDADOSADOS
DW
Extração
Transformação
Carga
Data Mining
OLAP
Aplicações 
Analíticas
Sistemas de 
Processamento de 
Transações
Sistemas de 
Informação para 
Apoio à Decisão
Data 
Mart
Data 
Warehouse
Banco de 
Dados
TTIPOSIPOS DEDE BBANCOSANCOS DEDE DDADOSADOS
 Banco de Dados
 Estes bancos de dados armazenam dados detalhados sobre as 
transações.
 Data Warehouse (DW)
 É uma coleção de dados orientada a um assunto, integrado, 
variante no tempo e não-volátil, voltada primariamente para as 
tomadas de decisões na organização. 
 Data Mart
 Um Data Mart é um subconjunto de dados do DW destinado a 
suportar as necessidades específicas de uma determinada 
unidade de negócios (Finanças, Marketing, etc).
Requisitos de
Banco de Dados
Análise de
Requisitos
Projeto Conceitual
Projeto Lógico
Modelo de Entidades
e Relacionamentos
Banco de Dados
Relacional (BDR)
DDESENVOLVIMENTOESENVOLVIMENTO DODO BBANCOANCO DEDE DDADOSADOS
Access
SQL Server
DB2
Oracle
No banco de dados 
relacional, todos os 
dados do banco são 
representados como 
simples tabelas.
EEXEMPLOXEMPLO DEDE BDRBDR
Você precisa elaborar um banco de dados relacional (BDR) para 
registrar informações sobre alunos, cursos e disciplinas. Para cada 
aluno você deverá armazenar o número USP, nome, código e nome 
do seu curso, código, nome e número de créditos das disciplinas em 
que o aluno está inscrito. Note que um aluno pode se inscrever em 
várias disciplinas e uma disciplina pode ter vários alunos. 
No banco de dados relacional (BDR), todos os dados do 
banco são representados como simples tabelas.
EEXEMPLOXEMPLO DEDE BDR BDR COMCOM RREDUNDÂNCIASEDUNDÂNCIAS
Número
USP
Nome do 
Aluno
Código da 
Disciplina
Nome da 
Disciplina
Número de 
Créditos
Código do 
Curso
Nome do 
Curso
111111 Bill EAD111 RH 10 EAD Administração
111111 Bill EAD222 MKT 10 EAD Administração
111111 Bill EAD333 TI 10 EAD Administração
111111 Bill EAD999 FIN 10 EAD Administração
222222 Tom EAD222 MKT 10 EAD Administração
222222 Tom EAD333 TI 10 EAD Administração
222222 Tom EAD999 FIN 10 EAD Administração
333333 Jerry EAD111 RH 10 EAD Administração
333333 Jerry EAD222 MKT 10 EAD Administração
333333 Jerry EAD333 TI 10 EAD Administração
333333 Jerry EAD444 PROD 10 EAD Administração
444444 Kim EAD111 RH 10 MAC Computação
444444 Kim EAD999 FIN 10 MAC Computação
EEXEMPLOXEMPLO DEDE BDR BDR SEMSEM RREDUNDÂNCIASEDUNDÂNCIAS
Código do
Curso
Nome do 
Curso
EAD Administração
MAC Computação
Código da
Disciplina
Nome da 
Disciplina
Número de 
Créditos
EAD111 RH 10
EAD222 MKT 10
EAD333 TI 10
EAD444 PROD 10
EAD999 FIN 10
Número
USP
Código da
Disciplina
111111 EAD111
111111 EAD222
111111 EAD333
111111 EAD999
222222 EAD222
222222 EAD333
222222 EAD999
333333 EAD111
333333 EAD222
333333 EAD333
333333 EAD444
444444 EAD111
444444 EAD999
Número
USP
Nome do 
Aluno
Código 
do Curso
111111 Bill EAD
222222 Tom EAD
333333 Jerry EAD
444444 Kim MAC
Aluno
Curso
Disciplina
Aluno_Disciplina
Transposição
Transposição
Transposição
MMODELOODELO DEDE EENTIDADESNTIDADES EE RRELACIONAMENTOSELACIONAMENTOS -- MERMER
 Entidades
◦ São coisas sobre as quais interessa armazenar e recuperar 
as informações.
◦ Exemplos
Aluno Cliente DisciplinaPedido
Livro Produto FornecedorConta-corrente
Aluno
(Indivíduo)
Maria
Jose
Paulo
Bia
Pedro
Carlos
Ana
Lucia
Luis
Mauro
Rui
Beto
João
Dirce Produto
(Tipo)
Azeite
Arroz A
Óleo
Pão
Leite A Queijo
Feijão
Arroz B
Sabão
SalAçúcar Vinagre
Suco
Leite BMacarrão
MMODELOODELO DEDE EENTIDADESNTIDADES EE RRELACIONAMENTOSELACIONAMENTOS -- MERMER
 Relacionamentos
◦ São associações com significado entre entidades.
◦ Exemplos
Fez
Aluno DisciplinaInscrito
Cliente Pedido
N N
1 N
Professor CursoCoordena
1 1
Muitos-para-muitos
N:N
Um-para-muitos
1:N
Um-para-um
1:1
MMODELOODELO DEDE EENTIDADESNTIDADES EE RRELACIONAMENTOSELACIONAMENTOS -- MERMER
Professor CursoCoordena
1 1
P1
P2
P3
C1
C2
C3
Conjunto de 
Professores
(Pi)
Conjunto de 
Cursos
(Cj)
Relacionamento um-para-um (1:1)
MMODELOODELO DEDE EENTIDADESNTIDADES EE RRELACIONAMENTOSELACIONAMENTOS -- MERMER
FezCliente Pedido
1 N
C1
C2
C3
P1
P2
P3
Conjunto de 
Clientes
(Ci)
Conjunto de 
Pedidos
(Pj)
Relacionamento um-para-muitos (1:N)
P4
P5
MMODELOODELO DEDE EENTIDADESNTIDADES EE RRELACIONAMENTOSELACIONAMENTOS -- MERMER
D1
D2
D3
A1
A2
A3
Conjunto de 
Disciplinas
(Dj)
Conjunto de 
Alunos
(Ai)
Relacionamento muitos-para-muitos (1:1)
A4
A5
Aluno DisciplinaInscrito
N N
MMODELOODELO DEDE EENTIDADESNTIDADES EE RRELACIONAMENTOSELACIONAMENTOS -- MERMER
 Atributos
◦ São propriedades ou características que descrevem as 
entidades e relacionamentos.
◦ Exemplo
 ALUNO: número, nome, RG etc.
 DISCPLINA: código, nome, crédito etc.
 INSCRITO: nota, frequência etc. 
Aluno
Número
Nome
RG
Inscrito
Disciplina
Código
Nome
Crédito
N N
Nota
Frequência
Identificador ou 
Chave Primária
PPROJETOROJETO CCONCEITUALONCEITUAL
 Passo 1: Identificar as entidades
 Passo 2: Identificar os relacionamentos entre as 
entidades
 Passo 3: Identificar os atributos de entidades e 
relacionamentos
EEXEMPLOXEMPLO 1 1 DEDEMER MER 
 Você precisa elaborar um banco de dados para registrar as seguintes 
informações. Para cada aluno deverá armazenar o número USP, nome, 
RG, seu curso e as disciplinas em que está inscrito com as notas e 
frequências obtidas. Para cada curso, o código, nome, professor que 
coordena e suas disciplinas componentes. Para cada disciplina, o 
código, nome, número de créditos e professor responsável. Para cada 
professor, o código e nome. Note que:
 um curso é coordenado por um professor e um professor só pode coordenar 
um curso;
 um professor pode ministrar várias disciplinas e uma disciplina pode ter 
apenas um professor;
 uma disciplina pode fazer parte de vários cursos e um curso é composto de 
várias disciplinas;
 um aluno pode pertencer apenas a um curso;
 um aluno pode estar inscrito em várias disciplinas e uma disciplina pode ter 
vários alunos
 Utilizando seus conhecimentos sobre MER, elabore o desenho inicial 
deste banco de dados.
EEXEMPLOXEMPLO 1 1 DEDE MER MER 
 Passo 1: Entidades
 Aluno
 Curso
 Professor 
 Disciplina
 Passo 2: Relacionamentos com as regras do negócio
 Curso e Professor: um curso é coordenado por um professor e um professor só pode 
coordenar um curso
 Disciplina e Curso : uma disciplina pode fazer parte de vários cursos e um curso é 
composto de várias disciplinas
 Aluno e Curso: um aluno pode pertencer apenas a um curso
 Aluno e Disciplina: um aluno pode estar inscrito em várias disciplinas e uma disciplina 
pode ter vários alunos
 Professor e Disciplina: um aluno pode estar inscrito em várias disciplinas e uma 
disciplina pode ter vários alunos
 Passo 3: Atributos
 cada professor tem código e nome;
 cada curso tem código e nome;
 cada disciplina tem código, nome e número de créditos;
 cada aluno tem número, nome e RG;
 cada aluno numa disciplina tem nota e frequência
MER MER DODO EEXEMPLOXEMPLO 1 1 
Curso
Código
Nome
Professor
Código
Nome
Aluno
Número
Nome
RG
Disciplina
Código
Nome
Crédito
Possui
Coordenado
por
Responsável
por
InscritoComposto de
N
N
N
N
N
N
1
1
1
1
Nota
Frequência
EEXERCÍCIOXERCÍCIO MER1MER1
Você foi convidado a elaborar um banco de dados para uma empresa 
de consultoria que deseja registrar informações sobre seus projetos e 
consultores. De acordo com o solicitado pelo seu cliente, para cada 
projeto você deverá armazenar o código, 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, o valor do projeto, o número, nome, 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 
empresa pode solicitar diversos projetos e um mesmo consultor pode 
trabalhar em diversos projetos. Utilizando seus conhecimentos sobre 
modelo de entidades e relacionamentos (MER), elabore o desenho 
inicial deste banco de dados.
EEXERCÍCIOXERCÍCIO MER1 MER1 -- SSOLUÇÃOOLUÇÃO
Parti-
cipou
Empresa
Código
Nome
Endereço
Projeto
Num_Projeto
Data_Início
Data_Términ
o_Valor
Consultor
Num_Consulto
r
Nome
Num_Ident
Especialização
Solici-
tou
1 N N N
•Horas_Trabalhadas
•Função_Exercida
EEXERCÍCIOXERCÍCIO MER2MER2
 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 produtos;
◦ 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, 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.
EEXERCÍCIOXERCÍCIO MER2 MER2 -- SSOLUÇÃOOLUÇÃO
Faz
parte
Fornecedor
Código
Nome
CNPJ
Endereço
Produto
Código
Nome
Descrição
Venda
Num_NFiscal
Data
Valor_Total
For-
nece
N N N N
•Preço
•Quantidade
Cliente
Código
Nome
Endereço
Loja
Código
Nome
CNPJ
Feita
Feita
1
1
N
N
EEXERCÍCIOXERCÍCIO MER3MER3
 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-s 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.
EEXERCÍCIOXERCÍCIO MER3 MER3 -- SSOLUÇÃOOLUÇÃO
Tem
Cliente
Código
Nome
RG
CPF
Endereço
Telefone
Automóvel
Placa
Cód_RENAVAN
Fabricante
Modelo
Ano
Ocorrência
Num_Ocorrênci
a
Data
Local
Descrição
Tem
1 N 1 N
EEXERCÍCIOXERCÍCIO MER4MER4
 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.
EEXERCÍCIOXERCÍCIO MER4 MER4 -- SSOLUÇÃOOLUÇÃO
Inter-
nado
Médico
CRM
Nome
Data_Admiss
ão
Salário
Paciente
Código
Nome
RG
CPF
Endereço
Tel_Contato
Quarto
Num_Quarto
Andar
Respon-
sável
1 N 1 1
•Horário_Visita
 
 
Companhia Pedro Luís de Oliveira S/A 
R. das Esquinas, 421 – cj. 89 
Santo Amaro – São Paulo – SP CEP 09000-992 
N. 001999 
PEDIDO DE VENDA 
Cliente: Nestlé S/A CNPJ: 002.235.695/0001-78 
Endereço: Av. Eng. Luís Carlos Berrini, 500 
Cidade: São Paulo Estado: SP Telefone: (11) 5894-5487 
Contato: Pedro (compras) 
ITENS DO PEDIDO 
Código Descrição Preço Quantidade Valor Item 
XU-12 Detergente Industrial 12,00 200,00 2.400,00 
CH-89 Escovas de Limpeza 19,00 100,00 1.900,00 
 
Totais 300,00 5.300,00 
Desconto Comercial 5% 265,00 
Valor c/ Desconto 5.035,00 
 
Data do Pedido: 07/03/05 Prazo de Entrega: 14/03/05 
 
No. Vendedor: 332 - Joelson 
 
EEXERCÍCIOXERCÍCIO MER5MER5
Construir um modelo de entidades e relacionamentos (MER) 
para o banco de dados de pedido de venda abaixo:
 
 
Companhia Pedro Luís de Oliveira S/A 
R. das Esquinas, 421 – cj. 89 
Santo Amaro – São Paulo – SP CEP 09000-992 
N. 001999 
PEDIDO DE VENDA 
Cliente: Nestlé S/A CNPJ: 002.235.695/0001-78 
Endereço: Av. Eng. Luís Carlos Berrini, 500 
Cidade: São Paulo Estado: SP Telefone: (11) 5894-5487 
Contato: Pedro (compras) 
ITENS DO PEDIDO 
Código Descrição Preço Quantidade Valor Item 
XU-12 Detergente Industrial 12,00 200,00 2.400,00 
CH-89 Escovas de Limpeza 19,00 100,00 1.900,00 
 
Totais 300,00 5.300,00 
Desconto Comercial 5% 265,00 
Valor c/ Desconto 5.035,00 
 
Data do Pedido: 07/03/05 Prazo de Entrega: 14/03/05 
 
No. Vendedor: 332 - Joelson 
 
EEXERCÍCIOXERCÍCIO MER5 MER5 -- SSOLUÇÃOOLUÇÃO
Cliente
Produto
Vendedor
Pedido
Pedido
Item 
pedido
Identificando Entidades
EEXERCÍCIOXERCÍCIO MER5 MER5 -- SSOLUÇÃOOLUÇÃO
Cliente
Código
NomeCNPJ
Endereço
Cidade
Estado
Contato
Pedido
Número
Data Pedido
Data Entrega
Total
Desconto
Produto
Código
Descrição
Preço
Fez 
pedido
Contem
item
1 N
N
N
Valor item
Vendedor
Código
Nome
Regis-
trou
1
N
Quantidade
BBANCOANCO DEDE DDADOSADOS RRELACIONALELACIONAL -- BDRBDR
Aluno
No banco de dados relacional, todos os dados do banco são representados 
como simples tabelas denominadas relações.
Tabela
(Relação,
Arquivo)
Colunas (Campos, Atributos)
Curso Linhas
(Registros,
Tuplas, 
Entidades)
Nome de 
Colunas Código Nome Duração Vaga Diretor
11 Engenharia 5 150 0117
12 Ciência da Computação 4 50 1606
42 Administração de Empresas 4 180 2311
Número Nome EndereçoResidencial
Endereço
Comercial
Código
Curso
30021 Wilson R. Alfa, s/n R. Texas, 111 12
10002 Adriana R. Beta, 2 ap. 251 11
28903 Ana Paula Av. Gama, 88 R. 117 cj. 44 42
14704 Paulo Av. Delta, 117 12
10933 Fernando R. Omega, 1231 42
PPROPRIEDADESROPRIEDADES DODO BDRBDR
 Cada célula de uma tabela pode ser vazia ou, ao contrário conter no 
máximo um único valor (isto é, uma célula não pode conter um conjunto de 
valores).
Número Nome Data Nascimento RG
Fone 
Contato
Código 
Depto
1 José 10/10/1985 123 2335 RH
2 Pedro 2/8/1980 234 PROD
3 Maria 7/2/1976 456 47 PROD
4 Ana 13/9/1983 786 72 TI
... ... ... ... ... ...
Errado (Mais de um valor)
Funcionário
PPROPRIEDADESROPRIEDADES DODO BDRBDR
 A ordem das linhas é irrelevante (do ponto de vista do usuário).
Número Nome Data Nascimento RG
Fone 
Contato
Código 
Depto
1 José 10/10/1985 123 23 RH
2 Pedro 2/8/1980 234 PROD
3 Maria 7/2/1976 456 47 PROD
4 Ana 13/9/1983 786 72 TI
... ... ... ... ... ...
Número Nome Data Nascimento RG
Fone 
Contato
Código 
Depto
2 Pedro 2/8/1980 234 PROD
3 Maria 7/2/1976 456 47 PROD
4 Ana 13/9/1983 786 72 TI
1 José 10/10/1985 123 23 RH
... ... ... ... ... ...
As duas tabelas são equivalentes.
Funcionário
Funcionário
PPROPRIEDADESROPRIEDADES DODO BDRBDR
 Não há duas linhas iguais (integridade de entidade).
Número Nome Data Nascimento RG
Fone 
Contato
Código 
Depto
1 José 10/10/1985 123 23 RH
2 Pedro 2/8/1980 234 PROD
3 Maria 7/2/1976 456 47 PROD
4 Ana 13/9/1983 786 72 TI
2 Pedro 2/8/1980 234 PROD
... ... ... ... ... ...
Errado
(Iguais)
Funcionário
PPROPRIEDADESROPRIEDADES DODO BDRBDR
 Cada coluna tem um nome.
 Duas colunas distintas devem ter nomes diferentes. Usando-se os nomes 
para fazer referência às colunas, a ordem destas é também irrelevante.
Número Nome Data Nascimento RG
Fone 
Contato
Código 
Depto
1 José 10/10/1985 123 23 RH
2 Pedro 2/8/1980 234 PROD
3 Maria 7/2/1976 456 47 PROD
4 Ana 13/9/1983 786 72 TI
... ... ... ... ... ...
Número Nome Data Nascimento
Fone
Contato RG
Código 
Depto
1 José 10/10/1985 23 123 RH
2 Pedro 2/8/1980 234 PROD
3 Maria 7/2/1976 47 456 PROD
4 Ana 13/9/1983 72 786 TI
... ... ... ... ...
Funcionário
Funcionário
PPROPRIEDADESROPRIEDADES DODO BDRBDR
 Cada tabela recebe um nome próprio, distinto do nome de qualquer outra 
tabela do BDR.
Aluno
Curso
Professor
Disciplina
Aluno
Livro
Sala
BDR
Errado (Nomes iguais)
PPROPRIEDADESROPRIEDADES DODO BDRBDR
 Os valores de uma coluna de uma tabela são retirados todos de um 
mesmo conjunto denominado de domínio de coluna.
 Duas ou mais colunas distintas podem ser definidas sobre o mesmo 
domínio.
Aluno
Mesmo domínio
Endereços 
Domínio: 
Nome de 
pessoas
Número Nome EndereçoResidencial
Endereço
Comercial
Código
Curso
30021 Wilson R. Alfa, s/n R. Texas, 111 12
10002 Adriana R. Beta, 2 ap. 251 11
28903 Ana Paula Av. Gama, 88 R. 117 cj. 44 42
14704 Paulo Av. Delta, 117 12
10933 Fernando R. Omega, 1231 42
CCHAVEHAVE PPRIMÁRIARIMÁRIA
Chave primária
Chave primária
Uma chave é uma seqüência de um ou mais campos numa tabela.
Uma chave primária é uma chave que apresentam valor diferente para cada 
linha da tabela, de tal forma que, dado um valor da chave primária, é 
identificada uma única linha da tabela. 
Curso
Pedido
Código Nome Duração Vagas Diretor
11 Engenharia 5 150 0117
12 Ciência da Computação 4 50 1606
42 Administração de Empresas 4 180 2311
Número Item Produto Quantidade
1634 1 152 2
1634 2 146 5
1635 1 146 3
CCHAVEHAVE EESTRANGEIRASTRANGEIRA
No modelo relacional o relacionamento entre duas tabelas é feita, em geral, 
transpondo-se a chave primária de uma tabela para outra tabela.
No exemplo, a chave primária de Departamento (Código) foi transposta para 
Funcionário (Código Depto) para indicar o relacionamento entre as tabelas 
Departamento e Funcionário. Daí denominamos esta chave transposta 
(Código Depto) de chave estrangeira.
Código ...
RH
PROD
MKT
TI
Número ... Código Depto
1 RH
2 PROD
3 PROD
4 TI
Departamento Funcionário
Chave primária Chave primária Chave estrangeira
Transposição
CCHAVEHAVE EESTRANGEIRASTRANGEIRA
No modelo relacional o relacionamento entre duas tabelas é feita, em geral, transpondo-se a 
chave primária de uma tabela para outra tabela.
No exemplo, a chave primária de Projeto (Código), foi transposta para Projeto_Funcionário 
e a chave primária de Funcionário (Número) foi transposta para Projeto_Funcionário para 
indicar o relacionamento entre as tabelas Projeto e Funcionário. Daí denominamos estas 
chaves transpostas (Código Projeto e Número Funcional) de chaves estrangeiras.
Número ... Código Depto
1 RH
2 PROD
3 PROD
4 TI
Código ...
A
B
C
D
Funcionário Projeto
Código 
Projeto
Número 
Funcional ...
A 1
A 2
B 1
C 2
C 3
C 4
D 3
Projeto_Funcionário
Chave primáriaChave primária
Chave estrangeira funcionando 
como chave primária 
Chave estrangeira
CCHAVEHAVE EESTRANGEIRASTRANGEIRA
Chave estrangeira funcionando 
como chave primária 
Disciplina
Aluno_Disciplina
Aluno Chave primária
Número ...
30021
10002
28903
14704
10933
Código ...
EAD111
EAD222
EAD333
Número Aluno Código Disciplina Média Frequência
30021 EAD111 8,0 100%
30021 EAD333 9,5 95%
10002 EAD111 6,0 80%
Chave primária
RRESTRIÇÃOESTRIÇÃO DEDE IINTEGRIDADENTEGRIDADE
• Integridade de Entidade impõe a restrição de unicidade (chave primária). 
• Integridade Referencial é garantir que as referências entre as tabelas existam e 
estejam compatíveis, isto é, os valores da chave estrangeira deve obrigatoriamente 
corresponder a valores da chave primária de origem. No exemplo, os valores da chave 
estrangeira Código Curso da tabela Aluno deve obrigatoriamente corresponder a 
valores da chave primária Código da tabela Curso.
Aluno Curso
Número Nome ... CódigoCurso
30021 Wilson 12
10002 Adriana 11
28903 Ana Paula 42
14704 Paulo 12
10933 Fernando 42
Código ..
11
12
42
Chave primária
Chave estrangeira
Integridade 
Referencial
Integridade 
de Entidade
AACESSOCESSO AA UMUM RREGISTROEGISTRO DADA TTABELAABELA
 Chave de Acesso é o campo usado para identificar 
o registro desejado. 
 Tipo de Pesquisa (acesso)
 Pesquisa Sequencial
 Pesquisa sequencialmente todos os registros para localizar os 
dados.
 Pesquisa Binária
 Se você pesquisa frequentemente uma tabela por uma chave de 
acesso, poderá agilizar essa operação usando a pesquisa binária. 
Para tanto é necessário criar um índice para este campo. 
PPESQUISAESQUISA SSEQUENCIALEQUENCIAL
Chave de Acesso
(ordenado)
Pesquisa sequencialmente todos os registros para 
localizar os dados.
Funcionário Funcionário
Chave de Acesso
(Não ordenado)
Número Nome ... Salário
1000 Enio
1050 Afonso
1075 Ângela
1100 Sandra
1300 César
1350 Luis
1400 Cristiano
1440 Sonia
1480 Diogo
Número Nome ...Salário
1050 Afonso
1075 Ângela
1300 César
1400 Cristiano
1480 Diogo
1000 Enio
1350 Luis
1100 Sandra
1440 Sonia
PPESQUISAESQUISA SSEQUENCIALEQUENCIAL
 Número médio de comparações é dado por:
(N + 1) / 2 
onde N é o número de linhas da tabela
 Exemplo
Para N = 100.000, o número médio de comparações é:
(100.000 + 1) / 2 = 50.000
PPESQUISAESQUISA BBINÁRIAINÁRIA
 Se você pesquisa frequentemente uma tabela por 
uma chave de acesso, poderá agilizar essa operação 
usando a pesquisa binária. Para tanto é necessário 
criar um índice para este campo.
 Índices
 A finalidade de um índice é permitir a rápida determinação do 
endereço de uma linha da tabela.
 Um índice armazena o local dos registros (Endereço) com 
base no campo escolhido (Chave de Acesso) para ser 
indexado.
 Uma tabela de índices contém duas colunas: 
 Primeira coluna. Valores da Chave de Acesso ordenados
 Segunda coluna. Endereço da linha onde o valor da Chave 
de Acesso está armazenado na tabela.
PPESQUISAESQUISA BBINÁRIAINÁRIA
Funcionário
Endereço
Tabela de Índices
Chave de Acesso
(Ordenado)
Chave de Acesso
(Ordenado ou não)
Número Endereço
1000 6
1050 1
1075 2
1100 8
1300 3
1350 7
1400 4
1440 9
1480 5
Número Nome ... Salário
1050 Afonso
1075 Ângela
1300 César
1400 Cristiano
1480 Diogo
1000 Enio
1350 Luis
1100 Sandra
1440 Sonia
1
2
3
4
5
6
7
8
9
PPESQUISAESQUISA BBINÁRIAINÁRIA
Acesso
 A primeira linha a ser consultada é aquela que ocupa a 
posição média da tabela de índices. Se a chave da linha for 
igual ao argumento de pesquisa, a pesquisa termina com 
sucesso; caso contrário, ocorre uma das duas seguintes 
situações:
 A chave da tabela é maior do que o argumento de pesquisa e o 
processo de busca é repetido para a metade inferior da tabela;
 A chave da linha é menor do que o argumento de pesquisa e o 
processo de busca é repetido para a metade superior da tabela.
 A busca é encerrada sem sucesso quando a área de 
pesquisa, que a cada comparação é reduzida à metade, 
assumir o comprimento zero.
PPESQUISAESQUISA BBINÁRIAINÁRIA -- EEXEMPLOXEMPLO
Tabela de Índices Argumento de pesquisa: 
Funcionário número 1050
1300 > 10501
1075 > 10502
1050 = 10503
Número máximo de comparações
[log29]+ 1 = log109 / log102 + 1= 3,1 + 1 = 4,1
Fim
Portanto, o funcionário 
pesquisado está no endereço 
1 da tabela de Funcionário.
Chave de Acesso
(Ordenado)
Número Endereço
1000 6
1050 1
1075 2
1100 8
1300 3
1350 7
1400 4
1440 9
1480 5
1
2
3
4
5
6
7
8
9
(9+1)/2=5
(5+1)/2=3
(3+1)/2=2
PPESQUISAESQUISA BBINÁRIAINÁRIA
 Número máximo de comparações é dado por:
[log2N] + 1
onde N é o número de linhas da tabela
 Exemplo
Para N = 100.000 o número máximo de comparações é:
[log2100.000]+ 1 = log10100.000 / log102 + 1
= 5 / 0,3010 + 1 = 17,6
Requisitos de
Banco de Dados
Análise de
Requisitos
Projeto Conceitual
Projeto Lógico
Modelo de Entidades
e Relacionamentos (MER)
Banco de Dados
Relacional (BDR)
DDESENVOLVIMENTOESENVOLVIMENTO DODO BBANCOANCO DEDE DDADOSADOS
Access
SQL Server
DB2
Oracle
Conversão do MER 
para BDR
CCONVERSÃOONVERSÃO DODO MER MER PARAPARA BDRBDR
Aluno
Número
Nome
RG
Curso
Código
Nome
Curso
Código
Nome
MER
BDR (Access)
Conversão de Entidades
Aluno
Número
Nome
RG
Disciplina
Código
Nome
Crédito
Disciplina
Código
Nome
Crédito
Identificador
Chave primária
CCONVERSÃOONVERSÃO DODO MER MER PARAPARA BDRBDR
Aluno
Número
Nome
RG
Curso
Código
NomeInscrito
N 1
Aluno
Número
Nome
RG
CodCurso
Curso
Código
Nome
1
MER
BDR (Access)
Chave estrangeira
Chave primária
Chave primária
Transposição
Conversão do relacionamento 1:N sem atributos
∞
EEXEMPLOXEMPLO –– RRELACIONAMENTOELACIONAMENTO 1:1:NN SEMSEM AATRIBUTOSTRIBUTOS
CURSO ALUNO
Transposição
N
Código Nome
EAC Contabilidade
EAD Administração
EAE Economia
Número ... CodCurso
111111 EAD
222222 EAD
333333 EAC
444444 EAE
555555 EAE
666666 EAE
777777 EAD
888888 EAC
1
CCONVERSÃOONVERSÃO DODO MER MER PARAPARA BDRBDR
Aluno
Número
Nome
RG
Curso
Código
NomeInscrito
N 1
Aluno
Número
Nome
RG
Curso
Código
Nome
1
1
MER
BDR (Access)
Chave primária
Transposição
Chave primária
Aluno_Curso
NumAluno
CodCurso
Ano_ingresso Transposição
1
Conversão do relacionamento 1:N com atributos
Alternativa 1 - Melhor
Chave primária (estrangeira)
Ano_ingresso
∞
EEXEMPLOXEMPLO –– RRELACIONAMENTOELACIONAMENTO 1:1:NN COMCOM AATRIBUTOSTRIBUTOS
Alternativa 1 - Melhor
CURSO ALUNO_CURSO
Transposição
ALUNO
Transposição
N
1
1
1
Número ...
111111
222222
333333
444444
... ...
Código Nome
EAC Contabilidade
EAD Administração
EAE Economia
NumAluno Codcurso Ano_Ingresso
111111 EAD 201x
222222 EAD 201x
333333 EAC 201y
444444 EAE 201x
... ... ...
CCONVERSÃOONVERSÃO DODO MER MER PARAPARA BDRBDR
Aluno
Número
Nome
RG
Curso
Código
Nome
N 1
Aluno
Número
Nome
RG
CodCurso
Ano_ingresso
Curso
Código
Nome
1
MER
BDR (Access)
Chave estrangeira
Chave primária
Chave primária
Transposição
Conversão do relacionamento 1:N com atributos
Alternativa 2
∞
Ano_ingresso
Inscrito
EEXEMPLOXEMPLO –– RRELACIONAMENTOELACIONAMENTO 1:1:NN COMCOM AATRIBUTOSTRIBUTOS
CURSO ALUNO
Transposição
1
N
Alternativa 2
Código Nome
EAC Contabilidade
EAD Administração
EAE Economia
Número ... CodCurso Ano_Ingresso
111111 EAD 201x
222222 EAD 201x
333333 EAC 201y
444444 EAE 201x
555555 EAE 201y
666666 EAE 201y
777777 EAD 201z
888888 EAC 201x
CCONVERSÃOONVERSÃO DODO MER MER PARAPARA BDRBDR
Composto de
Curso
Código
Nome
Disciplina
Código
Nome
Crédito
NN
MER
Como o Access só aceita relacionamento 1:N, é necessário converter 
o relacionamento N:N em dois relacionamentos 1:N
Disciplina
Código
Nome
Crédito
Curso_Disciplina
CodCurso
CodDiscip
Curso
Código
Nome
1
1
Chave primáriaChave primária (estrangeira)
Chave primária
Transposição
Transposição
BDR (Access)
∞
∞
CCONVERSÃOONVERSÃO DODO MER MER PARAPARA BDRBDR
C1
C2
C3
D1
D2
D3
D4
D5
C1
C2
C3
D1
D2
D3
D4
D5
MER
BDR
(Access)
1
N
1
N
N
N
D1 C1
D1 C2
D1 C3
D2 C2
D3 C2
D3 C3
D4 C1
D4 C2
D5 C1
D5 C3
CURSO
DISCIPLINA
EEXEMPLOXEMPLO -- RRELACIONAMENTOELACIONAMENTO N:N N:N SEMSEM AATRIBUTOSTRIBUTOS
CURSO_DISCIPLINA
Transposição
Transposição
N
1
1
N
Código Nome
EAC Contabilidade
EAD Administração
EAE Economia
Código Nome Crédito
EAD100 Marketing 10
EAD200 RH 10
EAD300 Finanças 5
EAC200 Auditoria 10
EAE100 Economia 5
EAE200 Econometria 10
CodCurso CodDiscip
EAD EAD100
EAD EAD200
EAD EAC100
EAD EAE100
EAE EAE100
EAE EAE200
EAC EAD200
EAC EAC100
CCONVERSÃOONVERSÃO DODO MER MER PARAPARA BDRBDR
Aluno
Número
Nome
RG
Disciplina
Código
Nome
Crédito
Inscrito
N N
Aluno
Número
Nome
RG
Disciplina
Código
Nome
Crédito
Aluno_Disciplina
NumAluno
CodDiscip
Nota
Frequência
1
1
MER
Chave primáriaChave primária (estrangeira)Chave primária
Transposição
Transposição
Nota
Freqüência
BDR (Access)
Como o Access só aceita relacionamento 1:N, é necessário converter o 
relacionamento N:N em dois relacionamentos 1:N.
∞
∞
CCONVERSÃOONVERSÃO DODO MER MER PARAPARA BDRBDR
D1
D2
D3
A1
A2
A3
A4
A5
D1
D2D3
A1
A2
A3
A4
A5
A1 D1
A1 D2
A1 D3
A2 D2
A3 D2
A3 D3
A4 D1
A4 D2
A5 D1
A5 D3
MER
BDR
(Access)
1
N
1
N
N
N
ALUNO
EEXEMPLOXEMPLO -- RRELACIONAMENTOELACIONAMENTO N:N N:N COMCOM AATRIBUTOSTRIBUTOS
ALUNO_DISCIPLINA
DISCIPLINA
Transposição
Transposição
N
1
1
N
Número ... CodCurso
111111 EAD
222222 EAD
333333 EAC
... ... ...
Código Nome Crédito
EAD100 Marketing 10
EAD200 RH 10
EAD300 Finanças 5
EAC200 Auditoria 10
EAE100 Economia 5
EAE200 Econometria 10
NumAluno CodDiscip Nota Frequência
111111 EAD100 10,0 100%
111111 EAD200 9,0 80%
111111 EAC100 6,5 80%
111111 EAE100 8,0 90%
222222 EAE100 9,5 100%
222222 EAE200 7,0 70%
222222 EAD200 5,0 70%
333333 EAC100 6,5 75%
... ... ... ...
BBANCOANCO DEDE DDADOSADOS RRELACIONALELACIONAL DODO EEXEMPLOXEMPLO 1 1 
Curso
Código
Nome
CodProfessor
Professor
Código
Nome
Aluno
Número
Nome
RG
CodCurso
Disciplina
Código
Nome
Crédito
CodProfessor
1
1
1 1
Aluno Discip
NúmAluno
CodDiscip
Nota
Freqüência
Curso Discip
CodCurso
CodDiscip
1
1
1
11
∞∞
∞
∞
∞
∞
OBS.: N ou ∞
BBANCOANCO DEDE DDADOSADOS RRELACIONALELACIONAL DODO EEXEMPLOXEMPLO 1 1 
Código Nome CodProfessor
EAD Administração 176
... ... ...
Código Nome
176 Roberto
... ...
Curso
Professor
Número Nome RG CodCurso
111111 Bill 1234 EAD
... ... ...
Aluno
Código Nome Crédito CodProfessor
EAD100 Marketing 10 176
... ... ...
Disciplina
NumAluno CodDiscip Nota Frequência
111111 EAD100 10,0 100%
... ... ... ...
Aluno_Discip
CodCurso CodDiscip
EAD EAD100
... ...
Curso_Discip
EEXERCÍCIOXERCÍCIO BDR1BDR1
 Converter o Modelo de Entidades e Relacionamentos(MER) 
do Exercício MER1 para Banco de Dados Relacional (BDR). 
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.
EEXERCÍCIOXERCÍCIO BDR1 BDR1 -- SSOLUÇÃOOLUÇÃO
Empresa
Código (T)
Nome (T)
Endereço (T)
Projeto
Num_Projeto (T
Data-Início(T)
Data_Término
(T)
Valor (N)
Cod_Empresa (T)
Consultor
Num_Consultor
(T)
Nome (T)
Num_Ident (T)
Especialização(T)
Projeto_Consultor
Num_Projeto (T)
Num_Consultor (T)
Horas_Trabalhadas
(N)
Função_Exercida (T)
X
X
XX
X1

1  1
EEXERCÍCIOXERCÍCIO BDR2BDR2
 Converter o Modelo de Entidades e Relacionamentos(MER) 
do Exercício MER2 para Banco de Dados Relacional (BDR). 
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.
EEXERCÍCIOXERCÍCIO BDR2 BDR2 -- SSOLUÇÃOOLUÇÃO
Fornecedor
Código (T)
Nome (T)
CNPJ( T)
Endereço
Produto
Código (T)
Nome (T)
Descrição (T)
Venda
Num_NFiscal (N)
Data (D)
Valor_Total (N)
Cod_Cliente (T)
Cod_Loja (T)
Produto_Venda
Cod-Produto (T)
Num_NFiscal (N)
Preço (N)
Quantidade (T)
X
X
XX
X
1

1 
1
Cliente
Código (T)
Nome (T)
Endereço (T)
X
Loja
Código (T)
Nome (T)
CNPJ (T)
X
Fornecedor_Produto
Cod-Fornecedor (T)
Cod_Produto (T)X
X
1
1
1


EEXERCÍCIOXERCÍCIO BDR3BDR3
 Converter o Modelo de Entidades e Relacionamentos(MER) 
do Exercício MER3 para Banco de Dados Relacional (BDR). 
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.
EEXERCÍCIOXERCÍCIO BDR3 BDR3 -- SSOLUÇÃOOLUÇÃO
Cliente
Código (T)
Nome (T)
RG (T)
CPF (T)
Endereço (T)
Telefone (T)
Automóvel
Placa (T)
Cod_RENAVAN
(T)
Fabricante (T)
Modelo (T)
Ano (D)
Cod_Cliente (T)
Ocorrência
Num_Ocorrência
(N)
Data (D)
Local (T)
Descrição (T)
Placa (T)
X X X
1

1

EEXERCÍCIOXERCÍCIO BDR4BDR4
 Converter o Modelo de Entidades e Relacionamentos(MER) 
do Exercício MER4 para Banco de Dados Relacional (BDR). 
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.
EEXERCÍCIOXERCÍCIO BDR4 BDR4 -- SSOLUÇÃOOLUÇÃO
Médico
CRM (T)
Nome (T)
Data_Admissão (D)
Salário (N)
Paciente
Código (T)
Nome (T)
RG (T)
CPF (T)
Endereço (T)
Tel_Contato (T)
Num_Quarto
(T)
Quarto
Num_Quarto (T)
Andar (N)
X X X
1  1
1
Médico_Paciente
CRM_Médico (T)
Cod_Paciente (T)
Horário_Visita
(D)
X
X
1
1
Alternativa 1 - Melhor
EEXERCÍCIOXERCÍCIO BDR4 BDR4 -- SSOLUÇÃOOLUÇÃO
Médico
CRM (T)
Nome (T)
Data_Admissão (D)
Salário (N)
Paciente
Código (T)
Nome (T)
RG (T)
CPF (T)
Endereço (T)
Tel_Contato (T)
Num_Quarto (T)
CRM_Médico (T)
Horário_Visita (D)
Quarto
Num_Quarto (T)
Andar (N)
X X X
1

1
1
Alternativa 2

Outros materiais