Schema Surf

DBA xPress ›› Features ››
Parent Previous Next

Schema Surf

Schema surfing allows you to visualize the schema of your databases, tracking the dependencies between the objects even if those dependencies are run-time dependencies. For example, you want to modify a table, and you need to see which objects rely on that table - including any references by foreign keys, views, stored procedures, functions and even triggers on other tables.


Schema Surf makes it easy for you to achieve this task. Simply create a new surf in the database that you want to surf, and select the object you're interested in to see a graph of the connected objects. Then, from there, click on any object in the graph and start to 'surf' the inter-dependencies within your schema. You can remove and color nodes, and show the script of the highlighted object by right clicking on any node in the surf graph. You can even export the image of your graph so that you can include it in reports.

Feature Highlights

  See how objects in a database are related

  Generate entity views of objects

To create a new surf you can

  Use the 'new surf' option on the toolbar or menu

  Right click on a database in the databases pane and click 'Start Surfing...'

  Right click on an object in the object browser and click 'Start Surfing...'

  Open Schema Surf from the Pragmatic Workbench

When opened from within workbench, users will be greeted with the Connect To Database window.


After doing one of those, the schema of the database will be loaded and a new tab will be created. When starting surfing via the object browser, the object selected will be shown on the surf graph. For the other methods, the surf graph will be blank, and you will need to select an object.

To change the color of a node, we right click it, and using the 'Color node' option, we can either select a pre-defined color, or select a user-defined color. As we roll over the colors, the node shows a preview of itself in that color. If we select one of the 'Color node and dependents' option, then as we roll over the colors, all nodes that that will be colored show a preview of themselves in that color, as follows:



There are four dependents options for both the color and remove options:





Immediate Referencing Dependents

This option acts on the objects that make reference directly to the currently selected object. For example, a view might select data from a table.

All Referencing Dependents

This option acts on the objects that make either direct or indirect reference to the currently selected object. For example, a view might select data from a table, and a stored procedure might make use of the view. Both the stored procedure and view reference the table, but the stored procedure references it indirectly.

Immediate Referenced Dependents

This option acts on the objects that are directly referenced by the currently selected object.

All Referenced Dependents

This option acts on the objects that are directly or indirectly referenced by the currently selected object.


Similarly to coloring nodes, we can remove nodes simply by right clicking on them. To remove an individual node, select the 'Remove Node' option. To remove a node and all its dependent nodes, select one of the 'Remove Node & Dependents' option. Note that the nodes that will be removed are highlighted with the usual dashed outline as we roll over this option. Individual nodes can also be deleted by selecting them and pressing the 'Delete' key. When deleting using one of the dependents options, the currently selected node will never be deleted.


To show the SQL DDL script for any object, select the 'Show Script...' option. The script for the object associated with that node is then shown in a pop-out window.


To export an image of a surf graph, use the 'Save Surf Image' option. This brings up the export dialog:



Here we can enter the width and height (which remain in the correct ratio) and select from BMP, JPEG or PNG formats. You can load and save surf graphs to disk, and when they are re-loaded then all data is loaded from the surf graph file. If you want to carry on exploring, then the target database must be available from the machine.


  To save a surf, simply go to the File menu and select 'Save Surf', or use the save button on the toolbar.

  To load a surf, you can select the option from the file menu or toolbar, or you can double click the surf file or drag it onto the Schema Surf window.


Layout Algorithms

During surfing, Schema Surf constantly arranges the nodes in the surf graph according to the currently specified layout algorithm. This algorithm can be changed by clicking the view tab, then click on the down arrow on the right hand of the layout button, and you can re-apply a layout by clicking on the left hand side of the layout button. The default layout algorithm for surf displays can be specified in the preferences screen. There are six available algorithms to use in Schema Surf.

Force Directed




Horizontal Hierarchy

Vertical Hierarchy