Questione : Funzionando con i sistemi di eredità e gli utenti (disegno di base di dati)

Sto lavorando ad una base di dati di accesso che è stata in place per quasi 10 years.

We ha un poco più di 5000 annotazioni di inventario immagazzinate in una singola tabella. Queste annotazioni comprendono le pompe, i motori, i compressori d'aria, i compressori di gas, le frizioni e varie parti varie secondarie. L'unica cosa non inclusa è articoli poco importanti quale l'entrata di parts.

Each ha un EquipType assegnato esso. La persona che originale ha progettato questa base di dati non ha saputo molto circa il buon disegno. Hanno scelto di assegnare una singola lettera o due la lettera EquipType ad ogni articolo. Per esempio: il

P=Pump,
PD=Pump, Doppio-Acting
PT=Pump, Centrifugal

ED=Engine, Diesel
PER ESEMPIO =Engine, Gas
EX=Exchangers, radiatori & motori di Coolers
EM=Electric, etc.

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

There è più ma ora ho abbastanza qui per presentare il problema. Gli utenti qui hanno ottenuto abituati a usando questo sistema. Conoscono che cosa ogni singola lettera o due mezzi di EquipType della lettera in modo da noi neppure non utilizzano i combos o le occhiate nella base di dati (i nuovi utenti sono costretti ad imparare questo sistema). Questi stessi dati sono trasferiti al nostro Web site dove visualizziamo i nostri articoli di inventario. Ogni tipo di apparecchiatura differente (quali i motori) ha determinati campi che mostro all'utente. Mostro i campi differenti per ogni gruppo dell'apparecchiatura. Tuttavia, il nostro sistema corrente è difettoso. Non tutti gli articoli “di P„ sono pompe e non tutti gli articoli di E sono motori. Non tutti gli articoli di C sono compressori. Ho lavorato intorno a questo ma ha generato una certa codificazione supplementare e l'emicrania per me.

Here è le mie domande:
1) come cambiate il mindset o la coltura in seno ad un'azienda per tenere conto più efficienza e disegno di base di dati più corretto? È sempre fattibile da credere che possiate cambiarli? Quando appena lo accettate e lavorate intorno al loro mindset con i campi e/o la codificazione supplementari? il

2) è esso astuto usare i brevi codici che trasportano i lotti del significato o migliorano per mettere quel significato nei campi separati? Per esempio, potrei cambiarlo in modo che una pompa, scambiarsi, a semplice effetto, Triplex (3 cilindri) si trasformasse in in un PRS3. Da un lato potrei generare un campo per tenere la classificazione di alto livello della pompa, un campo di subclassification per memorizzare “scambiarmi„, un altro da giudicare “a semplice effetto„, ma un altro per tenere la quantità di cilindri (che mi avrebbero detto se la pompa è su un lato, duplex, triplex o quintuplex). Ciascuno di questi campi separati potrebbe trasportare le singole indicazioni di lettera che avesse niente a che fare con la mia domanda, realmente. È migliore scoppiare questi informazioni nei campi separati o memorizzarle tutte in un singolo campo “di codice„? In questo caso, il uno o il altro senso richiede un cambiamento e sto ottenendo molta resistenza a cambiare qualcosa che “abbia funzionato per i 10 anni ultimi„.
class= del

Risposta : Funzionando con i sistemi di eredità e gli utenti (disegno di base di dati)

Da un punto di vista di disegno di DB siete corretto.  Facendo tutte questi mettere informazioni in un certo campo di cifra enigmatico 3 è un disegno difettoso.  Un migliore disegno sarebbe di avere una tabella di XREF con tutti questi codici in loro.  Allora in quella tabella di XRef potreste aggiungere i vostri “cilindri„, “scriv„ (pompa, motore, ecc - questa potrebbe realmente essere un'altra tabella di XRef) ecc. a macchina.

Praticamente tuttavia, fare un cambiamento di disegno appena per cambiamento, persino per pulire un disegno di base di dati, probabilmente sta andando venire a mancare.  Farete tic tac appena fuori i vostri utenti.  A meno che i vostri utenti ottengano un certo genere di beneficio misurabile (e significativo) da un cambiamento di disegno, incitarli a cambiare il senso che fanno le cose verranno a mancare generalmente.

Poichè un'alternativa voi potrebbe fare il cambiamento di disegno dietro le scene ma lasciare gli utenti continu aare funzionare il senso che ora lavorano, in modo da neppure non notano il cambiamento.  Ciò sarà più dura da fare, ma gli darà il meglio di entrambi i mondi.
Altre soluzioni  
 
programming4us programming4us