Sunteți pe pagina 1din 14

CARACTERIZAÇÃO DO EMPREGO NA REGIÃO DO ALGARVE

BASES DE DADOS RELACIONAIS

Andrea Monteiro Vicente | Ana Nascimento | Joaquim Torres | Leandro Oliveira


OBJECTIVOS
Criação de uma base de dados relacional do Emprego na região do Algarve, que permita a
sua caracterização, nomeadamente, pela recolha e organização de informação relativa:

- às entidades empregadoras, o seu tipo, dimensão, localização;

- aos postos de trabalho, pelo sector de actividade em que se integram, pela localização,
pela duração e tipo dos seus contratos, e salário;

- à população empregada, o género, idade e habilitações.

BASES DE DADOS RELACIONAIS | Andrea Monteiro Vicente | Ana Nascimento | Joaquim Torres | Leandro Oliveira
PROJECTO
DA BASE DE DADOS
Iniciámos o trabalho pela identificação das
entidades em jogo, nomeadamente:

- Entidade Empregadora,

- Posto de Trabalho,

- Empregado,

e pela construção do modelo relacional.

BASES DE DADOS RELACIONAIS | Andrea Monteiro Vicente | Ana Nascimento | Joaquim Torres | Leandro Oliveira
BASES DE DADOS RELACIONAIS | Andrea Monteiro Vicente | Ana Nascimento | Joaquim Torres | Leandro Oliveira
BASES DE DADOS RELACIONAIS | Andrea Monteiro Vicente | Ana Nascimento | Joaquim Torres | Leandro Oliveira
ESQUEMA TABELA ATRIBUTOS

entidade_empregadora ( nif_empregador; nome; num_trabalhadores;


id_concelho; id_tipo )
tipo ( id_tipo; tipo )

concelho ( id_concelho; concelho )

empregado ( nif_empregado; nome; genero;


data_nascimento; morada; id_concelho;
emprego
id_habilitacao )
habilitacao ( id_habilitacao; habilitacao )

posto_trabalho ( id_posto_trabalho; data_inicio; data_fim;


salario; nif_empregado;
nif_empregador; id_tipo_contrato; cae;
id_concelho )
tipo_contrato ( id_tipo_contrato; tipo_contrato )

cae ( cae; designacao; sector )

BASES DE DADOS RELACIONAIS | Andrea Monteiro Vicente | Ana Nascimento | Joaquim Torres | Leandro Oliveira
- criação de utilizador - CREATE ROLE “dec”;

- criação de base de dados - CREATE DATABASE bdr WITH OWNER = “dec”;

- criação de esquema - CREATE SCHEMA emprego AUTHORIZATION “dec”;

- criação de tabelas - (exemplo) CREATE TABLE emprego.entidade_empregadora


(nif_empregador integer, nome character varying(50), num_trabalhadores integer,
id_concelho integer, id_tipo integer);

- alteração de tabela para criação de chave primária - (exemplo) ALTER TABLE ONLY
emprego.entidade_empregadora ADD CONSTRAINT pk_nif_empregador PRIMARY
KEY (nif_empregador);

- alteração de tabela para criação de chaves estrangeiras - (exemplo) ALTER TABLE


ONLY emprego.entidade_empregadora ADD CONSTRAINT fk_concelho FOREIGN KEY
(id_concelho) REFERENCES emprego.concelho (id_concelho);

- copiar a informação para a base de dados através do comando - (exemplo) COPY


emprego.entidade_empregadora FROM 'C:\Nova pasta\entidade empregadora.csv’
DELIMITER AS ',' csv header;

BASES DE DADOS RELACIONAIS | Andrea Monteiro Vicente | Ana Nascimento | Joaquim Torres | Leandro Oliveira
PESQUISAS

P1. Tendo em conta a classificação de grande empresa como aquela que emprega
250 ou mais trabalhadores, elabore uma listagem das grandes empresas da região,
ordenada de forma descendente pelo número de postos de trabalho que integra,
indicando o tipo de entidade empregadora.

SELECT ee.nif_empregador, ee.nome, ee.num_trabalhadores, t.tipo

FROM emprego.entidade_empregadora AS ee

JOIN emprego.tipo AS t

ON ee.id_tipo = t.id_tipo

WHERE ee.num_trabalhadores > 250

ORDER BY ee.num_trabalhadores DESC;

BASES DE DADOS RELACIONAIS | Andrea Monteiro Vicente | Ana Nascimento | Joaquim Torres | Leandro Oliveira
P2. Indique o número de trabalhadores que residem no concelho da sede de
empresa. Para este efeito, considere as empresas que tenham mais de 200
empregados.

