Home

Support

Contact

Our Blog

Email

 

Visual FoxExpress | AFP | CrystalVFE | Xcase | Orders | Training | Consulting | Support | Forums | Contact | About

Information

What's New

Xcase Professional

Xcase for Fox

Other Editions

Xcase and VFE

Downloads

Purchase

Xcase for Fox

Xcase for Fox is a smoothly integrated, upper and lower CASE tool designed to provide a complete solution for the management of today’s increasingly complex database applications. Tightly integrated with the development environment, Xcase offers powerful automation and maintenance, assisting the FoxPro 2.x and VFP developer throughout every stage of the development process.

What Will Xcase for Fox Do For Me?

Xcase for Fox will not only assist you to correctly design your databases from the start, but Xcase’s powerful upper and lower CASE features will assist you in accomplishing every database related task encompassed by the entire life cycle of your application: From conceptual analysis, to data model design, to presentation and documentation, through database file generation, to code generation, and finally throughout on-going database maintenance.

Will Xcase for Fox Work for Me?

Whether you are developing applications with FoxPro 2.x or VFP, migrating to VFP or moving into a heterogeneous Client-Server environment also handling SQL databases, Xcase for Fox will work for you. Especially designed to work with VFP and FoxPro 2.x, it is also a migration tool that facilitates your move to VFP.

Xcase for Fox can reverse and forward engineer from VFP’s DBC, and can import from FoxPro 2.x tables. With a single mouse click on the enhanced VFP menu, you can transform a VFP model into a striking Xcase diagram. Using Xcase’s superior modeling and design tools, you can redesign your Fox databases and then generate VFP and FoxPro 2.x tables.

Xcase for Fox Does Everything You Wish Fox Could Do!

While VFP supports database management by providing a tool to design a database, a repository for Meta-data, stored procedures, triggers and referential integrity, these features have many shortcomings.

This is where Xcase comes in!

Xcase for Fox enhances and complements the VFP and FoxPro 2.x environments by providing these powerful features:

What Xcase adds to Visual FoxPro and FoxPro 2.x

Xcase

VFP

FoxPro

Customizable and robust true Data Dictionary in DBF format

+

N

--

Set all database properties without writing a single line of code

+

N

--

True design tool... no need to commit to a modification right away

+

N

--

Application allowing you to update the structure of your customer's databases

+

N

--

Model integrity checking... won't let you set relations that won't work

+

N

--

Automatic definition and maintenance of Primary, Foreign, and Inverse Keys

+

N

--

Automatic maintenance of SQL Views as you modify field names or relations

+

N

--

Customizable Referential Integrity Builder... works with Composite Keys!

+

N

--

Customizable attribute inheritance from parent field or associated Domain

+

N

--

Presentation quality diagrams: colors, fonts, annotations, graphics, zoom...

+

N

--

Print full color diagrams and define your own reports

+

N

--

Divide a complex database into manageable sub-diagrams

+

N

--

Display the information you need: descriptions, keys, indexes, physical info...

+

N

--

Combine Database Container Tables (DBC) and Free Tables in one model

+

N

--

Reverse and forward engineer SQL tables with Xcase Professional Edition

+

N

--

Customizable and true, robust Data Dictionary in DBF Format

Although VFP provides a DBC, it is not a true Data Dictionary as it does not contain information about the structure of the files, and with the DBC alone, you cannot create the database files. There is also a great deal of important Meta-data missing such as, the precise mapping between primary keys and foreign keys.

In VFP, a persistent relation is simply defined as a link between a primary index and a foreign index. When those indexes contain more than one field, as in the case of composite keys, this information is inadequate in order to correctly build Referential Integrity Code or to insure the automatic maintenance and the integrity of the Meta-data.

The Xcase Data Dictionary includes all of the crucial Meta-data information such as file structures, index keys, primary and foreign keys, and their precise mapping. In addition, you can add your own user defined attributes, and you can even customize the Xcase editors to incorporate the user defined attributes. For example, you could define a picture, a foreign language caption, or anything you choose, for a field. The Xcase Dictionary is made up of DBF files that are easy to access and allow the easy implementation of Data Driven programming as you can open the Data Dictionary at run time.

All Database Properties Are Set Without Writing A Single Line of Code

There are many DBC properties which can only be set by running code because they do not appear in the user interface provided by VFP. This is the case for many view attributes or for index collation. Xcase allows you to set all of the file and database attributes directly in the editors provided, without having to write a single line of code.

A True Design Tool: No Need To Commit To Modifications Right Away

