Skip to main content

Funktional rekursive Anfragen auf der Basis von geschachtelten Tabellen

  • Conference paper
Datenbanksysteme in Büro, Technik und Wissenschaft

Part of the book series: Informatik-Fachberichte ((INFORMATIK,volume 204))

Zusammenfassung

Diese Arbeit demonstriert eine neue Methode für rekursive Anfragen in Zusammenhang mit geschachtelten Tabellen. Die Methode wird funktionale Rekursion genannt. Im Gegensatz zu den meisten früheren Ansätzen formuliert der Benutzer rekursive Anfragen mit Hilfe einer Funktion statt einer üblichen Mengenrekursion. Das Terminierungskriterium ist implizit gegeben und muß nicht wie bei einer konventionellen Programmiersprache explizit programmiert werden. Durch entsprechende Parameter kann der Benutzer eine Selektion auf sehr natürliche Weise in die Rekursion integrieren. Dies ist ein wesentlicher Vorteil gegenüber konventioneller mengenorientierter Rekursion. Bei mengenorientierter Rekursion ist der Benutzer meist gezwungen, zunächst eine rekursive Anfrage zu formulieren, welche konzeptionell eine sehr große Menge liefert. Auf diese Menge wird dann eine Selektion angewendet. Es ist Aufgabe des Optimierers, die Selektion in die Rekursion zu integrieren, d.h. es ist Aufgabe des Optimierers, herauszufinden, was der Benutzer eigentlich ausdrücken wollte, weil hier eine Integration einer Selektion in die Rekursion nicht direkt ausdrückbar ist. Diese Probleme werden bei Verwendung von funktionaler Rekursion vermieden. Die Methode wird erläutert an Hand von Beispielen aus dem Gebiet des Software Engineering. Hierdurch wird demonstriert, daß die Methode sich u.a. anbietet für Probleme aus dem Bereich des computeruntersützten Software Engineering (CASE). Die Methode ist jedoch nicht beschränkt auf diesen Problemkreis. Optimierungsund Implementierungstechniken werden ebenfalls in der Arbeit angegeben.

Abstract

