¿Cuál es la mejor manera de organizar la base de datos de componentes?

3

Pensando en construir una base de datos de componentes locales que asigne el número de pieza de la empresa a varios fabricantes. Supongamos que el tipo de pensamiento SQL.

Opción 1. Una tabla con números de pieza de la compañía como clave principal, campos con valores de componentes, nombres de símbolos y huellas. Otra tabla con los números de pieza de la empresa como clave principal, y campos con los números de pieza del fabricante y del fabricante. Se realiza una unión en el número de pieza de la compañía para obtener múltiples números de pieza del fabricante por número de pieza de la compañía. La ventaja es la simplicidad. La desventaja es que no obtengo una lista de componentes y sus valores para cada fabricante, lo que estaría bien, y necesito mantener explícitamente la segunda tabla que hace la asignación, que podría tener errores.

Opción 2. Primera tabla igual que la anterior. Una tabla diferente para cada fabricante con todos sus componentes y valores. Únete a los valores. La ventaja es que el mapeo entre el número de parte de la compañía y el número de parte del fabricante es automático basado en los valores y no tengo que curar el mapeo. También sería bueno tener una lista separada de componentes de cada fabricante. La desventaja es que a veces desea excluir componentes basados en rohs o algo más, por lo que es un campo nuevo en ambas tablas. En lugar de curar un mapeo explícito, que podría ser arbitrario (para bien o para mal), ahora necesito curar campos en varias tablas y asegurarme de que cada tabla del fabricante tenga el mismo esquema.

¿Cuál es el mejor?

    
pregunta Sonicsmooth

5 respuestas

1

Puede haber muchos sitios web con información sobre MRP II RDBMS en SQL para EMS. Solo usted puede decidir cómo crear cada base de datos para mayor eficiencia, de modo que no tenga solo 2 o 3 tablas. Cada edición en un campo se actualiza en vivo y usted desea considerar el control de Rev de cada base de datos para la cordura y la efectividad. Cada usuario tendrá diferentes necesidades. Compras, diseño de tableros, diseño de listas de materiales, fabricación, calidad y contabilidad. Cada conjunto de campos debe ser indexado o codificado de acuerdo con el uso y la relación entre sí para obtener un tamaño, velocidad y evitar la redundancia óptimos o colocar todo en tablas compartimentadas o departamentalizadas.

  

Saber cuánto puede admitir y diseñar cada parámetro, tipo y tamaño de la base de datos desde el principio es fundamental. Comience con una especificación de todas las necesidades del usuario, informes, parámetros, frecuencia de uso y luego diseñe las tablas. Luego clasifique Must Haves y Nice to Haves.

Este es un ejemplo de una página de un informe de mi Registro maestro que no incluyó los parámetros de diseño de PCB. Fue para el Código de producto básico 15 en conectores, que muestra la descripción, Stock on Hand (SOH) y Bin Location. Este informe utiliza solo 3 tablas. Algunos campos pueden ser únicos y otros en blanco.

anécdotas personales

También hice lo anterior desde el '94 hasta el '96 en Foxbase, cuando era gerente de operaciones de una firma de investigación y desarrollo que podía hacer prototipos rápidos. Las relaciones de la tabla RDB se realizaron gráficamente con un índice independiente y campos clave con atributos de parámetros para cada campo.

El Registro maestro era un libro con todos los números de pieza de ingeniería internos, que utilizaban códigos de productos y descripciones claras y concisas. Fue mucho trabajo, pero necesario.

por ejemplo No use SCR como primera palabra descriptiva si también tiene tornillos SCR que usan palabras clave jerárquicas. Elija tantas Tablas como sea necesario con al menos un índice relacional, generalmente, pero no siempre el número de pieza.

El Registro maestro se utilizó en todas las listas de materiales, en mis almacenes, en la compra de solicitudes de presupuesto (RFQ) y en las órdenes de compra para que podamos enviar todos los números de pieza exclusivos a los distribuidores con códigos de productos correspondientes, o Mfg por una lista única por fuente y poner el costo del precio del proveedor , los valores de cantidad en otra base de datos indexada para realizar cotizaciones de la lista de materiales calculadas.

Los productos eran módulos micro / RF para la lectura automatizada de medidores y telemetría de red bidireccional.

Hubo docenas de informes que incluyeron una carpeta de papel de todos los números de pieza internos organizados por código de producto con aproximadamente 10.000 números de pieza y generalmente de 2 a 4 proveedores aprobados para cada parte.

