PDA

View Full Version : Teaching the AI about my database.



Michael Mullan
28-Dec-2016, 09:31 AM
Hi,

I have a client with an old database where NONE of the tables have "human readable" names, the column names are cryptic as all get out, and there isn't a single relationship defined at the database level.

Is there a tool or page or thing that I can have the DB owner use to map out proper table names, and reasonable column names, that is useful to more than DynAI? There is a metric shedload of work involved in documenting the DB like this, and getting buy in for a "fancy reporting tool" that requires all this setup to be useful, is frankly impossible. If I could come back with, AHA!, but you can use this work to document the database itself which would be available to all your future programmers.. then maybe.

It's also completely possible that I'm totally mis-informed and there is a way to do this already, in which case, please just show me the way.

Regards


Michael.

Bob Cergol
28-Dec-2016, 11:56 AM
Hi Michael,

I've found Dynamic AI indispensable in my work with undocumented databases to figure out what I'm dealing with, what lives where etc. and I've written about that in this blog: Reverse Engineer Undocumented Databases with Dynamic AI (http://www.dataaccess.com/blog/dynamic-ai/reverse-engineer-undocumented-databases-with-dynamic-ai-1228).

But, I've never seen or heard of any tool that will auto-magically replace meaningless table and column names with something meaningful. That's going to require human interpretation of data content and distribution patterns -- which is precisely what my BLOG talks about. DAI has been an incredible time-saver for me in that regard.

Dynamic AI can create a dictionary on top of any table, view, dyn-view, or dyn-join. The dictionary lets you caption all the column names in three different languages, and even define tool-tip help that displays when hovering the mouse over that column when used in a report. Of course you could recaption all columns in a simple view built on each table, whether defined in the back-end database, or in Dynamic AI's repository as a dynamic view. The view name could provide a meaningful name for the table, or you could create synonyms in the back-end database to accomplish that.

Sounds like you've got a large chunk of billable time queued up!

Bob

Michael Mullan
28-Dec-2016, 01:44 PM
I wasn't really looking for an automagical tool, but rather for one that would be of use inside and outside of Dyn AI. Oracle and MSSQL both have the ability in the database to record Table and Column based notes. If using these fields would allow DynAI to build its dictionary dynamically from that, while also being of use to the PL/SQL developers on staff, then maybe I could get some traction going.

Unfortunately these are running businesses with tight margins, and I just can't seem to talk fast enough to persuade them that the Cost/Benefit is actually there.

:-(

I'll read your blog again, and see if I can parley it into some billable hours. At the moment tho, there are no forthcoming Purchase Orders.

MM,

Bob Cergol
28-Dec-2016, 08:14 PM
[...] Unfortunately these are running businesses with tight margins, and I just can't seem to talk fast enough to persuade them that the Cost/Benefit is actually there.
MM,

You must be dealing with business owners. They aren't impressed with talk and rarely have the attention span for it anyway. I've sold more than a few by demonstrating real-world results. I invest some time and energy in building a proof-of-concept example that I enjoy doing anyway, and that gets their attention and makes the cost/benefit undeniably obvious. It's all about the information. Why else spend so much on capturing data. Or another way to look at it, is the untapped potential of latent information is a free byproduct of the expensive application they had no choice but to develop or purchase just to operate their business. They just can't imagine it ... until you show it to them! And heretofore it was too expensive [labor cost!] to extract. I'm a broken record on saying: "Dynamic AI changed my thinking about reporting and what was possible." One reason being able to achieve results that never occurred to me simply by virtue of the sheer impracticality of how much programming effort it would take to deliver them. Not to mention the whole concept of interacting with the information instead of flipping static pages, physical or electronic. I'll probably grow old wondering why so few seem to see the value proposition that was so obvious to me. I guess coders like to write code. I got tired of coding and got more enamored by extracting the information with far less effort.

Bob

Michael Mullan
28-Dec-2016, 08:32 PM
You must be dealing with business owners.

You got that right.

And they wrote the application, so they have internalized the cryptic names, and so on.

I'll see. I've got a couple of projects that need finishing then I'll pull this out again.


MM