The work presented in this paper demonstrates a new method for recursive queries in the context of nested tables. The method is called functional recursion. In contrast to most previous approaches, the user formulates recursive queries by writing a function instead of a set recursion. The termination criterion which sometimes is rather complex does not have to be programmed by the user but is given implicitely. By providing appropriate parameters to a function, the user can integrate a selection into the recursion in a convenient and natural way. This is not the case for set recursion. When using set recursion, the user is forced to formulate a query which computes more than is really needed. It is the task of the optimizer then to push a subsequent selection into the recursion. This means that the user cannot write the query in a natural way. Instead, the system has to figure out what the user wants. All these problems are avoided when using recursive functions as defined in this paper. The method is illustrated by several examples taken from the area of computer aided software engineering (CASE). Nevertheless, the method is not restricted to CASE problems. Moreover, implementation and optimization techniques are given in the paper.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 54.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 69.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Literatur

  1. S.Abiteboul, N.Bidoit: Non First Normal Form Relations: An Algebra Allowing Data Restructuring. Rapports de Recherche No 347, Institut de Recherche en Informatique et en Automatique, Rocquencourt, France, Nov. 1984.

    Google Scholar 

  2. S.Abiteboul, S.Grumbach: COL: A Logic-Based Language For Complex Objects, INRIA Rapports de Recherche No. 714, September 1987

    Google Scholar 

  3. R.Agrawal: An Extension of Relational Algebra To Express a Class of Recursive Queries, Proc. Third IEEE Conference on Data Engineering, Los Angeles, 1987, 580–590

    Google Scholar 

  4. A.V. Aho, J.D. Ullman: Universality of Data Retrieval Languages, 6th ACM Symp. on Principles of Programming Languages, San Antonio, Texas, January 1979, 110–117

    Google Scholar 

  5. F.Andersen, V.Linnemann, P.Pistor, N.Südkamp: Advanced Information Management Prototype: User Manual for the Online Interface of the Heidelberg Data Base Language (HDBL) Prototype Implementation, Release 2.0, 21 January 1988, IBM Scientific Center Heidelberg TN 86.01

    Google Scholar 

  6. Appelrath,H.J.: Von Datenbanken zu Expertensystemen, Informatik-Fachberichte 102, Springer-Verlag 1985

    Google Scholar 

  7. F.Bancilhon, D.Maier, Y.Sagiv, J.D.Ullman: Magic Sets and other strange ways to implement logic programs, Proc. ACM SIGMOD-SIGACT Symp. on Pronciples of Database Systems, Cambridge, Mass., March 1986

    Google Scholar 

  8. F. Bancilhon, R.Ramakrishnan: An Amateur’s Introduction to Recursive Query Processing Strategies, Proc. ACM SIGMOD Conf., Washington,D.C, 1986, 16–52

    Google Scholar 

  9. W.F. Clocksin, C.S. Mellish: Programming in PROLOG, Springer Verlag 1981

    MATH  Google Scholar 

  10. I.F. Cruz, A.O. Mendelzon, P.T. Wood: A Graphical Query Language Supporting Recursion, Proc. ACM SIGMOD Conf., San Francisco, 1987, 323–330

    Google Scholar 

  11. E.F.Codd: Relational Completeness of Database Sublanguages. In Database Systems, ed. R. Rustin, Courant Comp. Sc. Symposia Ser. Vol. 6, Englewood Cliffs, N.Y. Prentice Hall, 1972.

    Google Scholar 

  12. P.Dadam, K.Küspert, F.Andersen, H.Blanken, R.Erbe, J.Günauer, V.Lum, P.Pistor, G.Walch: A DBMS Prototype to Support Extended NF2 Relations: An Integrated View on Flat Tables and Hierarchies, Proc. ACM SIGMOD Conf., Washington,D.C, 1986, 356–367

    Google Scholar 

  13. G. Gardarin: Magic Functions: A Technique to Optimize Extended Datalog Recursive Programs, Proceedings of the 13th Conference on Very Large Data Bases, Brighton, 1987, 21–30

    Google Scholar 

  14. H. Gallaire, J. Minker, J.M. Nicolas: Logic and Databases: A Deductive Approach, Comp. Surveys, Vol.16, No.2, June 1984, 153–185

    Article  MATH  MathSciNet  Google Scholar 

  15. R.L.Haskin, R.A. Lorie: On Extending the Functions of a Relational Database System. Proc. SIGMOD 82, Orlando, June 1982, 207–212.

    Google Scholar 

  16. M. Jarke, J.Clifford, Y.Vassiliou: An Optimizing PROLOG Front-End to a Relational Query System, Proc. ACM SIGMOD Conference, Boston 1984, 296–306

    Google Scholar 

  17. Y. Ioannides, L.L. Shinkle, E. Wong: Enhancing INGRES with Deductive Power, in /Ke84/, 847–850

    Google Scholar 

  18. MJarke, V.Linnemann, J.W.Schmidt: Data Constructors: On the Integration of Rules and Relations, Proc. 11th Intern. Conf. on Very Large Data Bases, Stockholm, August 1985, 227–240

    Google Scholar 

  19. L. Kerschberg (ed.): Proc. of the First International Workshop on Expert Database Systems, Kiawah Island, South Carolina, October 1984

    Google Scholar 

  20. R.Kowalski: Logic as a Database Language, Department of Computing, Imperial College, London, 1981

    Google Scholar 

  21. W.Lamersdorf: Recursive Data Models for Non-Conventional Database Applications, Proc. First Intern. IEEE Conference on Data Engineering, Los Angeles, 1984

    Google Scholar 

  22. W.Lamersdorf, G.Müller, J.W.Schmidt: Language Support for Office Modelling. VLDB Proc, Singapore, 1984, 280–288.

    Google Scholar 

  23. V.Linnemann: Constructorset’s Database Support for Knowledge Based Systems, Proc. Second IEEE Conference on Data Engineering, Los Angeles, 1986, 244–251

    Google Scholar 

  24. V.Linnemann: Non First Normal Form Relations and Recursive Queries: An SQL-Based Approach, Proc. Third IEEE Conference on Data Engineering, Los Angeles, 1987, 591–598

    Google Scholar 

  25. V.Linnemann: On the Relationship Between Recursive Queries and Complex Objects, IBM Scientific Center Heidelberg Technical Report TR88.02.003, February 1988

    Google Scholar 

  26. V.Linnemann: Functional Recursion and Complex Objects, IBM Scientific Center Heidelberg Technical Report TR88.12.017, December 1988 (in preparation)

    Google Scholar 

  27. B.Mitschang: MAD — ein Datenmodell für den Kern eines Non-Standard-Datenbanksy-stems, Proc. GI Fachtagung ‘Datenbanksyteme in Büro, Technik und Wissenschaft’, Darmstadt 1987, Informatik Fachberichte 136, pp. 180–195

    Google Scholar 

  28. E.Neuhold, M.Stonebraker (ed.): Future Directions in DBMS Research, International Computer Science Institute Technical Report TR-88–001, May 1988

    Google Scholar 

  29. P.Pistor, F.Andersen: Principles for Designing a Generalized NF2 Data Model with an SQL-type Language Interface, 12th Intern. Conf. on Very Large Data Bases, Kyoto, Japan, Aug. 1986, 278–285

    Google Scholar 

  30. P. Pistor: The Advanced Information Management Prototype: Architecture and Language Interface Overview, 3. Journee Base Donnees Avancees, Port Camargue, France, May 1987

    Google Scholar 

  31. P.Pistor, R.Traunmüller: A Database Language for Sets, Lists, and Tables, IBM Scientific Center Heidelberg Techncal Report TR 85.10.004, Oct. 1985.

    Google Scholar 

  32. P.Pistor, R.Traunmüller: A Database Language for Sets, Lists, and Tables, Information Systems Vol. 11, No. 4, pp. 323–336

    Google Scholar 

  33. A.Rosenthal, S.Heiler, U.Dayal, F.Manola: Traversal Recursion: A Practical Approach to Supporting Recursive Applications, Proc. ACM SIGMOD Conf., Washington,D.C, 1986, 166–176

    Google Scholar 

  34. M.A. Roth, H.F.Korth, D.S.Batory: SQL/NF: A Query Language for ¬ INF Relational Databases, Deptm. Comp. Scienc. Univ. of Texas, Austin, TR-85–19, Sept. 1985.

    Google Scholar 

  35. H.-J.Schek, P.Pistor: Data Structures for an Integrated Data Base Management and Information Retrieval System, Proc. VLDB Conf. Mexico, Sept. 1982, 197–207

    Google Scholar 

  36. H.-J.Schek, M.Scholl: The Relational Model with Relation-Valued Attributes, Information Systems 1986, Vol.11, No.2, pp. 137–147

    Article  MATH  Google Scholar 

  37. D.Shipman: The Functional Data Model and the Data Language DAPLEX, ACM Transactions on Database Systems, Vol.6, No.1, March 1981, pp. 140–173

    Article  Google Scholar 

  38. M.Stonebraker, L.A.Rowe: The Design of Postgres, Proc. ACM SIGMOD Conf., Washington,D.C, 1986, 340–355

    Google Scholar 

  39. J.D. Ullman: Implementation of Logical Query Languages for Databases, ACM TODS 10(3), Sept. 1985, 289–321

    Article  MATH  Google Scholar 

  40. L.Vieille: Recursive Axioms in Deductive Databases: The Query-Subquery Approach, European Computer-Industry Research Centre GmbH (ECRC) Internal Report KB-10, Sept. 1985

    Google Scholar 

  41. M.Woschko: Implementierung Rekursiver Anfragen in einem Datenbanksystem, Diplomarbeit Fachhochschule für Technik Mannheim 1988

    Google Scholar 

  42. S.Tsur, C.Zaniolo: LDL: A Logic-Based Data Language, Proc. 12th Intern Conf. on Very Large Data Bases, Kyoto, Japan, August 1986, 33–41

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1989 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Linnemann, V. (1989). Funktional rekursive Anfragen auf der Basis von geschachtelten Tabellen. In: Härder, T. (eds) Datenbanksysteme in Büro, Technik und Wissenschaft. Informatik-Fachberichte, vol 204. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-74571-3_37

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-74571-3_37

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-50894-6

  • Online ISBN: 978-3-642-74571-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics