Such an environment starts with key frameworks designed both for use and extensibility. Examples include location and management of data source drivers, and configurations for access to particular data source instances. Once a connection is successfully made, the next task often is to explore the data source, making changes as required. Some of these operations might be carried out by
GUI actions, others directly through commands. For example, users - both developers and administrators - typically will create, edit, and test SQL for these commands. Assistance in editing SQL through code completion, formatting, and dialect specialization, greatly enhances productivity. Further, the ability to execute or debug commands, both SQL and stored procedures, rounds out the rapid development process. Finally, bridging chasms, whether between relational, object, or other structures, presents challenges that data management tooling should address.