Authors:
Hung-chih Yang
and
D. Stott Parker
Affiliation:
UCLA, United States
Keyword(s):
Table-Driven Programming, Object-Relational Databases, Dynamic Method Dispatch.
Related
Ontology
Subjects/Areas/Topics:
Databases and Information Systems Integration
;
Enterprise Information Systems
;
Information Systems Analysis and Specification
;
Object-Oriented Database Systems
;
Software Engineering
Abstract:
In database systems, business logic is usually implemented in the forms of external processes, stored procedures, user-defined functions, components, objects, constraints, triggers, etc. In this paper, we advocate the idea of storing business logic – in the form of functions – as data in tables. This idea gives a basis for applying the software-engineering methodology of table-driven programming in SQL. The query evaluation process then needs only to be extended with mechanical evaluation of “joined” data and functions. This approach can make understanding and maintenance of stored business logic transparent as relational data. In short, data and functions are integrated in a relational manner. Using a common enterprise application as an example, we demonstrate this methodology with an existing ORDBMS capable of storing polymorphic objects. We also discuss this approach’s shortcomings and alternatives.