• Help Needed
  • Aware's Created DB Tables have no Foreign keys - why?

eagles9999 wrote

The paradigm is thankfully the same in V7 as in V6 in respect to DB Table structure.

If you are waiting for Aware IM to dump it's technological advantage to revert to having the Developer manage Primary and Foreign Keys as they need to do in less advanced environments then you will be waiting a long time.

The reason we love it so much is because it is the way it is.

It's nice in the respect that it's easy to develop an AwareIM app ... if it's the only tool that will ever come into play.

In general, the application layer managing data integrity at the database level falls apart quickly.

How would sell this to a typical enterprise where there are a number of systems accessing a given database?

If it doesn't satisfy your needs then there is a pretty simple solution.

eagles9999 wrote

If it doesn't satisfy your needs then there is a pretty simple solution.

I expected you'd offer a more productive suggestion/comment.

Do you really think that the people have brought this topic up are misguided?

Do you feel that this topic is not worth discussing? If so, there is a pretty simple solution.

It may not be practical for all external DB tables accessed by AwareIM, but I have an application that accesses a Kentico CMS database as an "existing external" table, then creates certain AwareIM cross reference records in an "AwareIM automatic" table. The AwareIM table has plenty of cross references to the existing external table which allows me to take full advantage of all AwareIM features in the AwareIM automatic table. It's really the best of both worlds.

We do intend to improve communication with external databases in the near future. In fact, it will be one of the major directions for the next version.

The improvements will include the foreign key constraint and better automatic recognition of relationships in external databases.

aware_support wrote

We do intend to improve communication with external databases in the near future. In fact, it will be one of the major directions for the next version.

The improvements will include the foreign key constraint and better automatic recognition of relationships in external databases.

Awesome .. this is music to my ears!

aware_support wrote

We do intend to improve communication with external databases in the near future. In fact, it will be one of the major directions for the next version.

The improvements will include the foreign key constraint and better automatic recognition of relationships in external databases.

As the OP for this thread, I'm super happy to hear that Support. This has been the # 1 concern when I demo Aware to prospects who would like to use Aware in conjunction with other products, i.e. third party Business Intelligent software to analyze data. These software require foreign keys and relationships.

There have been two cases that I've ran into:
Case 1 is that Aware is the creator and owner of the tables and other third party want to access the DB like a any other DB and has the full schema about tables, relationships and using foreign keys for performance and etc. This relates mostly to Aware developers.

Case 2 is where I've ran into, the most. With the powerful ORM and fast application development in AwareIM, it begs to introduce Aware to companies who can use to read/write data to an established application. For example, Aware can step in, automatically read the schema and create BO structure and Aware developer can then build Mobile apps. In this case, Aware will/should not be able to change the structure of the DB, since the DB is maintained by DB Admin. Any changes made to DB, Aware should recognize it and make adjustments to it's internal BO structure.

I would say 80% of the cases that I've demoed Aware to, has been case #2. As a Consultant, I want to offer Aware but they ask for DB features that are not in Aware and I can't take the job.
I hope this feedback was helpful.

aware_support wrote

We do intend to improve communication with external databases in the near future. In fact, it will be one of the major directions for the next version.

The improvements will include the foreign key constraint and better automatic recognition of relationships in external databases.

Support,

This is GOOD NEWS no .. AWESOME NEWS!

Ben, you said:
Aware will/should not be able to change the structure of the DB, since the DB is maintained by DB Admin. Any changes made to DB, Aware should recognize it and make adjustments to it's internal BO structure.

Aware adds 3 columns to every table to store the relationships. Why would anyone else care if you add extra columns? It will not 'break' any other application. I am not sure how any other application could do what aware does just by interpreting foreign keys. All that can do is enforce referential integrity and doesn't help when you, in aware, type ... WHERE (X IN Y.Z)

Bruce

Matter of fact, except for hinting to a tool that will "build" the SQL for you, the foreign keys don't off you any additional functionality (assuming that the DB has the appropriate indexes. The joins will work just as fast (perhaps faster, if you intelligently create covering indexes)

But, what do I know....

Bruce

BLOMASKY wrote

Ben, you said:
Aware will/should not be able to change the structure of the DB, since the DB is maintained by DB Admin. Any changes made to DB, Aware should recognize it and make adjustments to it's internal BO structure.

Aware adds 3 columns to every table to store the relationships. Why would anyone else care if you add extra columns? It will not 'break' any other application. I am not sure how any other application could do what aware does just by interpreting foreign keys. All that can do is enforce referential integrity and doesn't help when you, in aware, type ... WHERE (X IN Y.Z)

Bruce

My comment came from a prospect IT manager who was also the DB Admin and he stated he doesn't want any other app to make any modifications to the structure of their DB.

Cause, Donald Trump is gonna deport all of them their Foreigners and their Keys also!

So THERE!!!

Bruce

(sorry... really sorry... sort of...)

Thanks, Tom for that creative example.