When you modify a table structure either in FoxPro 2.x or VFP, you are required to modify the physical table when you exit the table designer. A time consuming process, you must wait for the modification to be executed before being allowed to move to the next table.

Xcase allows you to make modifications on the model rather than directly on the actual database so that you can modify many tables, moving back and forth between modifications. Once you have reviewed the ramifications of the modifications on your design, you may commit to the modifications which can be executed while you are away from your desk.

Application That Allows You To Update the Structure Of Your Customer’s Database

Let’s say that you have developed applications for customers, and after they have been installed and data has been input, you release a new version of your software which, as is often the case, includes many modifications to the database structure. Because the DBC provided by VFP does not contain information about the file structures, you are required to write a program to modify both the DBC and the table structures each time the database structure is modified. This, needless to say, is a maintenance nightmare.

Although VFP offers a utility that automatically writes a program to create a new DBC and file structures, it has two serious flaws. First, it will only create a new DBC and set of tables, but will not update an existing database containing data. In fact, you will be required to erase the existing DBF files in order to create a new DBC and set of DBF tables. The second problem is that because the utility provided by VFP compiles the stored procedures, VFP must also be installed at your customer’s site.

Xcase includes an application for installation at the customer’s site so that when you modify the database structures, you may send the updated Data Dictionary files to your customer. By simply running the application, Xcase will compare the Meta-data stored in the Data Dictionary with the actual DBC and file structures at the customer’s site, and seemlessly update these structures for you. The application we provide makes it unnecessary to have VFP installed at your customer’s site.

Model Integrity Check That Won’t Allow You To Set Relations That Don’t Work: Automatically Defines And Maintains Primary, Foreign and Inverse Keys

When you create relations in VFP, you can inadvertently set relations that won’t work. For example, in a Customer table you may have a field, Cust_ID, defined as Character 6. If you build a primary index on that field, you must manually add to the table Orders a field called, for example, Cust_ID (Foreign Key). VFP will allow you to define it as Character 5. You will then have to manually create a foreign index based on this field, and create a relation by linking the primary and foreign indexes. This relation will not work because of the mismatch between the lengths of the Primary Key fields and the Foreign Key fields. VFP will also allow you to do circular relations like A is related to B, B is related to C, and C is related back to A, without detecting that this relation is invalid.

Xcase will not only not allow you to make such errors, but it will automatically create indexes, foreign keys, inverse keys and joins for you. For example, in Xcase you first create Cust_ID in the Customer table as Character 6, and flag it as primary key. You then create a relation by simply selecting the Relation Icon and clicking on Customer, and then on Orders. The field Cust_ID will automatically "migrate" into the Orders table, which means that the field is automatically defined for you with the proper attributes. If you want to change the length of that field in Orders, you must simply change the Parent field in the Customer table, and your modification will be automatically cascaded into Orders. At the same time, the primary index will be automatically defined in the Customer table, and the foreign index will be automatically defined in the Orders table.

As you make modifications, your model is automatically and correctly updated even when the primary key is composed of multiple fields (Composite Key), as well as when the migration must occur across several relations. Whether you are working with VFP tables or Fox 2.x tables, you will fully benefit from the automation and maintenance provided by Xcase.

Automatic Maintenance Of SQL Views As You Modify Field Names, Relations And Primary Keys

In VFP if after having built views, you want to modify a field name in one of the tables, you must manually update the name of the field. In fact, all maintenance of SQL views must be done manually.

One of the most powerful features of Xcase is the way it handles views. Let’s say that you want to build a view for Order Lines, and that you want to include the name of the Boss of the Employee who took the Order. In order to function correctly, this view must use several relations. From Order Lines, you must go to Orders, from Orders to Employee, and from Employee again to Employee, using a self-relation from Employee to Employee. Xcase automatically identifies that from Order Lines to Employee, there exist two "paths": one to the Employee who took the Order, and a second one to the Boss of the Employee that took the Order. Xcase will allow you to name these two "paths", and when you select fields for a view, you can select them through the names of the "paths" without having to again specify the relations composing them.

In addition to this being a very convenient way of building views, the real power of this feature is in the automation and maintenance. For example, you may decide Employee is identified by Employee ID (Primary Key), instead of being identified by Employee Name (a poor choice given that an identification should be unique, and there may be more than one employee with the same name). Your SQL View statement will be automatically updated to all your Join statements.

Customizable Integrity Builder That Works With Composite Keys!