Informes estandarizados para; Boms calculados, selección de diseño, ubicación de la papelera, listas de selección diarias de la lista de materiales para el montaje del proto con bandejas organizadas con un contenedor de película de 35 mm numerados para cada pieza SMD en tiras cortadas (soldadas a mano), etc. etc.

Trabajé mucho en la estructura de la base de datos, pero luego conseguí que un estudiante de licenciatura en Ciencias Compactas trabajara para ayudarnos en todos los informes de Foxbase por las noches.

En ese momento, el diseño se realizaba en MAC con PC para PO, ya que era más rápido con hojas de cálculo grandes para la fusión de Cotizaciones. La contabilidad estaba separada en Great Plains. Funcionó aunque a veces pesado, pero mucho más fácil y más barato que cualquier sistema MRP II que revisé o usé en el pasado.

Tuvimos 25 Ingenieros de Diseño de Hardware 25 diseñadores de S / W y yo teníamos 5 en producción, 1 en la compra de 1 en Calidad y pedí todas las Juntas de prueba personalizadas de vez en cuando de PCB y especialmente diseñadas.     

respondido por el Tony EE rocketscientist
1

No hay un solo "mejor". Depende de sus requisitos, qué software utiliza, cuáles son las capacidades de su software existente, etc.

Uso Eagle para diseñar tableros, y hace mucho tiempo creé mi propio sistema en torno a Eagle para generar listas de materiales. Más tarde, Cadsoft sacó algunos ULP y similares para el mismo propósito, pero funcionan de manera diferente. Dado que el trabajo es mío, y bastante bien, sigo usando mi software existente.

En Eagle, uso atributos en partes para definir cosas como fabricantes, su número de parte, proveedores, sus números de parte, valores, cadena de descripción para la lista de materiales, etc. Esto funciona bien, excepto para tratar con la parte interna. Números para múltiples clientes diferentes.

Para hacer eso, tengo una serie de archivos CSV almacenados en un lugar conocido por el software BOM. Estos archivos relacionan la información de la pieza en Eagle con los números de pieza internos. Las entradas también se pueden configurar para utilizar la misma pieza almacenada para diferentes propósitos y luego agrupar el resultado en una sola línea de la lista de materiales.

Aquí está la línea de encabezado común a estos archivos CSV:

Desc,Value,Package,Subst,Inhouse Acme,Manuf,Manuf part #,Supplier,Supp part #

Tenga en cuenta el campo "Inhouse Acme". Este archivo de muestra es para el cliente de Acme y ese campo proporciona el número de pieza interno de Acme. Guardo un archivo CSV por cliente.

Cada directorio en un árbol donde guardo los archivos de Eagle puede tener un archivo de "nombre de casa". El más bajo en el árbol a un nodo de hoja particular de tales archivos proporciona el nombre de la casa. Así es como mi sistema maneja automáticamente a varios clientes, cada uno con su propio esquema de numeración de piezas.

El software BOM tiene los datos especificados para cada parte en Eagle y busca coincidencias en este archivo. Las coincidencias pueden ser por valor o definitivas. Por ejemplo, si dos partes tienen el mismo fabricante y el número de pieza del fabricante, entonces definitivamente son la misma parte. De lo contrario, si la descripción, el valor y el paquete coinciden, entonces la parte coincide con el valor.

Aquí hay un fragmento de dicho archivo:

"Capacitor, unpolarized",22pF,SMD-0805,Yes,9133053,,,,
"Capacitor, unpolarized",47pF,SMD-0805,Yes,9133052,,,,
"Capacitor, unpolarized",100pF,SMD-0805,Yes,9133055,,,,
"Capacitor, unpolarized",200pF,SMD-0805,Yes,9133056,,,,
"Capacitor, unpolarized",1nF,SMD-0805,Yes,9133058,,,,
"Capacitor, unpolarized",10nF,SMD-0805,Yes,9133061,,,Mouser,81-GRM40X103K50D
"Capacitor, unpolarized",100nF,SMD-0805,Yes,9133049,,,,

Estos son un grupo de 0805 condensadores que solo difieren en capacitancia. El valor de la capacitancia se agrega a la parte base en el esquema, y se debe ingresar de la misma manera que aquí para que coincida. Si se encuentra una coincidencia con alguno de los anteriores, se conoce el número de pieza interno. Por ejemplo, tal tope dado un valor de "1nF" en el esquema recogerá el número de parte interno 9133058.

