Skip to content

Instantly share code, notes, and snippets.

@abarichello
Last active July 6, 2022 21:17
Show Gist options
  • Save abarichello/45568c3132ba6a00ffeae253f0c5d561 to your computer and use it in GitHub Desktop.
Save abarichello/45568c3132ba6a00ffeae253f0c5d561 to your computer and use it in GitHub Desktop.
-- INE5613 – Bancos de Dados I
-- https://dbis-uibk.github.io/relax/calc.htm
Funcionario = {
codigo:number, numero_dept:number, codigo_super:number, codigo_cargo:number, nome:string, sexo:string, data_nasc:date, salario:number, endereco:string, cidade:string, uf:string
1 , 208 , 4 , 2 , 'fulano' , 'm', 2000-01-01 ,1000 , 'rua um' , 'cidade do banco' , 'sc'
2 , 100 , 333 , 1 , 'ciclana' , 'f', 2002-01-01 ,3001 , 'rua dois' , 'cidade do sul' , 'sc'
123 , 100 , 222 , 0 , 'beltrano' , 'm', 2001-01-01 , 6000 , 'alguma rua' , 'alguma cidade' , 'pr'}
Departamento = {
numero:number, cod_gerente:number, nome_dept:string
208 , 1 , 'CCO'
100 , 2 , 'ensino'
}
Cargo = {
codigo:number, nome:string , descricao:string
2 , 'Assistente do cafezinho', 'muito chato'
3 , 'gerente' , 'gerente'
}
Projeto = {
numero:number, nome:string, descricao:string
1 , 'CCO' , 'maneiro'
200 , 'sistemas' , 'chato'
}
Dependente = {
cod_func:number, numero:number, nome:string, sexo:string, data_nascimento:date, parentesco:string
1 , 1 , 'bolinha' , 'M' , 2018-01-01 , 'Filho'
}
Trabalha = {
cod_func:number, num_proj:number, horas_semanais:number
1 , 1 , 20
2 , 2 , 30
4 , 1 , 20
5 , 2 , 30
}
Executa = {
numero_dept:number, numero_proj:number
1 , 200
}
-- 1) Liste todos os dados dos funcionários que gerenciam algum departamento.
-- pi nome, uf, cidade, salario, endereco (Funcionario inner join codigo = cod_gerente Departamento)
-- 2) Liste nome e salário de todos os empregados.
-- pi nome, salario (Funcionario)
-- 3) Liste nome e salário dos empregados do departamento 208.
-- pi nome, salario sigma numero_dept = 208 (Funcionario)
-- 4) Encontre o nome do gerente do departamento 208.
-- pi nome sigma numero_dept = 208 (Departamento inner join cod_gerente = codigo Funcionario)
-- 5) Liste os dados dos funcionários empregados no departamento 5 que são mulheres e que não ganham mais que 2500.
-- 6) Liste os cargos dos empregados que são gerentes ou que ganham acima de 3000.
-- FIXME pi Cargo.nome sigma salario > 3000 (Cargo inner join Cargo.codigo = Funcionario.cod_cargo Funcionario)
-- 7) Liste nome e salário dos empregados do departamento de ensino.
-- pi nome, salario sigma nome_dept = 'ensino' (Funcionario inner join numero_dept = numero Departamento)
-- 8) Liste os nomes dos empregados que trabalham no projeto 1.
-- pi nome sigma num_proj = 1 (Funcionario inner join codigo = cod_func Trabalha)
-- 9) Liste os nomes dos empregados que não trabalham no projeto 1.
-- pi nome sigma num_proj != 1 (Funcionario inner join codigo = cod_func Trabalha)
-- 10) Liste os nomes dos empregados que não trabalham em projetos.
-- pi nome sigma num_proj = 0 (Funcionario inner join codigo = cod_func Trabalha)
-- 11) Liste o nome e a cidade dos empregados que trabalham em pelo menos um projeto.
-- pi nome, cidade sigma num_proj != 0 (Funcionario inner join codigo = cod_func Trabalha)
-- 12) Encontre os nomes dos empregados que trabalham mais que 20 horas em um mesmo projeto.
-- pi nome sigma horas_semanais > 20 (Funcionario inner join codigo = cod_func Trabalha)
-- 13) Liste os nomes dos funcionários que trabalham em todos os projetos executados pelo departamento 1.
-- 14) Determine o nome do supervisor do funcionário de código 123.
pi codigo sigma codigo = 123 (Funcionario)
-- FIX name instead of id
-- 15) Liste os nomes dos empregados supervisionados pelo funcionário de código 123
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment