hash file

Post questions here relative to DataStage Server Edition for such areas as Server job design, DS Basic, Routines, Job Sequences, etc.

Moderators: chulett, rschirm, roy

Post Reply
sri75
Premium Member
Premium Member
Posts: 132
Joined: Thu Sep 09, 2004 12:42 pm

hash file

Post by sri75 »

Hi,

I am new to DataStage.I am learning datastage by myself and dsxchange forum is helping me a lot.I have some doubts about multi-valued colmn in a hash file
I read all questions and answers about multi valued column .Still I didn't get much.Could anybody please explain with simple job.


Thanks
Sri
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Welcome aboard! :D

There are some databases, such as UniVerse and UniData, that allow you to have not just one value, but also more than one value in a column in a row. Typically this is a list of some kind, such as a person's qualitications or dependants' names. In the terminology of these databases, such columns - or fields - are referred to as "multi-valued" because they can contain more than one value at once.

Mullti-valued fields can be associated with one another. For example in a student record one multi-valued field might contain a list of classes for which the student is enrolled, and an associated multi-valued field might contain grade obtained for that class. These associated multii-valued fields are normally given a collective name, called the "association name", which is displayed in imported table definition. It's kind of like a nested table.

Extended query techniques allow individual values to be extracted from or inserted into mutli-valued fields.

In DataStage, the Hashed File stage, UniVerse stage and UniData stage types all have the capacity to deal with the multi-valued data found in these fields.

Yes, it's a violation of first normal form, but extremely I/O efficient in that redundant foreign keys do not need to be stored nor child tables joined. Everything about the entity is accessible in the one record.

Indeed more than one level of nesting is possible. For example, the student record might have a list of assigmnent grades for each class. The assignments column is referred to as multi-subvalued.

Unless you are connecting to a database that supports multi-valued data, you will never need to be concerned either about the concept or how to implement it in a DataStage job.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
sri75
Premium Member
Premium Member
Posts: 132
Joined: Thu Sep 09, 2004 12:42 pm

Post by sri75 »

Hi Ray,

Thanks for the valuable information.

ray.wurlod wrote:Welcome aboard! :D

There are some databases, such as UniVerse and UniData, that allow you to have not just one value, but also more than one value in a column in a row. Typically this is a list of some kind, such as a person's qualitications or dependants' names. In the terminology of these databases, such columns - or fields - are referred to as "multi-valued" because they can contain more than one value at once.

Mullti-valued fields can be associated with one another. For example in a student record one multi-valued field might contain a list of classes for which the student is enrolled, and an associated multi-valued field might contain grade obtained for that class. These associated multii-valued fields are normally given a collective name, called the "association name", which is displayed in imported table definition. It's kind of like a nested table.

Extended query techniques allow individual values to be extracted from or inserted into mutli-valued fields.

In DataStage, the Hashed File stage, UniVerse stage and UniData stage types all have the capacity to deal with the multi-valued data found in these fields.

Yes, it's a violation of first normal form, but extremely I/O efficient in that redundant foreign keys do not need to be stored nor child tables joined. Everything about the entity is accessible in the one record.

Indeed more than one level of nesting is possible. For example, the student record might have a list of assigmnent grades for each class. The assignments column is referred to as multi-subvalued.

Unless you are connecting to a database that supports multi-valued data, you will never need to be concerned either about the concept or how to implement it in a DataStage job.
Post Reply