293 lines
20 KiB
HTML
293 lines
20 KiB
HTML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE html
|
|
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html lang="en-us" xml:lang="en-us">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
<meta name="security" content="public" />
|
|
<meta name="Robots" content="index,follow" />
|
|
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
|
|
<meta name="DC.Type" content="concept" />
|
|
<meta name="DC.Title" content="Use more than one key field" />
|
|
<meta name="abstract" content="You can use more than one key field to arrange the records in a database file. The key fields do not have to use the same sequence." />
|
|
<meta name="description" content="You can use more than one key field to arrange the records in a database file. The key fields do not have to use the same sequence." />
|
|
<meta name="DC.subject" content="key field, using multiple, field, using, multiple key" />
|
|
<meta name="keywords" content="key field, using multiple, field, using, multiple key" />
|
|
<meta name="DC.Relation" scheme="URI" content="rbafoksapa.htm" />
|
|
<meta name="copyright" content="(C) Copyright IBM Corporation 1998, 2006" />
|
|
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 1998, 2006" />
|
|
<meta name="DC.Format" content="XHTML" />
|
|
<meta name="DC.Identifier" content="rbafokfield" />
|
|
<meta name="DC.Language" content="en-us" />
|
|
<!-- All rights reserved. Licensed Materials Property of IBM -->
|
|
<!-- US Government Users Restricted Rights -->
|
|
<!-- Use, duplication or disclosure restricted by -->
|
|
<!-- GSA ADP Schedule Contract with IBM Corp. -->
|
|
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
|
|
<link rel="stylesheet" type="text/css" href="./ic.css" />
|
|
<title>Use more than one key field</title>
|
|
</head>
|
|
<body id="rbafokfield"><a name="rbafokfield"><!-- --></a>
|
|
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
|
|
<h1 class="topictitle1">Use more than one key field</h1>
|
|
<div><p>You can use more than one key field to arrange the records in a
|
|
database file. The key fields do not have to use the same sequence. </p>
|
|
<p>For example, when you use two key fields, one field can use ascending sequence
|
|
while the other can use descending sequence. Consider the following records.</p>
|
|
|
|
<table cellpadding="4" cellspacing="0" border="1" class="tableborder"><tr><td>
|
|
<table cellpadding="4" cellspacing="0" summary="" width="100%" border="0"><thead align="left"><tr><th align="left" valign="top" width="14.285714285714285%" id="d0e36">Record</th>
|
|
<th align="left" valign="top" width="14.285714285714285%" id="d0e38">Order</th>
|
|
<th align="center" valign="top" width="14.285714285714285%" id="d0e40">Ordate</th>
|
|
<th align="left" valign="top" width="14.285714285714285%" id="d0e42">Line</th>
|
|
<th align="left" valign="top" width="14.285714285714285%" id="d0e44">Item</th>
|
|
<th align="left" valign="top" width="14.285714285714285%" id="d0e46">Qtyord</th>
|
|
<th align="left" valign="top" width="14.285714285714285%" id="d0e48">Extens</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody><tr><td align="left" valign="top" width="14.285714285714285%" headers="d0e36 ">1</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e38 ">52218</td>
|
|
<td align="center" valign="top" width="14.285714285714285%" headers="d0e40 ">063088</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e42 ">01</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e44 ">88682</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e46 ">425</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e48 ">031875</td>
|
|
</tr>
|
|
<tr><td align="left" valign="top" width="14.285714285714285%" headers="d0e36 ">2</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e38 ">41834</td>
|
|
<td align="center" valign="top" width="14.285714285714285%" headers="d0e40 ">062888</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e42 ">03</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e44 ">42111</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e46 ">30</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e48 ">020550</td>
|
|
</tr>
|
|
<tr><td align="left" valign="top" width="14.285714285714285%" headers="d0e36 ">3</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e38 ">41834</td>
|
|
<td align="center" valign="top" width="14.285714285714285%" headers="d0e40 ">062888</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e42 ">02</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e44 ">61132</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e46 ">4</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e48 ">021700</td>
|
|
</tr>
|
|
<tr><td align="left" valign="top" width="14.285714285714285%" headers="d0e36 ">4</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e38 ">52218</td>
|
|
<td align="center" valign="top" width="14.285714285714285%" headers="d0e40 ">063088</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e42 ">02</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e44 ">40001</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e46 ">62</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e48 ">021700</td>
|
|
</tr>
|
|
<tr><td align="left" valign="top" width="14.285714285714285%" headers="d0e36 ">5</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e38 ">41834</td>
|
|
<td align="center" valign="top" width="14.285714285714285%" headers="d0e40 ">062888</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e42 ">01</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e44 ">00623</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e46 ">50</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e48 ">025000</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</td></tr></table>
|
|
<p>If the access path uses the <em>Order</em> field, then the <em>Line</em> field
|
|
as the key fields, both in ascending sequence, the order of the records in
|
|
the access path is.</p>
|
|
|
|
<table cellpadding="4" cellspacing="0" border="1" class="tableborder"><tr><td>
|
|
<table cellpadding="4" cellspacing="0" summary="" width="100%" border="0"><thead align="left"><tr><th align="left" valign="top" width="14.285714285714285%" id="d0e145">Record</th>
|
|
<th align="left" valign="top" width="14.285714285714285%" id="d0e147">Order</th>
|
|
<th align="center" valign="top" width="14.285714285714285%" id="d0e149">Ordate</th>
|
|
<th align="left" valign="top" width="14.285714285714285%" id="d0e151">Line</th>
|
|
<th align="left" valign="top" width="14.285714285714285%" id="d0e153">Item</th>
|
|
<th align="left" valign="top" width="14.285714285714285%" id="d0e155">Qtyord</th>
|
|
<th align="left" valign="top" width="14.285714285714285%" id="d0e157">Extens</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody><tr><td align="left" valign="top" width="14.285714285714285%" headers="d0e145 ">5</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e147 ">41834</td>
|
|
<td align="center" valign="top" width="14.285714285714285%" headers="d0e149 ">062888</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e151 ">01</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e153 ">00623</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e155 ">50</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e157 ">025000</td>
|
|
</tr>
|
|
<tr><td align="left" valign="top" width="14.285714285714285%" headers="d0e145 ">3</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e147 ">41834</td>
|
|
<td align="center" valign="top" width="14.285714285714285%" headers="d0e149 ">062888</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e151 ">02</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e153 ">61132</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e155 ">4</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e157 ">021700</td>
|
|
</tr>
|
|
<tr><td align="left" valign="top" width="14.285714285714285%" headers="d0e145 ">2</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e147 ">41834</td>
|
|
<td align="center" valign="top" width="14.285714285714285%" headers="d0e149 ">062888</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e151 ">03</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e153 ">42111</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e155 ">30</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e157 ">020550</td>
|
|
</tr>
|
|
<tr><td align="left" valign="top" width="14.285714285714285%" headers="d0e145 ">1</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e147 ">52218</td>
|
|
<td align="center" valign="top" width="14.285714285714285%" headers="d0e149 ">063088</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e151 ">01</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e153 ">88682</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e155 ">425</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e157 ">031875</td>
|
|
</tr>
|
|
<tr><td align="left" valign="top" width="14.285714285714285%" headers="d0e145 ">4</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e147 ">52218</td>
|
|
<td align="center" valign="top" width="14.285714285714285%" headers="d0e149 ">063088</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e151 ">02</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e153 ">40001</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e155 ">62</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e157 ">021700</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</td></tr></table>
|
|
<p>If the access path uses the key field <em>Order</em> in ascending sequence,
|
|
then the <em>Line</em> field in descending sequence, the order of the records
|
|
in the access path is.</p>
|
|
|
|
<table cellpadding="4" cellspacing="0" border="1" class="tableborder"><tr><td>
|
|
<table cellpadding="4" cellspacing="0" summary="" width="100%" border="0"><thead align="left"><tr><th align="left" valign="top" width="14.285714285714285%" id="d0e254">Record</th>
|
|
<th align="left" valign="top" width="14.285714285714285%" id="d0e256">Order</th>
|
|
<th align="center" valign="top" width="14.285714285714285%" id="d0e258">Ordate</th>
|
|
<th align="left" valign="top" width="14.285714285714285%" id="d0e260">Line</th>
|
|
<th align="left" valign="top" width="14.285714285714285%" id="d0e262">Item</th>
|
|
<th align="left" valign="top" width="14.285714285714285%" id="d0e264">Qtyord</th>
|
|
<th align="left" valign="top" width="14.285714285714285%" id="d0e266">Extens</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody><tr><td align="left" valign="top" width="14.285714285714285%" headers="d0e254 ">2</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e256 ">41834</td>
|
|
<td align="center" valign="top" width="14.285714285714285%" headers="d0e258 ">062888</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e260 ">03</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e262 ">42111</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e264 ">30</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e266 ">020550</td>
|
|
</tr>
|
|
<tr><td align="left" valign="top" width="14.285714285714285%" headers="d0e254 ">3</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e256 ">41834</td>
|
|
<td align="center" valign="top" width="14.285714285714285%" headers="d0e258 ">062888</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e260 ">02</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e262 ">61132</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e264 ">4</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e266 ">021700</td>
|
|
</tr>
|
|
<tr><td align="left" valign="top" width="14.285714285714285%" headers="d0e254 ">5</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e256 ">41834</td>
|
|
<td align="center" valign="top" width="14.285714285714285%" headers="d0e258 ">062888</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e260 ">01</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e262 ">00623</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e264 ">50</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e266 ">025000</td>
|
|
</tr>
|
|
<tr><td align="left" valign="top" width="14.285714285714285%" headers="d0e254 ">4</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e256 ">52218</td>
|
|
<td align="center" valign="top" width="14.285714285714285%" headers="d0e258 ">063088</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e260 ">02</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e262 ">40001</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e264 ">62</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e266 ">021700</td>
|
|
</tr>
|
|
<tr><td align="left" valign="top" width="14.285714285714285%" headers="d0e254 ">1</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e256 ">52218</td>
|
|
<td align="center" valign="top" width="14.285714285714285%" headers="d0e258 ">063088</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e260 ">01</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e262 ">88682</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e264 ">425</td>
|
|
<td align="left" valign="top" width="14.285714285714285%" headers="d0e266 ">031875</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</td></tr></table>
|
|
<p>When a record has key fields whose contents are the same as the key field
|
|
in another record in the same file, then the file is said to have records
|
|
with duplicate key values. However, the duplication must occur for <em>all</em> key
|
|
fields for a record if they are to be called duplicate key values. For example,
|
|
if a record format has two key fields <em>Order</em> and <em>Ordate</em>, duplicate
|
|
key values occur when the contents of both the <em>Order</em> and <em>Ordate</em> fields
|
|
are the same in two or more records. These records have duplicate key values.</p>
|
|
|
|
<table cellpadding="4" cellspacing="0" border="1" class="tableborder"><tr><td>
|
|
<table cellpadding="4" cellspacing="0" summary="" width="100%" border="0"><thead align="left"><tr><th align="left" valign="top" width="16.666666666666664%" id="d0e371">Order</th>
|
|
<th align="left" valign="top" width="16.666666666666664%" id="d0e373">Ordate</th>
|
|
<th align="left" valign="top" width="16.666666666666664%" id="d0e375">Line</th>
|
|
<th align="left" valign="top" width="16.666666666666664%" id="d0e377">Item</th>
|
|
<th align="left" valign="top" width="16.666666666666664%" id="d0e379">Qtyord</th>
|
|
<th align="left" valign="top" width="16.666666666666664%" id="d0e381">Extens</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody><tr><td align="left" valign="top" width="16.666666666666664%" headers="d0e371 ">41834</td>
|
|
<td align="left" valign="top" width="16.666666666666664%" headers="d0e373 ">062888</td>
|
|
<td align="left" valign="top" width="16.666666666666664%" headers="d0e375 ">03</td>
|
|
<td align="left" valign="top" width="16.666666666666664%" headers="d0e377 ">42111</td>
|
|
<td align="left" valign="top" width="16.666666666666664%" headers="d0e379 ">30</td>
|
|
<td align="left" valign="top" width="16.666666666666664%" headers="d0e381 ">020550</td>
|
|
</tr>
|
|
<tr><td align="left" valign="top" width="16.666666666666664%" headers="d0e371 ">41834</td>
|
|
<td align="left" valign="top" width="16.666666666666664%" headers="d0e373 ">062888</td>
|
|
<td align="left" valign="top" width="16.666666666666664%" headers="d0e375 ">02</td>
|
|
<td align="left" valign="top" width="16.666666666666664%" headers="d0e377 ">61132</td>
|
|
<td align="left" valign="top" width="16.666666666666664%" headers="d0e379 ">04</td>
|
|
<td align="left" valign="top" width="16.666666666666664%" headers="d0e381 ">021700</td>
|
|
</tr>
|
|
<tr><td align="left" valign="top" width="16.666666666666664%" headers="d0e371 ">41834</td>
|
|
<td align="left" valign="top" width="16.666666666666664%" headers="d0e373 ">062888</td>
|
|
<td align="left" valign="top" width="16.666666666666664%" headers="d0e375 ">01</td>
|
|
<td align="left" valign="top" width="16.666666666666664%" headers="d0e377 ">00623</td>
|
|
<td align="left" valign="top" width="16.666666666666664%" headers="d0e379 ">50</td>
|
|
<td align="left" valign="top" width="16.666666666666664%" headers="d0e381 ">025000</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</td></tr></table>
|
|
<p>Using the <em>Line</em> field as a third key field defines the file so that
|
|
there are no duplicate keys.</p>
|
|
|
|
<table cellpadding="4" cellspacing="0" border="1" class="tableborder"><tr><td>
|
|
<table cellpadding="4" cellspacing="0" summary="" width="100%" border="0"><thead align="left"><tr><th align="left" valign="bottom" width="20.13888888888889%" id="d0e438">(First key field) order</th>
|
|
<th align="left" valign="bottom" width="19.96527777777778%" id="d0e440">(Second key field) ordate</th>
|
|
<th align="left" valign="bottom" width="19.618055555555554%" id="d0e442">(Third key field) line</th>
|
|
<th align="left" valign="bottom" width="14.23611111111111%" id="d0e444">Item</th>
|
|
<th align="left" valign="bottom" width="13.020833333333334%" id="d0e446">Qtyord</th>
|
|
<th align="left" valign="bottom" width="13.020833333333334%" id="d0e448">Extens</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody><tr><td align="left" valign="top" width="20.13888888888889%" headers="d0e438 ">41834</td>
|
|
<td align="left" valign="top" width="19.96527777777778%" headers="d0e440 ">062888</td>
|
|
<td align="left" valign="top" width="19.618055555555554%" headers="d0e442 ">03</td>
|
|
<td align="left" valign="top" width="14.23611111111111%" headers="d0e444 ">42111</td>
|
|
<td align="left" valign="top" width="13.020833333333334%" headers="d0e446 ">30</td>
|
|
<td align="left" valign="top" width="13.020833333333334%" headers="d0e448 ">020550</td>
|
|
</tr>
|
|
<tr><td align="left" valign="top" width="20.13888888888889%" headers="d0e438 ">41834</td>
|
|
<td align="left" valign="top" width="19.96527777777778%" headers="d0e440 ">062888</td>
|
|
<td align="left" valign="top" width="19.618055555555554%" headers="d0e442 ">02</td>
|
|
<td align="left" valign="top" width="14.23611111111111%" headers="d0e444 ">61132</td>
|
|
<td align="left" valign="top" width="13.020833333333334%" headers="d0e446 ">04</td>
|
|
<td align="left" valign="top" width="13.020833333333334%" headers="d0e448 ">021700</td>
|
|
</tr>
|
|
<tr><td align="left" valign="top" width="20.13888888888889%" headers="d0e438 ">41834</td>
|
|
<td align="left" valign="top" width="19.96527777777778%" headers="d0e440 ">062888</td>
|
|
<td align="left" valign="top" width="19.618055555555554%" headers="d0e442 ">01</td>
|
|
<td align="left" valign="top" width="14.23611111111111%" headers="d0e444 ">00623</td>
|
|
<td align="left" valign="top" width="13.020833333333334%" headers="d0e446 ">50</td>
|
|
<td align="left" valign="top" width="13.020833333333334%" headers="d0e448 ">025000</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</td></tr></table>
|
|
<p>A logical file that has more than one record format can have records with
|
|
duplicate key values, even though the record formats are based on different
|
|
physical files. That is, even though the key values come from different record
|
|
formats, they are considered duplicate key values.</p>
|
|
</div>
|
|
<div>
|
|
<div class="familylinks">
|
|
<div class="parentlink"><strong>Parent topic:</strong> <a href="rbafoksapa.htm" title="A keyed sequence access path for database files is based on the contents of the key fields as defined in data description specifications (DDS). This topic describes how the key fields are arranged for the file.">Use a keyed sequence access path for database files</a></div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html> |