Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Modelo Relacional
• Modo mais simples, seguro e versátil de organizar informação.
1
Modelo Relacional
• Chave Primária (PK – Primary Key) : É o
atributo que identifica univocamente as
tuplas (ou linhas) de uma tabela.
Normalmente é o atributo determinante no
modelo E—R (sublinhado).
Exemplo
2
Modelo Relacional
• Chave estrangeira (FK – Foreign Key) :
É o atributo de uma tabela que é chave
primária de outra tabela.
1:N
3
Modelo Relacional / Lógico
• Relacionamento 1-n
A entidade do lado n recebe a chave primária da entidade do lado 1
como chave estrangeira.
1 N Cod_Pedido
Cod_cliente Cliente Pedido
Cod_Cliente
4
Projeto Lógico de Banco de Dados
Relacionamento 1-1
– As duas entidades são realmente distintas ou elas podem ser fundidas em
uma única
– Se elas possuem a mesma chave primária, deve-se fundí-las.
1 1
Estado Capital
Entidades Fracas
– A chave primária da entidade-fraca será a concatenação da chave primária
da entidade fundamental com um atributo determinante da entidade fraca.
1 N
Funcionário Dependente
Exercícios
1 - Elaborar um modelo lógico para uma seguradora de automóveis
Entidades: Cliente, Apólice, Carro e Acidentes.
Requisitos:
Atributos:
5
Exercícios
2 - Elaborar um modelo lógico de um consultório clínico
Requisitos:
Atributos:
Exercícios
3) Elaborar um modelo lógico satisfazendo as seguintes restrições e
requisitos para uma revendedora de peças:
d) Para um pedido, armazenar seu número e data. Além disso, para cada
item do pedido (peça) armazenar o código da peça, quantidade e
preço de venda. Há somente um cliente por pedido e um vendedor;
6
Exercícios
4) Elaborar um modelo lógico para cada um dos descritivos
a seguir:
Exercícios
b) Uma empresa de agenciamento de mão-de-obra
pretende informatizar o cadastro de profissionais,
candidatos a empregos temporários. Pretende-se
construir um banco de dados onde se possam manter os
dados cadastrais dos profissionais, e seus contratos
temporários com as empresas-clientes. O profissional é
identificado por um número de controle e, além desta
identificação, fica registrado seu nome, endereço, data
de nascimento e profissão. Os contratos de mão-de-
obra temporária são feitos individualmente (um contrato
para cada profissional), com as empresas-clientes. Cada
contrato é identificado por um número único, e nele são
registrados a empresa contratante, a vigência do
contrato (data de início e de término), e o valor pago por
hora trabalhada. As empresas-clientes são identificadas
pelo CNPJ, e possuem um nome e endereço.
7
Exercícios
c) Uma clínica veterinária, especializada no tratamento de
cães e gatos, pretende informatizar o seu sistema de
controle de vacinas, de forma a melhorar a notificação
aos clientes sobre a data e o tipo de vacina a ser
aplicada em qualquer um dos animais cadastrados na
clínica. Os clientes, quando são cadastrados na clínica,
são identificados por um código numérico, e devem
fornecer o nome, telefone e endereço completo (rua,
número, complemento, bairro, cidade, estado, CEP).
Para cada animal, que também é identificado por um
código numérico, é registrado: nome, data de
nascimento, espécie, raça, cor e sexo. As vacinas, por
sua vez, também são identificadas por um código
numérico, e possuem nome, nome do laboratório
fabricante, e lote de fabricação. Quando o animal é
vacinado, deve ser feito o registro da data de aplicação.
8
Análise de uma Junção
Exemplo: Tabelas Regions e Countries
9
PK R
Análise de uma Junção PK C FK
Region_id Region_name Country_id Country_name Region_id
1 Europe AR Argentina 2 Quando:
2 Americas AR Argentina 2
3 Asia AR Argentina 2 Region_id(Regions) =
4 Middle East and Africa AR Argentina 2
1 Europe AU Australia 3 Region_id(Countries)
2 Americas AU Australia 3
3 Asia AU Australia 3 → CORRETO !
4 Middle East and Africa AU Australia 3
1 Europe BR Brazil 2
2 Americas BR Brazil 2
3 Asia BR Brazil 2
4 Middle East and Africa BR Brazil 2
1 Europe CN China 3
2 Americas CN China 3
3 Asia CN China 3
4 Middle East and Africa CN China 3
1 Europe DE Germany 1
2 Americas DE Germany 1
3 Asia DE Germany 1
4 Middle East and Africa DE Germany 1
1 Europe DK Denmark 1
2 Americas DK Denmark 1
3 Asia DK Denmark 1
4 Middle East and Africa DK Denmark 1
1 Europe EG Egypt 4
2 Americas EG Egypt 4
3 Asia EG Egypt 4
4 Middle East and Africa EG Egypt 4
10
Recuperando Registros com
Joins “Clássicos”
SELECT d.department_id, d.department_name,
d.location_id, l.city
FROM departments d, locations l
WHERE l.location_id = d.location_id;
11