Cuestión : Trabajo con los sistemas de herencia y los usuarios (diseño de base de datos)

Estoy trabajando en una base de datos del acceso que ha sido in place para casi 10 years.

We tenga un poco más de 5000 expedientes de inventario almacenados en una sola tabla. Estos expedientes incluyen las bombas, los motores, los compresores de aire, los compresores de gas, los embragues, y una variedad de pedazos misceláneos de menor importancia. La única cosa no incluida es pequeños artículos tales como entrada de parts.

Each tiene un EquipType asignado a ella. La persona que diseñó original esta base de datos no sabía mucho sobre buen diseño. Eligieron asignar una sola letra o dos la letra EquipType a cada artículo. Por ejemplo: el

P=Pump,
PD=Pump,/>PT=Pump Doble-Acting
ED=Engine, Diesel
EG. =Engine, Gas
EX=Exchangers, los radiadores y los motores de Coolers
EM=Electric, etc.

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

There es más pero ahora tengo bastantes aquí para presentar el problema. Los usuarios aquí han conseguido acostumbrados a usar este sistema. Saben lo que no utilizan cada sola letra o dos medios de EquipType de la letra así que nosotros incluso combos u operaciones de búsqueda en la base de datos (fuerzan a los nuevos usuarios a aprender este sistema). Estos mismos datos se transfieren a nuestro Web site en donde exhibimos nuestros artículos de inventario. Cada diverso tipo de equipo (tal como motores) tiene ciertos campos que demuestre al usuario. Demuestro diversos campos para cada grupo del equipo. Sin embargo, nuestro sistema actual es culpable. No todos los artículos de “P” son bombas y no todos los artículos de E son motores. No todos los artículos de C son compresores. He trabajado alrededor de esto pero ha creado una cierta codificación adicional y el dolor de cabeza para me.

Here es mis preguntas: ¿El
1) cómo usted cambia el modo de pensar o la cultura dentro de una compañía para tener en cuenta más eficacia y diseño de base de datos más correcto? ¿Es siempre factible creer que usted puede cambiarlo? ¿Cuándo usted apenas lo acepta y trabaja alrededor de su modo de pensar con los campos y/o la codificación adicionales? ¿el

2) es él elegante utilizar los códigos cortos que llevan porciones de significado o las mejoran para poner ese significado en campos separados? Por ejemplo, podría cambiarlo de modo que una bomba, intercambio, de efecto simple, triple (3 cilindros) se convierta en un PRS3. Por una parte podría crear un campo para celebrar el clasificación a nivel superior de la bomba, un campo del subclassification para almacenar el “intercambio”, otro a sostenerse “de efecto simple”, pero otro para sostener la cantidad de cilindros (que me dirían si la bomba es a una cara, a dos caras, triple o quintuplex). Cada uno de estos campos separados podría llevar solas designaciones de letra que no tiene nada hacer conmigo pregunta, realmente. ¿Es mejor explotar esta información en campos separados o almacenarla toda en un solo campo del “código”? En este caso, cualquier manera requiere un cambio y estoy consiguiendo mucha resistencia a cambiar algo que “ha trabajado por los 10 años pasados”.
class= del

Respuesta : Trabajo con los sistemas de herencia y los usuarios (diseño de base de datos)

De un punto de vista del diseño del DB usted está correcto.  Hacer toda esta información codificar en un cierto campo de dígito secreto 3 es un mán diseño.  Un mejor diseño sería tener una tabla del XREF con todos estos códigos en ellos.  Entonces en esa tabla del XRef usted podría agregar sus “cilindros”, “mecanografía” (bomba, motor, etc - ésta podría realmente ser otra tabla del XRef) el etc.

Prácticamente sin embargo, realizar un cambio de diseño apenas por cambio, incluso para limpiar un diseño de base de datos, va probablemente a fallar.  Usted apenas hará tictac apagado sus usuarios.  A menos que sus usuarios salgan una cierta clase de ventaja mensurable (y significativa) de un cambio de diseño, la fabricación que de cambian la manera que hacen cosas fallará generalmente.

Pues una alternativa usted podría realizar el cambio de diseño detrás de las escenas pero dejar a usuarios guardar el trabajar de la manera que ahora trabajan, así que incluso no notan el cambio.  Esto será más duro de hacer, pero le dará el mejor de ambos mundos.
Otras soluciones  
 
programming4us programming4us