Otra cosa útil que mi software hace es colapsar todos los usos de la misma parte interna. Aquí hay otro fragmento del archivo Acme:

"Capacitor, unpolarized",1uF 10V,SMD-0805,Yes,9133054,,,,
"Capacitor, unpolarized",1uF 25V,SMD-0805,Yes,9133054,,,,
"Capacitor, unpolarized",1uF 35V,SMD-0805,Yes,9133054,,,,
"Capacitor, unpolarized",1uF 50V,SMD-0805,Yes,9133054,,,,
"Capacitor, ceramic",1uF 50V 10% -55+100C,SMD-0805,Yes,9133054,,,,

Tenga en cuenta que estos son todos los condensadores de 1 µF 50 V en el paquete de montaje en superficie 0805. Acme decidió almacenar solo partes de 50 V, luego usarlas incluso cuando las partes de menor voltaje lo harían. Esa es una estrategia de almacenamiento muy legítima, especialmente para piezas baratas como estas.

Sin embargo, todavía quiero mostrar en el esquema que solo se necesita una parte de 10 V. En ese caso, la descripción de la parte de 10 V coincide con la primera línea y se asigna el número de parte 9133054. Como la siguiente línea tiene el mismo número de pieza interno, también coincide con esa línea, y la descripción se actualiza a "1uF 25V". Esto continúa hasta que llega a la línea inferior que se muestra, donde la descripción se actualiza a "1uF 50V 10% -55 + 100C". Eso es lo que termina en la lista de materiales para cualquiera de los condensadores listados. El esquema puede mostrar una tapa "1uF 10V" en un lugar y una tapa "1uF 35V" en otra, pero ambas se agrupan en la misma línea de la lista de materiales como "1uF 50V 10% -55 + 100C" para este cliente solo .

Si Acme alguna vez decide almacenar partes de 1 µF 35 V, esta sección del archivo se actualizará. Cuando se vuelva a ejecutar la lista de materiales, las partes de 10-35 V estarán en una línea de la lista de materiales y las partes de 50 V en otra.

Cuando uso una nueva pieza que no tienen en inventario, aparece en la lista de materiales con el número de pieza interno en blanco. Alguien me asigna un número de parte, me lo devuelve y actualizo el archivo. Después de eso, mi sistema de lista de materiales rellena automáticamente el número interno de esa parte para diseños posteriores o ejecuciones de lista de materiales.

Esto puede sonar complicado, pero realmente ha sido muy agradable de usar.

    
respondido por el Olin Lathrop
0

Ninguna de las anteriores. Pero la opción 1 es menos peor que la opción 2.

Elijo la puerta número 3

Utilice un sistema de numeración de piezas de la empresa que contenga los valores del componente que identifica.

No sabiendo que el inventario de su compañía es todo lo que ofrece una oferta.

En 2006, desarrollé un sistema de inventario con números de pieza significativos. Una sola tabla contenía las dos partes que se utilizaron para construir los productos y también los productos y subconjuntos.

Si tuviera un número de parte solo por el número de parte, sabría que era una resistencia 0603 1K 1%

No se pudo ingresar una parte sin todos los valores requeridos para una parte de ese tipo.

    
respondido por el Misunderstood
0

Lo haría con tres tablas ...

1. Supplier <- lists supplier info
    Lists contact info, address etc.

2. Supplier_Parts linked to Supplier_ID, includes field Company_Part_ID

   Which parts are available from which suppliers, and supplier catalog #

3. Company_Parts listed by Company_Part_ID 

   Company_Part_NO and with tech info of parts, anything company specific about that part

Lo demás que puedes hacer con las consultas.

    
respondido por el Trevor_G
0

Es posible que desee echar un vistazo a BOMIST: enlace Es un software de gestión de inventario de piezas y BOM para electrónica. Se ejecuta localmente, sin servidor ni configuración o nube necesaria. Y se integra con Octopart, lo que significa que obtiene información útil en tiempo real sobre sus piezas (piense en obtener disponibilidad y cotizaciones en tiempo real al solicitar piezas).

DESCARGO DE RESPONSABILIDAD: desarrollador de BOMIST aquí.

    
respondido por el msr

Lea otras preguntas en las etiquetas