Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

Using the node type to solve problems with hierarchies in DB2 Universal Database

Jacques Roy (jacquesr@us.ibm.com), Technical Lead, EMC
Jacques Roy photo
Jacques Roy is a member of IBM's worldwide sales support organization. He has over 20 years of industry experience and over five years of experience with database extensibility. He is the author Informix Dynamic Server.2000: Server-Side Programming in C and co-author of Open-Source Components for the Informix Dynamic Server 9.x.

Summary:  This article describes a method for manipulating hierarchies in DB2 Universal Database through a user-defined node type. This method can greatly enhance performance and simplify developments for database applications that can benefit from a hierarchical data structure. Sample code included.

Date:  26 Feb 2003
Level:  Introductory

Activity:  1192 views
Comments:  

This article describes a method for manipulating hierarchies in DB2 Universal Database through a user-defined node type. This method can greatly enhance performance and simplify developments for database applications that can benefit from a hierarchical data structure. Sample code included.

In this article

  • The problem with hierarchies
  • Nodes and hierarchies
  • Node vs. relational implementation
  • Implementing the node type
  • Indexing and SQL statements
  • Using the node data type
  • Solving hierarchical problems
  • Appendix: Function descriptions

Overview

The world is full of hierarchies. We see them everywhere. In data management, we talk about management hierarchies, bills-of-material, product classification, object hierarchies, XML, LDAP, and so on. It is a natural way to divide problems into smaller parts so they are more manageable.

Relational databases are not inherently very good at manipulating hierarchies. With the introduction of object-relational technology, it is now possible to extend the type of data and the operations available in the relational model to accommodate business problems that require types and operations that are not included in a relational database system. The user-defined type is one of those object-relational features that have been implemented in DB2 Universal Database for Windows, UNIX and Linux.

The node type is an implementation of a user-defined type. Together with its related opera-tions, the node type is useful in handling hierarchical structures. In this article, I describe the capabilities of this new type that is provided as sample code with this article.


Downloads

DescriptionNameSizeDownload method
Article in PDF format 0302roy.pdf65KBHTTP
Code sampleDB2Node.zip21KBHTTP

Information about download methods          Get Adobe® Reader®


Resources

Learn

Get products and technologies

  • Build your next development project with IBM trial software, available for download directly from developerWorks.

Discuss

Biography

Jacques Roy photo

Jacques Roy is a member of IBM's worldwide sales support organization. He has over 20 years of industry experience and over five years of experience with database extensibility. He is the author Informix Dynamic Server.2000: Server-Side Programming in C and co-author of Open-Source Components for the Informix Dynamic Server 9.x.

Comments



Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Information Management
ArticleID=208623
SummaryTitle=Using the node type to solve problems with hierarchies in DB2 Universal Database
publish-date=02262003
author1-email=jacquesr@us.ibm.com
author1-email-cc=