Saturday, August 12, 2006

Orthogonal Data is Aspect Oriented

What is a database? A place to store information that can retrieve that information at a later time. An RDBMS is the most popular form of "database". But a bunch of tables isn't an intuitive way to represent information. We are taught that it is, but is this really true?

Did you ever think that putting time modified information along with customer name, and other customer data was wrong? I think that a better way to define data would be to seperate the various types of data from each other in the persistence model declaration. So you would create a customer object definition or "table", and it would not have application types of information in the customer table. The query language would provide access to whatever the application might need, but the customer definition would be clean. The domain data is orthogonal to application data, and should not be intermingled into the same definition. This is the aspect oriented way to define data.