You are on page 1of 11

INSTITUTO DO EMPREGO E FORMAÇÃO PROFISSIONAL – I.E.F.

P
CENTRO EMPREGO E FORMAÇÃO PROFISSIONAL DE ÉVORA

Ficha de Avaliação Sumativa
Formação Modular - Programador de Informática
SQL e JAVA
UFCD:
0812
Duração: 180 minutos
Nome Formando: _______________________

Data: ___/___/___ Formador: João Leitão

Classificação: ________________________________________________________________

Notas Gerais:

A realização deste exercícios é feita utilizando o sistema operativo Ubuntu 14.10
64bits, instalado na máquina virtual dos computadores do Centro de Emprego e
Formação Profissional de Évora.

A password para o user do Sistema Operativo Ubuntu é: 1234+

Cada computador possui o mysql (server) instalado não tendo password para o
utilizador “root”.

Poderá utilizar o IDE NetBeans para realizar a programação em JAVA e respetiva
comunicação com a Base de Dados. Não esquecer que poderá ser necessário instalar
o driver jdbc disponível através do comando:

sudo apt-get install libmysql-java

Após esta instalação, deverá importar no seu projecto NetBeans, o ficheiro jar
presente em /usr/share/java/mysql.jar

Caso necessite, poderá consultar a estrutura base de ligação JAVA - MYSQL
disponível em http://192.168.0.100

INSTITUTO DO EMPREGO E FORMAÇÃO PROFISSIONAL – I.E.F.P
CENTRO EMPREGO E FORMAÇÃO PROFISSIONAL DE ÉVORA

Grupo I - Criação BD
1. Crie, em mysql, a base de dados “gesprovas2014”.

2. Crie, na base de dados anterior, todas as tabelas e respetivas ligações:
clube(idclube(pk), nome, localidade, datafundacao)
atleta(natleta(pk),nome,localidade, idade,clube(fk), salario, alturacm, pesokg,)
inscricao(ninscricao(pk), atleta(fk), prova(fk))
prova(idprova(pk),nome,dataprova, estadio(fk))
estadio(idestadio(pk),nome,local(fk))
local(idlocal(pk),latitude,longitude,localidade,distrito)

3. Insira a seguinte informação em cada tabela:
clube

atleta

INSTITUTO DO EMPREGO E FORMAÇÃO PROFISSIONAL – I.E.F.P
CENTRO EMPREGO E FORMAÇÃO PROFISSIONAL DE ÉVORA

prova

estadio

local

inscrição
Coloque todos os atletas inscritos em todas as provas excepto:
- Zulmira não participou em nenhuma prova
- Meia-Maratona de Portel sem nenhum participante
Utilize o JAVA para o efeito. Caso não consiga, insira os registos manualmente.

4. Exporte a sua base de dados para /tmp/exjavasql.sql


INSTITUTO DO EMPREGO E FORMAÇÃO PROFISSIONAL – I.E.F.P
CENTRO EMPREGO E FORMAÇÃO PROFISSIONAL DE ÉVORA

Grupo II - Pesquisa
Considerando a base de dados anterior, crie as seguintes consultas em SQL
exportando os outputs de cada uma:

1. Listagem de Atletas por Clube. Output para o utilizador: Nº de Atleta, Nome,
Idade, Peso, Altura e Salário e Nome do Clube
2. Listagem de Atletas/Prova. Output para o utilizador: Nome da Prova, Nome do
Estádio, Nome dos Atletas, Data da prova.
3. Qual o nome dos atletas de Évora com altura inferior a 2 metros, peso superior
a 75kg e idade inferior a 50 anos, que pertencem a um clube de Lisboa?
Ordene por ordem alfabética A-Z
4. Qual o nome da prova que se realizou num estádio no distrito de Évora e que
teve atletas com salários acima dos 300€ provenientes do clube X na primeira
quinzena de Julho de 2012?
5. Quais são os atletas cuja localidade de onde são provenientes é igual à
localidade do clube e por sua vez igual ao Distrito onde tenham realizado pelo
menos uma das provas.
6. Indicar por cada prova (nome), qual o nº de atletas respetivamente.
7. Sabendo que o IEFP comparticipa 40% dos salários de cada atleta, de todos
os clubes, indique, para cada clube, quanto é que efectivamente paga a todos
os atletas do seu clube.
8. Indicar para cada prova, qual salário mais elevado referente a atletas que
participaram nessa mesma prova.
9. Sabendo que cada clube possui X atletas, indique qual o valor referente ao
clube com mais atletas.
10. Quais os atletas que não participaram em nenhuma prova?

