on 08-25-2015 5:26 PM
Hi,
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.
Thanks,
Antony
Hi Antony,
have you tried ...\Examples\Repository metamodel.pdm? It is not very well described, but I am afraid, that there is nothing better out there.
Ondrej
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Ondrej,
Yes, I had already looked at the Public Metamodel, specifically the PdPDM (Physical Data Model) previously, but I couldn't find anything that equated those objects with my table list... but I checked again, and in the Physical Objects class diagram, you can see what appears to be table name in the Code field of the Detail tab of the Class Properties. It's quite well hidden!
I've attached a screenshot below.
I'll need to do some more digging, but this suggests I can match my list of tables to the PdPDM.
Thanks,
Antony
Hi Antony,
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.
HTH,
-Matt C.
Hi Matt,
Thanks for the clarification - I found the Repository Metamodel.pdm tucked away in the same Examples folder (I probably would have missed it but for you). There doesn't seem to be much documentation on it in the tool help. Thanks also for the script.
The reason I was asking originally was because my model check-in was very slow (unusually so), and I was investigating possible causes. Our DBA was asking me if I knew what tables I was impacting - I knew I had created a couple of Entities, added some Comments, Extended Attribute values, etc and it led from there.
Antony
Hi Antony,
Review the indexes built on the PMOBJT, PMRLSH and PMTEXT table is usually where I start. You DBA can tune those indexes, tablespaces, etc. accordingly. Also if they are capturing the SQL trace they can also see the incoming query and check to see if the indexes are being ignored and doing table scans, or need a different space allocation. They may also need to be rebuilt due to a high volume of data being placed, depending on the DBMS being used.
HTH,
-Matt C.
Hi Matt,
Thanks for your query and it really works well for extracting metadata from our central repository.
With regard to your query, I try to join "Schema Information" ( I mean schema names such as 'dbo.', 'etl.'....etc) with it but I'm having a very hard time to figure out a feasible solution.
If you could let me know how to do that or where to start that would be greatly appreciated:)
User | Count |
---|---|
101 | |
13 | |
13 | |
11 | |
11 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.