SELECT ee.nome, count(pt.nif_empregado)


FROM emprego.entidade_empregadora AS ee
JOIN emprego.posto_trabalho AS pt
ON ee.nif_empregador = pt.nif_empregador
JOIN emprego.empregado AS e
ON e.nif_empregado = pt.nif_empregado
WHERE ee.num_trabalhadores >200 AND pt.data_fim > now () AND e.id_concelho = pt.id_concelho
GROUP BY ee.nome;

BASES DE DADOS RELACIONAIS | Andrea Monteiro Vicente | Ana Nascimento | Joaquim Torres | Leandro Oliveira
P3. Qual a média salarial, diferenciada por género, dos doutorados, em empresas
públicas?

SELECT e.genero,avg(pt.salario)

FROM emprego.empregado AS e
JOIN emprego.posto_trabalho AS pt
ON e.nif_empregado = pt.nif_empregado
JOIN emprego.entidade_empregadora AS ee
ON pt.nif_empregador = ee.nif_empregador
JOIN emprego.habilitacao AS h
ON e.id_habilitacao = h.id_habilitacao
JOIN emprego.tipo AS t
ON t.id_tipo = ee.id_tipo
WHERE h.habilitacao = 'doutoramento' AND t.tipo = 'Público'
GROUP BY e.genero;

BASES DE DADOS RELACIONAIS | Andrea Monteiro Vicente | Ana Nascimento | Joaquim Torres | Leandro Oliveira
P4. Identifique o CAE e sector de actividade que no concelho de Loulé, emprega
maior número de trabalhadores.

SELECT cae.cae, cae.designacao, cae.sector, count(*) AS num_ocorrencias


FROM emprego.posto_trabalho AS pt
JOIN emprego.concelho AS c
ON pt.id_concelho=c.id_concelho
JOIN emprego.cae AS cae
ON cae.cae=pt.cae
WHERE c.concelho='Loule' AND pt.data_fim>now()
GROUP BY cae.cae
ORDER BY num_ocorrencias DESC
LIMIT 1;

BASES DE DADOS RELACIONAIS | Andrea Monteiro Vicente | Ana Nascimento | Joaquim Torres | Leandro Oliveira
P5. Elabore uma listagem de jovens, entre os 16 e os 25 anos (à data de início do
contrato), que tenham celebrado contratos a termo durante o período de férias
lectivas do último verão, 15 de junho a 15 de setembro de 2016, ordenada por
concelho do posto de trabalho.

SELECT c.concelho, e.nome, EXTRACT (YEAR FROM age(e.data_nascimento)) AS idade,


pt.data_inicio AS inicio_contrato, pt.data_fim AS fim_contrato, tc.tipo_contrato
FROM emprego.posto_trabalho AS pt
JOIN emprego.empregado AS e
ON pt.nif_empregado=e.nif_empregado
JOIN emprego.concelho AS c
ON c.id_concelho=pt.id_concelho
JOIN emprego.tipo_contrato AS tc
ON pt.id_tipo_contrato=tc.id_tipo_contrato
WHERE pt.data_inicio>'2016-06-15' AND pt.data_fim<'2016-09-15'
AND EXTRACT (YEAR FROM age('2016-06-15',e.data_nascimento))>'16'
AND EXTRACT (YEAR FROM age('2016-06-15',e.data_nascimento))<'25'
AND pt.id_tipo_contrato='1'
ORDER BY c.concelho ASC;

BASES DE DADOS RELACIONAIS | Andrea Monteiro Vicente | Ana Nascimento | Joaquim Torres | Leandro Oliveira
CONCLUSÕES

Os objectivos foram concretizados e demonstrados na verificação da efectividade da


base de dados relacionais criada.

Neste processo aprendemos a utilizar de forma adequada e útil as bases de dados


relacionais.

Compreendemos os conceitos teóricos fundamentais subjacentes às mesmas.


Conseguimos identificar as entidades fundamentais da informação após a análise prévia
do problema.

Aprendemos a criar uma base de dados e a extrair informação pertinente num


determinado contexto.

Aprendemos a gerir e manter uma base de dados.

Compreendemos a complementaridade desta unidade curricular e deste trabalho com


as restantes unidades curriculares da estrutura que compõe o plano de estudos desta
pós-graduação.

BASES DE DADOS RELACIONAIS | Andrea Monteiro Vicente | Ana Nascimento | Joaquim Torres | Leandro Oliveira
FIM

OBRIGADO

BASES DE DADOS RELACIONAIS | Andrea Monteiro Vicente | Ana Nascimento | Joaquim Torres | Leandro Oliveira

S-ar putea să vă placă și