Adding relational query facilities to software development environments

  • Susan Horwitz
5. Implementation Of Programming Languages
Part of the Lecture Notes in Computer Science book series (LNCS, volume 300)


Software development environments should include query handlers. Query handlers based on the relational database model are attractive because the model provides a uniform, non-procedural approach to query writing. There are two drawbacks to using the relational model to support query handlers in software development systems: (1) Standard relational database systems require that all information be stored in relations; however, the data structures used by existing software development environments are generally non-relational, and it is impractical to replace them with relations. (2) The standard relational operators are not powerful enough to express certain important classes of queries.

In [10] we proposed a model of editing environments, based on the use of relationally-attributed grammars, that supports a relational query facility. We introduced a new kind of relations, implicit relations, and a new approach to query evaluation to handle queries that use implicit relations.

In this paper we illustrate the utility of implicit relations in contexts other than relationally-attributed grammars. We extend the definition of implicit relations and show how they can be used to support relational query facilities in software development environments without giving up the use of non-relational data structures. Implicit relations can also be used to provide non-standard relational operations such as transitive closure.


Logic Programming Query Evaluation Explicit Relation Relational Operation Implicit Relation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Astrahan, M. M. and D. D. Chamberlin, “Implementation of a structured English query language,” Communications of the ACM 18(10) pp. 580–588 (Oct. 1975).Google Scholar
  2. 2.
    Blasgen, M. W. and K. P. Eswaran, “Storage and access in relational databases,” IBM Systems Journal 16(4) pp. 363–377 (1977).Google Scholar
  3. 3.
    Chandra, A., “Programming primitives for database languages.,” Conference Record of the 8th ACM Symposium on Principles of Programming Languages, pp. 50–62 (Jan. 1981).Google Scholar
  4. 4.
    Codd, E. F., “A relational model of data for large shared data banks,” Communications of the ACM 13(6) pp. 377–387 (June 1970).CrossRefGoogle Scholar
  5. 5.
    Deutsch, L. P. and A. M. Schiffman, “Efficient implementation of the Smalltalk-80 system,” Conference Record of the 11th ACM Symposium on Principles of Programming Languages, pp. 297–302 (Jan. 1984).Google Scholar
  6. 6.
    Eswaran, K. P., J. N. Gray, R. A. Lorie, and I. L. Traiger, “The notions of consistency and predicate locks in a database system,” Communications of the ACM 19(11) pp. 624–633 (1976).CrossRefGoogle Scholar
  7. 7.
    Gotlieb, L. R., “Computing joins of relations,” ACM SIGMOD International Conference on Management of Data, pp. 55–63 (May 1975).Google Scholar
  8. 8.
    Hall, P. A. V., “Optimization of single expressions in a relational data base system,” IBM J. Res. Develop. 20 pp. 244–237 (May 1976).Google Scholar
  9. 9.
    Horwitz, S., “Generating language-based editors: A relationally-attributed approach,” TR 85-696 (Ph.D. thesis), Department of Computer Science, Cornell University (Aug. 1985).Google Scholar
  10. 10.
    Horwitz, S. and T. Teitelbaum, “Generating editing environments based on relations and attributes,” ACM Transactions on Programming Languages and Systems 8(4) pp. 577–608 (Oct. 1986).Google Scholar
  11. 11.
    Komorowski, H. J., “Rapid software development in a database framework — A case study,” IEEE 1984 Proceedings of the International Conference on Data Engineering, (1984).Google Scholar
  12. 12.
    Linton, M.A., “Implementing relational views of programs,” Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, pp. 132–140 (Apr. 23–25, 1984).Google Scholar
  13. 13.
    Liu, L., “Essential uses of expressions in set-oriented expressions,” Ph.D. Thesis, Department of Computer Science, Cornell University (May 1979).Google Scholar
  14. 14.
    Lu, H. and M. J. Carey, “Some experimental results on distributed join algorithms in a local network,” Proceedings of VLDB, pp. 292–304 (1985).Google Scholar
  15. 15.
    Masinter, L., “Global program analysis in an interactive environment,” Ph.D. Thesis, Stanford University, Stanford, CA (Jan., 1980).Google Scholar
  16. 16.
    Selinger, P. G., M. M. Astrahan, D. D. Chamberlin, R. A. Lorie, and T. G. Price, “Access path selection in a relational database management system,” ACM SIGMOD International Conference on Management of Data, pp. 23–34 (May–June, 1979).Google Scholar
  17. 17.
    Smith, J. M. and P. Chang, “Optimizing the performance of a relational algebra database interface,” Communications of the ACM 18(10) pp. 568–579 (Oct. 1975).Google Scholar
  18. 18.
    Stonebraker, M., “Implementation of integrity constraints and views by query modification,” ACM SIGMOD International Conference on Management of Data, pp. 65–78 (May 1975).Google Scholar
  19. 19.
    Stonebraker, M., E. Wong, P. Kreps, and G. Held, “The design and implementation of INGRES,” ACM Transactions on Database Systems 1(3) pp. 189–222 (Sept. 1976).CrossRefGoogle Scholar
  20. 20.
    Teitelman, W., Interlisp Reference Manual, Xerox PARC (Dec. 1978). (as cited in [Masinter 80])Google Scholar
  21. 21.
    Ullman, J., Principles of Database Systems, Computer Science Press, Potomac, MD (1980).Google Scholar
  22. 22.
    Wong, E. and K. Youssefi, “Decomposition — a strategy for query processing,” ACM Transactions on Database Systems 1(3) pp. 223–241 (Sept. 1976).Google Scholar
  23. 23.
    Yao, S. B., “Optimization of query evaluation algorithms,” ACM Transactions on Database Systems 4(2) pp. 133–155 (1979).Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1988

Authors and Affiliations

  • Susan Horwitz
    • 1
  1. 1.Computer Sciences DepartmentUniversity of Wisconsin — MadisonMadison

Personalised recommendations