Você está na página 1de 10

Banco de Dados

Empresa SP Service

Nome: Genilson da Silva Junior Prontuário: PE3015564


4 de setembro de 2023
Descrição da Situação
A SP Service é uma empresa que foi fundada há pouco tempo, que atua na área da
construção civil e oferece serviços de mão de obra especializada em alvenaria e
manutenções para outras empresas na região de Presidente Prudente. A empresa
conseguiu um grande aumento nos últimos tempos e por este motivo está perdendo o
controle para organizar as suas atividades. E solicitou a equipe Genilson’s Software para
desenvolver um banco de dados e ter uma gestão melhor sobre seus serviços incluindo
seus clientes, funcionários, Orçamentos e seus Serviços prestados.

1
Modelo Entidade Relacionamento (MER)

2
Codificação
DROP DATABASE IF EXISTS spservice;

CREATE DATABASE IF NOT EXISTS spservice;

USE spservice;

Criação de Tabelas

CREATE TABLE IF NOT EXISTS Funcionarios (

ID_func INT AUTO_INCREMENT NOT NULL,

ID_cargo INT,

Nome VARCHAR (100),

telefone CHAR (11),

cpf VARCHAR (14),

cep VARCHAR (10),

endereco VARCHAR (40),

numero VARCHAR (10),

data_contratacao DATE,

salario DECIMAL(10, 2),

FOREIGN KEY (ID_cargo) REFERENCES Cargo(ID_cargo),

PRIMARY KEY (ID_func)

);

CREATE TABLE IF NOT EXISTS Cargo (

3
ID_cargo INT NOT NULL,

nome VARCHAR (50),

cpf_ger VARCHAR (14),

PRIMARY KEY (ID_cargo)

);

CREATE TABLE IF NOT EXISTS Clientes (

ID_cliente INT NOT NULL,

cnpj VARCHAR (16) NOT NULL,

nome VARCHAR(100),

endereco VARCHAR(200),

numero VARCHAR (10),

cep VARCHAR (10),

email VARCHAR(100),

telefone VARCHAR(20),

PRIMARY KEY (ID_cliente)

);

CREATE TABLE IF NOT EXISTS Solicitacoes (

ID_solicitacao INT NOT NULL,

ID_cliente INT,

data_solicitacao DATE,

descricao VARCHAR(200),

status_ VARCHAR(20),

4
FOREIGN KEY (ID_cliente) REFERENCES Clientes(ID_cliente),

PRIMARY KEY (ID_solicitacao)

);

CREATE TABLE IF NOT EXISTS Orcamentos (

ID_orcamento INT NOT NULL,

ID_solicitacao INT,

data_inicio DATE,

descricao VARCHAR(200),

custo_estimado DECIMAL(10, 2),

prazo_estimado INT,

FOREIGN KEY (ID_solicitacao) REFERENCES Solicitacoes(ID_solicitacao),

PRIMARY KEY (ID_orcamento)

);

CREATE TABLE IF NOT EXISTS Servicos (

ID_servico INT,

ID_orcamento INT,

ID_categoria INT,

ID_func INT,

descricao VARCHAR(200),

status_servico VARCHAR(20),

5
data_inicio DATE,

data_conclusao DATE,

FOREIGN KEY (ID_orcamento) REFERENCES Orcamentos(ID_orcamento),

FOREIGN KEY (ID_func) REFERENCES Funcionarios(ID_func),

FOREIGN KEY (ID_categoria) REFERENCES Categoria(ID_categoria),

PRIMARY KEY (ID_servico)

);

CREATE TABLE IF NOT EXISTS Categoria (

ID_categoria INT,

ID_func_ger INT,

nome VARCHAR (100),

FOREIGN KEY (ID_func_ger) REFERENCES Funcionarios(ID_func),

PRIMARY KEY (ID_categoria)

);

CREATE TABLE IF NOT EXISTS Equipamentos (

ID_equipamento INT NOT NULL,

nome VARCHAR (50),

quantidade INT,

vida_util VARCHAR (30),

PRIMARY KEY (ID_equipamento)

);

