Desenho da base de dados para o stock e facturação de hardware da empresa

Tenho de desenvolver uma base de dados para uma empresa gerir os seus stocks de hardware e software para pc, as avarias de PC e a atribuição de pc aos utilizadores.

Sou um novato na criação de bases de dados, por isso, gostaria de conselhos sobre como modelar a base de dados correctamente do zero.

Já fiz alguma pesquisa e comecei uma coisa, mas já que vocês são especialistas, gostava de saber a sua opinião, por favor.

Os detalhes não são importantes, o que eu preciso é de saber {[[2]} que tabelas você Faria, e as suas relações.

incluí uma imagem do ERD que inventei. Por favor, dê uma olhada.

ER Diagram

Eis o que fiz até agora. Eu sei que pode ser um mau design, tenha em mente que é a primeira vez para mim.

    Basicamente, tenho uma lista de utilizadores.
      Vamos para uma mesa de utilizadores.
  1. cada utilizador pode ter muitos pcs (mas um pc apenas para um utilizador).
    • Então, PC table, com FK para usuario.
  2. um PC consiste em muitos tipos de hardware identificado a partir de uma lista de conjuntos de cartões MB, CPU, HDDs, RAM, GFX.
    • Aqui eu fiz uma tabela de categoria para tipo duro (cpu, gfx, etc..)
    • em seguida, fazer e modelar tabelas.
    • finalmente uma tabela de detalhes do modo para armazenar todos os tipos de detalhes como frequências, tamanhos, etc..
    • Associo essas mesas a uma mesa de hardware com FKs para ter uma mistura a dar-me um pedaço de hardware. --- >Eu sei que deve haver uma maneira de link a mesa em muck melhor/adequada/eficiente maneira lá!
  3. quero ser capaz de mostrar o utilizador/hardware do PC dado a partir de uma lista de conjuntos e seguir o hardware através das suas facturas.
      Então, faço uma tabela de stock de hardware. Eu ligo um hardware para muitos hardware abastecido com FK em hardware_stock table e seu faturamento.
  4. consigo detectar falhas/avarias para cada PCs.
      Há uma tabela de falhas. E eu ligo-o ao PC através de um cruzamento. evento de falha da tabela que contém FKs para pc_id e failure_type_id.
    • então mantenho os comentários numa tabela separada ligada ao failure_event.
Então, aí está. Ainda não abordei a gestão de software. Basicamente, é o mesmo que hardware, eu tenho uma lista de conjunto de software diferente e:

    Quero saber o que está instalado nos computadores. Quero saber as facturas e a licença anexadas ao software. stock.
Obrigado pelo feedback!

Author: Gilbert Le Blanc, 2013-08-29

2 answers

Acho que há duas opções:

  1. Adicionar tabelas "software", "publisher", "software_category"; adicionar uma tabela de ligações semelhante a "pc_hardware".
  2. mudar 'hardware ' para" Componente", e adicionar 'Software' como uma categoria de componente.

A Opção 1 adiciona mais tabelas, mas é mais distinta; gerir licenças de software pode ser mais fácil com esta abordagem.

A Opção 2 tem menos tabelas, mas é um pouco mais difícil de entender. De acordo com esta abordagem, uma licença de software poderia ser um tipo de "garantia de produto" (mas isso parece confuso!)

Só por interesse, investigou algum produto de código aberto ou COTS que faça gestão de activos e controle de emissões? Eu não tenho nenhuma idéia se há algum produto disponível, mas você não pode ser a primeira pessoa/empresa a querer fazer este tipo de coisa!
 1
Author: Mike P, 2013-08-29 10:59:02
As tuas relações são um pouco difíceis para mim. Eis como podes verificar o teu próprio ERD. Usando cartões de lápis e índice, escreva os campos de tela de suas telas de sistema propostas e os campos de relatório de seus relatórios de Sistema propostos. Algo do género:
Add a new PC
------------
PC name
PC network
User
...

Uma placa de índice por ecrã e relatório.

Se quiser, pode desenhar a aparência dos ecrãs e relatórios. Depois de fazeres isto por todos os ecrãs e ... informe você pode imaginar, você pode mapear suas telas de papel para a sua base de dados de papel (ERD). Se você pode facilmente imaginar (código) a seleção, inserir, atualizar e excluir SQL para a base de dados de papel yor, então o seu design é bom.
 1
Author: Gilbert Le Blanc, 2013-08-29 13:23:31