Revisão
ER /SQL / PL
Exemplo
• Um clube social deseja informatizar suas
atividades utilizando banco de dados
contendo:
– Sócios(matrícula, nome, endereço, situação
com relação à tesouraria);
– Esportes(código,modalidade, horários);
– Dependências esportivas(código, descrição,
status);
– Instrutores(cpf, matrícula, nome);
Exemplo
• Cada instrutor ministra um único esporte, o qual
pode ter vários instrutores alocados;
• Um
sócio
pode
compartilhar
várias
dependências esportivas e cada uma delas
pode ser compartilhada por vários sócios;
• Para cada sócio, deve ser registrada
a
utilização de dependências esportivas com data
e duração da utilização;
• Para cada sócio, o sistema deve registrar todos
os esportes que pratica. Um sócio pode praticar
vários esportes e vice_versa.
Nome
Modalidade
Endereço Situação
Código
Horários
Matrícula
m
Sócios
n
Esporte
Pratica
m
1
Data
Usa
Ministra
Duração
n
Código
n
Descrição
Nome
CPF
Status
Matrícula
Dependências
Instrutores
PL/SQL
i) Apresente o modelo lógico normalizado
ii) Altere a definição da Relação Dependencias
para criar um atributo que armazena a
quantidade de vezes que a dependência foi
utilizada.
iii) Qual a modalidade do Esporte com o maior
número de instrutores e quantos são esses
instrutores?
iv) Escreva um trigger para que a cada inserção
de um uso da quadra seja alterada a quantidade
de usos na relação Dependencias.
PL/SQL
i) Esquema Normalizado
SOCIOS (Matricula, Nome, Endereco, Situacao)
ESPORTE (Codigo, Modalidade)
DEPENDÊNCIAS (Codigo, Descricao, Status)
INSTRUTORES(CPF, Matricula, Nome,
Cod_esporte) Cod_esporte referencia
ESPORTE (Codigo)
PL/SQL
USA (CódigoDep, MatriculaS,Data, Duração)
CodigoDep referencia Dependencia (Codigo),
MatriculaS referencia Socios ( Matricula)
PRATICA(MatS, CodE) Mat referencia Socio
(Matricula), CodE referencia Esporte (Codigo)
Horarios(CodE, HoraEsporte)
PL/SQL
ii) ALTER TABLE DEPENDENCIAS
ADD (Quant Number);
PL/SQL
iii)CREATE OR REPLACE TRIGGER trig_3
AFTER INSERT ON USA
FOR EACH ROW
BEGIN
UPDATE DEPENDENCIAS
SET QUANT = QUANT +1
WHERE CODIGO = :NEW.CODIGODEP;
END;
/
Download

Aula de Revisão