Pergunta : Trabalhar com sistemas de legado e usuários (projeto de base de dados)

Eu estou trabalhando em uma base de dados do acesso que seja in place para quase 10 years.

We tenha um pouco de mais de 5000 registros de inventário armazenados em uma única tabela. Estes registros incluem as bombas, os motores, os compressores de ar, os compressores de gás, as embreagens, e uma variedade de partes variadas menores. A única coisa não incluída é artigos pequenos tais como a entrada de parts.

Each tem um EquipType atribuído a ela. A pessoa que projetou original esta base de dados não soube muito sobre o bom projeto. Escolheram atribuir uma única letra ou dois a letra EquipType a cada artigo. Por exemplo: o

P=Pump, único Acting
PD=Pump,/>PT=Pump Dobro-Acting
ED=Engine, Diesel
POR EXEMPLO =Engine, Gas
EX=Exchangers, radiadores & motores de Coolers
EM=Electric, etc.

CA=Compressors, Air
CG=Compressors, Gas
CL=Clutches

There é mais mas eu tenho bastante aqui agora para apresentar o problema. Os usuários aqui começ habituados a usar este sistema. Sabem o que cada única letra ou dois meios de EquipType da letra assim que nós não usam mesmo combos ou consultas na base de dados (os usuários novos são forçados a aprender este sistema). Estes mesmos dados são transferidos a nosso Web site onde nós indicamos nossos artigos de inventário. Cada tipo de equipamento diferente (tal como os motores) tem determinados campos que eu mostro ao usuário. Eu mostro campos diferentes para cada grupo do equipamento. Entretanto, nosso sistema atual é defeituoso. Não todos os artigos de “P” são bombas e não todos os artigos de E são motores. Não todos os artigos de C são compressores. Eu trabalhei em torno deste mas criou alguma codificação adicional e a dor de cabeça para me.

Here é minhas perguntas:
1) Como você muda o mindset ou a cultura dentro de uma companhia para permitir mais eficiência e projeto de base de dados mais correto? É sempre praticável acreditar que você pode o mudar? Quando você apenas o aceita e trabalha em torno de seu mindset com campos e/ou codificação extra? o

2) é ele esperto para usar os códigos curtos que carreg lotes do significado ou os melhoram para põr esse significado em campos separados? Por exemplo, eu poderia mudá-lo de modo que uma bomba, Reciprocating, Single-Acting, Triplex (3 cilindros) se transformasse um PRS3. De um lado eu poderia criar um campo para prender o a classificação top-level da bomba, um campo do subclassification para armazenar “Reciprocating”, outro a prender “Single-Acting”, no entanto outro para prender a quantidade de cilindros (que me diriam se a bomba é simples, frente e verso, triplex ou quintuplex). Cada um destes campos separados poderia carreg únicas designações de letra que não não tem nada fazer com minha pergunta, realmente. É melhor estoirar esta informação em campos separados ou armazená-la toda em um único campo do “código”? Neste caso, uma ou outra maneira exige uma mudança e eu estou começ muita resistência a mudar algo que “trabalhou por os últimos 10 anos”.
class= do

Resposta : Trabalhar com sistemas de legado e usuários (projeto de base de dados)

De um ponto de vista do projeto do DB você está correto.  Ter toda esta informação codificada em algum campo de dígito 3 enigmático é um projeto mau.  Um projeto melhor seria ter uma tabela do XREF com todos estes códigos neles.  Então nessa tabela do XRef você poderia adicionar seus “cilindros”, “datilografa” (bomba, motor, etc. - esta poderia realmente ser uma outra tabela do XRef) etc.

Praticamente entretanto, fazer uma mudança de projeto apenas para a mudança, para limpar mesmo um projeto de base de dados, está indo provavelmente falhar.  Você apenas tiquetaqueará fora seus usuários.  A menos que seus usuários começ algum tipo do benefício mensurável (e significativo) fora de uma mudança de projeto, fazê-los mudar a maneira que fazem coisas falhará geralmente.

Porque uma alternativa você poderia fazer a mudança de projeto atrás das cenas mas deixar os usuários manter-se trabalhar a maneira que trabalham agora, assim que não observam mesmo a mudança.  Isto será mais duro de fazer, mas dar-lhe-á o melhor de ambos os mundos.
Outras soluções  
 
programming4us programming4us