Prática em Banco de Dados
MER Estendido – Sistema SIGEM

Grupo:
Marcos Felipe
Renan Reis

Manaus - 2013
Descrição do Sistema
O sistema o SIGEM (Sistema de gestão de materiais) tem por objetivo o controle de
equipamentos que sã...
Modelagem Lógica -Banco de dados SIGEM
Modelagem EER -SIGEM
Comandos LDD utilizados
-- ------------------------------------------------------ Table `categorias`
-- ------------------...
`tipo` CHAR(1) NOT NULL ,
`curso_id` INT NOT NULL ,
PRIMARY KEY (`id`) ,
UNIQUE INDEX `matricula` (`matricula` ASC) ,
INDE...
`data_inicio` DATE NOT NULL ,
`data_devolucao` DATE NULL DEFAULT NULL ,
`finalidade` VARCHAR(255) NULL DEFAULT NULL ,
`dat...
-- ------------------------------------------------------ Table `equipamentos`
-- ----------------------------------------...
Descrição das Entidades e Relacionamentos
Usuário
Representa o usuário do sistema que irá manter os cadastros básicos, reg...
•
•

Situação: Alfanumérico[1]. Representa a situação do equipamento, quanto a sua
disponibilidade. Pode ser 'A'-Ativo ou ...
Solicita
Este relacionamento representa a ação de um Professor ou Coordenador solicitar um equipamento
para seu projeto. O...
Próximos SlideShares
Carregando em…5
×

Modelo entidade-relacionamento - SIGEM (sistema de gestão de materiais)

1.596 visualizações

Publicada em

Universidade federal do amazonas
Prática em Banco de dados

Publicada em: Educação
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.596
No SlideShare
0
A partir de incorporações
0
Número de incorporações
5
Ações
Compartilhamentos
0
Downloads
38
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Modelo entidade-relacionamento - SIGEM (sistema de gestão de materiais)

  1. 1. Prática em Banco de Dados MER Estendido – Sistema SIGEM Grupo: Marcos Felipe Renan Reis Manaus - 2013
  2. 2. Descrição do Sistema O sistema o SIGEM (Sistema de gestão de materiais) tem por objetivo o controle de equipamentos que são emprestados e movimentados entre departamentos, e estes variam desde computadores e impressoras até placas e equipamentos de menor porte. O sistema SIGEM possui o objetivo de fazer o controle da movimentação de equipamentos, seu processamento é baseado em cadastros dos equipamentos, devidamente registrados com a imagem dos mesmos, o controle e geração de uma identificação única para cada equipamento, assim como registro de data e hora do empréstimo, rastreamento do produto (última pessoa a registrar o empréstimo), e módulos de consulta pública, destinado à alunos que necessitem consultar a disponibilidade de determinado equipamento para empréstimo imediato e/ou à longo prazo. As principais funções exercidas pelo sistema Sigem são o controle de empréstimos dos equipamentos baseado em registros, registro e verificação de um ID único para o equipamento (tombamento), e rastreamento do mesmo baseado nas informações obtidas dos empréstimos (data, hora, equipamento emprestado, movimentação, se está ligada à algum projeto ou é pessoal, etc), basicamente, criando um ambiente para controle dos equipamentos. A aquisição de um equipamento, assim como seu empréstimo, está diretamente relacionado à um projeto, que será inserido no momento do registro do empréstimo.
  3. 3. Modelagem Lógica -Banco de dados SIGEM
  4. 4. Modelagem EER -SIGEM
  5. 5. Comandos LDD utilizados -- ------------------------------------------------------ Table `categorias` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `categorias` ( `id` INT NOT NULL AUTO_INCREMENT , `nome` VARCHAR(255) NOT NULL , `created` DATETIME NULL DEFAULT NULL , `modified` DATETIME NULL DEFAULT NULL , PRIMARY KEY (`id`) ) -- ------------------------------------------------------ Table `cursos` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `cursos` ( `id` INT NOT NULL AUTO_INCREMENT , `nome` VARCHAR(45) NOT NULL , `created` DATETIME NULL DEFAULT NULL , `modified` DATETIME NULL DEFAULT NULL , PRIMARY KEY (`id`) ) -- ------------------------------------------------------ Table `projetos` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `projetos` ( `id` INT NOT NULL AUTO_INCREMENT , `nome` VARCHAR(255) NOT NULL , `created` DATETIME NULL DEFAULT NULL , `modified` DATETIME NULL DEFAULT NULL , `data_inicio` DATE NULL DEFAULT NULL , `data_termino` DATE NULL DEFAULT NULL , `descricao_resumida` VARCHAR(255) NULL DEFAULT NULL , `coordenador_id` INT NULL , PRIMARY KEY (`id`) , INDEX `fk_projetos_usuarios1` (`coordenador_id` ASC) ) -- ------------------------------------------------------ Table `alunos` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `alunos` ( `id` INT NOT NULL AUTO_INCREMENT , `matricula` VARCHAR(255) NOT NULL , `nome` VARCHAR(255) NOT NULL , `email` VARCHAR(255) NOT NULL , `telefone` VARCHAR(255) NULL DEFAULT NULL , `created` DATETIME NULL DEFAULT NULL , `modified` DATETIME NULL DEFAULT NULL , `rg` VARCHAR(15) NOT NULL ,
  6. 6. `tipo` CHAR(1) NOT NULL , `curso_id` INT NOT NULL , PRIMARY KEY (`id`) , UNIQUE INDEX `matricula` (`matricula` ASC) , INDEX `fk_solicitantes_cursos1_idx` (`curso_id` ASC) , CONSTRAINT `fk_solicitantes_cursos1` FOREIGN KEY (`curso_id` ) REFERENCES `cursos` (`id` ) -- ------------------------------------------------------ Table `perfils` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `perfils` ( `id` INT(11) NOT NULL AUTO_INCREMENT , `nome` VARCHAR(45) NOT NULL , `created` DATETIME NULL DEFAULT NULL , `modified` DATETIME NULL DEFAULT NULL , PRIMARY KEY (`id`) ) -- ------------------------------------------------------ Table `usuarios` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `usuarios` ( `id` INT(11) NOT NULL AUTO_INCREMENT , `login` VARCHAR(255) NOT NULL , `password` VARCHAR(255) NOT NULL , `nome` VARCHAR(255) NOT NULL , `email` VARCHAR(255) NOT NULL , `telefone` VARCHAR(255) NULL DEFAULT NULL , `situacao` CHAR(1) NOT NULL DEFAULT 'A' COMMENT 'A = Ativo, I = Inativo' , `created` DATETIME NULL DEFAULT NULL , `modified` DATETIME NULL DEFAULT NULL , `perfil_id` INT(11) NOT NULL , PRIMARY KEY (`id`) , UNIQUE INDEX `login` (`login` ASC) , INDEX `fk_usuarios_perfils1_idx` (`perfil_id` ASC) , CONSTRAINT `fk_usuarios_perfils1` FOREIGN KEY (`perfil_id` ) REFERENCES `perfils` (`id` ) ) -- ------------------------------------------------------ Table `emprestimos` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `emprestimos` ( `id` INT NOT NULL AUTO_INCREMENT , `projeto_id` INT NOT NULL , `aluno_id` INT NOT NULL , `autorizador_id` INT NOT NULL ,
  7. 7. `data_inicio` DATE NOT NULL , `data_devolucao` DATE NULL DEFAULT NULL , `finalidade` VARCHAR(255) NULL DEFAULT NULL , `data_entrega` DATE NOT NULL , `situacao` CHAR(1) NULL DEFAULT NULL , `usuario_id` INT NULL DEFAULT NULL , `created` DATETIME NULL DEFAULT NULL , `modified` DATETIME NULL DEFAULT NULL , `observacao` VARCHAR(255) NULL , PRIMARY KEY (`id`) , INDEX `fk_emprestimos_projetos1_idx` (`projeto_id` ASC) , INDEX `fk_emprestimos_solicitantes_idx` (`aluno_id` ASC) , INDEX `fk_emprestimos_usuarios1_idx` (`autorizador_id` ASC) , INDEX `fk_emprestimos_usuarios2_idx` (`usuario_id` ASC) , CONSTRAINT `fk_emprestimos_projetos1` FOREIGN KEY (`projeto_id` ) REFERENCES `projetos` (`id` ) CONSTRAINT `fk_emprestimos_solicitantes` FOREIGN KEY (`aluno_id` ) REFERENCES `alunos` (`id` ) CONSTRAINT `fk_emprestimos_usuarios1` FOREIGN KEY (`autorizador_id` ) REFERENCES `usuarios` (`id` ) CONSTRAINT `fk_emprestimos_usuarios2` FOREIGN KEY (`usuario_id` ) REFERENCES `usuarios` (`id` )) -- ------------------------------------------------------ Table `images` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `images` ( `id` INT NOT NULL AUTO_INCREMENT , `name` VARCHAR(75) NOT NULL DEFAULT '' , `clean_name` VARCHAR(75) NOT NULL DEFAULT '' , `type` VARCHAR(255) NOT NULL DEFAULT '' , `size` INT NOT NULL DEFAULT '0' , `data` LONGBLOB NOT NULL , `filehash` VARCHAR(255) NOT NULL DEFAULT '' , `ext` VARCHAR(255) NOT NULL DEFAULT '' , `created` DATETIME NULL DEFAULT NULL , `updated` DATETIME NULL DEFAULT NULL , PRIMARY KEY (`id`) ) -- ------------------------------------------------------ Table `localizacaos` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `localizacaos` ( `id` INT NOT NULL AUTO_INCREMENT , `local` VARCHAR(45) NOT NULL , `created` DATETIME NULL DEFAULT NULL , `modified` DATETIME NULL DEFAULT NULL , `detalhe` VARCHAR(90) NULL , PRIMARY KEY (`id`) )
  8. 8. -- ------------------------------------------------------ Table `equipamentos` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `equipamentos` ( `id` INT NOT NULL AUTO_INCREMENT , `descricao` VARCHAR(255) NOT NULL , `created` DATETIME NULL DEFAULT NULL , `modified` DATETIME NULL DEFAULT NULL , `situacao` CHAR(1) NULL DEFAULT NULL , `numero_serie` VARCHAR(20) NULL DEFAULT NULL , `tombo` INT NULL DEFAULT NULL , `quantidade` INT NULL DEFAULT NULL , `image_id` INT NULL , `categoria_id` INT NOT NULL , `localizacao_id` INT NOT NULL , `projeto_id` int(11) NOT NULL, PRIMARY KEY (`id`) , INDEX `fk_equipamentos_images1_idx` (`image_id` ASC) , INDEX `fk_equipamentos_categorias1_idx` (`categoria_id` ASC) , INDEX `fk_equipamentos_localizacaos1_idx` (`localizacao_id` ASC) , CONSTRAINT `fk_equipamentos_images1` FOREIGN KEY (`image_id` ) REFERENCES `images` (`id` ) CONSTRAINT `fk_equipamentos_categorias1` FOREIGN KEY (`categoria_id` ) REFERENCES `categorias` (`id` ) CONSTRAINT `fk_equipamentos_localizacaos1` FOREIGN KEY (`localizacao_id` ) REFERENCES `localizacaos` (`id` ) ) -- ------------------------------------------------------ Table `itensemprestimos` -- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `itensemprestimos` ( `id` INT NOT NULL AUTO_INCREMENT , `quantidade` INT NOT NULL , `emprestimo_id` INT NOT NULL , `equipamento_id` INT NOT NULL , `created` DATETIME NULL DEFAULT NULL , PRIMARY KEY (`id`) , INDEX `fk_itensemprestimos_emprestimos1_idx` (`emprestimo_id` ASC) , INDEX `fk_itensemprestimos_equipamentos1_idx` (`equipamento_id` ASC) , CONSTRAINT `fk_itensemprestimos_emprestimos1` FOREIGN KEY (`emprestimo_id` ) REFERENCES `emprestimos` (`id` ) CONSTRAINT `fk_itensemprestimos_equipamentos1` FOREIGN KEY (`equipamento_id` ) REFERENCES `equipamentos` (`id`))
  9. 9. Descrição das Entidades e Relacionamentos Usuário Representa o usuário do sistema que irá manter os cadastros básicos, registrar as operações de empréstimos e gerar relatórios. O usuário deverá ter um perfil associado conforme suas permissões de acesso às funcionalidades do sistema: • Secretária: Responsável por registrar as movimentações de empréstimos e devoluções dosequipamentos. • Professor: Gerencia os equipamentos de sua responsabilidade e tem controle sobre a situação deequipamentos emprestados. • Coordenador: Representa o coordenador de um projeto, no qual os equipamentos estão associados. Atributos: • Login: Alfanumérico. Representa o login usado na autenticação e deve ser único para cada usuário. • • • Senha: Alfanumérico. Representa a senha de acesso do usuário ao sistema. Telefone: Alfanumérico. Representa o número de telefone do usuário. E-mail: Alfanumérico. Endereço de e-mail do usuário. Localização Representa o local no qual o equipamento está localizado. Atributos • Descrição: Alfanumérico. Representa a descrição do local onde o equipamento pode ser localizado. Projeto O projeto no qual os equipamentos serão utilizados. Pode ser um projeto institucional ou pessoal. Atributos • Descrição: Descreve o nome do projeto. Empréstimo Representa o empréstimo do equipamento e seu registro. Atributos • Finalidade: Alfanumérico. Descrição textual do propósito do empréstimo. • Situação: Alfanumérico[1]. Representa a situação atual do empréstimo. Pode ser: 'A'Aberto, 'E' – Emprestado, 'D'-Devolvido. • Data de Empréstimo: Data do registro do empréstimo. • Data de Devolução: Data efetiva da devolução do(s) equipamento(s) Equipamento Representa todos os equipamentos que podem ser emprestados pelos alunos. Atributos • Identificação: Numérico. Representa o identificador único para um equipamento. • Descrição: Alfanumérico. Representa a descrição do equipamento.
  10. 10. • • Situação: Alfanumérico[1]. Representa a situação do equipamento, quanto a sua disponibilidade. Pode ser 'A'-Ativo ou 'I'-Inativo Categoria: Alfanumérico. Representa a categoria o qual está associado um equipamento. Registra Este relacionamento representa a ação da Secretaria de registrar os equipamentos no sistema SIGEM. O relacionamento tem cardinalidade um para muitos(1xN), que significa que um usuário do tipo Secretaria pode registrar mais de um equipamento no SIGEM. Atributos • Data de Emissão: Data de entrada de um equipamento no sistema. • Identificador do Registro: Numérico. Identificador único da operação de registro.
  11. 11. Solicita Este relacionamento representa a ação de um Professor ou Coordenador solicitar um equipamento para seu projeto. O relacionamento tem cardinalidade um para muitos(1xN), que significa que um usuário do tipo Professor ou Coordenador pode solicitar mais de um equipamento no SIGEM. Atributos: • Número de Protocolo: Alfanumérico. Representa unicamente a solicitação de um equipamento. Possui Este relacionamento representa a listagem de Equipamentos que um Empréstimo possui. O relacionamento tem cardinalidade muitos para muitos(NxN), que significa que em um empréstimo pode ter vários equipamentos, e que um equimamento pode participar de vários empréstimos. Atributos: • Localização: Alfanumérico. Representa o local associado ao empréstimo. • Projeto: Alfanumérico. Indica o projeto para o qual o equipamento será emprestado. Melhorias no Diagrama e Decisões de Projeto Correções no diagrama desenvolvido no primeiro trabalho foram aplicadas neste novo diagrama, levando-se em conta o andamento atual do projeto SIGEM. No diagrama anterior, foi removida a entidade Perfil e a especialização Tipos com os tipos administrador, professor e usuário. A entidade usuário, no diagrama atual, possui as especializações: Secretária, Professor e Coordenador. As atribuições de cada uma dessas especializações ficou evidenciada no diagrama atual. Foi removido a entidade Histórico, devido a falta de necessidade do mesmo para o registro de empréstimo. A entidade Empréstimo no diagrama atual mantém as datas de empréstimo e devolução como atributos.

×