6.1. SUMMARY
The main objective of this thesis has been to investigate the application of current and proposed constraint processing alternatives in engineering design relational database management systems. The objective has been accomplished through:
• the investigation of current constraint processing mechanisms; • the development of a taxonomy for constraint sources and types; • the presentation of a proposed constraint processing mechanism
[19] which utilizes constraint checking functions and assignment procedures to enforce single relation-single tuple constraints;
• the extension of this proposed model to include the enforcement of all types of single and multiple relation constraints; and
• the presentation of a design example comparing the extended constraint processing mechanism to the traditional approach to constraint processing, namely, normalization.
The conclusions and recommendations for further research presented in the following sections resulted from the investigation.
6.2. CONCLUSIONS
The extended constraint processing mechanism presented herein appears to be applicable to all types of constraints which occur in engineering design. The ability to access any data from the database enables the mechanism to enforce the multiple relation constraints as well as the single relation constraints.
119
This mechanism can readily be incorporated into existing relational database management systems, since it fits directly into the RDBMS framework. For example, the assertion process of a RDBMS would need the following three major extensions to implement the proposed mechanism:
1. allow arbitrary mathematical and relational operations in the specification of the assertions in the query language;
2. provide a control mechanism and a query language interface to allow a user to control which constraints are to be enforced at any given time i.e. INVOKE, ACTIVATE and DEACTIVATE; and
3. include a mechanism that can process (store and retrieve the values of) the constraint status attributes for the constraint processing functions.
The efficiency of the proposed mechanism is questionable. Since most constraint functions or procedures must retrieve data from the database, it could be argued that the mechanism is to costly to implement (due to the extra processing effort). However, if the procedures are designed so that all query operations are specified at the same time, most database systems are capable of optimizing the query for efficiency. Efficiency is most likely to be a problem for multiple relation constraints, but the database schema can usually be designed to minimize the number of such constraints. Thus overall efficiency may not be a significant problem.
6.3. FUTURE WORK
The presentation of the constraint processing mechanism in this thesis has been limited to the constraint procedures themselves. However, a linkage between the database an these constraint procedures still must be developed so that all appropriate constraints are checked upon the update of a specific data item. This entails the development of a formal mechanism which can translate the assertion of the constraint procedures into an "information network" that the database can use to determine which constraints are to be checked.
Currently, the constraint functions and procedures are supplied by the database developer or user. A system similar to the one developed by Stirk [20] that can automatically generate these procedures using decision tables
120
based on design codes, design objectives or specific dependencies could be implemented. In addition, the techniques developed by Holtz [17] for dealing with inequality constraints may be used to develop assignment procedures for any designable quantities.
Continued work on any of the topics presented in this thesis, require a fully implemented DBMS including all of the capabilities discussed in Sections 3.4.3 and 3.4.4. Once this is completed, the design example presented in Chapter 5 can be implemented to provide an actual demonstration of the usefulness of this constraint processing mechanism.
Finally, although this mechanism has been shown to be successful for the specific design procedure described in Chapter 4, further investigations are needed to prove its applicability to other areas of engineering design.
121
REFERENCES
[1] Aho, A. V., Beeri, C, and Ullman, J. D. The Theory of Joins in Relational Databases.
ACM Transactions on Database Systems 4(3):297-314, September, 1979.
[2] American Institute of Steel Construction.
Manual of Steel Construction
Eighth edition, American Institute of Steel Construction Inc., Chicago, Illinois, 1980.
[3] Bernstein, P. A., Blaustein, B. T. and Clarke, E. M.
Fast Maintenance of Semantic Integrity Assertions Using Redundant Aggregate Data.
Proceedings Sixth International Conference on Very Large Databases ,
October, 1980. [4] Blasgen, M. W., et. al.
System R: An Architectural Overview.
IBM Systems Journal 20(1):41-61, 1981.
[5] Chamberlin, D. D. and Boyce, R. F.
Sequel: A Structured English Query Language.
Proceedings of the ACM - SIGFIDET Workshop , May, 1974.
[6] Chamberlin, D. D., et. al.
Sequel 2: A Unified Approach to Data Definition, Manipulation, and Control.
IBM Journal of Research and Development 20(6):560-575, November, 1976.
[7] Codd, E. F.
Courant Computer Science Symposia Series. Volume 6: Further Normalization of the Data Base Relational Model.
Prentice-Hall, Englewood Cliffs, NJ, 1972, . [8] Codd, E. F.
Relational Database: A Practical Foundation for Productivity.
Communications of the ACM 25(2k 109-117, February, 1982.
[9] Date, C. J.
An Introduction to Database Systems.
Addison-Wesley, Reading, Massachusetts, 1981. Third Edition.
122 [10] Fagin, R.
Multivalued Dependencies and a New Normal Form For Relational Databases.
IBM Research Report TRJ 1812 . July, 1976.
[11] Fagin, Roland.
A Normal Form for Relational Databases That Is Based on Domains and Keys.
ACM Transactions on Database Systems 6(3), September, 1981.
[12] Fagin, Ronald, Mendelzon, Alberto O., Ullman, Jeffrey D.
A Simplified Universal Relation Assumption and Its Properties.
ACM Transactions on Database Systems 7(3):343-360, September, 1982.
[13] Fenves, S. J.
Tabular Decision Logic for Structural Design.
Journal of the Structural Division of the American Society of Civil Engineers (ASCE) 92(ST6):473-490, December, 1966.
[14] Fenves, S. J., Gaylord, E. H., and Goel, S. K.
Decision Table Formulation of the 1969 AISC Specification.
Civil Engineering Studies, Structural Research Series 347, Department of Civil Engineering, University of Illinois at Urbana-Champaign, Urbana, Illinois, August, 1969.
[15] Fenves, S. J. and Rasdorf, W. J.
Treatment of Engineering Design Constraints in a Relational Database. 1982.
[16] Goel, S. K., and Fenves S. J.
Computer-Aided Processing of Design Specification.
Journal of the Structural Division of the American Society of Civil Engineers (ASCE) 97(ST1):463-479, January, 1971.
[17] Holtz, N. M.
Symbolic Manipulation of the Design Constraints: An Aid to Consistency Management.
PhD thesis, Carnegie-Mellon University, February, 1982. [18] Honeyman, Peter.
Testing Satisfaction of Functional Dependencies.
Journal of the Association for Computing Machinery 29(3):668-667, July,
1982. [19] Rasdorf, W. J.
Structure and Integrity of a Structural Engineering Design Database.
PhD thesis, Carnegie-Mellon University, April, 1982. [20] Stirk, J.
Two Software Aids For Design Specification Use.