6
Povoamento
INSERT INTO Funcionarios (Nome, telefone, cpf, cep, endereco, numero, ID_cargo,
data_contratacao, salario) VALUES

('João da Silva', '5551234567', '12345678901', '19470-000', 'Rua das Flores', '123', 1, '2022-01-15',
2500.00),

('Mario Santos', '5559876543', '98765432109', '19470-000', 'Avenida das Palmeiras', '456', 2,


'2022-02-10', 1800.00),

('Carlos Oliveira', '5555678901', '54321098765', '19470-000', 'Travessa dos Operários', '789', 3,


'2022-03-05', 3500.00),

('Ana Silva', '18111222233', '11122233344', '19470-000', 'Rua das Pedras', '321', 4, '2022-04-20',
5000.00);

INSERT INTO Cargo (ID_cargo, nome, cpf_ger) VALUES

('1', 'Pedreiro', '3'),

('2', 'Assistente geral', '1'),

('3', 'Encarregado de Obra' , '4'),

('4', 'Arquiteto', null);

INSERT INTO Clientes (ID_cliente, cnpj, nome, endereco, numero, cep, email, telefone) VALUES

(1, '111.111/0001-11', 'JBS S.A', 'Avenida Domingos F Medeiros', '123', '79780-000', 'jbs_sa@gmail.com',
'1832819400'),

(2, '222.222/0001-22', 'Regional Telhas', 'Rod. BR-267 S/N','234', '11667-650',


'cotacao@regionaltelhas.com.br', '6735419077'),

(3, '333.333/0001-33', 'Rousselot', 'Praça Central',' 789','19470-000', 'rousselot@contato.com',


'1832812271');

7
INSERT INTO Solicitacoes (ID_solicitacao, ID_cliente, data_solicitacao, descricao, status_)
VALUES

(1, 1, '2022-01-10', 'Serviço de construção de muro', 'Pendente'),

(2, 2, '2022-02-15', 'Serviço de reforma de fachada', 'Aprovado'),

(3, 3, '2022-03-20', 'Serviço de manutenção elétrica', 'Concluído'),

(4, 4, '2022-04-25', 'Serviço de pintura interna', 'Em Andamento');

INSERT INTO Servicos (ID_servico, ID_orcamento, ID_categoria, ID_func, descricao,


status_servico, data_inicio, data_conclusao) VALUES

(1, 1, 1, 1, 'Construção de paredes externas', 'Concluído', '2023-01-10', '2023-01-20'),

(2, 1, 2, 2,'Instalação de piso cerâmico', 'Em andamento', '2023-02-05', NULL),

(3, 2, 1, 2,'Reparo de paredes internas', 'Pendente', NULL, NULL),

(4, 3, 3, 1,'Construção de muro de contenção', 'Em andamento', '2023-03-15', NULL);

INSERT INTO Categoria (ID_categoria, ID_func_ger, nome) VALUES

(1, 4, 'Construção'),

(2, 3, 'Reforma'),

(3, 3, 'Manutenção');

INSERT INTO Orcamentos (ID_orcamento, ID_solicitacao, data_inicio, descricao, custo_estimado,


prazo_estimado) VALUES

(1, 1, '2022-01-15', 'Orçamento para construção de muro', 5000.00, 30),

(2, 2, '2022-02-20', 'Orçamento para reforma de fachada', 8000.00, 45),

(3, 3, '2022-03-25', 'Orçamento para manutenção elétrica', 3000.00, 15),

(4, 4, '2022-04-30', 'Orçamento para pintura interna', 2000.00, 10);

8
INSERT INTO Equipamentos (ID_equipamento, nome, quantidade)VALUES

(1, 'Betoneira', 5),

(2, 'Martelete', 3),

(3, 'Escada de Alumínio', 10),

(4, 'Serra Circular', 2);

Você também pode gostar