Xcase includes a very powerful template language that will generate virtually any database related code. Xcase replaces the Referential Integrity Code Builder of VFP with a template which overcomes the two main problems of the R. I. Code Builder. That is, unlike VFP, it works with composite keys and you can customize the generated code. Moreover, the code produced by Xcase supports nullification of a foreign key when the Parent record is deleted. Let’s say you have a Parent table, Employee, and a Child table, Customer. What should the desired Business Rule be to implement "Fire an Employee"? While VFP offers you the first three of the following choices, Xcase also offers you the fourth option:

1) Do nothing. You probably do not want to do this as it will result in a violation of Referential Integrity.

2) Cascade. When you delete Employee, you will also delete his Customers, which you probably don’t want to do either.

3) Restrict. You will not be allowed to delete the Employee if he is in charge of recorded Customers, although you want to delete the fired Employee.

4) Nullify. When you delete the Employee, then the foreign key of this Employee in the Customer file should be nullified, signaling that the Customer is currently not being handled by an Employee. (In this case, you should have, in the Employee file, a record with an empty ID.)

Customizable Attribute Inheritance From The Parent Field Or Associated Domain

Xcase provides highly sophisticated and customizable mechanisms to set attribute inheritance. In many instances, a modification of an attribute or a field should be inherited by other fields. Xcase, unlike VFP, fully supports this in three cases:

1) The Foreign Key field inherits from its Parent primary key. For example, if you want to change the caption of Cust_ID in the Customer table, you may set the automatic inheritance of the modification into the caption of the foreign key, Cust_ID, in the Orders table.

2) A View field inherits from its Parent field. You may set that any view which also contains the Cust_ID field will have the caption automatically modified as well.

3) A field inherits from its Parent Domain. Xcase allows you to define domains, which are actually extended field specifications that can include type, size, and also caption, validation, and even user defined attributes, etc. For example, you can define a domain called Telephone, and define all of its attributes. When you define a field, you can identify it as type "Telephone" and not simply as a character. The field will then automatically inherit all of the attributes of the domain, unless you choose to override them. Finally, when you modify an attribute of a domain, Xcase will allow you to selectively cascade that modification to all of the fields sharing that domain in your model.

Presentation Quality Diagrams and Reports

Your database design will have a tremendous impact on the quality of the information system which you will supply to your customer, and on the degree to which it will reflect the customer’s business world. For this reason, it is essential to be able to communicate well with both your colleagues and your clients, not only using screen designs, but above all, with clear and attractive diagrams of your database design.

Xcase produces presentation quality diagrams at various levels of detail, with various types of content and technical information such as keys, indexes, descriptions, etc. You may choose to show descriptions to customers with limited understanding of database design, while choosing to show your colleagues physical attributes, focusing perhaps on keys rather than showing all of the fields. Xcase allows you to print the diagrams in full color and in any size. You have full control of color and fonts, and may add graphic shapes, annotations, etc.

A powerful documentation tool, Xcase gives you the option of using the built-in report writer or, any xBase compatible report writer, to fully document your database design. Divide A Complex Database Into Manageable Sub-Diagrams

The trend today to include more aspects of an enterprise, such as production, sales, inventory, personnel, etc. makes great demands on modern databases which must necessarily contain a large number of tables. The database must reflect the independence and interrelation of the various departments in a business, which in some cases are managed by different programmers.

Xcase allows you to break a complex database down into multiple diagrams, each containing only a sub-set of the tables of the model. You can zoom-in and out, and open multiple windows showing different sections of the diagram simultaneously. This "Divide and Conquer" feature is sorely lacking in the database design tool that comes with VFP, as well as in FoxPro 2.x.

Combine Database Container Tables(DBC) and Free Tables in One Model

When you design a database using VFP, you are restricted to tables belonging to a DBC. Sometimes, however, you may want to include in your design free tables that belong to a system not ported to a DBC format. Xcase allows you to do so.

How Does Xcase for Fox Compare With The Competition?

Other data modeling tools on the market provide only limited support for FoxPro 2.x , and none handles VFP’ s DBC tables. While some will allow you to create FoxPro 2.x tables, it is not possible to modify their structure while preserving existing data.

Price

Most of the competing products are sold for a much higher price than is Xcase for Fox, Standard Edition. By no means a scale down program, Xcase not only provides extremely tight support for both VFP and FoxPro, but in general, offers many more powerful enhancements than the higher priced products.

We are offering the upgrade from the Standard Edition to the Professional Edition at the difference in the list price (plus a nominal shipping and handling charge).

Copyright (c) 2008, F1 Technologies