A company's internal numbering scheme can carry relevant, pertinent information that just using a manufacturer's number cannot. For example:
- on a given product, it might be known that two specific manufacturers' alternative devices are tested, qualified and approved for use. A single part number's database entry can list these two approved alternatives, and over time, can be modified if and when parts go EoL and new ones become approved.
- alternatively, for non-critical components like standard resistors, there may be no specific manufacturer's part number. Any 0603 1k 1% resistor is pretty much the same as any other, and using the company's part number can allow this
- certain ranges of part number can be defined to have special meanings. For example, you could say that any part in the range 90000-99999 is "special", and has certain requirements associated with it which must be met, and which are noted in the database. For example, "do not substitute", or "safety critical item", or "calibration certificate must be supplied with this item", and so on.
- another field can indicate a revision number, so 10000-02 is the part which supersedes 10000-01. If some drawing calls up the -01 suffix, and there's a -02 on the database, you know straight away that you need to check if the drawing should be updated.
My general approach has always been to try to avoid duplication of effort wherever possible. If, for example, a part goes EoL, it's much quicker to add an identical equivalent part to a database than it is to go through every single schematic that uses it, change those, then change every document that refers to those schematics, then every document that refers to those documents, and so on.