INSTITUTO DO EMPREGO E FORMAÇÃO PROFISSIONAL – I.E.F.P
CENTRO EMPREGO E FORMAÇÃO PROFISSIONAL DE ÉVORA

Grupo III - Alterações
Considerando a base de dados anterior, altere as seguintes tabelas:

1. Acrescente o campo lotação à tabela estádio sendo que este campo irá registar o
numero máximo de pessoas que pode assistir.
2. Coloque todos os estádios com a lotação de 1000 pessoas.
3. Acrescente o campo lotação à prova sendo que este campo indica o número de
espectadores para a prova.
4. Insira os seguintes registos:
1. Prova 1 - 500 espectadores; Prova 2 - 1500; Prova 3 - 700; Prova 4 - 1900;
Prova 5 - 2000; Prova 6 - 500;

5. Crie uma consulta que indique, as provas para as quais foram vendidos bilhetes
em excesso (lotação do estádio ultrapassada)

6. Exporte a sua base de dados para /tmp/exjavasql_v2.sql

7. Coloque todos os ficheiros dentro da pasta ExSQLJAVA e crie um ficheiro tar (ou
zip)

INSTITUTO DO EMPREGO E FORMAÇÃO PROFISSIONAL – I.E.F.P
CENTRO EMPREGO E FORMAÇÃO PROFISSIONAL DE ÉVORA

UFCD: 0812
A resolução das próximas questões é exclusivamente em modo consola/
terminal/shell. | UBUNTU
3. Crie a seguinte estrutura de pastas na Área de Trabalho (Desktop):
IMO_IEFP

Apartame
ntos
T0

Vivendas

T1

T0+1

Simples

T2 e T3

V3 a V5

Complexos

T2

V3

T1+1

T3

V4

T1+2

Quintas

V6

Herdades

V5

4. Crie os seguintes ficheiros nas pastas indicadas:
• Ficheiro Info.txt na pasta IMO_IEFP com o seguinte texto: “Informações sobre
a IMO_IEFP”.

Ficheiro Vendas_T0.txt na pasta T0+1 com o seguinte texto: “Apartamentos T0
vendidos: 123”.

Ficheiro Vendas_T1.txt na pasta T1+2 com o seguinte texto: “Apartamentos T1
vendidos: 456”

Ficheiro Vendas_T2eT3..txt na pasta T3 com o seguinte texto: “Apartamentos
T2 e T3 vendidos: 789”.

Ficheiro Vendas_Vivendas.txt na pasta Vivendas com o seguinte texto:
“Vivendas vendidas: 10”.

Ficheiro Quintas.txt na pasta Herdades com o seguinte texto: “Herdades
vendidas: 20”.

5. Realize as seguintes operações.
• Mova o ficheiro Vendas_T0.txt para a pasta T0.

Mova o ficheiro Vendas_T1.txt para a pasta T1.

Copie o ficheiro Vendas_T1.txt para as pastas Simples e Complexos.

Mova o ficheiro VendasT2eT3.txt para a pasta “T2 e T3”.

Copie o ficheiro Vendas_Vivendas.txt para as pastas V4 e V6.

Copie o ficheiro Quintas.txt para a pasta Quintas.

Altere o nome do ficheiro Quintas.txt na pasta Herdades para Herdades.txt

INSTITUTO DO EMPREGO E FORMAÇÃO PROFISSIONAL – I.E.F.P
CENTRO EMPREGO E FORMAÇÃO PROFISSIONAL DE ÉVORA

Altere o conteúdo do ficheiro Herdades.txt para “Em actualização”.

Mostre na consola o conteúdo do ficheiro Herdades.txt

Remova todos os ficheiros na pasta Herdades

Remova a pasta Herdades

Copie todos os comandos realizados para o ficheiro
testeNOMEFORMANDO.txt assim como a árvore final (o comando tree deverá
ser feito no Desktop) no ficheiro arvoreNOMEFORMANDO.txt em que
NOMEFORMANDO representa o seu primeiro e último nome.

INSTITUTO DO EMPREGO E FORMAÇÃO PROFISSIONAL – I.E.F.P
CENTRO EMPREGO E FORMAÇÃO PROFISSIONAL DE ÉVORA

Ficha Formativa

UFCD:
0812 | UFCD: 0786
Técnico de Informática
e Sistemas
Nome Formando: _____________________

Data: __/__/__

Formador: João Leitão

