DBLib with individual tables for each component type: Thoughts? - Page 1
Forum section: electronics / general

author: twistedresistor
author_rank: Contributor
timestamp: October 09, 2019, 07:04:43 am
content: Hi,just wanted to hear your opinion on library organization. I'm debating using separate tables for each component type e.g. diodes, resistors, capacitors, transistors with their respecting parameters.Basically what DigiKey does.Right now I have one table with all components. Using fields Voltage, Current, Power, Tolerance, TempCo. This makes sense for most of the components.The big advantage to this is, that I can display this few parameters on the BOM which allows to find alternate parts, or quickly verify the properties of the component in case the MPN is non-descriptive.Using a individual parameter set for each type of component would allow to store more specific information, but also blow up the BOM exponentially.What are you guys thinking? Also where do you draw the line: do you stop at IC or do you use seperate tables for opamps, ADCs, MCUs?

author: ddavidebor
author_rank: Super Contributor
timestamp: October 09, 2019, 12:36:09 pm
content: It will not help you in BOM organization, the BOM columns are fixed for each project, you cannot change them depending on your table columns.David

author: nickb
author_rank: Newbie
timestamp: October 09, 2019, 02:02:16 pm
content: I'm using an excel file as my database (hope to switch to sql at some point) and have split up the lib in component types with their specific parameters.In Altium it looks like separate libraries, it's probably a personal taste but I like it this way, allows for some filtering when looking for a specific component.

author: Gribo
author_rank: Frequent Contributor
timestamp: October 11, 2019, 04:18:53 pm
content: My DB is setup with multiple tables, one per component type, however, the BOM includes only the minimum required parameters to manufacture the board (RefDes, PN, supplier, footprint etc.)The electrical parameters appear as a single string in the description column. This way, the BOM stays neat, and most of the information is included.

author: ajb
author_rank: Super Contributor
timestamp: October 11, 2019, 04:41:54 pm
content: I'm going to lazily copy and paste what I've said previously on the topic, but the TL;DR is that in my opinion putting a whole bunch of parameters into your dblib is a waste of time, and if you're not doing that then there's no point in having separate tables per component type.Quotehttps://www.eevblog.com/forum/altium/how-do-you-maintain-part-categories-and-especially-sub-categories/msg1707500/#msg1707500Quotehttps://www.eevblog.com/forum/altium/best-way-to-handle-boms-and-component-libraries-in-altium-designer/msg1070898/#msg1070898If you just want hierarchical organization of components, you can do that by having hierarchical category fields and using those to sort in the library browser:

author: warpco
author_rank: Contributor
timestamp: October 24, 2019, 08:30:22 pm
content: Quote from: Gribo on October 11, 2019, 04:18:53 pmAlways wanted to ask. I almost have no experience in PCB design so I can be wrong. I think that specifying electrical parameters in BOM doesn't make sense. What are they needed for? To find a component on a supplier website? Nope. You use part number for this. To find a substitution if the original component is not available? Seems reasonable, but let's think deeply. What parameters determined the choice of this component? Voltage? Temperature? SOA? Sulfur-resistance? Some-weird-parameter-specified-only-on-a-sketchy-plot-in-the-datasheet?Can you put ALL these parameters in the description? Obviously not. Can you know in advance which parameters will be important? Also not. To find a substitution you should read the datasheets and/or talk to the electronics engineer who designed the board. So why you need to specify the parameters at all? I think it's better to put more general information in the description. Something like "General purpose chip resistor", or "High precision chip resistor". This, at least, will give you an idea of which parameters are important and which are not.

author: Pseudobyte
author_rank: Frequent Contributor
timestamp: October 29, 2019, 02:54:44 pm
content: Quote from: warpco on October 24, 2019, 08:30:22 pmSo the benefit comes when you use a good contract manufacturer. I happen to work at a CM where we deal with a wide variety of customers who all think the way they do things is the best way (hardly so). We get BOMs in daily that have mismatched descriptions to manufacturer part numbers. We use tools in house to scrub BOMs for these discrepancies. I cannot count how many engineers have thanked us for catching these issues. In many occasions the description is correct but the part number is wrong. When you have the description as its own field you add another way to ensure your assembly is being built correctly. If you did not include description information you are setting yourself up for having the wrong parts on your board.If you have no description the CM will buy the PNs you put down on your BOM. That is okay as long as you as an engineer are confident that each MFG-PN corresponds to the right component you chose for your design. I know too many designers that like to quick change component value information on the schematic and not update the part number (you are setting yourself up for failure if you do this)Also descriptions that include mismatched footprints for the actual package size of the part number are a good example too. We catch many of these issues.

