PD Repository database tables
I am looking for documentation on the tables in the database which underpins our PD repository. It's an Oracle DB which I can query using the all_tables view and our DB user, which brings back over 300 tables, all prefixed with 'PM_'. I presume these are all out of the box tables which will contain objects in the various models checked into the repository. I can't find much in the tool help itself.
Matt Creason replied
Make sure you are looking at the correct metamodel. There is the MetaModel.OOM which is the application metamodel and then the Repository Metamodel.PDM. You will want to use the latter, if I understand your question correctly, since this is the relational data model.
Due to the size of the metamodel, we have chosen to limit the display preferences. To see more detail, just manage your display preferences so you do not need to drill into the table property sheet. This is done to simplify the presentation.
The Repository is an thing-relationship-thing structure. Therefore, if you are you building a custom query or view on your Repository, you will heavily work with PMOBJT, PMCLSS, PMRLSH. Everything is stored in PMOBJT. PMCLSS stores the type of 'thing' stored in the PMOBJT and is installation specific.PMRLSH associates one 'thing' to another 'thing' by their object id stored in the PMOBJT table.
To get a list of tables in a model or the Repository takes a join on the PMOBJT table using the PMCLSS table which holds the object codes for those objects stored in the PMOBJT table. Then if you need more information on that table, you then would join the appropriate table from PdPDM package that meets your needs.
I have attached an old script I wrote many years ago when I was consulting that retrieves the model, the tables in the model with their columns and datatype. Maybe it will give you a start.