Bitbucket is a code hosting site with unlimited public and private repositories. We're also free for small teams!

Close
Questionamentos e respostas em SQL para o SAD (Sistema de Apoio a Decisão)





2.1.  Qual a receita por disciplina ?
2.2.  Qual a despesa com folha de pagamentos de professores por disciplina ?
2.3.  Qual o resultado financeiro por disciplina ?


"""
IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS
WHERE TABLE_NAME = 'CONSULTA')
DROP VIEW CONSULTA
GO

CREATE VIEW CONSULTA AS
SELECT COUNT(dbo.MATRICULADOS.MAT_ALUNO) AS QTDE_ALUNOS,
dbo.MATRICULADOS.COD_DISCIPLINA, dbo.DISCIPLINAS.TITULO, dbo.DISCIPLINAS.CREDITO
FROM dbo.DISCIPLINAS INNER JOIN dbo.MATRICULADOS ON dbo.DISCIPLINAS.CODIGO = dbo.MATRICULADOS.COD_DISCIPLINA
GROUP BY dbo.MATRICULADOS.COD_DISCIPLINA, dbo.DISCIPLINAS.TITULO, dbo.DISCIPLINAS.CREDITO
GO

SELECT QTDE_ALUNOS, COD_DISCIPLINA, TITULO, CREDITO, QTDE_ALUNOS * CREDITO * 100.00 AS RECEITAS,
CREDITO * 20 * 10.00 AS DESPESAS,
QTDE_ALUNOS * CREDITO * 100.00 - CREDITO * 20 * 10.00 AS RESULTADO
FROM CONSULTA
GO
"""





2.4.  Qual a receita da UNIV ?
R: 2600 (1-1 = 400, 1-2 = 200, 1-4 = 200, 1-5 = 200, 2-1 = 400, 2-4 = 200, 2-5 = 200, 3-2 = 200, 3-5 = 200, 5-1 = 400)
2.5.  Qual a despesa com folha de pagamentos de professores da UNIV ?
2.6.  Qual o resultado financeiro da UNIV ?


"""
IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS
WHERE TABLE_NAME = 'CONSULTA1')
DROP VIEW CONSULTA1
GO

IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS
WHERE TABLE_NAME = 'CONSULTA2')
DROP VIEW CONSULTA2
GO

CREATE VIEW CONSULTA1 AS
SELECT COUNT(dbo.MATRICULADOS.MAT_ALUNO) AS QTDE_ALUNOS,
dbo.MATRICULADOS.COD_DISCIPLINA, dbo.DISCIPLINAS.TITULO, dbo.DISCIPLINAS.CREDITO
FROM dbo.DISCIPLINAS INNER JOIN dbo.MATRICULADOS ON dbo.DISCIPLINAS.CODIGO = dbo.MATRICULADOS.COD_DISCIPLINA
GROUP BY dbo.MATRICULADOS.COD_DISCIPLINA, dbo.DISCIPLINAS.TITULO, dbo.DISCIPLINAS.CREDITO
GO

CREATE VIEW CONSULTA2 AS
SELECT QTDE_ALUNOS, COD_DISCIPLINA, TITULO, CREDITO, QTDE_ALUNOS * CREDITO * 100.00 AS RECEITAS,
CREDITO * 20 * 10.00 AS DESPESAS,
QTDE_ALUNOS * CREDITO * 100.00 - CREDITO * 20 * 10.00 AS RESULTADO
FROM CONSULTA1
GO

SELECT SUM(RECEITAS) AS RECEITAS,
SUM(DESPESAS) AS DESPESAS,
SUM(RESULTADO) AS RESULTADO
FROM CONSULTA2
GO
"""





2.7.  Qual a representatividade da despesa da UNIV?
2.8.  Qual a margem de lucro da UNIV ?
2.9.  A UNIV é financeiramente viável ?


"""
IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS
WHERE TABLE_NAME = 'CONSULTA1')
DROP VIEW CONSULTA1
GO

IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS
WHERE TABLE_NAME = 'CONSULTA2')
DROP VIEW CONSULTA2
GO

IF EXISTS (SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS
WHERE TABLE_NAME = 'CONSULTA3')
DROP VIEW CONSULTA3
GO

CREATE VIEW CONSULTA1 AS
SELECT COUNT(dbo.MATRICULADOS.MAT_ALUNO) AS QTDE_ALUNOS,
dbo.MATRICULADOS.COD_DISCIPLINA, dbo.DISCIPLINAS.TITULO, dbo.DISCIPLINAS.CREDITO
FROM dbo.DISCIPLINAS INNER JOIN dbo.MATRICULADOS ON dbo.DISCIPLINAS.CODIGO = dbo.MATRICULADOS.COD_DISCIPLINA
GROUP BY dbo.MATRICULADOS.COD_DISCIPLINA, dbo.DISCIPLINAS.TITULO, dbo.DISCIPLINAS.CREDITO
GO

CREATE VIEW CONSULTA2 AS
SELECT QTDE_ALUNOS, COD_DISCIPLINA, TITULO, CREDITO, QTDE_ALUNOS * CREDITO * 100.00 AS RECEITAS,
CREDITO * 20 * 10.00 AS DESPESAS,
QTDE_ALUNOS * CREDITO * 100.00 - CREDITO * 20 * 10.00 AS RESULTADO
FROM CONSULTA1
GO

CREATE VIEW CONSULTA3 AS
SELECT SUM(RECEITAS) AS RECEITAS,
SUM(DESPESAS) AS DESPESAS,
SUM(RESULTADO) AS RESULTADO
FROM CONSULTA2
GO

SELECT CAST((DESPESAS / RECEITAS * 100) AS DECIMAL(10,1)) AS REPRESENTATIVIDADE_DESPESA,
CAST(((RECEITAS - DESPESAS) / RECEITAS * 100) AS DECIMAL(10,1)) AS MARGEM_LUCRO,
(CASE WHEN((RECEITAS - DESPESAS) / RECEITAS * 100) < 10 THEN 'A UNIV NÃO É VIÁVEL' ELSE 'A UNIV É VIÁVEL' END) AS VIABILIDADE
FROM CONSULTA3
GO
"""





