Beruflich Dokumente
Kultur Dokumente
2
Introduction to
Alternate Indexes
3
Introduction to
Alternate Indexes
• Records
– are maintained in logical sequence based
upon the primary key values via the prime
index
– are also maintained in logical sequence
based upon values of alternate key via
additional indexes called alternate indexes
4
Introduction to
Alternate Indexes
5
KSDS Base Cluster
6
KSDS Alternate Index
7
KSDS Alternate Index
8
Processing via
KSDS Alternate Index
9
Processing via
KSDS Alternate Index
• VSAM proceeds:
– reads in the CI from the AIX data
component and locates the record that
corresponds to the supplied alternate key
value
• this record contains the primary key value of
the desired base cluster record
– the primary key value just obtained is used
to search the primary index as normal
10
Processing via
KSDS Alternate Index
• VSAM proceeds:
– the CI is read from the base cluster and the
desired record is extracted from it and
passed to the application program
• VSAM performs 2 separate index
searches to locate the desired record
– first the AIX
– second the primary index
11
ESDS Alternate Index
12
ESDS Alternate Index
13
ESDS Alternate Index
• VSAM:
– searches the index component of the AIX
to locate the appropriate CI in the AIX data
component
– reads in the CI and locates the particular
record in the data component that
corresponds to the supplied alternate key
value
• this record contains a direct RBA pointer to the
desired record in the data component of ESDS
base cluster 14
ESDS Alternate Index
• VSAM:
– the CI that contains the desired record is
read from the data component of the ESDS
is extracted from it based on the RBA
value obtained from the AIX
15
Paths and AIX
• Path
– combination of an AIX and the base cluster
– has separate set of attributes defined
separately from attributes of AIX or base
cluster
– use DEFINE PATH to create a path
– define both base cluster and AIX first
16
Paths
and AIX
17
Paths and AIX
• In KSDS
– primary key must have unique values
– when an insertion of a duplicate key value
is attempted an invalid key is issued
• AIX may be either
– unique or
– nonunique
20
Nonunique
Alternate Key Values
21
Nonunique
Alternate Key Values
• In AIX
– there is one record in the data component
for each unique AIX key value
– has multiple pointer to associated records
in the base cluster
22
Nonunique
Alternate
Key Values
23
Upgrade in AIX
• When updates to base cluster - AIX
may need updating
• VSAM can be directed to perform all
AIX updates automatically
• Specify UPGRADE option in DEFINE of
AIX
• All AIX of a cluster with upgrade option
are known as the base cluster’s
upgrade set 24
Upgrade in AIX
• Upgrade Set
– when base cluster is updated, the
corresponding updates are applied to all
AIXs in the upgrade set
• Application program has to update any
AIXs not in the upgrade set
25
Defining a
KSDS Alternate Index
• Using IDCAMS
– DEFINE ALTERNATEINDEX
• creates a catalog entry for the alternate index
• allocates space for the AIX
• associate the AIX with a base cluster
26
Defining a
KSDS Alternate Index
DEFINE ALTERNATEINDEX (-
NAME (znumber.aixname) -
RELATE (zumber.KSDSname) -
VOLUMES(ACA301) -
RECORDSIZE(avgsize maxsize) -
KEYS(length displacement) -
TRACKS(1 1) )
27
Calculating RECORDSIZE
28
Calculating RECORDSIZE
29
Defining a Path for an AIX
• Using IDCAMS
– DEFINE PATH
• gives name to a path
• specifies the name of the alternate index it
references
• base cluster is not specified because the AIX
definition specifies the name of the base cluster
30
Defining a Path for an AIX
DEFINE PATH ( -
NAME (znumber.pathname) -
PATHENTRY(znumber.aixname) )
31
Building an AIX
• Using IDCAMS
– BLDINDEX
• loads the alternate index
• AMS
– reads the base cluster sequentially and constructs
alternate key/pointer pairs for each record
– sorts the alternate key/pointer pairs into ascending
alternate key sequence
– uses the sorted alternate key/pointer pairs to load
records into the data component of the AIX
32
Defining a
KSDS Alternate Index
33
Processing KSDS
in COBOL Using AIX
34
JCL for Using AIX
• Need to specify
– KSDS data set
• //ddname DD DSN=….
– AIX date set(s)
• //ddname1 DD DSN=….
• //ddname2 DD DSN=….
• ….
• //ddnamen DD DSN=….
35
JCL for Using AIX
• Example JCL
//GO.MASTER DD DSN=znumber.KSDS,DISP=SHR
//GO.MASTER1 DD DSN=zumber.PATH2,DISP=SHR
//GO.MASTER2 DD DSN=znumber.PATH2,DISP=SHR
//….
36
File-Control for AIX in KSDS
• File-Control.
SELECT file-name
ASSIGN to DA-ddname
ORGANIZATION IS INDEXED
ACCESS MODE IS [SEQUENTIAL | RANDOM | DYNAMIC
RECORD KEY IS recordKeyName
ALTERNATE RECORD KEY IS aixKey1 [WITH DUPLICATES]
ALTERNATE RECORD KEY IS aixKey2 [WITH DUPLICATES]
….
ALTERNATE RECORD KEY IS aixKeyn [WITH DUPLICATES]
FILE STATUS IS statusCodeField.
37
File-Control for AIX in KSDS
• ALTERNATE RECORD KEY IS aixKey1
[WITH DUPLICATES]
– specifies the name of an alternate key field
for the KSDS file
– one per AIX that will be used in the
program in same order as specified in the
IDCAMS (not all have to be coded all the
time)
– WITH DUPLICATES specifies that the AIX
key value is non-unique 38
AIX Sequential Processing
41
AIX Random Processing
43