Trabalho desenvolvido durante a disciplina de BD1
Integrantes do grupo
primeiro_componente_do_grupo:email_primeiro_componente@dominio.com
segundo_componente_do_grupo:email_segundo_componente@dominio.com
Este documento contém a especificação do projeto do banco de dados
e motivação da escolha realizada.
A empresa "Devcom Projetos" visa colaborar com desenvolvimento de projetos para uma sociedade melhor. Sabendo-se dos desafios para gerenciar projetos dentro de uma empresa e visando unir as informações relativas a funcionários, departamentos e projetos em um mesmo local, ficamos motivados com o desenvolvimento deste sistema. O Sistema "Devcom" tem como objetivo gerenciar todas as informações ao desenvolvimento das atividades de projetos em diversas localidades do país. Para realizar suas operações adequadamente e empresa necessita que sistema que armazene informações relativas aos Projetos, Departamentos e Empregados, além de também armazenar dados sobre Dependentes e Históricos de Salário dos empregados. O sistema deverá gerar um conjunto de relatórios que por sua vez atenderá os anseios da empresa em questão.
Descrever o mini-mundo! (Não deve ser maior do que 30 linhas)
Entrevista com o usuário e identificação dos requisitos.
Descrição textual das regras de negócio definidas como um subconjunto do mundo real
cujos elementos são propriedades que desejamos incluir, processar, armazenar,
gerenciar, atualizar, e que descrevem a proposta/solução a ser desenvolvida.
O sistema proposto para a "Devcom Projetos conterá as informacões aqui detalhadas. Dos Projetos serão armazenados o número, nome e cidade. Dos Departamentos serão armazenados o número e nome. O cliente destacou que cada projeto pode ter vários departamentos auxiliando no seu desenvolvimento, e cada departamento pode estar envolvido em vários projetos. Os dados relativos aos empregados que serão armazenados são: rg, nome, cpf, salário, data inicial do salario e supervisor de cada empregado. É importante destacar que cada empregado pode ser supervisionado por outro empregado, e obrigatoriamente deve estar alocado a um único departamento, mas pode gerenciar vários departamentos ou não gerenciar nenhum. Um empregado também pode participar de vários projetos, caso seja necessário, mas não precisa obrigatoriamente estar alocado em algum projeto. Com relação aos dependentes serão armazenadas as informações de nome do dependente, data de nascimento, sexo e grau de parentesco. Cada empregado pode ter vários dependentes, mas um dependente esta associado apenas a um único empregado. Com relação ao histórico de salário devemos armazenar as informações de valor do salário, data de início do salário no período e data final do salário no período. É importante lembrar que cada funcionario pode ter diversos eventos de histórico de salário associados a ele visto que este dado pode ser alterado várias vezes.
Neste ponto a codificação não e necessária, somente as ideias de telas devem ser criadas, o princípio aqui é pensar na criação da interface para identificar possíveis informações a serem armazenadas ou descartadas
Sugestão: https://balsamiq.com/products/mockups/
a) O sistema proposto poderá fornecer quais tipos de relatórios e informaçes?
b) Crie uma lista com os 5 principais relatórios que poderão ser obtidos por meio do sistema proposto!
A Empresa DevCom precisa inicialmente dos seguintes relatórios:
- Relatório que informe quais são os gerentes de cada departamento incluindo as seguintes informações: número do departamento, nome do departamento, e nome do gerente.
- Relatório de empregados por projeto incluindo as seguintes informações: número do projeto, nome do projeto, rg do empregado, nome do empregado e quantidade de horas de trabalho do empregado alocadas ao projeto.
- Relatório de empregados com dependentes incluindo as seguintes informações: rg do empregado, nome do empregado, nome do dependente, tipo de relação, data de nascimento do dependente e sexo do dependente.
- Relatório com a quantidade de empregados por cada departamento incluindo as seguintes informações: nome do departamento, supervisor e quantidade de empregados alocados no departamento.
- Relatório de supervisores e supervisionados incluindo as seguintes informações: nome do supervisor e nome do supervisionado.
a) Esta tabela deve conter todos os atributos do sistema e um mínimo de 10 linhas/registros de dados.
b) Esta tabela tem a intenção de simular um relatório com todos os dados que serão armazenados
e deve ser criada antes do modelo conceitual
c) Após criada esta tabela não deve ser modificada, pois será comparada com os resultados finais na conclusão do trabalho
A) NOTACAO ENTIDADE RELACIONAMENTO
* Para nosso prótótipo limitaremos o modelo conceitual nas 6 principais entidades do escopo
* O protótipo deve possui no mínimo duas relações N para N
* o mínimo de entidades do modelo conceitual será igual a 5
B) NOTACAO UML (Caso esteja fazendo a disciplina de analise)
C) QUALIDADE
Garantir que a semântica dos atributos seja clara no esquema
Criar o esquema de forma a garantir a redução de informação redundante, possibilidade de valores null,
e tuplas falsas
[Grupo01]: [Nomes dos que participaram na avaliação]
[Grupo02]: [Nomes dos que participaram na avaliação]
[atributo]: [descrição da decisão]
EXEMPLO:
a) Campo endereço: em nosso projeto optamos por um campo multivalorado e composto, pois a empresa
pode possuir para cada departamento mais de uma localização...
b) justifique!
[objeto]: [descrição do objeto]
EXEMPLO:
CLIENTE: Tabela que armazena as informações relativas ao cliente<br>
CPF: campo que armazena o número de Cadastro de Pessoa Física para cada cliente da empresa.<br>
a) inclusão do modelo lógico do banco de dados
b) verificação de correspondencia com o modelo conceitual
(não serão aceitos modelos que não estejam em conformidade)
a) inclusão das instruções de criacão das estruturas DDL
(criação de tabelas, alterações, etc..)
a) inclusão das instruções de inserção dos dados nas tabelas criadas pelo script de modelo físico
b) formato .SQL
a) Junção dos scripts anteriores em um único script
(create para tabelas e estruturas de dados + dados a serem inseridos)
b) Criar um novo banco de dados para testar a restauracao
(em caso de falha na restauração o grupo não pontuará neste quesito)
c) formato .SQL
8.3 INCLUSÃO DO SCRIPT PARA EXCLUSÃO DE TABELAS EXISTENTES, CRIAÇÃO DE TABELA NOVAS E INSERÇÃO DOS DADOS
a) Junção dos scripts anteriores em um único script
(Drop para exclusão de tabelas + create para tabelas e estruturas de dados + dados a serem inseridos)
b) Criar um novo banco de dados para testar a restauracao
(em caso de falha na restauração o grupo não pontuará neste quesito)
c) formato .SQL
a) Quais os principais fluxos de dados de informação no sistema em densenvolvimento (mínimo 3)
b) Quais as tabelas que conterão mais dados no sistema em densenvolvimento (mínimo 3)
c) informe quais as 5 principais tabelas do sistema em densenvolvimento.
OBS: Incluir para cada tópico as instruções SQL + imagens (print da tela) mostrando os resultados.<br>
a) Criar 5 consultas que envolvam os operadores lógicos AND, OR e Not
b) Criar no mínimo 3 consultas com operadores aritméticos
c) Criar no mínimo 3 consultas com operação de renomear nomes de campos ou tabelas
a) Criar outras 5 consultas que envolvam like ou ilike
b) Criar uma consulta para cada tipo de função data apresentada.
a) Uma junção que envolva todas as tabelas possuindo no mínimo 3 registros no resultado
b) Outras junções que o grupo considere como sendo as de principal importância para o trabalho
a) Uma junção que envolva Self Join
b) Outras junções com views que o grupo considere como sendo de relevante importância para o trabalho
a)análises e resultados provenientes do banco de dados
a) deve ser realizado no formato "backup"
(Em Dump Options #1 Habilitar opções Don't Save Owner e Privilege)
b) antes de postar o arquivo no git o mesmo deve ser testado/restaurado por outro grupo de alunos/dupla
c) informar aqui o grupo de alunos/dupla que realizou o teste.
12 TUTORIAL COMPLETO DE PASSOS PARA RESTAURACAO DO BANCO E EXECUCAO DE PROCEDIMENTOS ENVOLVIDOS NO TRABALHO PARA OBTENÇÃO DOS RESULTADOS
a) Outros grupos deverão ser capazes de restaurar o banco
b) executar todas as consultas presentes no trabalho
c) executar códigos que tenham sido construídos para o trabalho
d) realizar qualquer procedimento executado pelo grupo que desenvolveu o trabalho
14 FORMATACAO NO GIT: https://help.github.com/articles/basic-writing-and-formatting-syntax/
https://help.github.com/articles/about-writing-and-formatting-on-github/
https://help.github.com/articles/basic-writing-and-formatting-syntax/#referencing-issues-and-pull-requests
https://help.github.com/articles/working-with-advanced-formatting/
https://guides.github.com/features/mastering-markdown/
Todos os arquivos que fazem parte do projeto (Imagens, pdfs, arquivos fonte, etc..), devem estar presentes no GIT. Os arquivos do projeto vigente não devem ser armazenados em quaisquer outras plataformas.
- Caso existam arquivos com conteúdos sigilosos, comunicar o professor que definirá em conjunto com o grupo a melhor forma de armazenamento do arquivo.
Todos os grupos deverão fazer Fork deste repositório e dar permissões administrativas ao usuário do git "profmoisesomena", para acompanhamento do trabalho.
Os usuários criados no GIT devem possuir o nome de identificação do aluno (não serão aceitos nomes como Eu123, meuprojeto, pro456, etc). Em caso de dúvida comunicar o professor.
Link para BrModelo:
http://www.sis4.com/brModelo/download.html