Crie todos os procedimentos necessários para criar a database TESTE e inserir a
seguinte informação.
NOTA: Criar um ficheiro SQL com todos os comandos:
CREATE DATABASE teste;
USE DATABASE teste;
CREATE TABLE …

o

Clientes

BI

Nome

Morada

Telefone

Email

123456

Ana

Évora

266 000 001

a@iefp.pt

123457

Pedro

Lisboa

210 000 001

b@iefp.pt

123458

Amilcar

Évora

266 000 003

c@iefp.pt

123459

Josefina

Lisboa

210 000 002

d@iefp.pt

123460

Zulmira

Évora

266 000 002

e@iefp.pt

o

Produtos

ID

Nome

Preço

IDMarca

IDModelo

1

Produto A

100

1

1

2

Produto B

50

1

2

3

Produto C

25

2

1

4

Produto D

30

1

1

5

Produto E

50

2

2

o

Marca

IDMarca

Descrição

1

Marca A

2

Marca B

INSTITUTO DO EMPREGO E FORMAÇÃO PROFISSIONAL – I.E.F.P
CENTRO EMPREGO E FORMAÇÃO PROFISSIONAL DE ÉVORA
o

Modelo

IDModelo

Descrição

1

Modelo A

2

Modelo B

o

Compra

ATENÇÃO!!!! USAR AS CHAVES PARA LIGAR AS TABELAS E INSERIR INFORMAÇÃO!
HELP: compra(nºregisto, idcliente,idproduto)
Nº Registo

Cliente

Produto

1

Ana

Produto C

2

Pedro

Produto D

3

Amilcar

Produto A

4

Josefina

Produto B

5

Zulmira

Produto E

Crie as consultas para responder às seguintes perguntas:
o

Qual o Nome dos Clientes que moram em Évora?

o

Qual o ID dos Clientes que moram em Lisboa?

o

Qual o Telefone do Cliente com o BI 123456?

o

Qual o BI e Nome dos Clientes que moram em Lisboa e tem como
telefone 210000001?

o

Qual o nome do produto com o ID 3?

o

Quais os nomes dos Produtos que tem como IDMarca 1? Ordene de A-Z

o

Qual o IDMarca e IDModelo do produto com o Código ID 1 e Nome
Produto A?

o

Qual o BI do Cliente que comprou Produto A?

o

Qual o produto (ID) que a Zulmira comprou?

o

Quais os produtos (ID e Nome) que têm o mesmo nº para o código
IDMarca e IDModelo?

INSTITUTO DO EMPREGO E FORMAÇÃO PROFISSIONAL – I.E.F.P
CENTRO EMPREGO E FORMAÇÃO PROFISSIONAL DE ÉVORA
o

Para cada cliente (nome), indique quantos produtos comprou.

o

Para cada produto (descrição), indique quantas vezes foi comprado

o

Para cada cliente (nome), indique o total gasto na compra de produtos

INSTITUTO DO EMPREGO E FORMAÇÃO PROFISSIONAL – I.E.F.P
CENTRO EMPREGO E FORMAÇÃO PROFISSIONAL DE ÉVORA

Ficha Formativa
Técnico de Informática e Sistemas | UFCD: 0786
Nome Formando: _____________________

Data: __/__/__

Formador: João Leitão

Crie o seguinte modelo relacional
Produto(CodProduto, Nome, Tipo, Preço, StockInicial)
Cliente(NIF, Nome, Morada, Forma Pagamento, Prazo pagamento)
Encomenda(NumEncomenda, Nº de unidades, Data Encomenda, CodProduto, NIFF)
Fornecedor(NIF, Nome, Morada, Tipo)
Venda(NumVenda, Quantidade, NIFC, CodProduto)

Adicione registos em todas as tabelas.

Considerando o exemplo anterior realize as seguintes perguntas de Álgebra
Relacional:
1. Qual o stock inicial dos produtos cujo tipo de produto é A?
2. Qual a forma e prazo de pagamento do documento de venda nº 10?
3. Qual o tipo de fornecedor dos produtos do documento de venda nº5, do
cliente José Maria?
4. Qual o nome do cliente que comprou produtos Z na mesma quantidade em
que este produto foi encomendado ao fornecedor. Apenas importa saber os
resultados para o mês de Dezembro de 2013.
5. Mostre a média dos preços de todos os produtos.
6. Para cada cliente (nome), indique o total pago em todos os documentos de
venda.
7. Para cada fornecedor (nome), indique o máximo de unidades fornecidas.