2.10.  Que decisões devem ser tomadas para a UNIV maximizar seu resultado ?


Queries em SQLite3

1a) Questão

1.
DROP VIEW IF EXISTS CONSULTA

2.
CREATE VIEW CONSULTA AS
SELECT COUNT(MATRICULADOS.aluno_id) AS QTDE_ALUNOS, MATRICULADOS.disciplina_id, DISCIPLINAS.TITULO, DISCIPLINAS.CREDITO
FROM DISCIPLINAS INNER JOIN
MATRICULADOS ON DISCIPLINAS.CODIGO = MATRICULADOS.disciplina_id
GROUP BY MATRICULADOS.disciplina_id, DISCIPLINAS.TITULO, DISCIPLINAS.CREDITO

3.
SELECT QTDE_ALUNOS, disciplina_id, TITULO, CREDITO, QTDE_ALUNOS * CREDITO * 100.00 AS RECEITAS, CREDITO * 20 * 10.00 AS DESPESAS,
QTDE_ALUNOS * CREDITO * 100.00 - CREDITO * 20 * 10.00 AS RESULTADO
FROM CONSULTA

2a) Questão

4.
DROP VIEW IF EXISTS CONSULTA1

5.
DROP VIEW IF EXISTS CONSULTA2

6.
CREATE VIEW CONSULTA1 AS
SELECT COUNT(MATRICULADOS.aluno_id) AS QTDE_ALUNOS,
MATRICULADOS.disciplina_id, DISCIPLINAS.TITULO, DISCIPLINAS.CREDITO
FROM DISCIPLINAS INNER JOIN MATRICULADOS ON DISCIPLINAS.CODIGO = MATRICULADOS.disciplina_id
GROUP BY MATRICULADOS.disciplina_id, DISCIPLINAS.TITULO, DISCIPLINAS.CREDITO

7.
CREATE VIEW CONSULTA2 AS
SELECT QTDE_ALUNOS, disciplina_id, TITULO, CREDITO, QTDE_ALUNOS * CREDITO * %(valor_credito)s AS RECEITAS,
CREDITO * %(carga_horaria_credito)s * %(valor_hora_aula)s AS DESPESAS,
QTDE_ALUNOS * CREDITO * %(valor_credito)s - CREDITO * %(carga_horaria_credito)s * %(valor_hora_aula)s AS RESULTADO
FROM CONSULTA1

8.
SELECT SUM(RECEITAS) AS RECEITAS,
SUM(DESPESAS) AS DESPESAS,
SUM(RESULTADO) AS RESULTADO
FROM CONSULTA2

3a) Questão

9.
DROP VIEW IF EXISTS CONSULTA1

10.
DROP VIEW IF EXISTS CONSULTA2

11.
DROP VIEW IF EXISTS CONSULTA3

12.
CREATE VIEW CONSULTA1 AS
SELECT COUNT(MATRICULADOS.aluno_id) AS QTDE_ALUNOS,
MATRICULADOS.disciplina_id, DISCIPLINAS.TITULO, DISCIPLINAS.CREDITO
FROM DISCIPLINAS INNER JOIN MATRICULADOS ON DISCIPLINAS.CODIGO = MATRICULADOS.disciplina_id
GROUP BY MATRICULADOS.disciplina_id, DISCIPLINAS.TITULO, DISCIPLINAS.CREDITO

13.
CREATE VIEW CONSULTA2 AS
SELECT QTDE_ALUNOS, disciplina_id, TITULO, CREDITO, QTDE_ALUNOS * CREDITO * %(valor_credito)s AS RECEITAS,
CREDITO * %(carga_horaria_credito)s * %(valor_hora_aula)s AS DESPESAS,
QTDE_ALUNOS * CREDITO * %(valor_credito)s - CREDITO * %(carga_horaria_credito)s * %(valor_hora_aula)s AS RESULTADO
FROM CONSULTA1

14.
CREATE VIEW CONSULTA3 AS
SELECT SUM(RECEITAS) AS RECEITAS,
SUM(DESPESAS) AS DESPESAS,
SUM(RESULTADO) AS RESULTADO
FROM CONSULTA2

15.
SELECT CAST((DESPESAS / RECEITAS * 100) AS DECIMAL(10,1)) AS REPRESENTATIVIDADE_DESPESA,
CAST(((RECEITAS - DESPESAS) / RECEITAS * 100) AS DECIMAL(10,1)) AS MARGEM_LUCRO,
(CASE WHEN((RECEITAS - DESPESAS) / RECEITAS * 100) < %(margem_lucro_esperada)s THEN 'A UNIV NÃO É VIÁVEL' ELSE 'A UNIV É VIÁVEL' END) AS VIABILIDADE
FROM CONSULTA3

Recent activity

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.