author: Bassman59
author_rank: Super Contributor
timestamp: November 06, 2019, 05:53:29 pm
content: Quote from: Pseudobyte on October 29, 2019, 02:54:44 pmSo as a CM, what should we (the board designers) provide to you to ensure that we get boards built correctly? I'm genuinely interested.

author: Pseudobyte
author_rank: Frequent Contributor
timestamp: November 06, 2019, 09:07:29 pm
content: Files:BOMGerbers & NC DrillODB++Assembly Drawing top and bottomFabrication DrawingSchematic PDFPick and Place DataNice to have: 3D PDF, bookmarked assembly drawingsBOM Fields to include:QTY, Designators, Description, MFG-PN, MFG, Populate, FootprintAs far as the description field is concerned you should include:package size and any critical part parameters (value, tolerance, coefficient, temp range, pin count, etc.)Another note:Do not omit placement data for non-populated components. This information should be conveyed via BOM only. This is important if your CM uses AOI technology. Making sure you placed the correct parts is only one part of the equation, you also need to make sure that you don't place parts where they shouldn't be.

author: Ice-Tea
author_rank: Super Contributor
timestamp: November 06, 2019, 09:31:51 pm
content: I tend to color key BOMs:GREEN: CM may substitute for component of equal rating (example a 10uF 16V X7R)ORANGE: CM may substitute for component but must seek permissionRED: CM may not substitute under any circonstance, full MPN onlyPseudobyte, how do you feel about that?

author: warpco
author_rank: Contributor
timestamp: November 07, 2019, 10:22:26 am
content: Quote from: Ice-Tea on November 06, 2019, 09:31:51 pmDon't know about Pseudobyte, but I like this idea. No matter with or without critical part parameters in description field, color marking can be really helpful. Also, you can make it more clear (to my mind) by using additional column in a BOM table instead of color marking. Something like "replaceability" column with three possible values: "Allowed", "Upon request", and "Not allowed".

author: Pseudobyte
author_rank: Frequent Contributor
timestamp: November 07, 2019, 04:16:31 pm
content: Quote from: Ice-Tea on November 06, 2019, 09:31:51 pmIt wouldn't be a bad idea. At my place of business it wouldn't matter. Customer BOM is gospel, any deviation is documented and approved by our customers. So if we wanted to substitute parts because the part you selected is unavailable we would ask you to approve any change or select the new part yourself.

author: Ice-Tea
author_rank: Super Contributor
timestamp: November 07, 2019, 04:47:06 pm
content: Quote from: Pseudobyte on November 07, 2019, 04:16:31 pmYou're going to make a lot of friends here...

author: Bud
author_rank: Super Contributor
timestamp: November 07, 2019, 05:12:53 pm
content: Quote from: warpco on November 07, 2019, 10:22:26 amI'd prefer text. A colored spreadsheet will be hard on the eyes if you sort it by a parameter other than color key.

author: Ice-Tea
author_rank: Super Contributor
timestamp: November 08, 2019, 12:26:33 pm
content: It's supposed to be hard on the eyes. None of the 'oh, didn't see that' rubbish.

author: VK3DRB
author_rank: Super Contributor
timestamp: November 15, 2019, 02:23:08 am
content: Quote from: Pseudobyte on November 06, 2019, 09:07:29 pmAnother useful field to include is VERIFIED. That means the component has been verified as having the correct footprint. Verified means it is only "good" after you receive a PCB with the component on it, the CM has no issues, and it tests OK. That means you can use verified components on other designs with a high level of confidence. The reason I say this is one company I worked for some years ago had a few bad footprints polluting the libraries, causing mistakes on more than one PCB. The company was poorly managed, with "one country, two systems" of libraries... two teams that did not trust each other and kept their own libraries, duplicating a lot of effort.Quote from: Pseudobyte on November 06, 2019, 09:07:29 pmUse Variants - a very powerful tool that not many are aware of, unfortunately. Then the "not fitted" components do not appear in the BOM or pick 'n place tables. And it is as clear as daylight on the schematic.