Question : Travail avec des systèmes de legs et des utilisateurs (conception de base de données)

Je travaille sur une base de données d'accès qui a été in place pour presque 10 years.

We ont les un peu plus de 5000 fichiers de stock stockés dans une table simple. Ces disques incluent des pompes, des moteurs, des compresseurs d'air, des compresseurs à gaz, des embrayages, et une série de morceaux divers mineurs. La seule chose non incluse est de petits articles tels que l'entrée de parts.

Each a un EquipType assigné à elle. La personne qui a à l'origine conçu cette base de données n'a pas su infiniment la bonne conception. Ils ont choisi d'assigner une lettre simple ou un EquipType à deux lettres à chaque article. Par exemple : le

P=Pump, le
PD=Pump, Double-Acting
PT=Pump, Centrifugal

ED=Engine, Diesel
PAR EXEMPLE =Engine, Gas
EX=Exchangers, radiateurs et moteurs de Coolers
EM=Electric, etc.

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

There sont plus mais j'ai asse'ici maintenant pour présenter le problème. Les utilisateurs ici sont devenus accoutumés à employer ce système. Ils savent ce que chaque lettre simple ou moyens à deux lettres d'EquipType ainsi nous n'emploient pas même des combos ou des consultations dans la base de données (de nouveaux utilisateurs sont forcés d'apprendre ce système). Ces mêmes données sont transférées à notre site Web où nous montrons nos articles d'inventaire. Chaque type d'équipement différent (tel que des moteurs) a certains champs que je montre à l'utilisateur. Je montre différents champs pour chaque groupe d'équipement. Cependant, notre système courant est défectueux. Non tous les articles de « P » sont des pompes et non tous les articles d'E sont des moteurs. Non tous les articles de C sont des compresseurs. J'ai travaillé autour de ceci mais il a créé du codage additionnel et le mal de tête pour me.

Here est mes questions : Le
1) comment changez-vous la mentalité ou la culture au sein d'une compagnie pour tenir compte de plus d'efficacité et de conception de base de données plus correcte ? Est-il toujours faisable de croire que vous pouvez le changer ? Quand est-ce que vous juste l'acceptez et travaillez autour de leur mentalité avec les champs et/ou le codage supplémentaires ? le

2) est lui futé pour employer les codes courts qui portent un bon nombre de signification ou les améliorent pour mettre cette signification dans les domaines séparés ? Par exemple, je pourrais le changer de sorte qu'une pompe, échange, à simple effet, Triplex (3 cylindres) devienne un PRS3. D'une part je pourrais créer un champ pour tenir la la classification supérieure de la pompe, un champ de subclassification pour stocker le « échange », des autres à juger « à simple effet », mais des autres pour tenir la quantité de cylindres (qui m'indiqueraient si la pompe est recto, duplex, triple ou quintuplex). Chacun de ces champs séparés pourrait porter des désignations de lettre simples qui n'a rien à faire avec ma question, vraiment. Ilvaut- il mieux d'éclater cette information dans les champs séparés ou de la stocker toute dans un domaine simple de « code » ? Dans ce cas-ci, l'une ou l'autre manière exige un changement et j'obtiens beaucoup de résistance à changer quelque chose que « a travaillée pendant les 10 dernières années ».
class= de

Réponse : Travail avec des systèmes de legs et des utilisateurs (conception de base de données)

D'un point de vue de conception de DB vous êtes correct.  Faire coder toute cette information dans un certain domaine de chiffre 3 énigmatique est une mauvaise conception.  Une meilleure conception serait d'avoir une table de XREF avec tous ces codes dans eux.  Alors dans cette table de XRef vous pourriez ajouter vos « cylindres », « dactylographiez » (pompe, moteur, etc. - ceci pourrait réellement être une autre table de XRef) etc.

Pratiquement cependant, apporter une modification de conception juste pour le changement, pour nettoyer même une conception de base de données, va probablement échouer.  Vous ferez tic tac juste au loin vos utilisateurs.  À moins que vos utilisateurs obtiennent un certain genre d'avantage mesurable (et significatif) hors d'un changement de conception, les inciter à changer la manière qu'ils font des choses échoueront généralement.

Car une alternative vous pourrait apporter la modification de conception dans les coulisses mais laisser les utilisateurs continuer à travailler la manière qu'ils travaillent maintenant, ainsi ils ne notent pas même le changement.  Ce sera plus difficile de faire, mais te donnera le meilleur des deux mondes.
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us