PROGRESS-PLUS logo
Documentation home
Create a Project
PRO4m Parameters
Source Code Scanner
Project Resources brws
Project Report Gen.
Database Browser
- Table Data Inspector
- Data Export
- Join Tables
DB Data Copier
Program Header Gen.
AutoStart Scheduler
 
PRO4m Installation
PRO4m Registration
Check for new release
Add to PRO*Tools
Prolint integration
VSS integration
Error Messages
 
PRO4m FAQ

PRO4m is able to automatically recognize Progress database tables relations defined in Progress database schema by an unique index for a parent table field(s) and an index for a child table field(s), where fields in parent and child tables have similar names. For example: State.state with an unique index for that field is a parent table to Customer.state with a not unique index on 'state' field.

PRO4m picks this information from the metaschema tables automatically and you don't have to worry about how to keep PRO4m relations table up to date.

Unfortunately database schema is not always defined like that. Sometimes indexes for related parent-child tables don't exist, sometimes fields have different names even logically being in parent-child relation. PRO4m (as well as Progress Data Dictionary) is not able to automatically recognize fields relations in that case.

To tell PRO4m what the tables relations are we wrote following two programs: "Join Tables" and "Update Relations". These two programs let a user to tell PRO4m about not obvious tables relations, where it is not possible to recognize it automatically.

top

Our programs DO NOT modify Progress metaschema (PRO4m never does it) keeping the tables relation remembered. Programs do store additional tables joins in a PRO4m project file. So it is completely safe to use our Join Tables tool. This information is used by our Dynamic DB Browser and Tables Data Inspector utilities joining the database tables to provide flexibility, making it easy to use and to understand Progress Database tables relations to PRO4m users.

top

"Join Tables" and "Update Relations" programs available from Dynamic DB Browser and from Table Data Inspector window menus. See an example below:

top

"Join Tables" module creates a new tables join in two steps:

1. Select a parent table, define a field to join and click "Next" to continue.

2. Select a child table and a child table field to join and click "Join" button.

3. Use "more fields.." button to join tables by more than one field (up to seven). Fields datatype must match to let the program add fields to the joins list.

Here you can customize your joins by adding conditions to the join WHERE phrase, which will be added to your query automatically at the time of opening a query for the joint tables (see an example below).

top

"Update Relations" module basically does the same with the only difference - it lets you to modify already existing joins and to enable/disable existing joins without removing from the joins list ("Delete" button and "Status" column).

Here you also can update your join conditions to parent and child tables WHERE phrases for any selected join.

Here is an example of your join condition automatically added to WHERE phrase when building a query for Invoice table as a parent table to Customer table.

** Click on image to preview in a separate window

top


Tips and Tricks
  • Our Tables Relations Loader is ~10-30 times faster (depending on number of tables in the database) than similar Progress Data Dictionary's program;
  • Save your PRO4m project to disk if you want your changes to be available on your next PRO4m session.

top


Last updated: November 10, 2003 12:08 PM
© 2001-2003 PROGRESS PLUS SOLUTIONS