Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouKléber Coradelli Silveira Alterado mais de 8 anos atrás
1
PROJETO INTERDISCIPLINAR ‘DBERP’
2
Equipe de Desenvolvimento Banco de Dados Adiel Silveira de Lemos Ana Renata de Siqueira Bruno Michael da Silva Santos Sistemas da Informação Odile Giordani
3
Trigramação TABELA → TBL TBL_CARGOS → CRG TBL_PRIVILEGIOS → PRI TBL_SETORES → SET TBL_SS → SSE TBL_FUNCIONARIOS → FUN TBL_SITUAÇÕES → SIT TBL_EQUIPAMENTOS → EQP TBL_OS → ORS TBL_FUN_EXECUTA_OS → FEX TBL_MANUTENCOES → MAN TBL_CONTATOS → CNT
4
Tabelas de Normalização TBL_PRI_CARGOS - Tabela de Privilégios Cargos, gerada pela relação entre as tabelas Privilégios e Cargos. TBL_SSE_EQP – Tabela Solicitação de Serviço Equipamentos, gerada pela relação entre as tabelas Solicitação de Serviço e Equipamentos. TBL_ORS_EQP – Tabela Ordem de Serviço Equipamento, gerada pela relação entre as tabelas Ordem de Serviço e Equipamentos. TBL_SITUACOES_SS – Tabela Situações Solicitação de Serviço, gerada pela relação entre as tabelas Situações e Solicitação de Serviço. TBL_SITUACOES_OS – Tabela Situações Ordem de Serviço, gerada pela relação entre as tabelas Situações e Ordem de Serviço. Obs. Essas tabelas foram geradas devido a cardinalidade (N,N)
5
Normalização Para garantir total integridade e conscistencia dos dados, todas as tabelas foram normalizadas de modo a estarem na Terceira Forma Normal (3NF), estando assim na segunda e na primeira forma normal também. Dessa forma não existem campos multi valorados e todos os campos da tabela dependem das respectivas chaves primárias.
6
Regras para remoção/atualização das FKs Visando garantir a integridade dos dados dentro do Banco foram estabelecidas algumas regras na modelagem, como: on delete no action – garante que se um campo for deletado em uma tabela, isso não acontecerá nas outras que possuem relação, garantindo assim que sejam mantidos históricos. on update on cascade – ao ser atualizado um campo na tabela principal, automaticamente serão atualizadas todas as tabelas que tem relação com ela. Efeito cascata.
7
DER
8
Modelo Lógico
9
Modelo Físico CREATE DATABASE DBERP; // CRIAÇÃO DO BANCO 'BDERP' USE DBERP; // SELECIONANDO O BANCO PARA COMEÇAR AS INSTRUÇÕES CREATE TABLE TBL_CARGOS ( CRG_COD INT UNSIGNED NOT NULL AUTO_INCREMENT, CRG_DESCRICACAO VARCHAR(45) NOT NULL, PRIMARY KEY (CRG_COD)); CREATE TABLE TBL_PRIVILEGIOS ( PRI_COD INT NOT NULL AUTO_INCREMENT, PRI_DESCRICAO VARCHAR(45) NOT NULL, PRIMARY KEY (PRI_COD)); CREATE TABLE TBL_SETORES ( SET_COD INT UNSIGNED NOT NULL AUTO_INCREMENT, SET_NOME VARCHAR(45) NOT NULL, PRIMARY KEY (SET_COD)); CREATE TABLE TBL_SS ( SSE_COD INT UNSIGNED NOT NULL AUTO_INCREMENT, SSE_DESCRICAO VARCHAR(45) NOT NULL, SSE_DATA_SOL DATE NOT NULL, FUN_MATRICULA_SOL INT UNSIGNED NOT NULL, PRIMARY KEY (SSE_COD), FOREIGN KEY (FUN_MATRICULA_SOL)REFERENCES TBL_FUNCIONARIOS (FUN_MATRICULA) ON DELETE NO ACTION ON UPDATE NO ACTION));
10
Script Inserção de Dados insert into tbl_cargos(crg_cod,crg_descricao) values (null,'Técnico Administrativo'); \\ inserção na tabela cargos insert into tbl_setores (set_cod,set_nome) values (null,'Execução'); \\ inserção na tabela setores insert into tbl_privilegios(pri_cod,pri_descricao) values (null,'Gerar SS,Consultar SS/OS,Programar OS'); \\ inserção na tabela privilégios insert into tbl_pri_cargos(crg_cod,pri_cod) values (7,2); \\ inserção na tabela privilégio cargos insert into tbl_funcionarios(fun_matricula,fun_nome,fun_email,set_cod,crg_cod) values(null, 'Paulo','paulo@yahoo.com.br',4,10);'paulo@yahoo.com.br \\ inserção na tabela funcionários
11
// Nome dos funcionarios que trabalham no setor de código 5 select f.fun_nome from tbl_funcionarios f inner join tbl_setores s on s.set_cod=f.set_cod where s.set_cod=5; // Descrição da SS que está pendente select s.sse_descricao,s.sse_cod from tbl_ss s inner join tbl_situacoes_ss sss on sss.sse_cod=s.sse_cod inner join tbl_situacoes si on si.sit_cod=sss.sit_cod where sit_pendente='S'; Script das Selects
12
// Nome do funcionário que executou a OS 1 select f.fun_nome,c.crg_descricao from tbl_funcionarios f inner join tbl_ss ss on ss.fun_matricula_sol=f.fun_matricula inner join tbl_cargos c on c.crg_cod=f.crg_cod where ss.sse_cod=1; // Nome do setor(s) que possuem o equipamento Arcondicionado select set_nome from tbl_setores s inner join tbl_equipamentos e on e.set_cod=s.set_cod where eqp_descricao='Arcondicionado'; // Descrição e data dos equipamentos que já sofreram manutenções select eqp_descricao,man_data from tbl_equipamentos e inner join tbl_manutencoes m on m.eqp_cod=e.eqp_cod;
13
// Nome dos funcionários e descrição dos privilégios do setor 3(Programação de Manutenção) select fun_nome,pri_descricao from tbl_funcionarios f inner join tbl_cargos c on c.crg_cod=f.crg_cod inner join tbl_pri_cargos pc on pc.crg_cod=c.crg_cod inner join tbl_privilegios p on p.pri_cod=pc.pri_cod where set_cod=3; //Descrição e data dos equipamentos que já sofreram manutenções select eqp_descricao,man_data from tbl_equipamentos e inner join tbl_manutencoes m on m.eqp_cod=e.eqp_cod; // Código e nome do setor do funcionário João select s.set_cod,s.set_nome from tbl_setores s inner join tbl_funcionarios f on f.set_cod=s.set_cod where f.fun_nome='Joao';
14
// Datas(Criação,início previsto,início real,finalização real) da OS de número 1 select os.ors_data_criacao,os.ors_data_prev_ini,fex_data_real_ini,fex_data_real_fin from tbl_fun_executa_os fe inner join tbl_os os on os.ors_cod=fe.ors_cod where os.ors_cod=1; // Nome e descrição do funcionario que aprovou a OS de número 1 select fun_nome,pri_descricao from tbl_funcionarios f inner join tbl_os os on os.fun_matricula_apr=f.fun_matricula inner join tbl_cargos c on c.crg_cod=f.crg_cod inner join tbl_pri_cargos pc on pc.crg_cod=c.crg_cod inner join tbl_privilegios p on p.pri_cod=pc.pri_cod where os.ors_cod=1; // Ramal,Nome e setor do funcionario que solicitou a SS de número 2 select cnt_ramal,fun_nome,set_nome from tbl_funcionarios f inner join tbl_setores s on s.set_cod=f.set_cod inner join tbl_contatos c on c.fun_matricula=f.fun_matricula inner join tbl_ss ss on ss.fun_matricula_sol=f.fun_matricula where ss.sse_cod=2;
15
Dicionário de Dados
16
Ferramentas utilizadas para o desenvolvimento Foram utilizadas as seguintes ferramentas para o desenvolvimento do projeto: brModelo – para o desenvolvimento do DER MySQL Workbench 5.1 OSS – para modelagem de dados, geração do modelo lógico e importação de script do modelo fisico. MySQL – SGBD escolhido para a implantação da base de dados. MS Word – para Documentação e Scripts.
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.