Considere o objetivo de se desenvolver um programa que produz um relatório de administração de serviços de tecnologia da informação de uma empresa contendo um gráfico como o apresentado a seguir (com dados fictícios). Em cada fatia da ‘pizza’, são apresentadas as áreas de negócio da empresa e a quantidade de serviços vinculados.
Deve-se supor a existência do esquema de banco de dados composto pelas tabelas a seguir.
DROP TABLE IF EXISTS SERVICO;
CREATE TABLE SERVICO (
servico_id integer NOT NULL,
nome text,
tipo_id integer,
PRIMARY KEY (servico_id),
FOREIGN KEY (tipo_id) REFERENCES TIPOSERVICO(tipo_id));
DROP TABLE IF EXISTS TIPOSERVICO;
CREATE TABLE TIPOSERVICO (
tipo_id integer NOT NULL,
nome text,
area_id integer,
PRIMARY KEY (tipo_id),
FOREIGN KEY (area_id) REFERENCES AREANEGOCIO(area_id));
DROP TABLE IF EXISTS AREANEGOCIO;
CREATE TABLE AREANEGOCIO (
area_id integer NOT NULL,
nome text,
PRIMARY KEY(area_id));
Com base no esquema de banco de dados fornecido, a consulta SQL que apresenta como resultado os dados necessários para a produção do gráfico apresentado é