[AUDIO LOGO] Well, I think retargeting is really what I've just described. So forward and reverse engineering are key capabilities within Data Modeler that allow you to retarget a database. Bringing it into the model, the model becomes that abstracted piece that says it's no longer an Oracle database. It's not a MongoDB database yet. It is a model of a business requirement and a way of managing that data with integrity. Now it's about deploying it.
So retargeting, you can retarget a schema that's been deployed on one database by reverse engineering it, pointing it, and saying this is no longer an Oracle database. Leverage all of the smarts and knowledge within erwin Data Modeler to say this is now a MongoDB database, using the denormalization techniques to make it a better database in MongoDB and then forward engineering that out and using that automation because it will create the code to instantiate that structure. And I'm just using MongoDB or Couchbase or whatever.
And that's just the classic SQL to NoSQL. If you're going from Oracle to Postgres, or let's say you don't want to pay Oracle prices anymore. And it's more of a sort of departmental database. You can pop it onto a MySQL or onto a SQL server. All of those options are available because erwin Data Modeler supports all of the databases within one tool and understands the commonalities and the sort of mappings between them. So this data type in Oracle is this data type in Postgres.
It handles a lot of that for you. And you can actually customize that. You can customize the data modeling tool with your own standards that say, no, actually, this data type in Oracle, we want it to be this specific data type in Postgres. Pop that into your standards. That's how the tool does it from now on.
So a lot of capability to define, manage standards, centralize them, and enforce those standards through the process of designing a new system or migrating an existing system and retargeting it to a new platform.
OK, good. So retargeting is that process of forward/reverse engineering. Let me visualize forward/reverse engineering and retargeting in erwin Data Modeler.
Sure, sure.
Is there a button that says Forward Engineer and another button that says Reverse Engineer?
Absolutely
I was joking. Is there?
No, absolutely. It's as simple as that. Now, it's also much more powerful than that. And different people use the terms forward and reverse engineering in different stages of the life cycle, specifically the modeling life cycle. But most simplistically, if you wanted to migrate a database from your Oracle or SQL Server that it's been on, and you want to put it somewhere else, the first thing you need is an inventory of what exists in that database, whatever platform it's on.
Now, you may be able to generate a script from SQL Server of what they call DDL, or Data Definition Language. And if you're a really super good person that understands data definition language, which is a version of SQL, you may be able to garner what's going on and really understand what's going on there.
Now, that's just. you. If you don't have as much experience, you may not. If you're trying to collaborate with people that aren't, you're going to have a very hard time taking what is essentially cryptic code and try to start to get a conversation and a working relationship about what's required to move this thing forward.
So reverse engineering in its most simple form is pointing your data modeling tool at a specific instance in the database of your choice. Now, erwin Data Modeler supports all of the old-- I don't want to call them old-- all of the traditional relational databases, all of the popular NoSQL databases, all of the new cloud data warehouses and their extended catalogs.
And I can pull in to a very structured environment that includes a visualization exactly what exists on that database-- the tables, the columns within the tables, the data types, any validation rules that you may have, lists of what is a valid value in this field and what isn't. It'll pull all of the stored procedures, indexes, all of these physical things that have been built in a database to make it work.
You now have a full-- just by pressing a button. And you don't have to do it all. You can do it selectively because again, erwin will allow you to say which objects would you like to include in this reverse engineer. But you can basically click a button, or you can set up standardized templates that you enforce how things get reverse engineered using our data modeler.
And I can go on all day about these types of things. But basically, you're pushing a button. And now you have a graphical depiction of a very complex system that you can drill down into and say, here's your order table. Here's your customer table. These are the columns that are in there. These are the data types. These are the valid values. These are the indexes that are making those things perform faster when they're queried. These are the materialized views that are bringing these things together to expose for specific applications that exist out through the organization. A complete inventory that--
I was going to say even for planning and design? That's--
It's [INAUDIBLE]. Imagine trying to do that yourself by generating a script from your database. And then what do you do with that? Do you articulate a document that you start typing out descriptions and metadata? All of that exists and you can get it. But you can get it all hung together in a structure so that you understand how this thing really, really works together.
Now forward engineering is the opposite side of that, which is taking a model that has all of that good information and pressing a button to