Rowan ECE Altium Database Parts Library
After developing the electrical parts inventory web app, I wanted a way to integrate the parts database into Altium Designer to be able to drag and drop parts that we stock for use in schematics and PCB designs. Luckily, Altium has a feature called database libraries that allows users to accomplish just this.
In your new or existing parts database, add a column for the part symbol and footprint (as well as certain other part data such as supplier and part numbers, see link above), and Altium will take this data and link it to the schematic symbol and pcb footprint to create a component for your design. This is quite useful as you can re-use symbols and footprints that are common to multiple parts. For example, a resistor symbol can be used for multiple footprints but only has to be created and maintained in a single file. You can also create multiple components that use the same symbol and footprint combo, such as the 0603 resistor series. All of these share symbols and footprints, but are different parts and have different part numbers and stocking information.
Formatting the database
To get the database into the correct format for Altium to read (a single table with a row for each part), a script is run on the postgres production database and the parts are synced to a Microsoft SQL Server database in the format specified for use with Altium. This serves two purposes - Using SQL Server does not require ODBC drivers for Altium Designer to connect and using a completely separate database allows complete separation of the production server database from the exposed Altium database.
If you are looking to implement database libraries in your organization, you may want to look into database views as a way to get all of the data in the correct format for Altium to interpret. Database views can be accessed similarly to tables but are actually just SQL queries that format data from other tables into one table. Most databases have a feature for this and you can connect your database to Altium via an ODBC connector for your database.
To store the components, altium allows users to have a local folder (on your PC or a network drive) to store all of your symbols and footprints, or you can store them in an SVN repository, and Altium will automatically update a local cache of the library. I chose the SVN option since it is a better end user experience. For the 'SVN' server, I am using GitHub since GitHub has a feature to act as an SVN server even though GitHub is actually a Git service which makes it easy for myself and others to keep the library up to date as most people are more familiar with Git these days.
Putting all of this together allows Altium Designer users at Rowan University to drag and drop components that the ECE Resource Center stocks into their schematics. This also inserts the Rowan Part Number of each component as a part property which allows us to export this in Pick and Place files for quick setup of PCBs on the Pick and Place machine.