I am forced to manually document a legacy enterprise database. Are there some standard good practices or tools to do this?
To give you some more context, I have recently been given restricted access to a legacy enterprise database. There is very little documentation. I don't have permissions to view system tables or generate ER diagrams. I am exploring/using the database and manually documenting it as I go.
I would like to represent the schema with code (manually) in such a way that it can be parsed, say, with Python, to generate an ER diagram?
Are there tools to do this kind of thing? Or standard good practices to document the schema, annotate definitions and common keys etc?
I'm imagining some kind of a tree or graph like data structure that can be used to encode the schema, parsed with Python etc, and used to generate ERDs, etc, outside of the db management tool; (since I don't have permissions to do this inside the db management tool (Oracle SQL Developer)).
restricted access? If they want you to document it, surely they must give you access? I had to do a similar job (my first in IT!) and basically, it was like detective work - slowly, step by step!I don't have permissions to view system tables or generate ER diagrams.- this is madness - you've been hamstrung from the start. If your employers don't trust you, why not move on? What's the server? The one I worked on was a home grown system so there were no system tables or any real organisation - everything was ad-hoc - you are faced with a similar scenario, despite if being an RDBMS! – Vérace May 29 '20 at 12:40- The db is Oracle.
- I was hired as a data scientist / ML engineer, not a db admin. The organization has a blanket policy to grant access based on roles. My role has very restricted db access (something about protecting customer privacy etc).
- There does exist some scattered patchy documentation for some queries and automated jobs.
- I'm after some systematic way of documenting it on the fly - (say in markdown, on git etc, that I can easily read and share with my team, and perhaps write some code to parse and draw ERDs in Python).
– zab May 29 '20 at 18:14