Comments
Description
Transcript
Informix SQL ガイド: 参照 (日本語版) (PDF:3.1MB)
DB2 IBM Informix ® バージョン 10.0/8.5 IBM Informix SQL ガイド: 参照 GB88-8671-00 (英文原典:G251-2283-00) DB2 IBM Informix ® バージョン 10.0/8.5 IBM Informix SQL ガイド: 参照 GB88-8671-00 (英文原典:G251-2283-00) お願い 本書および本書で紹介する製品をご使用になる前に、 335 ページの『特記事項』に記載されている情報をお読み ください。 本書には、IBM の専有情報が含まれています。その情報は、使用許諾条件に基づき提供され、著作権により保護されて います。本書に記載される情報には、いかなる製品の保証も含まれていません。また、本書で提供されるいかなる記述 も、製品保証として解釈すべきではありません。 IBM は、お客様が提供するいかなる情報も、お客様に対してなんら義務も負うことのない、自ら適切と信ずる方法で、 使用もしくは配布することができるものとします。 本マニュアルに関するご意見やご感想は、次の URL からお送りください。今後の参考にさせていただきます。 http://www.ibm.com/jp/manuals/main/mail.html なお、日本 IBM 発行のマニュアルはインターネット経由でもご購入いただけます。詳しくは http://www.ibm.com/jp/manuals/ の「ご注文について」をご覧ください。 (URL は、変更になる場合があります) お客様の環境によっては、資料中の円記号がバックスラッシュと表示されたり、バックスラッシュが円記号と表示され たりする場合があります。 原 典: G251-2283-00 IBM Informix IBM Informix Guide to SQL: Reference Version 10.0/8.5 発 行: 日本アイ・ビー・エム株式会社 担 当: ナショナル・ランゲージ・サポート 第1刷 2005.1 この文書では、平成明朝体™W3、平成明朝体™W7、平成明朝体™W9、平成角ゴシック体™W3、平成角ゴシック体™ W5、および平成角ゴシック体™W7を使用しています。この(書体*)は、 (財)日本規格協会と使用契約を締結し使用して いるものです。フォントとして無断複製することは禁止されています。 注* 平成明朝体™W3、平成明朝体™W7、平成明朝体™W9、平成角ゴシック体™W3、 平成角ゴシック体™W5、平成角ゴシック体™W7 © Copyright International Business Machines Corporation 1996, 2004. All rights reserved. © Copyright IBM Japan 2005 目次 はじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix 本書について. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix 対象ユーザ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x ソフトウェア要件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . x ロケールに関する前提事項 . . . . . . . . . . . . . . . . . . . . . . . . . x デモンストレーション データベース . . . . . . . . . . . . . . . . . . . . . . xi 表記規則 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii 文字の表記規則. . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii 機能、製品、およびプラットフォーム . . . . . . . . . . . . . . . . . . . . . xiii 構文ダイアグラム . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii コード例の表記規則 . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii 関連マニュアル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xviii インストール ガイド . . . . . . . . . . . . . . . . . . . . . . . . . . xviii オンライン ノート . . . . . . . . . . . . . . . . . . . . . . . . . . . xviii Informix エラー メッセージ集 . . . . . . . . . . . . . . . . . . . . . . . . xx マニュアル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi オンライン ヘルプ . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi アクセシビリティ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi IBM Informix Dynamic Server バージョン 10.0 および CSDK バージョン 2.90 マニュアル セット xxii 業界標準への準拠 . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv 第 1 章 システム カタログ表 . . . . . . システム カタログ表が追跡するオブジェクト . システム カタログの使用方法 . . . . . . システム カタログの構造 . . . . . . . SYSAGGREGATES (IDS) . . . . . . . SYSAMS (IDS) . . . . . . . . . . . SYSATTRTYPES (IDS) . . . . . . . . SYSBLOBS . . . . . . . . . . . . SYSCASTS (IDS) . . . . . . . . . . SYSCHECKS. . . . . . . . . . . . SYSCHECKUDRDEP (IDS) . . . . . . . SYSCOLATTRIBS (IDS) . . . . . . . . SYSCOLAUTH . . . . . . . . . . . SYSCOLDEPEND . . . . . . . . . . SYSCOLUMNS . . . . . . . . . . . SYSCONSTRAINTS . . . . . . . . . SYSDEFAULTS . . . . . . . . . . . SYSDEPEND. . . . . . . . . . . . SYSDIRECTIVES (IDS) . . . . . . . . SYSDISTRIB. . . . . . . . . . . . © Copyright IBM Corp. 1996, 2004 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 . 2 . 3 . 10 . 12 . 12 . 15 . 16 . 17 . 18 . 19 . 20 . 21 . 21 . 23 . 27 . 29 . 30 . 30 . 31 iii SYSDOMAINS (IDS) . . . . . . SYSERRORS (IDS) . . . . . . SYSEXTCOLS (XPS) . . . . . . SYSEXTDFILES (XPS) . . . . . SYSEXTERNAL (XPS) . . . . . SYSFRAGAUTH (IDS) . . . . . SYSFRAGMENTS . . . . . . . SYSINDEXES . . . . . . . . SYSINDICES (IDS) . . . . . . SYSINHERITS (IDS) . . . . . . SYSLANGAUTH (IDS) . . . . . SYSLOGMAP (IDS) . . . . . . SYSNEWDEPEND (XPS). . . . . SYSOBJSTATE (IDS) . . . . . . SYSOPCLASSES (IDS) . . . . . SYSOPCLSTR . . . . . . . . SYSPROCAUTH . . . . . . . SYSPROCBODY . . . . . . . SYSPROCEDURES . . . . . . . SYSPROCPLAN. . . . . . . . SYSREFERENCES . . . . . . . SYSREPOSITORY (XPS) . . . . . SYSROLEAUTH . . . . . . . SYSROUTINELANGS (IDS) . . . . SYSSEQUENCES (IDS) . . . . . SYSSYNONYMS . . . . . . . SYSSYNTABLE. . . . . . . . SYSTABAMDATA (IDS) . . . . . SYSTABAUTH . . . . . . . . SYSTABLES . . . . . . . . . SYSTRACECLASSES (IDS) . . . . SYSTRACEMSGS (IDS) . . . . . SYSTRIGBODY . . . . . . . . SYSTRIGGERS . . . . . . . . SYSUSERS . . . . . . . . . SYSVIEWS . . . . . . . . . SYSVIOLATIONS . . . . . . . SYSXTDDESC (IDS) . . . . . . SYSXTDTYPEAUTH (IDS) . . . . SYSXTDTYPES (IDS). . . . . . 情報スキーマ (IDS) . . . . . . 情報スキーマ ビューの生成 . . 情報スキーマ ビューへのアクセス 情報スキーマ ビューの構造 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 第 2 章 データ型 . . . . . . . . . . . . . . . . . . . . . . . 81 iv . . . . . IBM Informix SQL ガイド: 参照 . 32 32 34 35 36 37 38 40 43 44 45 45 46 46 47 48 50 51 52 55 56 57 57 58 59 59 60 60 61 63 65 66 66 68 68 69 70 71 71 72 74 74 75 75 データ型のサマリ . . . . . . . データ型の説明 . . . . . . . . 大桁整数 (BIGINT) 型 (XPS) . . BLOB 型 (IDS) . . . . . . . ブール (BOOLEAN) 型 (IDS) . . バイト (BYTE) 型 . . . . . . CHAR(n) 型 . . . . . . . . CHARACTER(n) 型 . . . . . CHARACTER VARYING(m,r) 型 . CLOB 型 (IDS) . . . . . . . 日付 (DATE) 型 . . . . . . 日時 (DATETIME) 型. . . . . 10 進数 (DEC) 型 . . . . . . 10 進数 (DECIMAL) 型 . . . . ディスティンクト (DISTINCT) 型 実数 (DOUBLE PRECISION) 型 . FLOAT(n) 型 . . . . . . . 整数 (INT) 型 . . . . . . . 8 バイト整数 (INT8) 型 . . . 整数 (INTEGER) 型 . . . . . 時間隔 (INTERVAL) 型 . . . LIST(e) 型 (IDS) . . . . . . LVARCHAR(m) 型 (IDS) . . . MONEY(p,s) 型 . . . . . . MULTISET(e) 型 (IDS) . . . . NCHAR(n) 型 . . . . . . . NUMERIC(p,s) 型. . . . . . NVARCHAR(m,r) 型 . . . . . 不透明 (OPAQUE) 型 (IDS) . . 小桁実数 (REAL) 型. . . . . 名前付き行型 (IDS) . . . . . 名前なし行型 (IDS) . . . . . SERIAL(n) 型 . . . . . . . SERIAL8(n) 型 . . . . . . SET(e) 型 (IDS) . . . . . . 小桁実数 (SMALLFLOAT) 型. . 小桁整数 (SMALLINT) 型 . . . テキスト (TEXT) 型. . . . . VARCHAR(m,r) 型 . . . . . 組込みデータ型 . . . . . . . ラージ オブジェクト データ型 . 時刻データ型 . . . . . . . 拡張データ型 (IDS) . . . . . . 複合データ型 . . . . . . . ディスティンクト (DISTINCT) 型 不透明 (OPAQUE) 型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (IDS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 . 86 . 86 . 87 . 87 . 88 . 89 . 90 . 90 . 91 . 92 . 92 . 96 . 96 . 98 . 99 . 99 . 100 . 100 . 100 . 100 . 103 . 105 . 105 . 106 . 107 . 108 . 108 . 108 . 109 . 109 . 110 . 112 . 113 . 114 . 115 . 116 . 116 . 118 . 120 . 120 . 123 . 129 . 129 . 132 . 132 目次 v データ型のキャストと変換 . . 組込みキャストの使用 . . . ユーザ定義キャストの使用 . 適用するキャストの決定 . . ディスティンクト (DISTINCT) キャスト可能な拡張データ型 . 演算子優先順位 . . . . . . . . . . . . . . . . . . . . . . . . . . 型のキャスト . . . . . . . . . . . . . . . . . 第 3 章 環境変数 . . . . . . . . . . . 環境変数の種類 . . . . . . . . . . . . 環境変数を設定する場所 (UNIX) . . . . . . 環境変数を設定する場所 (Windows) . . . . . 環境変数の使用 (UNIX) . . . . . . . . . 構成ファイルでの環境変数の設定 . . . . . ログイン時の環境変数設定 . . . . . . . 環境変数を設定する構文 . . . . . . . . 環境変数の設定解除 . . . . . . . . . . 環境変数設定の変更 . . . . . . . . . . 環境変数設定の表示 . . . . . . . . . . chkenv ユーティリティによる環境変数の確認 . 優先順位のルール . . . . . . . . . . 環境変数の使用方法 (Windows) . . . . . . . 固有の Windows アプリケーションの環境設定 . コマンド プロンプト ユーティリティの環境設定 優先順位のルール . . . . . . . . . . 環境変数リスト . . . . . . . . . . . . 環境変数 . . . . . . . . . . . . . . AC_CONFIG . . . . . . . . . . . . AFDEBUG . . . . . . . . . . . . . ANSIOWNER (IDS) . . . . . . . . . . BIG_FET_BUF_SIZE (XPS) . . . . . . . CPFIRST. . . . . . . . . . . . . . DBACCNOIGN . . . . . . . . . . . DBANSIWARN . . . . . . . . . . . DBBLOBBUF . . . . . . . . . . . . DBCENTURY . . . . . . . . . . . . DBDATE . . . . . . . . . . . . . DBDELIMITER . . . . . . . . . . . DBEDIT . . . . . . . . . . . . . . DBFLTMASK . . . . . . . . . . . . DBLANG . . . . . . . . . . . . . DBMONEY . . . . . . . . . . . . . DBNLS (IDS) . . . . . . . . . . . . DBONPLOAD (IDS) . . . . . . . . . . DBPATH . . . . . . . . . . . . . DBPRINT . . . . . . . . . . . . . vi IBM Informix SQL ガイド: 参照 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 134 136 137 138 139 140 . . . . . . . . . . . . . . . . . 143 . . . . . . . . . . . . . . . . . 146 . . . . . . . . . . . . . . . . . 146 . . . . . . . . . . . . . . . . . 147 . . . . . . . . . . . . . . . . . 148 . . . . . . . . . . . . . . . . . 148 . . . . . . . . . . . . . . . . . 149 . . . . . . . . . . . . . . . . . 149 . . . . . . . . . . . . . . . . . 150 . . . . . . . . . . . . . . . . . 150 . . . . . . . . . . . . . . . . . 150 . . . . . . . . . . . . . . . . . 151 . . . . . . . . . . . . . . . . . 152 . . . . . . . . . . . . . . . . . 152 . . . . . . . . . . . . . . . . . 152 . . . . . . . . . . . . . . . . . 153 . . . . . . . . . . . . . . . . . 155 . . . . . . . . . . . . . . . . . 156 . . . . . . . . . . . . . . . . . 160 . . . . . . . . . . . . . . . . . 160 . . . . . . . . . . . . . . . . . 161 . . . . . . . . . . . . . . . . . 161 . . . . . . . . . . . . . . . . . 161 . . . . . . . . . . . . . . . . . 162 . . . . . . . . . . . . . . . . . 163 . . . . . . . . . . . . . . . . . 164 . . . . . . . . . . . . . . . . . 164 . . . . . . . . . . . . . . . . . 165 . . . . . . . . . . . . . . . . . 168 . . . . . . . . . . . . . . . . . 171 . . . . . . . . . . . . . . . . . 171 . . . . . . . . . . . . . . . . . 172 . . . . . . . . . . . . . . . . . 172 . . . . . . . . . . . . . . . . . 173 . . . . . . . . . . . . . . . . . 174 . . . . . . . . . . . . . . . . . 176 . . . . . . . . . . . . . . . . . 176 . . . . . . . . . . . . . . . . . 178 DBREMOTECMD (UNIX) . . . . . . DBSPACETEMP . . . . . . . . . DBTEMP (IDS) . . . . . . . . . DBTIME . . . . . . . . . . . . DBUPSPACE . . . . . . . . . . DEFAULT_ATTACH . . . . . . . . DELIMIDENT . . . . . . . . . . ENVIGNORE (UNIX) . . . . . . . FET_BUF_SIZE . . . . . . . . . GLOBAL_DETACH_INFORM (XPS) . . IBM_XPS_PARAMS (XPS) . . . . . . IFMX_CART_ALRM (XPS) . . . . . IFMX_HISTORY_SIZE (XPS) . . . . . IFMX_OPT_FACT_TABS (XPS) . . . . IFMX_OPT_NON_DIM_TABS (XPS) . . IFX_DEF_TABLE_LOCKMODE (IDS) . . IFX_DIRECTIVES. . . . . . . . . IFX_EXTDIRECTIVES . . . . . . . IFX_LONGID . . . . . . . . . . IFX_NETBUF_PVTPOOL_SIZE (UNIX). . IFX_NETBUF_SIZE . . . . . . . . IFX_NO_TIMELIMIT_WARNING. . . . IFX_PAD_VARCHAR (IDS) . . . . . IFX_UPDDESC (IDS) . . . . . . . IFX_XASTDCOMPLIANCE_XAEND. . . IMCADMIN. . . . . . . . . . . IMCCONFIG . . . . . . . . . . IMCSERVER . . . . . . . . . . INFORMIXC (UNIX). . . . . . . . INFORMIXCONCSMCFG (IDS) . . . . INFORMIXCONRETRY . . . . . . . INFORMIXCONTIME . . . . . . . INFORMIXCPPMAP (IDS) . . . . . . INFORMIXDIR . . . . . . . . . INFORMIXKEYTAB (UNIX) . . . . . INFORMIXOPCACHE (IDS) . . . . . INFORMIXSERVER . . . . . . . . INFORMIXSHMBASE (UNIX) . . . . INFORMIXSQLHOSTS . . . . . . . INFORMIXSTACKSIZE . . . . . . . INFORMIXTERM (UNIX) . . . . . . INF_ROLE_SEP (IDS) . . . . . . . INTERACTIVE_DESKTOP_OFF (Windows) ISM_COMPRESSION. . . . . . . . ISM_DEBUG_FILE . . . . . . . . ISM_DEBUG_LEVEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 目次 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 179 181 181 184 185 185 186 187 187 188 189 189 190 190 191 192 192 193 194 195 195 195 196 196 197 197 198 198 199 199 199 201 201 201 202 202 203 204 204 205 206 206 207 207 207 vii ISM_ENCRYPTION . . . . ISM_MAXLOGSIZE . . . . ISM_MAXLOGVERS. . . . JAR_TEMP_PATH (IDS) . . JAVA_COMPILER (IDS) . . JVM_MAX_HEAP_SIZE (IDS) LD_LIBRARY_PATH (UNIX) . LIBERAL_MATCH (XPS) . . LIBPATH (UNIX). . . . . NODEFDAC . . . . . . ONCONFIG . . . . . . . OPTCOMPIND . . . . . . OPTMSG . . . . . . . OPTOFC . . . . . . . . OPT_GOAL (IDS、UNIX) . . PATH. . . . . . . . . PDQPRIORITY. . . . . . PLCONFIG (IDS) . . . . . PLOAD_LO_PATH (IDS) . . PLOAD_SHMBASE (IDS) . . PSORT_DBTEMP . . . . . PSORT_NPROCS . . . . . RTREE_COST_ADJUST_VALUE SHLIB_PATH (UNIX) . . . STMT_CACHE (IDS) . . . TERM (UNIX) . . . . . . TERMCAP (UNIX) . . . . TERMINFO (UNIX) . . . . THREADLIB (UNIX) . . . TOBIGINT (XPS) . . . . . USETABLEAME (IDS) . . . XFER_CONFIG (XPS) . . . 環境変数のインデックス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . (IDS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 付録 B. データベース sales_demo と superstores_demo . . . . . . . . . . . . . . 267 付録 C. アクセシビリティ . . . . . . . . . . . . . . . . . . . . . . . . . 289 用語集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 特記事項 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 索引 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 付録 A. データベース stores_demo . viii . IBM Informix SQL ガイド: 参照 . 208 208 208 209 209 209 210 210 210 211 211 212 213 213 214 214 215 216 217 217 218 218 219 220 220 221 221 222 222 222 223 223 224 はじめに 本書について. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix 対象ユーザ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x ソフトウェア要件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . x ロケールに関する前提事項 . . . . . . . . . . . . . . . . . . . . . . . . . x デモンストレーション データベース . . . . . . . . . . . . . . . . . . . . . . xi 表記規則 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii 文字の表記規則. . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii 機能、製品、およびプラットフォーム . . . . . . . . . . . . . . . . . . . . . xiii 構文ダイアグラム . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii コマンド行構文ダイアグラムの読み方 . . . . . . . . . . . . . . . . . . . . xv キーワードおよび句読点 . . . . . . . . . . . . . . . . . . . . . . . . xvi 識別子と名前 . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii コード例の表記規則 . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii 関連マニュアル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xviii インストール ガイド . . . . . . . . . . . . . . . . . . . . . . . . . . xviii オンライン ノート . . . . . . . . . . . . . . . . . . . . . . . . . . . xviii オンライン ノートの入手先 . . . . . . . . . . . . . . . . . . . . . . . xix オンライン ノートのファイル名 . . . . . . . . . . . . . . . . . . . . . . xx Informix エラー メッセージ集 . . . . . . . . . . . . . . . . . . . . . . . . xx マニュアル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi オンライン マニュアル . . . . . . . . . . . . . . . . . . . . . . . . . xxi ペーパー マニュアル. . . . . . . . . . . . . . . . . . . . . . . . . . xxi オンライン ヘルプ . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi アクセシビリティ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi IBM Informix Dynamic Server バージョン 10.0 および CSDK バージョン 2.90 マニュアル セット xxii 業界標準への準拠 . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxv 本書について 本書では、IBM Informix 製品で使用されているシステム カタログ表、データ型、およ び環境変数について説明します。用語集も含みます。用語集には、IBM Informix マニュ アルに出てくる一般的な用語の定義と、IBM Informix Dynamic Server バージョン 10.0 および IBM Informix Extended Parallel Server バージョン 8.5 で提供するデモンストレ ーション データベースの説明が記載されています。 本書は、Informix の SQL インプリメンテーションに関する一連の資料のうちの一冊で す。「IBM Informix: SQL ガイド: 構文」には、すべての SQL 構文記述とストアド プ ロシジャ言語 (SPL) について記載されています。「IBM Informix: SQL ガイド: チュー トリアル」では、データベース内のデータにアクセスして操作するための、SQL と SPL ルーチンの基本的および高度な使用方法について説明します。そして、 © Copyright IBM Corp. 1996, 2004 ix 「IBM Informix: データベース設計および実装 ガイド」には、SQL を使用してデータベ ースを実装し、管理する方法が記載されています。 Informix データベース サーバのマニュアル セットにおけるリストについては、ドキュ メント ノート ファイルを参照してください。このファイルは、本章の xviii ページの 『オンライン ノート』で説明しています。 対象ユーザ 本書は、以下のユーザを対象としています。 v データベース ユーザ v データベース管理者 v データベース サーバ管理者 v データベース アプリケーション プログラマ v パフォーマンス エンジニア 本書は、ユーザが以下の知識、または経験を持っていることを前提としています。 v 使用するコンピュータ、オペレーティング システム、およびオペレーティング シス テムが提供するユーティリティに関する実際的な知識 v リレーショナル データベース操作の経験、またはデータベースの概念の理解 v コンピュータ プログラミングの経験 v データベース サーバ管理作業、オペレーティング システム管理作業、またはネット ワーク管理作業の経験 リレーショナル データベース、SQL、またはご使用のオペレーティング システムに関 する補足情報が必要な場合は、「IBM Informix: Dynamic Server スタートアップ ガイ ド」の、ご使用のデータベース サーバの項目を参照してください。 ソフトウェア要件 本書では、使用するデータベース サーバが、以下のいずれかであることを前提としてい ます。 v IBM Informix Dynamic Server、バージョン 10.0 v IBM Informix Extended Parallel Server、バージョン 8.50 ロケールに関する前提事項 IBM Informix 製品は、多くの言語、国/地域別情報、およびコード セットをサポートし ています。文字セット、照合、数値データの表記、通貨、日付、および時刻に関する情 報はすべて、広域言語サポート (GLS) ロケールと呼ばれる 1 つの環境にまとめられて います。 x IBM Informix SQL ガイド: 参照 本書では、データベースがデフォルト ロケールを使用することを前提としています。デ フォルトは、UNIX プラットフォームでは en_us.8859-1 (ISO 8859-1)、Windows 環境で は en_us.1252 (Microsoft 1252) です。このロケールは、日付、時刻、および通貨値につ いて、米国英語 (U.S. English) 形式規則をサポートします。ASCII コード セットと、 é、è、ñ などの多くの 8 ビット文字を含む、ISO 8859-1 (UNIX と Linux) または Microsoft 1252 (Windows) コード セットをサポートします。 データや SQL 識別子でデフォルト以外の文字を使用する場合、または文字データのソ ートに他の照合ルールを使用する場合、適切なロケールを指定する必要があります。 デフォルトではないロケールの指定方法、その他の構文、そして GLS ロケールに関連 するその他の考慮事項については、「IBM Informix: GLS ユーザーズ ガイド」を参照し てください。 デモンストレーション データベース データベース サーバ製品に付属する DB–Access ユーティリティには、以下のデモンス トレーション データベースが 1 つ以上含まれます。 v データベース stores_demo では、架空のスポーツ用品卸売り業者の例を使用して、リ レーショナル スキーマについて説明します。IBM Informix の資料に記載されている 例の多くは、stores_demo データベースを基にしています。 Extended Parallel Server v データベース sales_demo は、データ ウェアハウジング アプリケーションの次元ス キーマを説明します。次元データ モデルの概念については、「IBM Informix: データ ベース設計および実装 ガイド」を参照してください。 Extended Parallel Server の終り Dynamic Server v データベース superstores_demo はオブジェクト リレーショナル スキーマについて 説明します。データベース superstores_demo には、拡張データ型、型および表の継 承、およびユーザ定義ルーチンの例が含まれます。 Dynamic Server の終り デモンストレーション データベースの作成およびデータの追加については、 「IBM Informix: DB-Access ユーザーズ ガイド」を参照してください。それぞれのデー タベースとその内容の説明については、 233 ページの『付録 A. データベース stores_demo』と 267 ページの『付録 B. データベース sales_demo と superstores_demo』を参照してください。 はじめに xi デモンストレーション データベースのインストールに使用するスクリプトは、UNIX プ ラットフォームの場合は $INFORMIXDIR/bin ディレクトリ、Windows 環境の場合は %INFORMIXDIR%¥bin ディレクトリにあります。 表記規則 ここでは、このマニュアルで使用される、以下の表記規則について説明します。これら の表記規則を把握しておくと、本書および他の関連マニュアルの内容を理解するのに役 立ちます。 以下のような表記規則があります。 v 文字の表記規則 v その他の表記規則 v 構文ダイアグラム v コマンド行の表記規則 v コード例の表記規則 文字の表記規則 本書では、新しい用語、画面表示、コマンド構文などを表記するのに、以下の規則を使 用します。 表記規則 意味 KEYWORD プログラミング言語の文中では、主要な要素 (キーワード) は、すべ て大文字のセリフ フォントで表記されます。 イタリック体 イタリック体 イタリック体 本文中では、新しい用語および強調語がイタリック体で表記されま す。構文とコードの例では、ユーザが指定する変数値は、イタリック 体で表示されます。 太文字 太文字 プログラム エンティティの名前 (クラス、イベント、および表)、環 境変数、ファイルやパス名、およびインターフェイス要素 (アイコ ン、メニュー項目、およびボタンなど) が太文字で表示されます。 モノスペース モノスペース 製品が表示する情報、およびユーザが入力する情報は、モノスペース で表記されます。 KEYSTROKE ユーザが押すキーは、大文字のサンセリフ フォントで表記されます > この記号は、メニュー項目を表します。例えば、「ツール」>「オプ ション」を選択する、という記述は、「ツール」メニューから「オプ ション」項目を選択することを指します。 ヒント: 文字の「入力」、またはコマンドの「実行」を指示された場合は、入力直後に Enter を押してください。ただし、テキストを「手入力」、または他のキーを 「押す」ように指示された場合は、Enter を押す必要はありません。 xii IBM Informix SQL ガイド: 参照 機能、製品、およびプラットフォーム 機能、製品、およびプラットフォームのマークアップは、機能、製品、またはプラット フォームに固有な情報を表します。このマークアップの例を次に示します。 Dynamic Server IBM Informix Dynamic Server 固有の情報を示します。 Dynamic Server の終り Extended Parallel Server IBM Informix Extended Parallel Server 固有の情報を示します Extended Parallel Server の終り UNIX のみ UNIX プラットフォーム固有の情報を示します。 UNIX のみ の終り Windows のみ Windows 環境固有の情報を示します。 Windows のみ の終り これらのマークアップは、セクション内の 1 つ以上のパラグラフに適用される場合があ ります。セクション全体が特定の製品またはプラットフォームに適用する場合は、次の ように見出しテキストで示します。 表のソート (Linux のみ) 構文ダイアグラム 本書で使用する構文ダイアグラムは、以下のコンポーネントで構成されます。このダイ アグラムは、システム レベルのコマンドを除くすべてのコマンドと、文の構文を表しま す。 注: 2004 年以降、構文ダイアグラムは IBM 標準に準拠する形に再フォーマットされま した。 SQL 文およびコマンド行文を表す構文ダイアグラムは、以下のように変更されました。 v 文の最初と最後には、終端の縦線に代わり、二重矢印が使用されます。 はじめに xiii v 構文セグメント ダイアグラムの最初と最後には、矢印の代わりに縦線が使用されま す。 v ループを繰り戻す回数は、ゲート記号内の数字としてではなく、ダイアグラムの脚注 に表示されます。 v 構文が複数行にわたる場合は、同じ行にループ ダウンするのではなく、次の行に示 されます。 v 製品または条件固有のパスは、アイコンではなく、ダイアグラムの脚注に表示されま す。 次の表に、構文ダイアグラムのコンポーネントを示します。 コンポーネントの PDF での表示 xiv IBM Informix SQL ガイド: 参照 コンポーネントの HTML での表示 説明 >>---------------------- 文の開始を示します。 -----------------------> 文が次行に続くことを示し ます。 >----------------------- 文が前行からの続きである ことを示します。 ----------------------->< 文の終端を示します。 --------SELECT---------- 必須項目です。 --+-----------------+--’------LOCAL------’ オプションの項目です。 ---+-----ALL-------+--+--DISTINCT-----+ ’---UNIQUE------’ 選択項目のある必須項目で す。項目を 1 つのみ指定 する必要があります。 ---+------------------+--+--FOR UPDATE-----+ ’--FOR READ ONLY--’ オプショナル項目がメイン 行の下に選択肢で表示さ れ、そのいずれかを指定で きます。 .---NEXT---------. ----+----------------+--+---PRIOR--------+ ’---PREVIOUS-----’ メイン行の下にある値はオ プションで、そのいずれか を指定できます。項目を指 定しない場合、行の上にあ る値がデフォルトとして使 用されます。 コンポーネントの PDF での表示 コンポーネントの HTML での表示 説明 .-------,-----------. V | ---+-----------------+--+---index_name---+ ’---table_name---’ オプションの項目です。複 数の項目を指定できます。 各項目はコンマで区切る必 要があります。 >>-| Table Reference |->< 構文セグメントの参照で す。 Table Reference 構文セグメントです。 |--+-----view--------+--| +------table------+ ’----synonym------’ コマンド行構文ダイアグラムの読み方 以下のコマンド行構文ダイアグラムでは、前セクションの表にリストした要素をいくつ か使用しています。 No-Conversion ジョブの作成 onpladm create job job -n -d -p -t device -D database project table (1) Setting the Run Mode -S server -T target 注: 1 4 ページ参照 このダイアグラムの 2 行目には、「Setting the Run Mode」という名前のセグメントが あります (ダイアグラムの脚注に示す 4 ページに詳細を記載)。このセグメントを、次 のセグメント ダイアグラムで示します (ダイアグラムにはセグメント開始と終了のコン ポーネントを使用します)。 Setting the Run Mode: はじめに xv l c -f d p a u n N コマンドを正しく入力するには、左上のコマンドから開始します。次に、ダイアグラム を右へ進み、必要な要素を入力します。ダイアグラムの要素は、大文字と小文字を区別 をする必要があります。 「No-Conversion ジョブの作成」ダイアグラムは、以下の手順を示しています。 1. onpladm create job を入力し、次にジョブ名を入力します。 2. 任意で -p と入力し、プロジェクト名を入力します。 3. 以下の必須要素を入力します。 v -n v -d およびデバイス名 v -D およびデータベース名 v -t および表名 4. オプションで、以下の中から 1 つ以上の要素を選択し、任意の回数まで繰り返すこ とができます。 v -S およびサーバ名 v -T およびターゲット サーバ名 v run mode。run mode を設定するには、Setting the Run Mode セグメント ダイア グラムに従います。まず -f を入力し、次にオプションで d、p、または a を入力 し、最後にオプションで l または u を入力します。 5. 終端記号までダイアグラムを読み進めます。 これで、ダイアグラムが終了します。 キーワードおよび句読点 システム レベルのコマンドを除き、すべてのコマンドおよび文に予約された単語です。 構文ダイアグラム内のキーワードは、大文字で表記されます。コマンド内のキーワード には、大文字と小文字の両方を使用できます。ただし、構文ダイアグラム内のキーワー ドと完全に一致するスペルにしてください。 また、構文やコマンド内の句読点も、構文ダイアグラム内と一致するように使用しなけ ればなりません。 xvi IBM Informix SQL ガイド: 参照 識別子と名前 変数は、構文ダイアグラムや例の中で、識別子や名前の代わりに使用されます。変数は コンテキストによって、任意の名前、識別子、リテラルに置き換えられます。また変数 は、追加構文ダイアグラムで拡張される複合構文要素を表すためにも使用されます。構 文ダイアグラム、例、またはテキスト内で使用される変数は、小文字のイタリック体 で 表記されます。 次の構文ダイアグラムでは、変数を使用して、単純な SELECT 文の一般的な形を示し ています。 SELECT column_name FROM table_name この形の SELECT 文を作成する場合は、変数 column_name および table_name を特定 の列名と表名に置き換えます。 コード例の表記規則 このマニュアルでは、SQL コードの例が随所に使用されています。特に明記されていな い限り、記載されるコードは、特定の IBM Informix アプリケーション開発ツール専用 ではありません。 例の中に SQL 文のみがリストされる場合、これらの文は、セミコロン (;) で区切られ ません。例えば、以下のようなコードの例が使用されます。 CONNECT TO stores_demo ... DELETE FROM customer WHERE customer_num = 121 ... COMMIT WORK DISCONNECT CURRENT この SQL コードをある製品で使用する場合、その製品の構文規則を適用する必要があ ります。例えば DB–Access を使用する場合、文と文の間はセミコロン (;) で区切る必 要があります。SQL API を使用する場合、EXEC SQL を文の最初に指定し、文の最後 にセミコロン (;)、または適切な区切り記号を指定する必要があります。 ヒント: コード例内の省略記号は、フル アプリケーションではそこにコードが追加され ることを示します。概念の説明には必要ないため、それらのコードは省略され ています。 特定のアプリケーション開発ツール、または SQL API の SQL 文の詳細については、 製品に付属するマニュアルを参照してください。 はじめに xvii 関連マニュアル 詳しくは、以下のマニュアル セットを参照してください。 v インストール ガイド v オンライン ノート v Informix エラー メッセージ集 v マニュアル v オンライン ヘルプ インストール ガイド インストール ガイドは、製品 CD の /doc ディレクトリ、または IBM Web サイトか らダウンロードした場合には製品の圧縮ファイルの /doc ディレクトリにあります。ま た、インストール ガイドは、IBM Informix Online Documentation サイト (http://www.ibm.com/software/data/informix/pubs/library/) からも入手できます。 オンライン ノート 以下のセクションでは、このマニュアルの情報を補足するオンライン ファイルについて 説明します。IBM Informix 製品を使用する前に、これらのファイルを参照してくださ い。このファイルには、アプリケーションおよびパフォーマンスに関する重要な情報が 含まれています。 xviii IBM Informix SQL ガイド: 参照 オンライン ファイル 説明 フォーマット TOC ノート HTML TOC (目次) ノート ファイルには、リリース ノート、修正された問題と既知の問題について のファイル、および個々のマニュアル タイト ルに該当するすべてのドキュメント ノート フ ァイルへの、ハイパーリンクの包括的なディレ クトリが記載されています。 ドキュメント ノート それぞれのマニュアルのドキュメント ノート HTML、テキ には、マニュアルに記載されている情報を補足 スト する重要な情報と修正、マニュアルの出版後に 変更された情報が含まれています。 リリース ノート リリース ノート ファイルには、IBM Informix HTML、テキ 製品の以前バージョンとの機能の違いと、その スト 違いが現行の製品に及ぼす影響について記載し ています。製品により、このファイルに既知の 問題とその修正処置も含まれる場合がありま す。 マシン ノート (Windows 以外のプラットフォームのみ) マシ テキスト ン ノート ファイルには、ご使用のコンピュー タで IBM Informix 製品を構成して使用するた めに行うべきプラットフォーム固有の処置につ いて記載しています。 修正された問題と既知 の問題についてのファ イル このテキスト ファイルには、現行バージョン テキスト で確認されている問題がリストされています。 また、ユーザから報告された現行バージョンお よび以前のバージョンで修正された問題もリス トされています。 オンライン ノートの入手先 オンライン ノートは IBM Informix Online Documentation サイト (http://www.ibm.com/software/data/informix/pubs/library/) から入手できます。さらに、以下 に説明するように、これらのファイルをインストール後、またはインストール前に取得 できます。 インストール前 すべてのオンライン ノートは、製品 CD の /doc ディレクトリにあります。ドキュメ ント ノート、リリース ノート、および修正された問題と既知の問題についてのファイ ルにアクセスする最も簡単な方法は、TOC ノート ファイルからのハイパーリンクを介 したアクセスです。 はじめに xix マシン ノート、および修正された問題と既知の問題についてのファイルは、テキスト フォーマットでのみ提供されます。 インストール後 デフォルト ロケールの UNIX プラットフォームでは、ドキュメント ノート、リリース ノート、およびマシン ノートのファイルは、$INFORMIXDIR/release/en_us/0333 ディ レクトリにあります。 Dynamic Server Windows では、ドキュメント ノートおよびリリース ノートは Informix フォルダに格 納されています。このフォルダを表示するには、タスクバーから、「スタート」>「プ ログラム」>「IBM Informix Dynamic Server version」>「Documentation Notes」また は「Release Notes」を選択します。 マシン ノートは、Windows プラットフォームには適用されません。 Dynamic Server の終り オンライン ノートのファイル名 オンライン ノートのファイル形式は以下のとおりです。 オンライン ファイル ファイル形式 例 TOC ノート prod_os_tocnotes_version.html ids_win_tocnotes_10.0.html ドキュメント ノート prod_bookname_docnotes_version.html/txt ids_hpl_docnotes_10.0.html リリース ノート prod_os_relnotes_version.html/txt ids_unix_relnotes_10.0.txt マシン ノート prod_machine_notes_version.txt ids_machine_notes_10.0.txt 修正された問題と既知の問 prod_defects_version.txt 題についてのファイル ids_win_fixed_and_known _defects_version.txt ids_defects_10.0.txt client_defects_2.90.txt ids_win_fixed_and_known _defects_10.0.txt Informix エラー メッセージ集 このファイルは、Informix 製品のバージョン番号別のエラー メッセージおよび修正処置 の包括的なインデックスです。 xx IBM Informix SQL ガイド: 参照 UNIX プラットフォームでは、finderr コマンドを使用してエラー メッセージおよび修 正処置を確認します。 Dynamic Server Windows では、Informix エラー メッセージ集ユーティリティを使用してエラー メッセ ージおよび修正処置を確認します。このユーティリティを表示するには、タスクバーか ら「スタート」>「プログラム」>「IBM Informix Dynamic Server version」> 「Informix エラー メッセージ集」を選択します。 Dynamic Server の終り IBM Informix Online Documentation サイト (http://www.ibm.com/software/data/informix/pubs/library/) でこれらのファイルにアクセスす ることもできます。 マニュアル オンライン マニュアル IBM Informix 製品では、電子フォーマットのマニュアルを含む CD が提供されます。 マニュアルを CD からインストールするか、または CD からこれらに直接アクセスで きます。オンライン マニュアルのインストール、表示、および印刷の方法については、 CD に付属するインストール ガイドを参照してください。同じオンライン マニュアル を IBM Informix Online Documentation サイト (http://www.ibm.com/software/data/informix/pubs/library/) から入手することもできます。 ペーパー マニュアル ハードコピー マニュアルを注文するには、営業担当員に連絡するか、または IBM Publications Center Web サイト (http://www.ibm.com/software/howtobuy/data.html) にアク セスしてください。 オンライン ヘルプ それぞれのグラフィカル ユーザ インターフェイス (GUI) で提供される IBM Informix オンライン ヘルプでは、そのインターフェイスおよび機能についての情報が表示されま す。オンライン ヘルプを表示するには、それぞれの GUI のヘルプ機能を使用してくだ さい。 アクセシビリティ IBM は、身体障害のある閲覧者にもマニュアルへのアクセスを可能にするように努力し ています。IBM のマニュアルは HTML 形式で入手できるため、スクリーン リーダ (読 上げソフトウェア) などの支援テクノロジーを使用してアクセスできます。IBM のマニ ュアルの構文ダイアグラムは、スクリーン リーダ (読上げソフトウェア) を使用する場 はじめに xxi 合に限り利用できる小数点付き 10 進数フォーマットに従っています。小数点付き 10 進数フォーマットについて詳しくは、付録の『アクセシビリティ』を参照してくださ い。 IBM Informix Dynamic Server バージョン 10.0 および CSDK バージョン 2.90 マ ニュアル セット 以下の表に、IBM Informix Dynamic Server バージョン 10.0 および CSDK バージョン 2.90 マニュアル セットを構成するマニュアルのリストを表示します。これらのマニュ アルの PDF および HTML バージョンは、 http://www.ibm.com/software/data/informix/pubs/library/ で入手できます。これらのマニュ アルのハードコピー バージョンは、IBM Publications Center (http://www.ibm.com/software/howtobuy/data.html) で注文できます。 表 1. Database Server のマニュアル マニュアル 内容 管理者ガイド データベース サーバの理解、構成、および管理。 管理者の参照 Informix Dynamic Server 用の参考資料。データベース サーバ ユーティリ ティ onmode と onstat の構文、構成パラメータと sysmasters 表と論理 ログ レコードについての説明などが含まれます。 バックアップおよび復元 ガ イド データのバックアップおよび復元を行うために ON-Bar および ontape ユ ーティリティを使用する際に理解しておく必要がある概念と方法。 DB-Access ユーザーズ ガイ ド DB-Access ユーティリティを使用した、Informix データベースのデータの アクセス、修正、および取得。 DataBlade API Function Reference DataBlade API 関数、および DataBlade API がサポートする ESQL/C 関 数のサブセット。DataBlade API を使用して、Informix データベースのデ ータにアクセスするクライアント LIBMI アプリケーションおよび C 言 語のユーザ定義ルーチンを開発できます。 DataBlade API Programmer’s Guide Dynamic Server で提供されている C 言語のアプリケーション プログラ ミング インターフェイスである DataBlade API。DataBlade API を使用し て、Informix データベースに格納されているデータにアクセスするクライ アント アプリケーションおよびサーバ アプリケーションを開発します。 データベース設計および実 装 ガイド Informix データベースの設計、実装、および管理。 エンタープライズ レプリケ ーション ガイド 複数のデータベース サーバ間でデータを複製するためにエンタープライ ズ レプリケーション システムを設計、実装、および管理する方法。 エラー メッセージ ファイ ル IBM Informix 製品の使用時に受け取る可能性がある番号付きエラー メッ セージの原因と修正処置。 xxii IBM Informix SQL ガイド: 参照 表 1. Database Server のマニュアル (続き) マニュアル 内容 スタートアップ ガイド IBM Informix Dynamic Server にバンドルされている製品、および他の IBM 製品とのインターオペラビリティの説明。Dynamic Server の重要な 機能と各バージョンの新機能の要約。 SQL ガイド: 参照 Informix データベース、データ型、システム カタログ表、環境変数、お よび stores_demo デモンストレーション データベースについての情報。 SQL ガイド: 構文 Informix のすべての SQL 文と SPL 文の構文についての詳細な説明。 SQL ガイド: チュートリア ル Informix 製品で実装された SQL についてのチュートリアル。リレーショ ナル データベースでの作業時に使用される基本的な概念と用語を説明し ます。 ハイ パフォーマンス ロー ダ ユーザーズ ガイド Informix データベースへ/から大量のデータをロードおよびアンロードする ための、ハイパフォーマンス ローダ (HPL) へのアクセスと使用。 インストール ガイド (Microsoft Windows 用) Windows での IBM Informix Dynamic Server のインストール。 インストール ガイド (UNIX および Linux 用) UNIX および Linux での IBM Informix Dynamic Server のインストー ル。 J/Foundation Developer’s Guide Java プログラム言語による Informix Dynamic Server with J/Foundation 用 ユーザ定義ルーチン (UDR) の記述。 Large Object Locator DataBlade Module User’s Guide ラージ オブジェクト データを作成または格納する他のモジュールから使 用可能な DataBlade ファウンデーション モジュールである Large Object Locator の使用。Large Object Locator は、ラージ オブジェクトへの単一 で一貫したインターフェイスの作成を可能にし、データベースの外部に保 存されているデータも組み込むようにラージ オブジェクトの概念を拡張 します。 移行ガイド Informix データベース サーバの最新バージョンへの変換および最新バー ジョンからのリバージョン。異なる Informix データベース サーバ間の移 行について説明します。 Optical Subsystem Guide 光ディスクへのバイト (BYTE) 型およびテキスト (TEXT) 型データの格 納を支援するユーティリティである光ディスク記憶サブシステム。 パフォーマンス ガイド 最適なパフォーマンスを実現するための IBM Informix Dynamic Server の 構成と運用。 R-Tree Index User’s Guide 適切なデータ型に対する R ツリー インデックスの作成、R ツリー アク セス方法を使用する演算子クラスの新規作成、および R ツリー副アクセ ス方法を使用するデータベースの管理。 SNMP Subagent Guide 簡易ネットワーク管理プロトコル (SNMP) ネットワーク マネージャによ る Informix サーバ状態の監視を可能にする、IBM Informix サブエージェ ント。 はじめに xxiii 表 1. Database Server のマニュアル (続き) マニュアル 内容 Storage Manager 管理者ガイ ド Informix データベース サーバ向けの記憶装置およびメディアを管理する Informix 格納域マネージャ (ISM)。 Trusted Facility Guide 監査ログの作成と管理を含む、Dynamic Server の安全保護監査機能。 ユーザ定義ルーチンおよび データ タイプ 開発者ガイ ド 新規の型を定義し、ユーザ定義ルーチン (UDR) を使用して IBM Informix Dynamic Server の機能を拡張する方法。 Virtual-Index Interface Programmer’s Guide IBM Informix Dynamic Server に組み込まれたインデックス方式を拡張す るための、仮想インデックス インターフェイス (VII) による副アクセス 方法 (インデックス) の作成。通常は DataBlade モジュールで使用しま す。 Virtual-Table Interface Programmer’s Guide 仮想テーブル インターフェイス (VTI) での主アクセス方法の作成。これ により、ユーザは Informix の表、および Informix Dynamic Server のス トレージ方式に準拠しないデータに対して、単一の SQL インターフェイ スを使用できます。 表 2. クライアント/接続関連のマニュアル マニュアル 内容 Client Products Installation Guide UNIX、Linux、および Windows を使用しているコンピュータへの、IBM Informix Client Software Developer’s Kit (Client SDK) および IBM Informix Connect のインストール。 Embedded SQLJ User’s Guide Java プログラムに SQL 文を埋め込むための IBM Informix Embedded SQLJ の使用。 ESQL/C Programmer’s Manual C 言語用埋込み SQL の IBM Informix 実装。 GLS ユーザーズ ガイド IBM Informix API およびデータベース サーバでの、各国の言語、国/地域 別情報、およびコード セットの処理を可能にする、広域言語サポート (GLS) 機能。 JDBC Driver Programmer’s Guide Java アプリケーションまたはアプレットから Informix データベースへの 接続を行うための、JDBC ドライバのインストールと使用。 .NET Provider Reference Guide .NET クライアント アプリケーションによる Informix データベース内の データのアクセスと操作を可能にするための、Informix .NET Provider の 使用。 ODBC Driver Programmer’s Manual Informix データベースにアクセスし、Informix データベース サーバと対 話するための、Informix ODBC Driver API の使用。 xxiv IBM Informix SQL ガイド: 参照 表 2. クライアント/接続関連のマニュアル (続き) マニュアル 内容 OLE DB Provider Programmer’s Guide ActiveX Data Object (ADO) アプリケーションや Web ページなどのクラ イアント アプリケーションから Informix サーバのデータへのアクセスを 可能にするための、Informix OLE DB Provider のインストールと構成。 Object Interface for C++ Programmer’s Guide C++ オブジェクト インターフェイスおよび全クラス参照からなるアーキ テクチャ。 表 3. DataBlade Developer’s Kit のマニュアル マニュアル 内容 DataBlade Developer’s Kit User’s Guide BladeSmith および BladePack を使用した DataBlade モジュールの開発と パッケージ化。 DataBlade Module Development Overview DataBlade モジュール開発の基本的な説明。DataBlade モジュールの開発 例が含まれています。 DataBlade Module Installation DataBlade モジュールのインストール、および Informix データベースで and Registration Guide DataBlade モジュールを管理するための BladeManager の使用。 業界標準への準拠 米国規格協会 (ANSI) と国際標準化機構 (ISO) は、共同で構造化問合せ言語 (SQL) 用 の一連の業界標準を確立しました。IBM Informix SQL ベースの製品は、ISO 9075:1992 と同一である、SQL-92 エントリ レベル (ANSI X3.135-1992 として発行) に完全準拠し ています。さらに、Informix データベース サーバの多くの機能が、SQL-92 中間および 全レベル、および X/Open SQL CAE (共通アプリケーション環境) 標準に準拠していま す。 はじめに xxv xxvi IBM Informix SQL ガイド: 参照 第 1 章 システム カタログ表 システム カタログ表が追跡するオブジェクト . システム カタログの使用方法 . . . . . . システム カタログの構造 . . . . . . . SYSAGGREGATES (IDS) . . . . . . . SYSAMS (IDS) . . . . . . . . . . . SYSATTRTYPES (IDS) . . . . . . . . SYSBLOBS . . . . . . . . . . . . SYSCASTS (IDS) . . . . . . . . . . SYSCHECKS. . . . . . . . . . . . SYSCHECKUDRDEP (IDS) . . . . . . . SYSCOLATTRIBS (IDS) . . . . . . . . SYSCOLAUTH . . . . . . . . . . . SYSCOLDEPEND . . . . . . . . . . SYSCOLUMNS . . . . . . . . . . . SYSCONSTRAINTS . . . . . . . . . SYSDEFAULTS . . . . . . . . . . . SYSDEPEND. . . . . . . . . . . . SYSDIRECTIVES (IDS) . . . . . . . . SYSDISTRIB. . . . . . . . . . . . SYSDOMAINS (IDS) . . . . . . . . . SYSERRORS (IDS) . . . . . . . . . SYSEXTCOLS (XPS) . . . . . . . . . SYSEXTDFILES (XPS) . . . . . . . . SYSEXTERNAL (XPS) . . . . . . . . SYSFRAGAUTH (IDS) . . . . . . . . SYSFRAGMENTS . . . . . . . . . . SYSINDEXES . . . . . . . . . . . SYSINDICES (IDS) . . . . . . . . . SYSINHERITS (IDS) . . . . . . . . . SYSLANGAUTH (IDS) . . . . . . . . SYSLOGMAP (IDS) . . . . . . . . . SYSNEWDEPEND (XPS). . . . . . . . SYSOBJSTATE (IDS) . . . . . . . . . SYSOPCLASSES (IDS) . . . . . . . . SYSOPCLSTR . . . . . . . . . . . SYSPROCAUTH . . . . . . . . . . SYSPROCBODY . . . . . . . . . . SYSPROCEDURES . . . . . . . . . . SYSPROCPLAN. . . . . . . . . . . SYSREFERENCES . . . . . . . . . . © Copyright IBM Corp. 1996, 2004 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 . 3 . 10 . 12 . 12 . 15 . 16 . 17 . 18 . 19 . 20 . 21 . 21 . 23 . 27 . 29 . 30 . 30 . 31 . 32 . 32 . 34 . 35 . 36 . 37 . 38 . 40 . 43 . 44 . 45 . 45 . 46 . 46 . 47 . 48 . 50 . 51 . 52 . 55 . 56 1 SYSREPOSITORY (XPS) . . . . . SYSROLEAUTH . . . . . . . SYSROUTINELANGS (IDS) . . . . SYSSEQUENCES (IDS) . . . . . SYSSYNONYMS . . . . . . . SYSSYNTABLE. . . . . . . . SYSTABAMDATA (IDS) . . . . . SYSTABAUTH . . . . . . . . SYSTABLES . . . . . . . . . SYSTRACECLASSES (IDS) . . . . SYSTRACEMSGS (IDS) . . . . . SYSTRIGBODY . . . . . . . . SYSTRIGGERS . . . . . . . . SYSUSERS . . . . . . . . . SYSVIEWS . . . . . . . . . SYSVIOLATIONS . . . . . . . SYSXTDDESC (IDS) . . . . . . SYSXTDTYPEAUTH (IDS) . . . . SYSXTDTYPES (IDS). . . . . . 情報スキーマ (IDS) . . . . . . 情報スキーマ ビューの生成 . . 情報スキーマ ビューへのアクセス 情報スキーマ ビューの構造 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 57 58 59 59 60 60 61 63 65 66 66 68 68 69 70 71 71 72 74 74 75 75 本章について システム カタログ は、データベースの構造を記述した表の集まりです。これらの表は データ ディクショナリ とも呼ばれ、データベース自身の情報をすべて含んでいます。 各システム カタログ表には、データベース内のさまざまな要素に関する情報が格納され ます。 本章では、システム カタログ表の構造、内容、およびの使用方法について説明します。 また、現行データベース サーバ上の表、ビュー、列に関する情報を提供する情報スキー マについても説明します。 システム カタログ表が追跡するオブジェクト システム カタログ表は、次のデータベース オブジェクトのカテゴリを含む、データベ ースに関する情報を管理します。 v 表、ビュー、およびシノニム v 列、制約、インデックス、およびフラグメント v トリガ v プロシジャ、関数、ルーチン、および関連メッセージ v 許可ユーザ、ロール、およびデータベース オブジェクト アクセス権 2 IBM Informix SQL ガイド: 参照 v データ型およびキャスト (IDS) v 集計関数 (IDS) v アクセス方法と演算子クラス (IDS) v シーケンス オブジェクト (IDS) v 外部オプティマイザ ディレクティブ (IDS) v 継承関係 (IDS) システム カタログの使用方法 データベースを作成すると、Informix データベース サーバによって自動的にシステム カタログ表が作成されます。データベース内の他の表と同様に、システム カタログ表に 対して問合せを実行できます。新しく作成されたデータベースのシステム カタログ表は DB 領域 と呼ばれる、ディスクの共通域に常駐します。各データベースには、その専用 システム カタログ表があります。システム カタログのすべての表とビューには、プレ フィックス sys が付きます (システム カタログ表 systables など)。 厳密には、プレフィックス sys が付いている表がすべてシステム カタログ表というわ けではありません。例えば、syscdr データベースは、エンタープライズ レプリケーシ ョン機能をサポートします。ただし、非カタログ表には tabid >= 100 が付けられま す。システム カタログ表はすべて tabid < 100 となります。データベース サーバが、 表、ビュー、シノニム、および (Dynamic Server において) シーケンス オブジェクトに 割り当てる tabid 番号の詳細については、本セクションの後半および 63 ページの 『SYSTABLES』 を参照してください。 ヒント: データベースのシステム カタログ表と、sysmaster、sysutils、syscdr、または (Dynamic Server の場合) sysuser データベースの表を混同しないでください。 これらのデータベースの表の名前にもプレフィックス sys が付いていますが、 データベース サーバ全体に関する情報を含んでおり、複数のデータベースを管 理できます。表 sysmaster、sysutils、syscdr、および sysuser の情報は、主にデ ータベース システム管理者 (DBSA) にとって有用です。「IBM Informix: Dynamic Server 管理者ガイド」および「IBM Informix: Dynamic Server 管理者 の参照」も参照してください。 データベース サーバは、絶えずシステム カタログにアクセスします。データベース サ ーバは、SQL 文を処理するたびにシステム カタログにアクセスして、システム アクセ ス権の判断、表名や列名の追加、照合などを行います。 例えば、次の CREATE SCHEMA ブロックは、データベース stores_demo に、表 customer とそのインデックスおよびアクセス権を追加します。また、このブロックはビ ュー california も追加します。このビューは、表 customer にあるカリフォルニアに住 む全顧客の名前と名字、会社名、電話番号以外閲覧されることのないよう、データを制 限します。 第 1 章 システム カタログ表 3 CREATE SCHEMA AUTHORIZATION maryl CREATE TABLE customer (customer_num SERIAL(101), fname CHAR(15), lname CHAR(15), company CHAR(20), address1 CHAR(20), address2 CHAR(20), city CHAR(15), state CHAR(2), zipcode CHAR(5), phone CHAR(18)) GRANT ALTER, ALL ON customer TO cathl WITH GRANT OPTION AS maryl GRANT SELECT ON customer TO public GRANT UPDATE (fname, lname, phone) ON customer TO nhowe CREATE VIEW california AS SELECT fname, lname, company, phone FROM customer WHERE state = ’CA’ CREATE UNIQUE INDEX c_num_ix ON customer (customer_num) CREATE INDEX state_ix ON customer (state) この CREATE SCHEMA ブロックを処理する場合、データベース サーバは最初にシス テム カタログにアクセスし、次の情報を確認します。 v 作成される表やビューと同じ名前の表やビューが、すでにデータベース内に存在して いないか (データベースが ANSI (米国規格協会) 標準に準拠している場合、データベ ース サーバは、新規名が指定された所有者ですでに使用されていないか確認しま す)。 v 表の作成およびユーザ アクセス権付与のための権限をユーザが持っているか。 v CREATE VIEW 文および CREATE INDEX 文の列名が表 customer に存在するか。 これらの点を照合した後、データベース サーバは 2 つの新しい表を作成し、次のシス テム カタログ表に新しい行を追加します。 v systables v syscolumns v sysviews v systabauth v syscolauth v sysindexes v sysindices (IDS) CREATE SCHEMA ブロックの実行後、次の 2 つの新規行の情報がシステム カタログ 表 systables に追加されます。 4 IBM Informix SQL ガイド: 参照 列名 最初の行 2 番目の行 tabname customer california owner maryl maryl partnum 16778361 0 tabid 101 102 rowsize 134 134 ncols 10 4 nindexes 2 0 nrows 0 0 created 01/26/1999 01/26/1999 version 1 0 tabtype T V locklevel P B npused 0 0 fextsize 16 0 nextsize 16 0 flags 0 0 site dbname システム カタログ表 systables に記録される各表には、tabid が割り当てられます。こ れはシステムによって割り当てられる順次番号で、データベース内の各表を一意に識別 します。システム カタログ表には 2 桁の tabid 番号が付けられ、ユーザが作成した表 には 100 で始まる順次 tabid 番号が付けられます。 CREATE SCHEMA ブロックはシステム カタログ表 syscolumns に 14 行追加します。 これらの行は、次の例に示すように表 customer とビュー california に定義されている 各列に対応します。 第 1 章 システム カタログ表 5 colname tabid colno coltype collength customer_num 101 1 262 4 fname 101 2 0 15 lname 101 3 0 15 company 101 4 0 20 address1 101 5 0 20 address2 101 6 0 20 city 101 7 0 15 state 101 8 0 2 zipcode 101 9 0 5 phone 101 10 0 18 fname 102 1 0 15 lname 102 2 0 15 company 102 3 0 20 phone 102 4 0 18 colmin colmax 表 syscolumns には、colno という名前の列があります。colno には、ユーザが作成した 表の各列を一意に識別するためにシステムが割り当てた連続の列番号が格納されます。 列 colno では、表 customer の列 fname に値 2 が割り当てられます。また、ビュー california の列 fname には値 1 が割り当てられます。 列 colmin と colmax にエントリはありません。これらの列には、列がインデックスの 先頭キー (または唯一のキー) であり、NULL 以外の値か重複しない固有の値が収めら れ、そして UPDATE STATISTICS 文が実行された場合に、値が入ります。 また、データベース サーバはシステム カタログ表 sysviews に行を追加します。その 列 viewtext はビューを定義する CREATE VIEW 文のそれぞれの行を含みます。該当列 では、文内で列名の先頭に付けられる x0 (x0.fname など) は別名として働き、セルフ 結合で使用されている同列を区別します。 また、CREATE SCHEMA ブロックはシステム カタログ表 systabauth に行を追加しま す。これらの行は、次の例に示すように、表 customer と california に対するユーザ ア クセス権に対応しています。 6 IBM Informix SQL ガイド: 参照 grantor grantee tabid tabauth maryl public 101 su-idx-- maryl cathl 101 SU-IDXAR maryl nhowe 101 --*----- maryl 102 SU-ID--- 列 tabauth には、表 customer と california に対する表レベルのユーザ アクセス権情 報が格納されます。この列では、次のような 8 バイトのパターンを使用してアクセス権 のタイプを識別します。s (Select)、u (Update)、* (列レベルのアクセス権)、i (Insert)、 d (Delete)、x (Index)、a (Alter)、および r (References) などです。この例では、ユーザ nhowe は表 customer に対して列レベルのアクセス権を取得しています。値 tabauth 内 にハイフン (-) で示された個所は、ユーザに該当タイプのアクセス権がないことを示し ます。 列 tabauth に表示されるアクセス権のコードが英大文字の場合 (例えば Select を表す 英大文字 S の場合)、ユーザは付与されたアクセス権を他のユーザに付与できますが、 アクセス権のコードが英小文字の場合 (例えば Select を表す英小文字 s の場合) 、ユ ーザは他のユーザにアクセス権を付与できません。 さらに、3 つの行がシステム カタログ表 syscolauth に追加されます。これらの行は、 次の例に示すように表 customer の特定の列に対するユーザ アクセス権に対応していま す。 grantor grantee tabid colno colauth maryl nhowe 101 2 -u- maryl nhowe 101 3 -u- maryl nhowe 101 10 -u- 列 colauth には、表 customer に対して付与された列レベルのアクセス権情報が格納さ れます。この列では、次のような 3 バイトのパターンを使用してアクセス権のタイプを 識別します。s (Select)、u (Update)、および r (References) などです。例えば、ユーザ nhowe は表 customer (tabid の値が 101) の 2 番目の列 (colno の値が 2) に対して Update アクセス権を取得しています。 CREATE SCHEMA ブロックはシステム カタログ表 sysindexes (Dynamic Server に対 する表 sysindices) に 2 行追加します。これらの行は、次の例に示すように表 customer に作成されたインデックスに対応します。 第 1 章 システム カタログ表 7 idxname c_num_ix state_ix owner maryl maryl tabid 101 101 idxtype U D part1 1 8 part2 0 0 part3 0 0 part4 0 0 part5 0 0 part6 0 0 part7 0 0 part8 0 0 part9 0 0 part10 0 0 part11 0 0 part12 0 0 part13 0 0 part14 0 0 part15 0 0 part16 0 0 clustered levels leaves nunique clust idxflags この表では、列 idxtype は、作成されたインデックスが一意の値 (U) を必要とするか、 または重複値 (D) を適用するか表します。例えば、列 customer.customer_num のイン デックス c_num_ix は一意です。 システム カタログに対するアクセス 通常、システム カタログに対して許されるユーザ アクセス権は読取り専用です。 Connect アクセス権または Resource アクセス権のみ付与されているユーザはカタログを 変更できませんが、標準の SELECT 文を使用してシステム カタログ表内のデータに読 取り専用でアクセスできます。 8 IBM Informix SQL ガイド: 参照 例えば、次の SELECT 文はデータベース内のユーザが作成した表のすべての表名およ び対応する tabid コードを表示します。 SELECT tabname, tabid FROM systables WHERE tabid > 99 DB–Access を使用する場合、ユーザが作成した表のみが表示されます。システム カタ ログ表を表示するには、次の文を入力します。 SELECT tabname, tabid FROM systables WHERE tabid < 100 関数 SUBSTR または SUBSTRING を使用してソース文字列の一部分のみを選択でき ます。列に表のリストを表示するには、次の文を入力します。 SELECT SUBSTR(tabname, 1, 18), tabid FROM systables ユーザ informix と DBA は、ほとんどのシステム カタログ表を変更できます (systables を変更できるのはユーザ informix のみです) が、これらのシステム カタロ グ表の更新や削除、表への行の挿入は行わないでください。システム カタログ表を変更 すると、データベースの整合性が失われることがあります。ALTER TABLE 文を使用し て、システム カタログ表の追加エクステントのサイズを変更することはできません。 ただし、Dynamic Server の特定のカタログ表では、システム カタログ表へのエントリ の追加は有効です。例えば、システム カタログ表 syserrors や systracemsgs の場合、 DataBlade モジュールの開発者は、これらのシステム カタログ表にあるエントリを直接 挿入できます。 システム カタログのデータの更新方法 Informix データベース サーバ内では、オプティマイザが SQL 問合せ実行に対する有効 ストラテジのほとんどを決定します。オプティマイザにより、結合においてどの表を最 初に探索するのか、またはどのインデックスを使用するのかをそれほど考慮せずにデー タベースに問い合わせることができます。オプティマイザは、システム カタログ表に格 納されている情報を利用して、最適な問合せ方法を決定します。 UPDATE STATISTICS 文を使用して問合せの実行前にシステム カタログを更新する と、オプティマイザに常に最新の情報を提供できます。多くの行を表から削除、または 表に対して変更を加えた場合、データベース サーバはシステム カタログに格納されて いる関連の統計データを自動的には更新しません。例えば、DELETE 文を使用して表か ら 1 行以上の行を削除する場合、その表の行数を保持するシステム カタログ表 systables の列 nrows は自動的に更新されません。 UPDATE STATISTICS 文を実行すると、データベース サーバは systables、sysdistrib、 syscolumns、sysindexes (Dynamic Server の場合は sysindices) の各システム カタログ表 のデータを再計算します。UPDATE STATISTICS 文の実行後、システム カタログ表 systables の列 nrows に正しい値が保持されます。UPDATE STATISTICS の実行時に中 間または高モードを指定する場合、システム カタログ表 sysdistrib は、更新されたデ ータ配分データを保持します。 第 1 章 システム カタログ表 9 データ表に対して大幅な変更を加えた後は、UPDATE STATISTICS 文を使用してシステ ム カタログ内のデータを更新してください。UPDATE STATISTICS 文の詳細について は、「IBM Informix: SQL ガイド: 構文」を参照してください。 システム カタログの構造 次のシステム カタログ表に、Informix データベースの構造を表します。ここで、X は IDS または XPS、あるいはその両方が表をサポートしていることを示します。 システム カタログ表 XPS 参照ページ sysaggregates X 12 sysams X 12 sysattrtypes X 15 X 16 X 17 X 18 syscheckudrdep X 19 syscolattribs X 20 sysblobs X syscasts syschecks X syscolauth X X 21 syscoldepend X X 21 syscolumns X X 23 sysconstraints X X 27 sysdefaults X X 29 sysdepend X X 30 X 30 X 31 sysdomains X 32 syserrors X 32 sysdirectives sysdistrib X sysextcols X 34 sysextdfiles X 35 sysexternal X 36 sysfragauth 10 IDS X 37 sysfragments X X 38 sysindexes X X 40 sysindices X 43 sysinherits X 44 IBM Informix SQL ガイド: 参照 システム カタログ表 XPS IDS 参照ページ syslangauth X 45 syslogmap X 45 sysnewdepend X 46 sysobjstate X 46 sysopclasses X 47 sysopclstr X X 48 sysprocauth X X 50 sysprocbody X X 51 sysprocedures X X 52 sysprocplan X X 55 sysreferences X X 56 sysrepository X sysroleauth X 57 X 57 sysroutinelangs X 58 syssequences X 59 syssynonyms X X 59 syssyntable X X 60 X 60 systabamdata systabauth X X 61 systables X X 63 systraceclasses X 65 systracemsgs X 66 systrigbody X X 66 systriggers X X 68 sysusers X X 68 sysviews X X 69 sysviolations X X 70 sysxtddesc X 71 systdtypeauth X 71 sysxtdtypes X 72 データベース ロケールがデフォルト (U.S. English、ISO 8859-1 コード セット) の場 合、これらの表の文字列型は文字 (CHAR) 型および可変長文字 (VARCHAR) 型です。 それ以外のすべてのロケールでは、文字列型は各国語文字型である各国語文字 第 1 章 システム カタログ表 11 (NCHAR) 型および各国語可変長文字 (NVARCHAR) 型となります。データ型の照合順 序については、「IBM Informix: GLS ユーザーズ ガイド」を参照してください。本書の 第 2 章も参照してください。 SYSAGGREGATES (IDS) システム カタログ表 sysaggregates には、UDA (User-Defined Aggregate: ユーザ定義集 計関数) が記録されます。システム カタログ表 sysaggregates は次の列で構成されま す。 列 データ型 説明 name VARCHAR(128) 型 集計関数名 owner CHAR(32) 型 集計関数の所有者名 aggid シリアル (SERIAL) 型 集計関数を識別する一意のコード init_func VARCHAR(128) 型 初期化 UDR (User-Defined Routine: ユーザ 定義ルーチン) の名前 iter_func VARCHAR(128) 型 反復 UDR の名前 combine_func VARCHAR(128) 型 結合 UDR の名前 final_func VARCHAR(128) 型 最終完成 UDR の名前 handlesnulls ブール (BOOLEAN) 型 NULL 処理インディケータ t = NULL を処理する f = NULL を処理しない sysaggregates には、それぞれのユーザ定義集計関数ごとにエントリ が 1 つ指定され、 識別コード (値 aggid) で一意に識別されます。sysaggregates では、ユーザ定義集計関 数、つまり組み込まれていない集計関数のみにエントリが指定されます。 列 aggid の単一インデックスおよび列 name と owner の複合インデックスの両方には 一意の値が必要です。 SYSAMS (IDS) システム カタログ表 sysams には、「IBM Informix: SQL ガイド: 構文」で説明してい る SQL の CREATE ACCESS METHOD 文が作成した情報に加えて、組込みアクセス 方法の使用に必要な情報が含まれます。システム カタログ表 sysams は次の列で構成さ れます。 12 IBM Informix SQL ガイド: 参照 列 データ型 説明 am_name VARCHAR(128) 型 アクセス方法の名前 am_owner CHAR(32) 型 アクセス方法の所有者名 am_id 整数 (INTEGER) 型 アクセス方法の固有の識別コード これは、systables、sysindices、および表 sysopclasses 内の列 am_id に対応しています。 am_type CHAR(1) 型 アクセス方法の型 P = 主 S = 副 am_sptype CHAR(3) 型 アクセス方法が存在する領域の型 A または a = すべての型。EXT 領域、DB 領 域、および SB 領域。ユーザ定義アクセス方法で ない場合、つまり組込みアクセス方法、またはサ ーバによるデータベース作成中に登録されたアク セス方法の場合、DB 領域がサポートされます。 D または d = DB 領域のみ。 S または s = SB 領域のみ (スマート ラージ オ ブジェクト領域)。 X または x = EXT 領域のみ。 am_defopclass 整数 (INTEGER) 型 デフォルトの演算子クラスの一意の識別コード am_keyscan 整数 (INTEGER) 型 表 sysopclasses 内の演算子クラスに対するエント リから、値は opclassid です。 副アクセス方法がキー走査をサポートするかどう か。 (アクセス方法は、関数 am_getnext の呼出しから 行 ID を戻すのみでなく、キーも戻すことができ る場合に、キー走査をサポートします) (0 = FALSE、非ゼロ = TRUE) am_unique 整数 (INTEGER) 型 副アクセス方法が一意キーをサポートできるかど うか。 (0 = FALSE、非ゼロ = TRUE) am_cluster 整数 (INTEGER) 型 主アクセス方法がクラスタ化をサポートするかど うか。 (0 = FALSE、非ゼロ = TRUE) 第 1 章 システム カタログ表 13 列 データ型 説明 am_rowids 整数 (INTEGER) 型 主アクセス方法が行 ID をサポートするかどう か。 (0 = FALSE、非ゼロ = TRUE) am_readwrite 整数 (INTEGER) 型 主アクセス方法が読み書き可能かどうか。 0 = アクセス方法は読取り専用 非ゼロ = アクセス方法は読取り/書込み am_parallel 整数 (INTEGER) 型 アクセス方法が並列実行をサポートしているかど うか。 (0 = FALSE、非ゼロ = TRUE) am_costfactor 小桁実数 (SMALLFLOAT) 型 組込みアクセス方法に実行されるコスト計算に応 じて値を正規化するために、走査コストを乗算し た値 走査コストとは、関数 am_scancost の出力を指し ます。 am_create 整数 (INTEGER) 型 該当するアクセス方法に応じて AM_CREATE 目 的関数のために指定されたルーチン。 値 = 表 sysprocedures 内のルーチンに対する procid。 14 am_drop 整数 (INTEGER) 型 該当するアクセス方法に応じて AM_DROP 目的 関数のために指定されたルーチン。 am_open 整数 (INTEGER) 型 該当するアクセス方法に応じて AM_OPEN 目的 関数のために指定されたルーチン。 am_close 整数 (INTEGER) 型 該当するアクセス方法に応じて AM_CLOSE 目的 関数のために指定されたルーチン。 am_insert 整数 (INTEGER) 型 該当するアクセス方法に応じて AM_INSERT 目 的関数のために指定されたルーチン。 am_delete 整数 (INTEGER) 型 該当するアクセス方法に応じて AM_DELETE 目 的関数のために指定されたルーチン。 am_update 整数 (INTEGER) 型 該当するアクセス方法に応じて AM_UPDATE 目 的関数のために指定されたルーチン。 am_stats 整数 (INTEGER) 型 該当するアクセス方法に応じて AM_STATS 目的 関数のために指定されたルーチン。 am_scancost 整数 (INTEGER) 型 該当するアクセス方法に応じて AM_SCANCOST 目的関数のために指定されたルーチン。 am_check 整数 (INTEGER) 型 該当するアクセス方法に応じて AM_CHECK 目 的関数のために指定されたルーチン。 IBM Informix SQL ガイド: 参照 列 データ型 説明 am_beginscan 整数 (INTEGER) 型 該当するアクセス方法に応じて AM_BEGINSCAN 目的関数のために指定されたルーチン。 am_endscan 整数 (INTEGER) 型 該当するアクセス方法に応じて AM_ENDSCAN 目的関数のために指定されたルーチン。 am_rescan 整数 (INTEGER) 型 該当するアクセス方法に応じて AM_RESCAN 目 的関数のために指定されたルーチン。 am_getnext 整数 (INTEGER) 型 該当するアクセス方法に応じて AM_GETNEXT 目的関数のために指定されたルーチン。 am_getbyid 整数 (INTEGER) 型 該当するアクセス方法に応じて AM_GETBYID 目的関数のために指定されたルーチン。 am_build 整数 (INTEGER) 型 該当するアクセス方法に応じて AM_BUILD 目的 関数のために指定されたルーチン。 am_init 整数 (INTEGER) 型 該当するアクセス方法に応じて AM_INIT 目的関 数のために指定されたルーチン。 am_truncate 整数 (INTEGER) 型 該当するアクセス方法に応じて AM_TRUNCATE 目的関数のために指定されたルーチン。 am_costfactor の後の約 20 列はそれぞれ、ルーチンに応じて値 sysprocedures.procid となります。 列 am_sptype には、複数のエントリを指定できます。次に例を示します。 v A は、アクセス方法が EXT 領域と SB 領域をサポートすることを指します。B ツリ ーなどの組込みアクセス方法の場合は、DB 領域もサポートされます。 v DS は、アクセス方法が DB 領域と SB 領域をサポートすることを指します。 v sx は、アクセス方法が、SB 領域と EXT 領域をサポートすることを指します。 この表内の列 am_name と am_owner には、固有値のみを許容する複合インデックス が付けられています。列 am_id には、一意性インデックスが付けられています。 アクセス方法関数については、アクセス方法に関するマニュアルを参照してください。 SYSATTRTYPES (IDS) システム カタログ表 sysattrtypes は、複合データ型のメンバに関する情報を含みま す。sysattrtypes の各行には、コレクション (COLLECTION) 型の要素、または行 (ROW) 型のフィールドに関する情報が指定されます。 第 1 章 システム カタログ表 15 システム カタログ表 sysattrtypes は次の列で構成されます。 列 データ型 説明 extended_id 整数 (INTEGER) 型 拡張データ型の識別コード。 表 sysxtdtypes 内の値と同じ (73 ページを参照し てください)。 seqno 小桁整数 (SMALLINT) 型 extended_id 型が付けられたエントリの識別コー ド。 levelno 小桁整数 (SMALLINT) 型 コレクション (COLLECTION) 型階層内のメンバの 位置。 parent_no 小桁整数 (SMALLINT) 型 該当するメンバが含まれている複合データ型の列 seqno 内の値。 fieldname VARCHAR(128) 型 行 row 型内のフィールドの名前。 その他の複合データ型に対しては NULL。 fieldno 小桁整数 (SMALLINT) 型 システムによって連続的に割り当てられたフィール ド番号。各行 (ROW) 型内の左側から順に割り当て られます。 type 小桁整数 (SMALLINT) 型 データ型に対するコード。 length 小桁整数 (SMALLINT) 型 メンバの長さ (単位: バイト) xtd_type_id 整数 (INTEGER) 型 該当するデータ型を識別するコード。 syscolumns.coltype の説明を参照 (23 ページ)。 sysxtdtypes.extended_id の説明を参照 (73 ペー ジ)。 列 extended_id のインデックスと列 xtd_type_id のインデックスでは、重複値を許容し ます。列 extended_id と seqno には、固有値のみを許容する複合インデックスが付け られています。 SYSBLOBS システム カタログ表 sysblobs には、バイト (BYTE) 型列とテキスト (TEXT) 型値の格 納場所を指定します。その名前は、バイト (BYTE) 型およびテキスト (TEXT) 型列に対 する既存の用語である blobs (シンプル ラージ オブジェクト とも呼ばれます) を基に しています。Dynamic Server の BLOB 型を指すわけではありません。表 sysblobs には バイト (BYTE) 型またはテキスト (TEXT) 型列ごとに 1 つの行があり、さらに次の列 があります。 16 IBM Informix SQL ガイド: 参照 列 データ型 説明 spacename VARCHAR(128) 型 パーティション名、DB 領域名、またはファミリ名 type CHAR(1) 型 記憶媒体のタイプを識別するコード M = 磁気式 O = 光 (IDS) tabid 整数 (INTEGER) 型 表を識別するコード colno 小桁整数 (SMALLINT) 型 該当する表内での列番号 tabid と colno には、固有値のみを許容する複合インデックスが付けられています。 テキスト (TEXT) 型、バイト (BYTE) 型、BLOB 型、および CLOB 型列に対する BLOB 領域、DB 領域、SB 領域のチャンクの格納場所とサイズについて詳しくは、 「IBM Informix: Dynamic Server 管理者ガイド」と「IBM Informix: Dynamic Server 管理 者の参照」を参照してください。 SYSCASTS (IDS) システム カタログ表 syscasts には、データベース内のキャストに関する情報が記述さ れます。この表には、ユーザが定義した組込みキャスト、暗黙的キャスト、および明示 的キャストごとに行が 1 行指定されます。システム カタログ表 syscasts は次の列で構 成されます。 第 1 章 システム カタログ表 17 列 データ型 説明 owner CHAR(32) 型 キャストの所有者名 (組込みキャストの場合に は、ユーザ informix、暗黙的キャストと明示的 キャストの場合には ユーザ 名になります) argument_type 小桁整数 (SMALLINT) 型 キャストが操作するソース データ型 argument_xid 整数 (INTEGER) 型 列 argument_type で指定されたソース データ 型を表すコード result_type 小桁整数 (SMALLINT) 型 キャストが戻したデータ型を表すコード result_xid 整数 (INTEGER) 型 列 result_type で指定されたデータ型のデータ 型コード routine_name VARCHAR(128) 型 キャスト実装関数またはプロシジャ routine_owner CHAR(32) 型 列 routine_name で指定された関数またはプロ シジャの所有者名 class CHAR(1) 型 キャストの型 E = 明示的キャスト I = 暗黙的キャスト S = 組込みキャスト routine_name と routine_owner に NULL 値が指定されている場合は、ルーチンを指定 せずにキャストが定義されたことを示します。これは、列 argument_type と result_type で指定されたデータ型が両方とも同じ長さ、同じ配置である場合、かつ両方 が参照による引渡しまたは値による引渡しである場合に発生します。 列 argument_type、argument_xid、result_type、および result_xid には、固有値のみを 許容する複合インデックスが付けられています。列 result_type と result_xid には、重 複値を許容する複合インデックスが付けられています。 SYSCHECKS システム カタログ表 syschecks には、データベース内で定義されている各チェック制 約に関する情報が記述されます。表 syschecks には、ASCII テキスト形式とバイナリ形 式の両方のチェック制約が格納されるため、1 つのチェック制約に対して複数行が使用 されます。システム カタログ表 syschecks は次の列で構成されます。 18 IBM Informix SQL ガイド: 参照 列 データ型 説明 constrid 整数 制約を識別する固有のコード (INTEGER) 型 type CHAR(1) 型 チェック制約の格納形式 B = バイナリ s = 選択 T = テキスト seqno 小桁整数 (SMALLINT) 型 チェック制約の行番号 checktext CHAR(32) 型 チェック制約のテキスト type 列で B 型に関連付けられた checktext 列のテキストは、コンピュータ可読形式で す。特定のチェック制約に関するテキストを表示するには、適切な constrid コードを指 定した次の問合せを使用します。 SELECT * FROM syschecks WHERE constrid=10 AND type=’T’ 表 syschecks に記述される各チェック制約は、表 sysconstraints にも列を持っていま す。 constrid、type、seqno の 3 つの列には、固有値のみを許容する複合インデックスが付 けられています。 SYSCHECKUDRDEP (IDS) システム カタログ表 syscheckudrdep には、データベース内でユーザ定義ルーチン (UDR) が参照する各チェック制約についての情報が記述されます。システム カタログ 表 syscheckudrdep は次の列で構成されます。 列 データ型 説明 udr_id 整数 UDR を識別する一意のコード (INTEGER) 型 constraint_id 整数 チェック制約を識別する一意のコード (INTEGER) 型 表 syscheckudrdep に記述される各チェック制約は、システム カタログ表 sysconstraints にも列を含み、列 constrid には、syscheckudrdep の列 constraint_id と 同じ値が指定されます。 第 1 章 システム カタログ表 19 列 udr_id および constraint_id には、固有の組合せ値を必要とする複合インデックスが 付けられています。 SYSCOLATTRIBS (IDS) システム カタログ表 syscolattribs には、スマート ラージ オブジェクト、つまり CLOB 型および BLOB 型の各データ型の特性が記述されます。CREATE TABLE 文の PUT 節にリストされているそれぞれの SB 領域ごとに 1 つの行が使用されます。 列 データ型 説明 tabid 整数 (INTEGER) 型 表を一意的に識別するコード colno 小桁整数 (SMALLINT) 型 スマート ラージ オブジェクトを含む列の番号 extentsize 整数 (INTEGER) 型 スマート ラージ オブジェクト エクステント内のページ (単位: KB) flags 整数 (INTEGER) 型 次のパラメータの 16 進値の組合せ (追加による) の整数表現 LO_NOLOG (0x00000001 = 1) スマート ラージ オブジェク トを記録しない。 LO_LOG (0x00000010 = 2) データベースの現行ログ モ ードに従ったスマート ラー ジ オブジェクトのロギン グ。 LO_KEEP_LASTACCESS_TIME (0x00000100 = 4) スマート ラージ オブジェク ト列への、最新のユーザ ア クセス レコードを保持。 LO_NOKEEP_LASTACCESS_TIME (0x00001000 = 8) スマート ラージ オブジェク ト列への、最新のユーザ ア クセス レコードを保持しな い。 HI_INTEG (0x00010000= 16) データ ページにはヘッダと フッタが指定されているた め、書込み不完全とデータ破 損を検出可能。 MODERATE_INTEG (この時点では使用できません) データ ページには、ヘッダ とフッタが指定されていな い。 flags1 整数 (INTEGER) 型 sbspace VARCHAR(128) 型 SB 領域の名前 20 IBM Informix SQL ガイド: 参照 将来の使用のために予約済み tabid、colno、sbspace の 3 つの列には、一意の組合せ値のみ許容する複合インデック スが付けられています。 SYSCOLAUTH システム カタログ表 syscolauth には、列に付与されたアクセス権のそれぞれのセット に関する情報が記述されます。データベース中の列に対する 1 組のアクセス権に対し て、1 行が使用されます。システム カタログ表 syscolauth は次の列で構成されます。 列 データ型 説明 grantor VARCHAR(32) 型 アクセス権の権限授与者名 grantee VARCHAR(32) 型 アクセス権の被権限授与者名 tabid 整数 (INTEGER) 型 表を一意的に識別するコード colno 小桁整数 (SMALLINT) 型 該当する表内での列番号 colauth CHAR(3) 型 列に対するアクセス権を表す 3 バイトのパターン s または S = Select u または U = Update r または R = References 列 colauth に表示されるアクセス権のコードが英大文字の場合 (例えば選択を表す英大 文字 S の場合)、このユーザは付与されたアクセス権を他のユーザに付与できます。列 colauth に表示されるアクセス権のコードが英小文字の場合 (例えば選択を表す英小文字 s の場合)、このユーザは付与されたアクセス権を他のユーザに付与できません。ハイフ ン (-) は colauth パターン内で対応する位置のアクセス権がないことを示します。 tabid、grantor、grantee、colno の 4 つの列には、固有値のみを許容する複合インデッ クスが付けられています。列 tabid と grantee には、重複値を許容する複合インデック スが付けられています。 SYSCOLDEPEND システム カタログ表 syscoldepend は、チェックおよび NOT NULL 制約で指定された 表の列を追跡します。1 つのチェック制約に対して表内の複数の列が関連する場合があ るため、各チェック制約に対して表 syscoldepend は複数行を構成できます。制約に含 まれるそれぞれの列に対して 1 つの行が作成されます。システム カタログ表 syscoldepend は次の列で構成されます。 第 1 章 システム カタログ表 21 列 データ型 説明 constrid 整数 (INTEGER) 型 制約を一意的に識別するコード tabid 整数 (INTEGER) 型 表を一意的に識別するコード colno 小桁整数 (SMALLINT) 型 表内での列番号 constrid、tabid、colno の 3 つの列には、固有値のみを許容する複合インデックスが付 けられています。列 tabid と colno には、重複値を許容する複合インデックスが付けら れています。 19 ページの『SYSCHECKUDRDEP (IDS)』のシステム カタログ表 syscheckudrdep も 参照してください。ユーザ定義ルーチンが参照するチェック制約がすべてリストされて います。 一般化キー インデックスの列への依存性については、46 ページの『SYSNEWDEPEND (XPS)』の表 sysnewdepend も参照してください。 参照制約の依存性については、56 ページの『SYSREFERENCES』の表 sysreferences も 参照してください。 22 IBM Informix SQL ガイド: 参照 SYSCOLUMNS システム カタログ表 syscolumns には、データベース中の各列に関する情報が記述され ます。表やビューで定義された 1 つの列に対して、1 行が使用されます。 列 データ型 説明 colname VARCHAR(128) 型 列名 tabid 整数 (INTEGER) 型 列を含む表の識別コード colno 小桁整数 (SMALLINT) 列番号 型 システムによって各表内の左側の列から右側へ連続的に割り当て られます。 coltype 小桁整数 (SMALLINT) 列のデータ型を示すコード 型 0 = 文字 (CHAR) 型 13 = 可変長文字 (VARCHAR) 1 = 小桁整数 (SMALLINT) 型 型 2 = 整数 (INTEGER) 型 14 = 時間隔 (INTERVAL) 型 3 = 実数 (FLOAT) 型 15 = 各国語文字 (NCHAR) 4 = 小桁実数 (SMALLFLOAT) 型 型 5 = 10 進数 (DECIMAL) 型 16 = 各国語可変長文字 6 = シリアル (SERIAL) 型 * (NVARCHAR) 型 7 = 日付 (DATE) 型 17 = 8 バイト整数 (INT8) 型 8 = 金額 (MONEY) 型 18 = 8 バイト シリアル 9 = NULL (SERIAL8) 型 * 10 = 日時 (DATETIME) 型 19 = セット (SET) 型 11 = バイト (BYTE) 型 20 = マルチセット 12 = テキスト (TEXT) 型 (MULTISET) 型 21 = リスト (LIST) 型 22 = 名前なし行型 40 = 可変長の不透明 (OPAQUE) 型 4118 = 名前付き行型 collength 小桁整数 (SMALLINT) 列の長さ (単位: バイト) 型 colmin 整数 (INTEGER) 型 最小列長 (単位: バイト) colmax 整数 (INTEGER) 型 最大列長 (単位: バイト) extended_id 整数 (INTEGER) 型 (IDS) 列 coltype で指定されたデータ型のデータ型コード。表 sysxtdtypes で指定します。 * DB–Accessでは、DB–Access がシリアル (SERIAL) 型列と 8 バイト シリアル (SERIAL8) 型列を NOT NULL に設定するため、常に 256 のオフセット値が coltype コードに追加されます。 Extended Parallel Server は、不透明 (OPAQUE) 型、および複合データ型 (セット (SET) 型、マルチセット (MULTISET) 型、リスト (LIST) 型、名前なし行 (ROW) 型および名 前付き行 (ROW) 型) のいずれもサポートしません。 tabid と colno には、固有値のみを許容する複合インデックスが付けられています。 前ページでリストした coltype コードは、列の次の機能を表示するビットマップを使っ て増分できます。 第 1 章 システム カタログ表 23 ビット値 ビット設定の意義 0x0100 NULL 値は使用不可 0x0200 ホスト変数からの値 0x0400 ネットワーク データベース サーバのための実数 (FLOAT) 型 から 10 進数 (DECIMAL) 型 0x0800 ディスティンクト (DISTINCT) 型 0x1000 名前付き行型 0x2000 ラージ可変長文字 (LVARCHAR) 基本型からのディスティンクト (DISTINCT) 型 0x4000 ブール (BOOLEAN) 基本型からのディスティンクト (DISTINCT) 型 0x8000 コレクション (COLLECTION) 型はクライアント システムで処理され る 例えば、名前付き行型の coltype 4118 は、16 進値 0x1016 の 10 進表現です。16 進値 0x1016 は、名前付き行型ビットが設定された状態の、名前なし行型の 16 進 coltype 値 (0 x 016) と同じです (ファイル $INFORMIXDIR/incl/esql/sqltypes.h には syscolumns.coltype コードに関する補足説明が含まれています)。 NULL 値不可制約 同様に、列が NULL 値を許容しない場合、coltype 値は 256 で増分されます。こうい った列に対するデータ型を調べるには、候補の coltype 値を基に、値から 256 を引き、 余りの数値を求めます。例えば、coltype 値が 262 である場合、256 を引くと余りの 6 が得られ、列がシリアル (SERIAL) 型であることがわかります。 列データ型の格納 データベース サーバは、23 ページの『SYSCOLUMNS』にリストしたように coltype 値をビットマップとして格納します。 不透明 (OPAQUE) 型 (IDS) ブール (BOOLEAN) 型、BLOB 型、CLOB 型、およびラージ可変長文字 (LVARCHAR) 型は、データベース サーバにより組込み不透明 (OPAQUE) 型 として実装されます。 組込み不透明 (OPAQUE) 型は、データベース サーバが型定義を提供するデータ型の 1 つです。こうしたデータ型は、組込み不透明 (OPAQUE) 型であるため、一意の coltype 値を使用しません。代わりに、不透明 (OPAQUE) 型の coltype 値の 1 つ、41 (固定長 の不透明 (OPAQUE) 型) または 40 (可変長の不透明 (OPAQUE) 型) を使用します。固 定長の不透明 (OPAQUE) 型は、システム カタログ表 sysxtdtypes の列 extended_id で 区別されます。 24 IBM Informix SQL ガイド: 参照 組込み不透明 (OPAQUE) 型の coltype 値を以下に示します。 事前定義データ型 列 coltype の値 BLOB 型 CLOB 型 ブール (BOOLEAN) 型 ラージ可変長文字 (LVARCHAR) 型 41 41 41 40 列長の格納 列 collength 値はその列のデータ型によって決まります。 整数ベースのデータ型 大桁整数 (BIGINT) 型、日付 (DATE) 型、整数 (INTEGER) 型、8 バイト整数 (INT8) 型、シリアル (SERIAL) 型、8 バイト シリアル (SERIAL8) 型、または 小桁整数 (SMALLINT) 型列で使用される collength 値はマシンに依存しません。データベース サーバは、SQL 言語の整数ベースのデータ型に、次の長さを使用します。 整数ベースのデータ型 長さ (単位: バイト) 小桁整数 (SMALLINT) 型 2 日付 (DATE) 型 整数 (INTEGER) 型 シリアル (SERIAL) 型 4 4 4 大桁整数 (BIGINT) 型、8 バイト整数 (INT8) 型 8 バイト シリアル (SERIAL8) 型 8 (XPS) 8 (XPS) 8 バイト整数 (INT8) 型 8 バイト シリアル (SERIAL8) 型 10 (IDS) 10 (IDS) 可変長文字 (VARCHAR) 型 Dynamic Server のラージ可変長文字 (LVARCHAR) 型の列では、collength はデータ型 宣言から最大 値を、最大値が指定されていない場合は 2048 を取ります。 可変長文字 (VARCHAR) 型列または各国語可変長文字 (NVARCHAR) 型列では、 max_size および min_space 値は、次の公式のいずれかを使用して列 collength に符号化 されます。 v collength 値が正の場合、 collength = (min_space * 256) + max_size v collength 値が負の場合、 collength + 65536 = (min_space * 256) + max_size 第 1 章 システム カタログ表 25 時刻データ型 前述のように、日付 (DATE) 型列は列 collength 内で 4 つの値を使用します。 日時 (DATETIME) 型列または時間隔 (INTERVAL) 型列 では、次の公式を使用して collength を決定します。 (length * 256) + (first_qualifier * 16) + last_qualifier 長さは、日時 (DATETIME) 型または 時間隔 (INTERVAL) 型フィールドの物理的な長 さであり、first_qualifier および last_qualifier は、次の表で示す値を使用します。 フィールド修飾子 値 フィールド修飾子 値 YEAR (年) 0 FRACTION (小数部) (1) 11 MONTH (月) 2 FRACTION (小数部) (2) 12 DAY (日) 4 FRACTION (小数部) (3) 13 HOUR (時) 6 FRACTION (小数部) (4) 14 MINUTE (分) 8 FRACTION (小数部) (5) 15 SECOND (秒) 10 例えば、列 DATETIME YEAR TO MINUTE の長さが 12 の場合 (YYYY:DD:MO:HH:MI など)、first_qualifier 値は 0 (YEAR)、last_qualifier 値は 8 (MINUTE) となり、よって collength 値は 3080 (= (256 * 12) + (0 * 16) + 8) とな ります。 固定小数点型 金額 (MONEY) 型列または DECIMAL(p、s) 型列の collength 値は次の公式を使用して 計算します。 (precision * 256) + scale シンプル ラージ オブジェクト データ型 列のデータ型がバイト (BYTE) 型またはテキスト (TEXT) 型の場合、collength が記述 子の長さを保持します。 最大値と最小値の格納 列 colmin と colmax には、対象となる列に格納されている値のうち、2 番目に小さい 値が列 colmin に、2 番目に大きい値が列 colmax に格納されます。例えば、インデッ 26 IBM Informix SQL ガイド: 参照 クス付き列の値が 1、2、3、4、および 5 の場合、colmin 値は 2、colmax 値は 4 にな ります。2 番目に小さいデータ値および 2 番目に大きいデータ値の格納により、データ ベース サーバは既知の列における範囲値の前提事項を作成し、次に検索ストラテジをさ らに最適化します。 列 colmin と colmax には、対象となる列にインデックスが作成され、UPDATE STATISTICS 文が実行された場合に限り、値が格納されます。バイト (BYTE) 型または テキスト (TEXT) 型データを表領域に格納する場合、colmin 値は -1 となります。 列 colmin と colmax は 4 バイトに適合するデータ型、 SMALLFLOAT、SMALLINT、INTEGER、および CHAR の先頭 4 バイトに対してのみ 有効です。整数型以外のすべての列では、最大値か最小値の先頭 4 バイトを整数と見な します。 colmin および colmax 値に依存するより、UPDATE STATISTICS MEDIUM の使用を お勧めします。 UPDATE STATISTICS MEDIUM を使用すると、より有用な情報が得 られます。また、すべてのデータ型に対して使用できます。 Dynamic Server は、ユーザ定義データ型の列 colmin および colmax の値を計算しませ ん。ただし、ユーザ定義副アクセス方法によってこれらの値が提供される場合は、これ らの列でユーザ定義データ型の値が使用されます。 SYSCONSTRAINTS システム カタログ表 sysconstraints には、データベースの各表の列ごとに設定されてい る制約の情報が格納されます。sysindexes または sysindices に対応するエントリがない 場合、固有の主キー、NOT NULL、または参照制約ごとにエントリがシステム カタロ グ表 sysindexes (または Dynamic Server の sysindices ビュー) にも格納されます。イ ンデックスは共有されるため、2 つ以上のインデックスが関係付けられます。システム カタログ表 sysconstraints は次の列で構成されます。 第 1 章 システム カタログ表 27 列 データ型 説明 constrid シリアル (SERIAL) 型 制約を一意的に識別するコード constrname VARCHAR(128) 型 制約名 owner VARCHAR(32) 型 制約の所有者名 tabid 整数 (INTEGER) 型 表を一意的に識別するコード constrtype CHAR(1) 型 制約型を識別するコード C = チェック制約 N = Not NULL P = 主キー R = 参照 T = 表 U = 一意 idxname VARCHAR(128) 型 制約に対応するインデックスの名前 collation (IDS) CHAR(32) 型 制約作成時の順序照合 列 constrname と owner には、固有値のみを許容する複合インデックスが付けられて います。列 tabid には、重複値を許容するインデックスが付けられ、列 constrid に は、固有値のみを許容するインデックスが付けられています。 チェック制約 (constrtype = C) では、idxname は常に NULL です。各チェック制約の 補足説明については、システム カタログ表 syschecks および syscoldepend を参照して ください。 28 IBM Informix SQL ガイド: 参照 SYSDEFAULTS システム カタログ表 sysdefaults には、データベースの各列に設定されている、ユーザ 定義のデフォルト値が格納されます。ユーザ定義のデフォルト値 1 つに対して、1 行が 使用されます。システム カタログ表 sysdefaults は次の列で構成されます。 列 データ型 説明 tabid 整数 表を一意的に識別するコード (INTEGER) 型 colno 小桁整数 (SMALLINT) 型 列を一意的に識別するコード type CHAR(1) 型 デフォルト値の型を識別するコード C = 現在 L = リテラル値 N = NULL S = DB サーバ名または サイト名 T = 今日 U = ユーザ default CHAR(256) 型 sysdefaults.type = L の場合、デフォルトのリテラ ル値 class (IDS) CHAR(1) 型 列の種類を識別するコード T = 表 t = 行 (ROW) 型 CREATE TABLE 文または ALTER TABLE 文でデフォルト値が明示的に指定されない 場合、表 sysdefaults のその列にエントリは存在しません。 デフォルト値としてリテラルを指定すると、ASCII テキストとして列 default に格納さ れます。そのリテラル値が次のパラグラフでリストするデータ型のうちの 1 つでない場 合、列 default は 2 つの部分で構成されます。最初の部分は、デフォルト値の構造のバ イナリ値を示す 6 ビット表示で、2 番目の部分は、デフォルト値の ASCII 文字列デー タです。2 つの部分は空白で区切られています。 列のデータ型が文字 (CHAR) 型、各国語文字 (NCHAR) 型、各国語可変長文字 (NVARCHAR) 型、または可変長文字 (VARCHAR) 型でない場合、あるいは (Dynamic Server の場合) ブール (BOOLEAN) 型またはラージ可変長文字 (LVARCHAR) 型でない 場合、デフォルト値のバイナリ表記は列 default に符号化されます。 tabid、colno、class の 3 つの列には、固有値のみを許容する複合インデックスが付けら れています (Extended Parallel Server では、このインデックスでは列 class が省略され ます)。 第 1 章 システム カタログ表 29 SYSDEPEND システム カタログ表 sysdepend には、表やビューの従属関係が記述されます。1 つの 従属関係に対して、この表の 1 行が使用されます。例えば、3 つの表に基づくビューの 情報は 3 行を使用します。システム カタログ表 sysdepend は次の列で構成されます。 列 データ型 説明 btabid 整数 基本表またはビューを一意的に識別するコード (INTEGER) 型 btype CHAR(1) 型 dtabid 整数 従属表またはビューを一意的に識別するコード (INTEGER) 型 dtype CHAR(1) 型 基本となるオブジェクトのデータ型 T = 表 V = ビュー 従属オブジェクトの型に対するコード。現時点では、ビュ ー (V = ビュー) のみ実装されています 列 btabid と列 dtabid には、重複値を許容するインデックスがそれぞれ付けられてい ます。 SYSDIRECTIVES (IDS) 表 sysdirectives には、問合せに適用可能な外部オプティマイザ ディレクティブが格納 されます。クライアント アプリケーションにおける問合せでこれらのオプティマイザ ディレクティブを使用可能かどうかは、第 3 章で説明するクライアント システムにお ける IFX_EXTDIRECTIVES 環境変数の設定と、データベース サーバの構成ファイル 内の EXT_DIRECTIVES の設定に依存します。 表 sysdirectives は次の列で構成されます。 30 列 データ型 説明 id シリアル (SERIAL) 型 オプティマイザ ディレクティブを識別する固有のコー ド query テキスト (TEXT) 型 アプリケーションに表示される問合せのテキスト directives テキスト (TEXT) 型 オプティマイザ ディレクティブのテキスト (コメント なし) active 小桁整数 このエントリがアクティブである (= 1) かテストのみ (SMALLINT) 型 である (= 2) かを識別する整数コード hash_code 小桁整数 内部使用専用 (SMALLINT) 型 IBM Informix SQL ガイド: 参照 列 query では NULL 値は使用できません。列 id には一意性インデックスが定義され ます。 SYSDISTRIB システム カタログ表 sysdistrib には、データベース サーバが使用するためのデータ配 分情報が格納されます。データ配分は詳しい表列情報をオプティマイザに提供し、それ によってオプティマイザは SELECT 文の実行パスの選択を向上させます。システム カ タログ表 sysdistrib は次の列で構成されます。 列 データ型 説明 tabid 整数 (INTEGER) 型 データ値が集束している表を一意的に識別す るコード colno 小桁整数 (SMALLINT) 型 ソース表での列番号 seqno 整数 (INTEGER) 型 複数エントリの序数 constructed 日付 (DATE) 型 データ配分が作成された日付 mode CHAR(1) 型 最適化レベル M = MEDIUM H = HIGH resolution 小桁実数 (SMALLFLOAT) 型 UPDATE STATISTICS 文に指定 confidence 小桁実数 (SMALLFLOAT) 型 UPDATE STATISTICS 文に指定 encdat 統計 (STAT) 型 CHAR(256) 型 type (IDS) CHAR(1) 型 IDS XPS 統計情報 統計の型 A = encdat の固定長の文字 (CHAR) 型フィ ールドに ASCII 符号化ヒストグラムがある S = encdat はユーザ定義統計を使用 モード MEDIUM または HIGH で UPDATE STATISTICS 文を表に対して実行する と、表 sysdistrib に情報が格納されます (UPDATE STATISTICS LOW は列 mode に値 を挿入しません)。 ユーザ informix のみが列 encdat を選択できます。 第 1 章 システム カタログ表 31 システム カタログ表 sysdistrib 内の各行には、統計情報が収集される tabid と colno によるキーが存在します。 組込みデータ型列では、フィールド type は A に設定されます。列 encdat は、1 つの ASCII 符号化ヒストグラムを複数の行に分割して格納します。この場合、各行のサイズ は、256 バイトになります。 Dynamic Server では、ユーザ定義データ型の列においてフィールド type は S に設定 されます。列 encdat は、ユーザ定義ルーチン statcollect が収集した統計情報をマルチ 表現フォームで格納します。tabid と colno のペアごとに 1 行のみが格納されます。 tabid、colno、seqno の 3 つの列には、一意の組合せ値のみ許容する複合インデックス が付けられています。 SYSDOMAINS (IDS) sysdomains ビューは使用されません。このビューは、その他のシステム カタログ表の 列を表示します。次の列で構成されます。 列 データ型 説明 id シリアル (SERIAL) 型 ドメインを識別する一意のコード owner CHAR(32) 型 ドメインの所有者名 name VARCHAR(128) 型 ドメイン名 type 小桁整数 (SMALLINT) 型 ドメインの型を識別するコード このビューにインデックスはありません。 SYSERRORS (IDS) システム カタログ表 syserrors には、エラー、警告、DataBlade モジュールが戻した通 知メッセージに関する情報、および mi_db_error_raise() DataBlade API 関数を使用した ユーザ定義ルーチンが格納されます。 32 IBM Informix SQL ガイド: 参照 システム カタログ表 syserrors は次の列で構成されます。 列 データ型 説明 sqlstate CHAR(5) 型 エラーと関連付けられている SQLSTATE 値 SQLSTATE 値およびその意味についての詳細は、 「IBM Informix: SQL ガイド: 構文」の GET DIAGNOSTICS 文を参照してください。 locale CHAR(36) 型 このバージョンのメッセージが関連付けられてい るロケール (en_us.8859-1 など) level 小桁整数 (SMALLINT) 型 将来の使用のために予約済み seqno 小桁整数 (SMALLINT) 型 将来の使用のために予約済み message VARCHAR(255) 型 メッセージ テキスト 新規メッセージを作成するには、表 syserrors に直接行を挿入します。デフォルトで は、どのユーザもこの表を表示できます。ただし、この表を変更できるのは DBA アク セス権のあるユーザのみです。 sqlstate、locale、level、seqno の 4 つの列には、固有値のみを許容する複合インデック スが付けられています。 第 1 章 システム カタログ表 33 SYSEXTCOLS (XPS) システム カタログ表 sysextcols には、形式型 (fmttype) が FIXED である外部表 tabid の内部列についてそれぞれを説明する行が含まれています。システム カタログ表 sysextcols は次の列で構成されます。 列 データ型 説明 tabid 整数 (INTEGER) 表の一意識別コード 型 colno 小桁整数 (SMALLINT) 型 列を識別するコード exttype 小桁整数 (SMALLINT) 型 外部列型を識別するコード extstart 小桁整数 (SMALLINT) 型 外部データ ファイルでの列の開始位置 extlength 小桁整数 (SMALLINT) 型 外部列長さ (単位: バイト) nullstr CHAR(256) 型 外部データでの NULL の表示 picture CHAR(256) 型 将来の使用のために予約済み decimal 小桁整数 (SMALLINT) 型 外部 10 進数の精度 extstype VARCHAR(128) 型 外部型名 DELIMITED の sysextcols または Informix format 外部ファイルにはエントリは格納さ れません。 DBSCHEMA ユーティリティを使用して外部表の記述を書き出せます。外部表について これらのシステム カタログ表に問い合わせるには、systables に tabtype = E として格 納されているとおりに tabid を使用してください。 列 tabid には、重複値を許容するインデックスが付けられています。 34 IBM Informix SQL ガイド: 参照 SYSEXTDFILES (XPS) 外部表ごとに、システム カタログ表 sysextdfiles には最低 1 行があり、次の列で構成 されます。 列 データ型 説明 tabid 整数 (INTEGER) 型 外部表の一意識別コード dfentry CHAR(152) 型 データ ファイル エントリ DBSCHEMA を使用して外部表の記述を書き出せます。外部表についてこれらのシステ ム カタログ表に問い合わせるには、systables に tabtype = E として格納されていると おりに tabid を使用してください。 列 tabid には、重複値を許容するインデックスが付けられています。 第 1 章 システム カタログ表 35 SYSEXTERNAL (XPS) 外部表ごとに、システム カタログ表 sysexternal には、最低 1 行があります。列 tabid はこのシステム カタログ表の中の外部表を systables のエントリに対応付けます。 列 データ型 説明 tabid 整数 (INTEGER) 型 外部表の一意識別コード fmttype CHAR(1) 型 形式の型 D = (区切り記号付き) F = (固定) I = (Informix) codeset VARCHAR(128) 型 ASCII、EBCDIC recdelim CHAR(4) 型 レコード区切り記号 flddelim CHAR(4) 型 フィールド区切り記号 datefmt CHAR(8) 型 将来の使用のために予約済み moneyfmt CHAR(20) 型 将来の使用のために予約済み maxerrors 整数 (INTEGER) 型 コサーバ 1 台につき許容されるエラーの数 rejectfile CHAR(128) 型 リジェクト ファイルの名前 flags 整数 (INTEGER) 型 オプションの load フラグ ndfiles 整数 (INTEGER) 型 sysextdfiles にあるデータ ファイルの数 DBSCHEMA を使用して外部表の記述を書き出せます。外部表についてこれらのシステ ム カタログ表に問い合わせるには、systables に tabtype = E として格納されていると おりに tabid を使用してください。 列 tabid には、固有値のみを許容するインデックスが付けられています。 36 IBM Informix SQL ガイド: 参照 SYSFRAGAUTH (IDS) システム カタログ表 sysfragauth には、表フラグメントに付与されているアクセス権に 関する情報が格納されます。この表は次の列で構成されます。 列 データ型 説明 grantor CHAR(32) 型 アクセス権の権限授与者名 grantee CHAR(32) 型 アクセス権の被権限授与者名 tabid 整数 (INTEGER) 型 フラグメント表の識別コード fragment VARCHAR(128) 型 フラグメントが格納される DB 領域の名前 fragauth CHAR(6) 型 フラグメントのアクセス権を指定している 6 バイト パターン (そのうち 3 バイトは将来の使用のために 予約済み) u または U = Update i または I = Insert d または D = Delete 列 fragauth 内のコードが英大文字になっている場合 (例えば、更新を表す英大文字の U の場合)、被権限授与者は、他のユーザにアクセス権を付与できます。英小文字の場合 (例えば、更新を表す英小文字の u の場合)、ユーザは他のユーザにアクセス権を付与で きません。ハイフン (-) は、パターン内で該当する位置のアクセス権がないことを示し ます。 tabid、grantor、grantee、fragment の 4 つの列には、固有値のみを許容する複合イン デックスが付けられています。列 tabid と grantee には、重複値を許容する複合インデ ックスが付けられています。 表 sysfragauth では、1 つ基本表のフラグメント レベル アクセス権が次のように表示 されます。この例では、被権限授与者 ted は Update、Delete、および Insert アクセス 権を他のユーザに付与できます。 grantor grantee tabid fragment fragauth dba dick 101 dbsp1 -ui--- dba jane 101 dbsp3 --i--- dba mary 101 dbsp4 --id-- dba ted 101 dbsp2 -UID-- 第 1 章 システム カタログ表 37 SYSFRAGMENTS システム カタログ表 sysfragments には、表とインデックスのフラグメント情報が格納 されます。1 つの表またはインデックス フラグメントに対して、この表の 1 行が使用 されます。 システム カタログ表 sysfragments は次の列で構成されます。 38 列 データ型 説明 fragtype CHAR(1) 型 フラグメント化オブジェクトの型を示すコード I = オリジナル インデックス フラグメント i = 重複インデックス フラグメント (XPS) T = オリジナル表フラグメント t = 重複表フラグメント (XPS) B = テキスト (TEXT) 型またはバイト (BYTE) 型 データ (XPS) i = 重複表のインデックス フラグメント (XPS) d = 重複表のデータ フラグメント (XPS) tabid 整数 (INTEGER) 型 表の一意識別コード indexname VARCHAR(128) 型 インデックス名 colno 整数 (INTEGER) 型 テキスト (TEXT) 型またはバイト (BYTE) 型列の 識別コード(IDS) レプリケーション識別子の識別コ ード (XPS) partn 整数 (INTEGER) 型 物理位置の識別コード strategy CHAR(1) 型 フラグメント分散ストラテジの型に対するコード R = ラウンドロビン分散ストラテジ E = 式ベースのフラグメント化ストラテジ I = IN DBSPACE 節で特定の格納場所をフラグメ ント化ストラテジの一部として指定 T = 表ベースのフラグメント化ストラテジ H = 表は表階層内の副表 (IDS) ハッシュ ベースのフラグメント化ストラテジ (XPS) location CHAR(1) 型 将来の使用のために予約済み。ローカルの場合には L を表示 servername VARCHAR(128) 型 将来の使用のために予約済み IBM Informix SQL ガイド: 参照 列 データ型 説明 evalpos 整数 (INTEGER) 型 フラグメント化リスト内のフラグメントの位置 exprtext テキスト (TEXT) 型 フラグメント化ストラテジの式 (IDS) ハッシュされた列名とハイブリッド フラグメント 化ストラテジに対する複合情報を含みます。つま り、ハッシュされた列の後に、DB スライスのフラ グメント化式が示されます。(XPS) exprbin バイト (BYTE) 型 式のバイナリ バージョン exprarr バイト (BYTE) 型 範囲式フラグメント化ストラテジで式を最適化する ために使用する範囲区分化データ flags 整数 (INTEGER) 型 内部で使用 (IDS) ハイブリッド フラグメント化ストラテジを示すビ ットマップ (値 = 0x00000010) (XPS) また、追加フラグ (値 = 0x00000020) は、広域分離 インデックスの最初のフラグメント上に設定されま す。(XPS) dbspace VARCHAR(128) 型 フラグメントの DB 領域の名前 levels 小桁整数 (SMALLINT) 型 B+ ツリーのインデックス レベル数 npused 整数 (INTEGER) 型 表フラグメント化ストラテジの場合、npused はデ ータ ページ数で、インデックス フラグメント化ス トラテジの場合、npused はリーフ ページ数です。 nrows 整数 (INTEGER) 型 表の場合は nrows はフラグメントの行数を、イン デックスの場合は nrows は一意キーの数を表しま す。 clust 整数 (INTEGER) 型 インデックスのクラスタ化の度合い。大きいクラス タ化は小さい数値で表されます。 hybdpos 整数 (INTEGER) 型 DB スライス内のハイブリッド フラグメントの相 対位置または特定の式に関連する DB 領域のリス トが含まれます。ハイブリッド フラグメント化ス トラテジ (およびハイブリッド ストラテジを適用 する場合に対象とするフラグメントのセット) によ って、相対位置が決定されます。最初のフラグメン トの hybdpos 値は 0 になります。(XPS) 第 1 章 システム カタログ表 39 列 データ型 説明 partname VARCHAR(128) 型 フラグメントに対する dbspace 内のパーティショ ン名 (IDS) ある状況では、パフォーマンスを改善するために複数のコサーバに渡って選択された表 を複写できます。各コサーバ上に小さい表の重複コピーを置いている場合、データベー ス サーバはいくつかの小さい問合せ (他のコサーバ上の表フラグメントからの列が不要 で、1 回 の操作あたり 128KB より多いメモリを必要としない問合せ) を直列計画とし て実行できます。これは、Resource Grant Manager (RGM) が管理する並列計画の代わり です。このパフォーマンス機能は、OLTP 型トランザクションにのみ適用されます。 次の問合せでは、現行データベースの重複表のそれぞれについて、所有者と名前を戻し ます。 SELECT DISTINCT st.owner, st.tabname FROM systables st, sysfragments sf WHERE st.tabid = sf.tabid AND sf.fragtype = ’t’ 重複表について詳しくは、「IBM Informix: SQL ガイド: 構文」の CREATE DUPLICATE 文の説明を参照してください。 strategy 型 T は、連結インデックスに使用されます (これは、表フラグメント化と同じ フラグメント化のフラグメント インデックスです)。 Dynamic Server では、fragtype、tabid、indexname、および evalpos の各列の複合イン デックスは、重複値を許容します。 Extended Parallel Server では、fragtype、tabid、indexname、evalpos、および hybdpos の各列の複合インデックスは、重複値を許容します。 SYSINDEXES 表 sysindexes は表 sysindices 上のビューです。データベースの 1 つのインデックスに 対して、1 行が使用されます。システム カタログ表 sysindexes は次の列で構成されま す。 40 列 データ型 説明 idxname VARCHAR(128) 型 インデックス名 owner VARCHAR(32) 型 インデックスの所有者 (システム カタログ表の場合は ユーザ informix、データベース表の場合は username) (IDS) IBM Informix SQL ガイド: 参照 列 データ型 説明 tabid 整数 (INTEGER) 型 表の一意識別コード idxtype CHAR(1) 型 インデックスのタイプ: U = 一意 D = 重複可能 G = 非ビットマップ一般化キー インデックス (XPS) g = ビットマップ一般化キー インデックス u = 固有、ビットマップ d = 非固有、ビットマップ clustered CHAR(1) 型 インデックスのクラスタ化または非クラスタ化 (C = クラスタ化) part1 小桁整数 (SMALLINT) 型 単一インデックスの列番号 (colno) または複合インデ ックスの 1 番目のコンポーネント part2 小桁整数 (SMALLINT) 型 複合インデックスの 2 番目のコンポーネント part3 小桁整数 (SMALLINT) 型 複合インデックスの 3 番目のコンポーネント part4 小桁整数 (SMALLINT) 型 複合インデックスの 4 番目のコンポーネント part5 小桁整数 (SMALLINT) 型 複合インデックスの 5 番目のコンポーネント part6 小桁整数 (SMALLINT) 型 複合インデックスの 6 番目のコンポーネント part7 小桁整数 (SMALLINT) 型 複合インデックスの 7 番目のコンポーネント part8 小桁整数 (SMALLINT) 型 複合インデックスの 8 番目のコンポーネント part9 小桁整数 (SMALLINT) 型 複合インデックスの 9 番目のコンポーネント part10 小桁整数 (SMALLINT) 型 複合インデックスの 10 番目のコンポーネント part11 小桁整数 (SMALLINT) 型 複合インデックスの 11 番目のコンポーネント part12 小桁整数 (SMALLINT) 型 複合インデックスの 12 番目のコンポーネント part13 小桁整数 (SMALLINT) 型 複合インデックスの 13 番目のコンポーネント 第 1 章 システム カタログ表 41 列 データ型 説明 part14 小桁整数 (SMALLINT) 型 複合インデックスの 14 番目のコンポーネント part15 小桁整数 (SMALLINT) 型 複合インデックスの 15 番目のコンポーネント part16 小桁整数 (SMALLINT) 型 複合インデックスの 16 番目のコンポーネント levels 小桁整数 (SMALLINT) 型 B ツリー レベルの数 leaves 整数 (INTEGER) 型 リーフ数 nunique 整数 (INTEGER) 型 最初の列にある一意キーの数 clust 整数 (INTEGER) 型 クラスタ化の度合い。大きいクラスタ化は小さい数値 で表されます。 idxflags 整数 (INTEGER) 型 インデックスの現行ロック モードを格納するビットマ ップ 標準 = 0x00000001 (XPS) 粗 = 0x00000002 (XPS) 大部分のシステム カタログ表と同様、既存のインデックスに影響するような変更は、 UPDATE STATISTICS 文の実行後にのみ、この表に反映されます。 この表の列 part1 から part16 の各列は、複合インデックスの候補としてあげられる列 番号を構成する 16 個のパーツ (colno) を 1 つずつ保持します。コンポーネントが降順 に並んでいる場合、colno は負の値として入力されます。B ツリー インデックスがユー ザ定義データ型または関数インデックスを使用しない場合は、列が充てんされます。汎 用 B ツリーおよび他のすべてのアクセス方法では、part1 から part16 の各列にはすべ てゼロが入ります。 表に対して UPDATE STATISTICS 文が実行されるまで、列 clust は空白のままです。 最大値は表にある行の数で、最小値は表にあるデータ ページの数です。 Extended Parallel Server では、列 tabid には、重複値を許容するインデックスが付けら れています。 idxname、owner、tabid の 3 つの列には、固有値のみを許容する複合イ ンデックスが付けられています。 42 IBM Informix SQL ガイド: 参照 SYSINDICES (IDS) システム カタログ表 sysindices には、データベースのインデックスに関する情報が記 述されます。データベースに定義されたインデックス 1 つに対して、この表の 1 行が 使用されます。 列 データ型 説明 idxname VARCHAR(128) 型 インデックス名 owner VARCHAR(32) 型 インデックスの所有者名 (システム カタログ表の 場合はユーザ informix、データベース表の場合は username) tabid 整数 (INTEGER) 型 表の一意識別コード idxtype CHAR(1) 型 インデックスのタイプ: U = 一意 D = 重複可能 clustered CHAR(1) 型 インデックスのクラスタ化または非クラスタ化 (C = クラスタ化) levels 小桁整数 (SMALLINT) ツリー レベルの数 型 leaves 整数 (INTEGER) 型 リーフ数 nunique 整数 (INTEGER) 型 最初の列にある一意キーの数 clust 整数 (INTEGER) 型 クラスタ化の度合い。大きいクラスタ化は小さい 数値で表されます。最大値は表にある行の数で、 最小値は表にあるデータ ページの数です。表に対 して UPDATE STATISTICS が実行されるまで、 この列は空白のままです。 nrows 実数 (FLOAT) 型 表内の行数の見積り。表に対して UPDATE STATISTICS が実行されるまでは、ゼロになりま す。 indexkeys インデックス キー配 列 (INDEX-KEYARRAY) 型 3 つまでのフィールドが入ります。形式は、 procid、(列 1、...、列 n)、opclassid で、1 < n < 341 となります。 amid 整数 (INTEGER) 型 インデックスを実装するアクセス方法の一意識別 コード。(値 = 表 sysams の該当アクセス方法に 対する am_id) amparam ラージ可変長文字 (LVARCHAR) 型 該当するアクセス方法の動作のカスタマイズに使 用するパラメータのリスト。 collation CHAR(32) 型 インデックス作成時の順序照合 第 1 章 システム カタログ表 43 ヒント: このシステム カタログ表は Informix データベース サーバのバージョン 7.2 から変更されています。以前のスキーマのシステム カタログ表もビューとして 使用でき、そのオリジナル名 sysindexes でアクセスできます。 既存のインデックスに影響するような変更は、UPDATE STATISTICS 文の実行後にの み、この表に反映されます。 列 indexkeys 内のフィールドには、次の意味があります。 v procid (sysprocedures に見られるような) は、表の列で定義される関数の戻り値に付 けられる関数インデックスに対してのみ表示されます。 v 2 番目のフィールドに指定されている列のリスト (列 1、...、列 n) は、インデックス が定義された列を示します。最大値は言語によって異なります。SPL または Java UDR の場合は 341 までで、C UDR の場合は 102 までです。 v opclassid は、データベース サーバがインデックスの作成、検索に使用する副アクセ ス方法を示します。これは、アクセス方法の sysopclasses.opclassid 値と同じです。 列 tabid には、重複値を許容するインデックスが付けられています。 idxname、 owner、tabid の 3 つの列には、固有値のみを許容する複合インデックスが付けられて います。 SYSINHERITS (IDS) システム カタログ表 sysinherits には、表および名前付き行型の継承に関する情報が格 納されます。データベース内の上位型、副型、上位表、および副表ではすべて、表 sysinherits に対応する行が指定されます。 列 データ型 説明 child 整数 (INTEGER) 型 副表または副型の識別コード parent 整数 (INTEGER) 型 上位表または上位型の識別コード class CHAR(1) 型 継承クラス: t= 名前付き行型 T = 表 child および parent 値は、名前付き行型に対する sysxtdtypes.extended_id、または表に 対する systables.tabid により決まります。child と parent には、重複値を許容する単 一インデックスが付けられています。 44 IBM Informix SQL ガイド: 参照 SYSLANGAUTH (IDS) システム カタログ表 syslangauth は、ユーザ定義ルーチン (User-Defined Routine: UDR) を書く場合に使用するコンピュータ言語の許可情報を含みます。 列 データ型 説明 grantor VARCHAR(32) 型 言語許可の権限授与者名 grantee VARCHAR(32) 型 言語許可の被権限授与者名 langid 整数 (INTEGER) 型 表 sysroutinelangs 内の言語識別コード langauth CHAR(1) 型 言語許可: u = Usage アクセス権の付与 U = WITH GRANT OPTION に付与された Usage アク セス権 列 langid、grantor、grantee の 3 つの列には、固有値のみを許容する複合インデック スが付けられています。列 langid と grantee には、重複値を許容する複合インデック スが付けられています。 SYSLOGMAP (IDS) システム カタログ表 syslogmap は、フラグメント化情報を含みます。 列 データ型 説明 tabloc 整数 外部表の格納場所に対するコード (INTEGER) 型 tabid 整数 表の一意識別コード (INTEGER) 型 fragid 整数 フラグメントの識別コード (INTEGER) 型 flags 整数 フラグメント宣言からの修飾子のビットマップ (INTEGER) 型 列 tabloc の単一インデックスおよび列 tabid と fragid の複合インデックスは、いずれ も重複値を許容しません。 第 1 章 システム カタログ表 45 SYSNEWDEPEND (XPS) システム カタログ表 sysnewdepend は、表 sysindexes で使用できない一般化キー イン デックスに関する情報を含みます。一般化キー インデックスと CREATE INDEX 文の FROM 節における表間の従属関係は、表 sysnewdepend に格納されます。次のような列 で構成されます。 列 データ型 説明 scrid1 VARCHAR(128) 型 一般化キー インデックス名 scrid2 整数 (INTEGER) 型 インデックス付けされた表の一意識別コード (= tabid) type 整数 (INTEGER) 型 一般化キー インデックスの型に対するコード destid1 整数 (INTEGER) 型 一般化キー インデックスが依存する表の systables.tabid 値 destid2 整数 (INTEGER) 型 表 destid1 内での列番号 scrid1、scrid2、type の 3 つの列には、重複値を許容する複合インデックスが付けられ ています。列 destid1、destid2、type に対する別の複合インデックスも、重複値を許容 します。 SYSOBJSTATE (IDS) システム カタログ表 sysobjstate には、データベース オブジェクトの状態 (オブジェク ト モード) に関する情報が格納されます。この表にリストされたデータベース オブジ ェクトの種類は、インデックス、トリガ、制約です。 ユーザがオブジェクトを作成する場合、データベースのすべてのインデックス、トリ ガ、制約には、表 sysobjstate に対応する行があります。データベースがシステム カタ ログ表で作成するインデックスは、オブジェクト モードが変更不可能であるため、表 sysobjstate にリストされません。 46 IBM Informix SQL ガイド: 参照 システム カタログ表 sysobjstate は次の列で構成されます。 列 データ型 説明 objtype CHAR(1) 型 データベース オブジェクトの型に対するコード C = 制約 I = インデックス T = トリガ owner VARCHAR(32) 型 データベース オブジェクトの所有者名 name VARCHAR(128) 型 データベース オブジェクトの名前 tabid 整数 (INTEGER) 型 オブジェクトが定義されている表の識別コード state CHAR(1) 型 データベース オブジェクトの現行の状態 (オブジェク ト モード)。次のコードのいずれかになります D = 無効 E = 有効 F = 保全性違反エラー無しのフィルタ処理 G = 保全性違反エラーありのフィルタ処理 objtype、name、owner、tabid の 4 つの列には、一意の組合せ値のみ許容する複合イン デックスが付けられています。列 tabid には、重複値を許容する単一インデックスが付 けられています。 SYSOPCLASSES (IDS) システム カタログ表 sysopclasses は、副アクセス方法と関連付けられた演算子クラス の情報を含みます。データベースに定義されている演算子クラスごとに 1 行が使用され ます。システム カタログ表 sysopclasses は次の列で構成されます。 列 データ型 説明 opclassname VARCHAR(128) 型 演算子クラスの名前 owner VARCHAR(32) 型 演算子クラスの所有者名 amid 整数 (INTEGER) 型 該当する演算子クラスと関連付けられた副アクセ ス方法の識別コード opclassid シリアル (SERIAL) 演算子クラスの識別コード 型 ops ラージ可変長文字 (LVARCHAR) 型 該当する演算子クラスに所属する演算子の名前の リスト support ラージ可変長文字 (LVARCHAR) 型 該当する演算子クラスに定義されたサポート関数 の名前のリスト 第 1 章 システム カタログ表 47 opclassid 値は、列 amid が指定する副アクセス方法に対するデフォルト演算子クラスを 指定する sysams.am_defopclass に対応しています。 表 sysopclasses の列 opclassname および owner には複合インデックスが、列 opclassid にはインデックスが付けられています。いずれのインデックスも重複値は許容 しません。 SYSOPCLSTR システム カタログ表 sysopclstr にはデータベース内の光クラスタをそれぞれ定義しま す。光クラスタごとに 1 行が使用されます。システム カタログ表 sysopclstr は次の列 で構成されます。 48 列 データ型 説明 owner VARCHAR(32) 型 光クラスタの所有者名 clstrname VARCHAR(128) 型 光クラスタ名 clstrsize 整数 (INTEGER) 型 光クラスタのサイズ tabid 整数 (INTEGER) 型 表に対する一意識別コード blobcol1 小桁整数 (SMALLINT) 型 バイト (BYTE) 型またはテキスト (TEXT) 型 列番号 1 blobcol2 小桁整数 (SMALLINT) 型 バイト (BYTE) 型またはテキスト (TEXT) 型 列番号 2 blobcol3 小桁整数 (SMALLINT) 型 バイト (BYTE) 型またはテキスト (TEXT) 型 列番号 3 blobcol4 小桁整数 (SMALLINT) 型 バイト (BYTE) 型またはテキスト (TEXT) 型 列番号 4 blobcol5 小桁整数 (SMALLINT) 型 バイト (BYTE) 型またはテキスト (TEXT) 型 列番号 5 blobcol6 小桁整数 (SMALLINT) 型 バイト (BYTE) 型またはテキスト (TEXT) 型 列番号 6 blobcol7 小桁整数 (SMALLINT) 型 バイト (BYTE) 型またはテキスト (TEXT) 型 列番号 7 blobcol8 小桁整数 (SMALLINT) 型 バイト (BYTE) 型またはテキスト (TEXT) 型 列番号 8 blobcol9 小桁整数 (SMALLINT) 型 バイト (BYTE) 型またはテキスト (TEXT) 型 列番号 9 IBM Informix SQL ガイド: 参照 列 データ型 説明 blobcol10 小桁整数 (SMALLINT) 型 バイト (BYTE) 型またはテキスト (TEXT) 型 列番号 10 blobcol11 小桁整数 (SMALLINT) 型 バイト (BYTE) 型またはテキスト (TEXT) 型 列番号 11 blobcol12 小桁整数 (SMALLINT) 型 バイト (BYTE) 型またはテキスト (TEXT) 型 列番号 12 blobcol13 小桁整数 (SMALLINT) 型 バイト (BYTE) 型またはテキスト (TEXT) 型 列番号 13 blobcol14 小桁整数 (SMALLINT) 型 バイト (BYTE) 型またはテキスト (TEXT) 型 列番号 14 blobcol15 小桁整数 (SMALLINT) 型 バイト (BYTE) 型またはテキスト (TEXT) 型 列番号 15 blobcol16 小桁整数 (SMALLINT) 型 バイト (BYTE) 型またはテキスト (TEXT) 型 列番号 16 clstrkey1 小桁整数 (SMALLINT) 型 クラスタ キー番号 1 clstrkey2 小桁整数 (SMALLINT) 型 クラスタ キー番号 2 clstrkey3 小桁整数 (SMALLINT) 型 クラスタ キー番号 3 clstrkey4 小桁整数 (SMALLINT) 型 クラスタ キー番号 4 clstrkey5 小桁整数 (SMALLINT) 型 クラスタ キー番号 5 clstrkey6 小桁整数 (SMALLINT) 型 クラスタ キー番号 6 clstrkey7 小桁整数 (SMALLINT) 型 クラスタ キー番号 7 clstrkey8 小桁整数 (SMALLINT) 型 クラスタ キー番号 8 clstrkey9 小桁整数 (SMALLINT) 型 クラスタ キー番号 9 clstrkey10 小桁整数 (SMALLINT) 型 クラスタ キー番号 10 clstrkey11 小桁整数 (SMALLINT) 型 クラスタ キー番号 11 第 1 章 システム カタログ表 49 列 データ型 説明 clstrkey12 小桁整数 (SMALLINT) 型 クラスタ キー番号 12 clstrkey13 小桁整数 (SMALLINT) 型 クラスタ キー番号 13 clstrkey14 小桁整数 (SMALLINT) 型 クラスタ キー番号 14 clstrkey15 小桁整数 (SMALLINT) 型 クラスタ キー番号 15 clstrkey16 小桁整数 (SMALLINT) 型 クラスタ キー番号 16 この表の内容は、光クラスタ サブシステムをサポートするデータベース上で実行される CREATE OPTICAL CLUSTER、ALTER OPTICAL CLUSTER、および DROP OPTICAL CLUSTER 文によって決まります。既存の光クラスタに影響するような変更は、 UPDATE STATISTICS 文の実行後にのみ、この表に反映されます。 列 clstrname と owner には、固有値のみを許容する複合インデックスが付けられてい ます。列 tabid には、重複値を許容する単一インデックスが付けられています。 SYSPROCAUTH システム カタログ表 sysprocauth には、プロシジャまたは関数に関して付与されるア クセス権が記述されます。この表には、付与された特権のセットごとに 1 つの行が含ま れています。システム カタログ表 sysprocauth は次の列で構成されます。 50 列 データ型 説明 grantor VARCHAR(32) 型 ルーチンにアクセスするアクセス権の権限授与者名 grantee VARCHAR(32) 型 ルーチンにアクセスするアクセス権の被権限授与者名 procid 整数 (INTEGER) 型 ルーチンの一意識別コード procauth CHAR(1) 型 ルーチンに関して付与されたアクセス権の型 e = ルーチンの Execute アクセス権 E = WITH GRANT OPTION に付与された Execute ア クセス権 IBM Informix SQL ガイド: 参照 procid、grantor、grantee の 3 つの列には、固有値のみを許容する複合インデックスが 付けられています。列 procid と grantee には、重複値を許容する複合インデックスが 付けられています。 SYSPROCBODY システム カタログ表 sysprocbody には、データベース内の各プロシジャまたは関数 の、コンパイル済みバージョンが記述されます。表 sysprocbody には、ルーチンのテキ ストが格納されているため、ルーチン 1 つに対して複数行を使用できます。システム カタログ表 sysprocbody は次の列で構成されます。 列 データ型 説明 procid 整数 ルーチンに対する一意識別コード (INTEGER) 型 datakey CHAR(1) 型 seqno 整数 ルーチン内の行数 (INTEGER) 型 data CHAR(256) 型 ルーチンの実際のテキスト 列 data 内の情報のタイプ D = ユーザ ドキュメント テキスト E = 作成日時情報 L = リテラル値 (すなわち、リテラル番号または引 用符付きストリング) P = インタープリタ命令コード (p-code) R = 戻り値型リスト S = ルーチン記号表 T = 実際のルーチン ソース 列 data には実データが記述されます。次の形式のいずれかをとります。 v 符号化された戻り値のリスト v 符号化された記号表 v リテラル データ v ルーチンに対する P-code v コンパイルされたルーチン コード v ルーチンとそのドキュメントのテキスト 列 procid と datakey、seqno の 3 つの列には、固有値のみを許容する複合インデック スが付けられています。 第 1 章 システム カタログ表 51 SYSPROCEDURES システム カタログ表 sysprocedures には、データベース内の各関数とプロシジャの特性 がリストされます。1 つのルーチンに対して、1 行が使用されます。 sysprocedures 内の各関数は一意の値 procid をもち、それはルーチン識別子 と呼ばれ ます。システム カタログ内では、関数は名前ではなくルーチン識別子で識別されます。 Extended Parallel Server では、sysprocedures は次の列で構成されます。 列 データ型 説明 procname VARCHAR(128) 型 ルーチン名 owner VARCHAR(32) 型 所有者名 procid シリアル (SERIAL) 型 ルーチンに対する一意識別コード mode CHAR(1) 型 モードのタイプ D または d = データベース管理者 O または o = 所有者 P または p = 保護 R または r = 制限付き retsize 整数 (INTEGER) 型 値のコンパイル済みサイズ (単位: バイト) symsize 整数 (INTEGER) 型 記号表のコンパイル済みサイズ (単位: バイト) datasize 整数 (INTEGER) 型 定数データのコンパイル済みサイズ (単位: バイト) codesize 整数 (INTEGER) 型 ルーチン命令コードのコンパイル済みサイズ (単位: バ イト) numargs 整数 (INTEGER) 型 ルーチンへの引数 procname および owner には、複合値を許容しない複合インデックスが付けられていま す。 Dynamic Server では、sysprocedures は次の列で構成されます。 52 列 データ型 説明 procname VARCHAR(128) 型 ルーチン名 owner VARCHAR(32) 型 所有者名 IBM Informix SQL ガイド: 参照 列 データ型 説明 procid シリアル (SERIAL) 型 ルーチンに対する一意識別コード mode CHAR(1) 型 モードのタイプ D または d = データベース管理者 O または o = 所有者 P または p = 保護 R または r = 制限付き retsize 整数 (INTEGER) 型 戻り値のコンパイル済みサイズ (単位: バイト) symsize 整数 (INTEGER) 型 記号表のコンパイル済みサイズ (単位: バイト) datasize 整数 (INTEGER) 型 定数データのコンパイル済みサイズ (単位: バ イト) codesize 整数 (INTEGER) 型 ルーチン コードのコンパイル済みサイズ (単位 : バイト) numargs 整数 (INTEGER) 型 ルーチンへの引数 isproc CHAR(1) 型 該当するルーチンがプロシジャか関数か t = プロシジャ f = 関数 specificname VARCHAR(128) 型 ルーチンの固有名 externalname VARCHAR(255) 型 外部ルーチンの位置。この項目の内容と形式は 言語固有。 paramstyle CHAR(1) 型 パラメータ スタイル。I = Informix langid 整数 (INTEGER) 型 言語コード (表 sysroutinelangs 内) paramtypes RTNPARAMTYPES 引数パラメータの説明情報 variant ブール (BOOLEAN) 型 該当するルーチンが VARIANT かそうでない か t = VARIANT f = VARIANT でない client ブール (BOOLEAN) 型 将来の使用のために予約済み handlesnulls ブール (BOOLEAN) 型 NULL 処理インディケータ t = NULL を処理する f = NULL を処理しない percallcost 整数 (INTEGER) 型 呼出しごとの CPU 量 UDR を実行する整数コスト: コスト/呼出し 0 -(2^31-1) commutator VARCHAR(128) 型 交換子関数名 第 1 章 システム カタログ表 53 列 データ型 説明 negator VARCHAR(128) 型 否定素子関数名 selfunc VARCHAR(128) 型 UDR 選択の水準を見積もる関数の名前 internal ブール (BOOLEAN) 型 ルーチンが SQL から呼出し可能かそうでない か t = 内部ルーチンであり、SQL から呼出し不可 能 f = 外部ルーチンであり、SQL から呼出し可能 class CHAR(18) 型 ルーチンが実行される CPU クラス stack 整数 (INTEGER) 型 呼出しごとに必要なスタック サイズ (単位: バ イト) parallelizable ブール (BOOLEAN) 型 UDR の並列化インディケータ t = 対応 f = 非対応 costfunc VARCHAR(128) 型 UDR のコスト関数の名前 selconst 小桁実数 (SMALLFLOAT) 型 UDR の選択の水準定数 列 mode では、R モードは、O モードの特殊ケースの 1 つです。ルーチン作成者と異 なる所有者名を指定してルーチンを作成した場合、そのルーチンは制限付き (R) モード になります。リモート データベースを必要とするルーチン文を実行した場合、データベ ース サーバは、ルーチン所有者のアクセス権ではなく、そのルーチンを実行するユーザ のアクセス権を使用します。その他の場合は、R モード ルーチンはすべて O モード ルーチンと同じ動作を実行します。 DROP FUNCTION、DROP ROUTINE、または DROP PROCEDURE 文を使用しても保 護ルーチンを削除できません。保護ルーチンは列 mode に小文字で示されます。以前の バージョンでは、保護 SPL ルーチン (削除不可) は p で示されています。バージョン 9.0 からは、保護 SPL ルーチンは DBA ルーチンとして扱われ、所有者ルーチンには なりません。よって、D および O は DBA と所有者ルーチンを示し、d および o は保 護 DBA ルーチンと保護所有者ルーチンを示します。 データベース サーバは、内部使用向けに保護 SPL ルーチンを作成できます。これらの 保護 SPL ルーチンは、列 mode に p で表示されます。保護 SPL ルーチンは、修正、 削除、または表示できません。 重要: SET SESSION AUTHORIZATION 文を実行すると、データベース サーバは、新 しい ID の使用時に作成されたすべての所有者ルーチンに制限モードを割り当て ます。 54 IBM Informix SQL ガイド: 参照 データベース サーバは、内部使用向けに保護ルーチンを作成できます。表 sysprocedures では、これらの保護ルーチンを P または p で列 mode に示します。保 護ルーチンは変更、削除できず、DBSCHEMA で表示することもできません。 列 procid には一意性インデックスが定義されます。procname、isproc、numargs、 owner の 4 つの列には、重複値を許容する複合インデックスが付けられ、列 specificname と owner にも、重複値を許容する複合インデックスが付けられていま す。 SYSPROCPLAN システム カタログ表 sysprocplan には、各ルーチン内のデータ操作文に対する問合せ 実行計画と依存リストが記述されます。ルーチン計画の各部分は異なる日付で作成され る場合があるため、この表には各ルーチンに対して複数行を格納できます。 列 データ型 説明 procid 整数 ルーチンに対する識別コード (INTEGER) 型 planid 整数 計画に対する識別コード (INTEGER) 型 datakey CHAR(1) 型 seqno 整数 計画内の行数 (INTEGER) 型 created 日付 (DATE) 型 datasize 整数 依存リストまたは問合せ実行計画のサイズ (INTEGER) 型 data CHAR(256) 型 符号化 (コンパイル) されたリストまたは計画 (IDS) 列 data に格納されている情報のタイプ D = 依存リスト I = 情報レコード Q = 実行計画 計画が作成された日付 SPL ルーチンのテキスト (XPS) collation CHAR(32) 型 ルーチン作成時の照合順序 ルーチンの実行前に、列 data にあるルーチンの依存性リストが検証されます。計画が アクセスする表のメジャー バージョン番号が変更された場合、または計画が変更された (インデックスの削除など) 後、ルーチンが使用する任意のオブジェクトが変更された場 合、計画が再最適化されます。datakey が I の場合、列 data は UPDATE、STATISTICS、および PDQPRIORITY に関する情報を格納します。 第 1 章 システム カタログ表 55 sysprocplan に対して DELETE 文を実行すると特定のルーチンに対するすべての計画を 削除できます。その後続けてルーチンを実行すると、新しい計画が自動的に生成され、 sysprocplan に記録されます。UPDATE STATISTICS FOR PROCEDURE 文でもこの表 を更新できます。 procid、planid、datakey、seqno の 4 つの列には、固有値のみを許容する複合インデッ クスが付けられています。 SYSREFERENCES システム カタログ表 sysreferences は列に付けられたすべての参照制約をリストしま す。1 つの参照制約に対して 1 行が使用されます。 列 データ型 説明 constrid 整数 (INTEGER) 型 制約を一意的に識別するコード primary 整数 (INTEGER) 型 対応する主キーの識別コード ptabid 整数 (INTEGER) 型 主キーである表の識別コード updrule CHAR(1) 型 将来の使用のために予約済み。R を表示 delrule CHAR(1) 型 制約にカスケード削除または制限ルールのどちらを使用す るか C = カスケード削除 R = 制限 (デフォルト) matchtype CHAR(1) 型 将来の使用のために予約済み。N を表示 pendant CHAR(1) 型 将来の使用のために予約済み。N を表示 列 constrid には、固有値のみを許容するインデックスが付けられています。列 primary には、重複値を許容するインデックスが付けられています。 56 IBM Informix SQL ガイド: 参照 SYSREPOSITORY (XPS) システム カタログ表 sysrepository は、システム カタログ表 sysindexes が提供しない 一般化キー インデックスに関する情報を含みます。 列 データ型 説明 id1 VARCHAR(128) 型 一般化キー (GK) インデックスからのインデックス id2 整数 (INTEGER) 型 一般化キー インデックスが付けられた表の tabid type 整数 (INTEGER) 型 オブジェクトの型に対する整数コード 本リリースでは、GK インデックス型を示す値 1 のみ 表示可能です。 seqid シリアル (SERIAL) 将来の使用のために予約済み 型 (この値は、syssequences.seqid とは無関係です) desc テキスト (TEXT) 型 GK インデックスの CREATE INDEX 文 bin バイト (BYTE) 型 一般化キー インデックスの内部表記 復旧中に一般化キー インデックスを再構築する必要が生じた場合、またはユーザが特定 の一般化キー インデックスに対する CREATE 文を確認する場合に、表 sysrepository の内容が役立ちます。 列 desc には、データベースにある一般化キー インデックスごとに使用される CREATE 文が記述されます。 列 seqid には、重複値を許容するインデックスが付けられています。id1、id2、type の 3 つの列には、一意の組合せ値のみ許容する複合インデックスが付けられています。 SYSROLEAUTH データベース サーバのシステム カタログ表 sysroleauth には、ユーザに付与されたロ ール (データベース サーバ管理の役割分担) が記述されます。データベースでユーザに 与えられた各ロールに対して 1 行が使用されます。システム カタログ表 sysroleauth は次の列で構成されます。 第 1 章 システム カタログ表 57 列 データ型 説明 rolename VARCHAR(32) 型 ロール名 grantee VARCHAR(32) 型 ロールの被権限授与者名 is_grantable CHAR(1) 型 ロールが付与可能か指定 Y = 付与可能 N = 付与不可能 列 is_grantable は、ロールが GRANT 文の WITH GRANT OPTION により権利が付与 されているか示します。 列 rolename と grantee には、固有値のみを許容する複合インデックスが付けられてい ます。 SYSROUTINELANGS (IDS) システム カタログ表 sysroutinelangs はユーザ定義ルーチン (UDR) に対してサポート されるプログラム言語をリストします。次の列で構成されます。 列 データ型 説明 langid シリアル (SERIAL) サポート言語を一意的に識別するコード 型 langname CHAR(30) 型 langinitfunc VARCHAR(128) 型 該当言語に対する初期化関数の名前 langpath CHAR(255) 型 UDR 言語へのディレクトリ パス langclass CHAR(18) 型 UDR 言語のクラスの名前 C、SPL などの言語名 列 langname には、重複値を許容するインデックスが付けられています。 58 IBM Informix SQL ガイド: 参照 SYSSEQUENCES (IDS) システム カタログ表 syssequences は、データベースに存在するシーケンス オブジェク トをリストします。システム カタログ表 syssequences は次の列で構成されます。 列 データ型 説明 seqid シリアル (SERIAL) 型 シーケンス オブジェクトを一意的に識別するコ ード tabid 整数 (INTEGER) 型 表オブジェクトとしてのシーケンスの識別コード start_val 8 バイト整数 (INT8) 型 シーケンスの開始値 inc_val 8 バイト整数 (INT8) 型 連続値間の増分値 max_val 8 バイト整数 (INT8) 型 シーケンスで使用可能な最大値 min_val 8 バイト整数 (INT8) 型 シーケンスで使用可能な最小値 cycle CHAR(1) 型 ゼロは NOCYCLE を意味し、1 は CYCLE を意 味します cache 整数 (INTEGER) 型 シーケンス キャッシュ内の事前割振り値の番号 order CHAR(1) 型 ゼロは NOORDER を意味し、1 は ORDER を 意味します SYSSYNONYMS システム カタログ表 syssynonyms は、それぞれの表またはビューに対するシノニムを リストします。バージョン 1.10 の Informix データベース サーバの特定の一時リリー スから移行したデータベース サーバを除き、表 syssyntable のみがシノニムを説明し、 表 syssynonyms は使用されません。次の列で構成されます。 列 データ型 説明 owner VARCHAR(32) 型 シノニムの所有者名 synname VARCHAR(128) 型 シノニム名 created 日付 (DATE) 型 シノニムが作成された日付 tabid 整数 (INTEGER) 型 表、シーケンス、またはビューの識別コード 第 1 章 システム カタログ表 59 列 owner と synonym には、固有値のみを許容する複合インデックスが付けられていま す。列 tabid には、重複値を許容するインデックスが付けられています。 SYSSYNTABLE システム カタログ表 syssyntable は、各パブリック シノニムまたはプライベート シノ ニムと、シノニムによって表されるデータベース オブジェクト (表、シーケンス、また はビュー) との間のマッピング情報を一括表示します。このシステム カタログ表では、 P または S の tabtype 値を持つ表 systables のエントリごとに、行が 1 行使用されま す。システム カタログ表 syssyntable は次の列で構成されます。 列 データ型 説明 tabid 整数 (INTEGER) 型 パブリック シノニムの識別コード servername VARCHAR(128) 型 外部データベース サーバの名前 dbname VARCHAR(128) 型 外部データベースの名前 owner VARCHAR(32) 型 tabname VARCHAR(128) 型 外部表名またはビュー名 btabid 整数 (INTEGER) 型 外部オブジェクトの所有者名 基本表、シーケンス、またはビューの識別コード ANSI 標準準拠のデータベースでは、パブリック シノニムがサポートされません。この ようなデータベースの表 syssyntable では、syssyntable.tabtype 値が P のシノニムのみ 説明可能です。 現行データベースにあるオブジェクトに対してシノニムを定義すると、列 tabid と列 btabid のみが使用されます。現行データベースの外部の表に対してシノニムを定義する と、列 btabid は使用されず、tabid、servername、dbname、owner、および tabname の各列が使用されます。 列 tabid は systables.tabid にマップされます。列 tabid の情報を利用して、systables からシノニムについての別の事項を調べることができます。 列 tabid には、固有値のみを許容するインデックスが付けられています。列 btabid に は、重複値を許容するインデックスが付けられています。 SYSTABAMDATA (IDS) システム カタログ表 systabamdata には、主アクセス方法を使用して作成する表の表固 有のハッシング引数パラメータが格納されます。 60 IBM Informix SQL ガイド: 参照 システム カタログ表 systabamdata は次の列で構成されます。 列 データ型 説明 tabid 整数 (INTEGER) 型 表の識別コード am_param CHAR(256) 型 アクセス方法パラメータ選択 am_space VARCHAR(128) 型 データ値を保持する格納領域の名前 列 am_param には、主アクセス方法による特定表へのアクセス方法を決定する、構成 パラメータをが格納されます。リスト am_param 内の各構成パラメータは形式 keyword=value または keyword をとります。 列 am_space は表の格納場所を指定します。クックド ファイル、別のデータベース、 またはデータベース サーバ内の SB 領域に常駐している場合があります。 列 tabid は、表 systables の主キーです。この列にはインデックスが付けられており、 固有の値を指定する必要があります。 SYSTABAUTH システム カタログ表 systabauth には、表、ビュー、シーケンス、またはシノニムに対 して付与されるそれぞれのアクセス権のセットに関する情報が記述されます。データベ ース中に付与されている表アクセス権 1 組に対して、1 行が使用されます。REVOKE 文で行を修正できます。システム カタログ表 systabauth は次の列で構成されます。 第 1 章 システム カタログ表 61 列 データ型 説明 grantor VARCHAR(32) 型 アクセス権の権限授与者名 grantee VARCHAR(32) 型 アクセス権の被権限授与者名 tabid 整数 (INTEGER) 型 データベース オブジェクトに対する systables.tabid からの値 tabauth CHAR(9) 型 CHAR(8) 型 IDS XPS 表、ビュー、シノニム、または (IDS の場合) シ ーケンスに付けられたアクセス権を示すパターン s または S = Select u または U = Update * = 列レベルのアクセス権 i または I = Insert d または D = Delete x または X = Index a または A = Alter r または R = References n または N = Under アクセス権 (IDS) 列 tabauth に表示されるアクセス権のコードが英大文字の場合 (例えば、Select を表す 英大文字 S の場合)、ユーザは付与されたアクセス権を他のユーザに付与できるオプシ ョンがあることを示します。英小文字でリストされているアクセス権コード (例えば選 択を表す英小文字 s の場合) は、ユーザが指定されたアクセス権を持つものの、付与さ れたアクセス権を他のユーザに付与できないことを示します。 ハイフン (-) は tabauth パターン内で対応する位置のアクセス権がないことを示しま す。 アスタリスク (*) の付いた tabauth 値は、列レベルのアクセス権があることを意味しま す。syscolauth (40 ページ) を参照してください (DB–Access では、指定された表に対 する Info コマンドの Privileges オプションを使用すると、その表に付けられた列レベ ルのアクセス権を表示できます)。 tabid、grantor、grantee の 3 つの列には、固有値のみを許容する複合インデックスが 付けられています。列 tabid と grantee には、重複値を許容する複合インデックスが付 けられています。 62 IBM Informix SQL ガイド: 参照 SYSTABLES データベース内 (システム カタログの表およびビューを含む) に定義されている表オブ ジェクト (表、ビュー、シノニムまたは Dynamic Server の場合はシーケンス) ごとにシ ステム カタログ表 systables の 1 行を使用します。 列 データ型 説明 tabname VARCHAR(128) 型 表、ビュー、シノニム、またはシーケンス (IDS のみ) の名前 owner VARCHAR(32) 型 表の所有者 (システム カタログ表の場合はユ ーザ informix、データベース表の場合は username) partnum 整数 (INTEGER) 型 物理位置コード tabid シリアル (SERIAL) 型 システムが割り当てる順次識別番号 rowsize 小桁整数 (SMALLINT) 型 行サイズ ncols 小桁整数 (SMALLINT) 型 表の列数 nindexes 小桁整数 (SMALLINT) 型 表に付けられたインデックスの数 nrows 整数 (INTEGER) 型 表の行数 created 日付 (DATE) 型 表が作成された日付 version 整数 (INTEGER) 型 表が変更された回数 tabtype CHAR(1) 型 オブジェクトの型を示すコード T = 表 E = 外部表 V = ビュー Q = シーケンス (IDS) P = プライベート シノニム S = パブリック シノニム (S 型は ANSI 標準 準拠データベースでは利用不可) locklevel CHAR(1) 型 表に対するロック モード B = ページ P = ページ R = 行 T = 表 (XPS) 第 1 章 システム カタログ表 63 列 データ型 説明 npused 整数 (INTEGER) 型 データベース サーバがこれまでに初期化した 表領域内のデータ ページの数 fextsize 整数 (INTEGER) 型 表の初期エクステント サイズ (単位: KB) nextsize 整数 (INTEGER) 型 表の追加エクステント サイズ (単位: KB) flags 小桁整数 (SMALLINT) 型 永続表を分類するコード ST_RAW (= 0x00000010) (IDS) RAW (= 0x00000002) (XPS) STATIC (= 0x00000004) (XPS) OPERATIONAL (= 0x00000008) (XPS) STANDARD (= 0x00000010) (XPS) EXTERNAL (= 0x00000020) (XPS) site VARCHAR(128) 型 将来の使用のために予約済み dbname VARCHAR(128) 型 将来の使用のために予約済み type_xid (IDS) 整数 (INTEGER) 型 型付き表の場合は sysxtdtypes.extended_id から のコード、型なし表の場合は 0。 am_id (IDS) 整数 (INTEGER) 型 アクセス方法コード (表 sysams へのキー) minrowsize 小桁整数 (SMALLINT) 型 NULL 値または 0 は、組込み格納域マネージ ャを示します。 XPS 最小行サイズ 表 systables に記録される表、ビュー、シーケンス、およびシノニムのそれぞれに tabid が割り当てられます。これはシステムによって割り当てられるシリアル (SERIAL) 型値 で、オブジェクトを一意に識別します。最初の 99 個の tabid の値は、システム カタ ログ用に予約されています。データベース内の最初のユーザ定義表オブジェクトの tabid は常に 100 です。 列 tabid には、固有値のみを許容するインデックスが付けられています。列 tabname と owner にも、固有値のみを許容する複合インデックスが付けられています。 バージョン列には、新規表作成時に systables に格納される符号化された番号が記述さ れます。ALTER INDEX、ALTER TABLE、DROP INDEX、および CREATE INDEX な どのデータ定義文が実行されると、この値の一部が増分されます。 64 IBM Informix SQL ガイド: 参照 列 flags では、ST_RAW はトランザクション ログ機能をサポートするデータベース内 の非ロギング永続表を表します。 データベース表を参照する PREPARE 文で処理された文を実行すると、バージョン値を チェックし、文が作成されてから何も変更されていないことを確認します。バージョン 値が変更された場合、PREPARE 文で処理された文は実行されず、再作成する必要があ ります。 列 npused は、バイト (BYTE) 型またはテキスト (TEXT) 型データで使用されるページ 数を反映せず、DELETE 操作で解放されるページ数も反映しません。 表 systables には、データベース ロケールに関する情報を格納する行が 2 行ありま す。90 の tabid が付いた GL_COLLATE と 91 の tabid が付いた GL_CTYPE です。 これらの行を表示するには、次の SELECT 文を入力します。 SELECT * FROM systables WHERE tabid=90 OR tabid=91 SYSTRACECLASSES (IDS) システム カタログ表 systraceclasses は、トレース クラスの名前と識別子を含みます。 システム カタログ表 systraceclasses は次の列で構成されます。 列 データ型 説明 name CHAR(18) 型 トレース メッセージのクラスの名前 classid シリアル (SERIAL) 型 トレース クラスの識別コード トレース クラス とは、トレース メッセージのカテゴリの 1 つです。トレースクラス は、新規 DataBlade モジュールとユーザ定義ルーチンの開発とテストに使用できます。 開発者は、コード内で適切な DataBlade API ルーチンを呼び出し、トレース機能を使用 します。 新たにトレース クラスを作成するには、表 systraceclasses に直接行を挿入します。デ フォルトでは、どのユーザもこの表を表示できます。ただし、この表を変更できるのは DBA アクセス権のあるユーザのみです。 データベースは、MITRACE_OFF 構成パラメータが未定義でなければ、トレースをサポ ートできません。 列 name に一意性インデックスを付けると、各トレース クラスに一意の名前が付きま す。データベース サーバは各クラスに一意の順次コードを割り当てます。本列 classid には、固有値のみを許容するインデックスが付けられています。 第 1 章 システム カタログ表 65 SYSTRACEMSGS (IDS) システム カタログ表 systracemsgs には、各国対応トレース メッセージが含まれます。 この各国対応トレース メッセージは、ユーザ定義ルーチンのデバッグ時に使用できま す。 システム カタログ表 systracemsgs は次の列で構成されます。 列 データ型 説明 name VARCHAR(128) 型 メッセージの名前 msgid シリアル (SERIAL) 型 メッセージ テンプレートの識別コード locale CHAR(36) 型 このバージョンのメッセージが関連付けられているロ ケール (en_us.8859-1 など) seqno 小桁整数 (SMALLINT) 型 将来の使用のために予約済み message VARCHAR(255) 型 メッセージ テキスト DataBlade モジュールの開発者は、表 systracemsgs に直接行を挿入してトレース メッ セージを作成します。メッセージが作成されると、開発者チームは DataBlade API が提 供するトレース文を使用して名前または msgid コードでこのメッセージを指定できま す。 トレース メッセージを作成するには、その名前、ロケール、およびテキストを指定する 必要があります。デフォルトでは、どのユーザも表 systracemsgs を表示できます。ただ し、この表を変更できるのは DBA アクセス権のあるユーザのみです。 データベースは、MITRACE_OFF 構成パラメータが未定義でなければ、トレースをサポ ートできません。 列 name および locale には、一意の複合インデックスが定義されます。列 msgid にも 一意性インデックスが定義されます。 SYSTRIGBODY システム カタログ表 systrigbody には、トリガ定義の ASCII テキストと、そのトリガ の線形コードが含まれます。線形コード はバイナリ データであり、ASCII 形式で表さ れたコードです。 重要: データベース サーバは、systrigbody に格納されている線形コードを使用しま す。線形コードを格納する行の内容は変更できません。 66 IBM Informix SQL ガイド: 参照 システム カタログ表 systrigbody は次の列で構成されます。 列 データ型 説明 trigid 整数 (INTEGER) 型 トリガの識別コード datakey CHAR(1) 型 データの型を指定するコード A = 本文の ASCII テキスト、トリガされたアクション B = 本文の線形コード D = ヘッダの英語テキスト、トリガ定義 H = ヘッダの線形コード S = 記号表の線形コード seqno 整数 (INTEGER) 型 このデータ セグメントページ番号 data CHAR(256) 型 英語テキストまたは一次コード collation CHAR(32) 型 トリガ作成時の照合順序 trigid、datakey、seqno の 3 つの列には、固有値のみを許容する複合インデックスが付 けられています。 第 1 章 システム カタログ表 67 SYSTRIGGERS システム カタログ表 sysattrtypes は、データベースの SQL トリガに関する情報を含み ます。この情報にはトリガ イベント、トリガの相関参照指定が含まれます。システム カタログ表 systriggers は次の列で構成されます。 列 データ型 説明 trigid シリアル (SERIAL) トリガの識別コード 型 trigname VARCHAR(128) 型 トリガ名 owner VARCHAR(32) 型 トリガの所有者名 tabid 整数 (INTEGER) 型 トリガ表の識別コード event CHAR(1) 型 トリガ イベントの型に対するコード D = 削除トリガ I = 挿入トリガ U = 更新トリガ S = 選択トリガ d = INSTEAD OF 削除トリガ i = INSTEAD OF 挿入トリガ u = INSTEAD OF 更新トリガ (IDS) old VARCHAR(128) 型 更新前の値の名前 new VARCHAR(128) 型 更新後の値の名前 mode CHAR(1) 型 将来の使用のために予約済み 列 trigname と owner には、固有値のみを許容する複合インデックスが付けられていま す。列 trigid にも、固有値のみを許容するインデックスが付けられています。列 tabid には、重複値を許容するインデックスが付けられています。 SYSUSERS システム カタログ表 sysusers には、データベースで付与されたそれぞれのアクセス権 のセットに関する情報が記述されます。データベースに対するアクセス権を持つユーザ またはロールごとに 1 行が使用されます。このシステム カタログ表は、次の列で構成 されます。 68 IBM Informix SQL ガイド: 参照 列 データ型 説明 username VARCHAR(32) 型 データベース ユーザまたはロール名 usertype CHAR(1) 型 データベース レベルのアクセス権を指定するコード C = Connect (既存の表内で動作) D = DBA (アクセス権すべて) G = Role R = Resource (永続表、ユーザ定義データ型、および インデックスの作成) priority 小桁整数 (SMALLINT) 型 将来の使用のために予約済み password CHAR(16) 型 将来の使用のために予約済み defrole VARCHAR(32) 型 デフォルト ロールの名前 列 username には、固有値のみを許容するインデックスが付けられています。username 値は、ユーザのログイン名またはロール名のどちらでも構いません。 SYSVIEWS システム カタログ表 sysviews には、データベース中の各ビューに関する情報が記述さ れます。ビューを作成する SELECT 文が格納されるため、sysviews は、それぞれのビ ューに対して複数行を使用できます。次の列で構成されます。 列 データ型 説明 tabid 整数 (INTEGER) 型 ビューの識別コード seqno 小桁整数 (SMALLINT) 型 SELECT 文の行番号 viewtext CHAR(64) 型 ビュー作成に使用された実際の SELECT 文 tabid および seqno には、固有値のみを許容する複合インデックスが付けられていま す。 第 1 章 システム カタログ表 69 SYSVIOLATIONS システム カタログ表 sysviolations には、基本表の制約違反に関する情報が格納されま す。関連する違反と診断を格納するデータベースの各表には、表 sysviolations に対応す る行があります。次の列で構成されます。 列 データ型 説明 targettid 整数 (INTEGER) 型 ターゲット表 の識別コード (違反表と診断表の定義の基に なる基本表) viotid 整数 (INTEGER) 型 違反表の識別コード diatid 整数 (INTEGER) 型 診断表の識別コード maxrows 整数 (INTEGER) 型 定義されたフィルタ モード オブジェクト (IDS) を持つタ ーゲット表における単一挿入、更新、または削除操作で診断 表に挿入できる行の最大数。 それぞれのコサーバに対して違反表で使用できる最大行数 (XPS)。 列 maxrows は、無効オブジェクトの有効化または無効オブジェクトをフィルタ モード に設定する単一操作中に、診断表に挿入できる行の最大数も示します (そのターゲット 表に診断表が存在する場合)。診断表または違反表に対して最大数が指定されていない場 合、maxrows には NULL 値が入ります。 Extended Parallel Server では、制約違反が発生した場合に診断表を使用しません。代わ りに、データベース サーバは違反表に追加情報を格納します。違反表には、トランザク ションによって拒否されたデータ、およびその原因のインディケータが格納されます。 この表の主キーは列 targettid です。追加の一意性インデックスは、列 viotid にも定義 されます。 Dynamic Server では、列 diatid にも一意性インデックスが付けられています。 70 IBM Informix SQL ガイド: 参照 SYSXTDDESC (IDS) システム カタログ表 sysxtddesc は、データベースで定義されている各 UDT の説明テ キストを提供します。システム カタログ表 sysxtddesc は次の列で構成されます。 列 データ型 extended_id 整数 拡張データ型を一意に識別するコード (INTEGER) 型 seqno 小桁整数 (SMALLINT) 型 description 説明 UDT の説明の 1 行ごとに識別し、順序付けする値。 残りのテキスト ストリングが 255 バイトを超えた場 合のみ、改行されます。 CHAR(256) 型 拡張データ型の、テキスト データでの説明。 列 extended_id と seqno には、重複値を許容する複合インデックスが付けられていま す。 SYSXTDTYPEAUTH (IDS) システム カタログ表 sysxtdtypeauth は、各 UDT (ユーザ定義データ型) に対するアク セス権を示します。付与されるアクセス権のセットごとに表 sysxtdtypeauth の行が 1 行使用されます。以下の列で構成されます。 列 データ型 説明 grantor VARCHAR(32) 型 アクセス権の権限授与者名 grantee VARCHAR(32) 型 アクセス権の被権限授与者名 type 整数 (INTEGER) 型 UDT を識別するコード auth CHAR(2) 型 UDT におけるアクセス権を識別するコード n または N = Under アクセス権 u または U = Usage アクセス権 列 auth に表示されるアクセス権コードが英大文字の場合 (例えば、Usage アクセス権 を表す英大文字 U の場合)、ユーザは付与されたアクセス権を他のユーザに付与できま す。コードが英小文字の場合、ユーザは付与されたアクセス権を他のユーザに付与でき ません。 type、grantor、grantee の 3 つの列には、固有値のみを許容する複合インデックスが付 けられています。列 type と grantee には、重複値を許容する複合インデックスが付け られています。 第 1 章 システム カタログ表 71 SYSXTDTYPES (IDS) システム カタログ表 sysxtdtype には、データベースで定義した各 UDT (ユーザ定義デ ータ型。不透明 (OPAQUE) 型とディスティンクト (DISTINCT) 型を含む)、および各複 合データ型 (名前付き行型、名前なし行型、およびコレクション (COLLECTION) 型) に対してエントリが 1 つ指定されます。システム カタログ表 sysxtdtypes は次の列で 構成されます。 72 IBM Informix SQL ガイド: 参照 列 データ型 説明 extended_id シリアル (SERIAL) 型 拡張データ型に対する固有の識別コード domain CHAR(1) 型 UDT のドメインに対するコード mode CHAR(1) 型 UDT を分類するコード B = 基本不透明 (OPAQUE) 型 C = コレクション (COLLECTION) 型または名前 なし行型 D = ディスティンクト (DISTINCT) 型 R = 名前付き行型 ’ ’ (空白) = 組込みデータ型。 owner VARCHAR(32) 型 UDT の所有者名 name VARCHAR(128) 型 UDT 名 type 小桁整数 (SMALLINT) 型 UDT を分類するコード source 整数 (INTEGER) 型 sysxtdtypes 参照 (ディスティンクト (DISTINCT) 型のみ) ゼロ (0) は、ディスティンクト (DISTINCT) 型 UDT が組込みデータ型から作成されたことを表し ます。 整数 (INTEGER) 型 可変長データ型の最大長 整数 (INTEGER) 型 固定長データ型の長さ (単位: バイト) byvalue CHAR(1) 型 ’T’ = UDT は値により引き渡される ’F’ = UDT は値により引き渡されない cannothash CHAR(1) 型 ’T’ = UDT はデフォルトのハッシュ関数でハッシ ュ可能 ’F’ = UDT はデフォルトのハッシュ関数でハッシ ュ不可能 align 小桁整数 (SMALLINT) 型 この UDT に対する揃え (= 1、2、4、または 8) locator 整数 (INTEGER) 型 名前なし行型に対するロケータ キー maxlen length ゼロは、固定長 UDT を表します。 ゼロは、可変長 UDT を表します。 各拡張データ型は、拡張識別子 (extended_id) と呼ばれる 1 つの一意性識別子番号と、 1 つのデータ型識別子 (type)、およびそのデータ型の長さと説明で表されます。 第 1 章 システム カタログ表 73 組込みデータ型から作成されたディスティンクト (DISTINCT) 型の場合、列 type のコ ードは、列 syscolumns.coltype の値に対応しています。ここで、列は、23 ページにリ ストするようにソース型を示しますが、16 進数値 0x0000800 で増分されています。フ ァイル $INFORMIXDIR/incl/esql/sqltypes.h には、sysxtdtypes.type と syscolumns.coltype コードに関する情報が含まれています。 列 extended_id には、固有値のみを許容するインデックスが付けられています。列 locator には、重複値を許容するインデックスが付けられ、列 name と owner にも重複 値を許容する複合インデックスが付けられています。列 type と source にも、重複値 を許容する複合インデックスが付けられています。 情報スキーマ (IDS) 情報スキーマは、アクセス可能な現行データベース サーバ上のすべての表、ビュー、列 に関する情報を提供する読取り専用のビューで構成されます。これらのビューはまた、 SQL ダイアレクト (Informix、Oracle、または Sybase など) および SQL 規格に関する 情報を提供します。表が個々のデータベースを説明するシステム カタログとは異なり、 これらのビューは単一のデータベースではなく、Dynamic Server インスタンスを説明す ることに注意してください。 本バージョンの情報スキーマ ビューは、X/Open CAE 規格に準拠しています。この規 格により、他のデータベース システム上で開発されたアプリケーションが、Informix シ ステム カタログ表に直接アクセスせずに Informix システム カタログ情報が得られるよ うになります。 重要: X/Open CAE 標準情報スキーマ ビューは ANSI (米国規格協会) 標準準拠の情報 スキーマ ビューとは異なるため、X/Open CAE 情報スキーマ ビューを ANSI 標 準準拠データベースにインストールしないようにしてください。 次の情報スキーマ ビューが使用できます。 v tables v columns v sql_languages v server_info 以降のセクションでは、情報スキーマ ビューの生成およびアクセス方法について、また その構造について説明します。 情報スキーマ ビューの生成 情報スキーマ ビューは、DBA として次の DB–Access コマンドを実行すると自動的に 生成されます。 dbaccess database-name $INFORMIXDIR/etc/xpg4_is.sql 74 IBM Informix SQL ガイド: 参照 ビューは、システム カタログ表のデータを表示します。情報スキーマ ビューの名前と 同じ名前の表、ビュー、ルーチンがある場合は、ビューをインストールする前に、デー タベース オブジェクトの名前かスクリプト内のビューの名前のいずれかを変更してくだ さい。ビューの削除は、各ビューにある DROP VIEW 文を使用して行います。ビュー を再作成するには、スクリプトをもう一度実行します。 重要: 各情報スキーマ ビューに指定された列とは別に、個々のベンダが列を追加してイ ンクルード、または列の順序を変更している可能性があります。アプリケーショ ンでは、情報スキーマ ビューへのアクセスに SELECT * または SELECT 表名 * の形式を使用しないでください。 情報スキーマ ビューへのアクセス すべての情報スキーマ ビューは、Select アクセス権を PUBLIC WITH GRANT OPTION に付与しているため、すべてのユーザがビューの問合せを行うことができま す。情報スキーマ ビューにはこれ以外のアクセス権が付与されていないため、更新され ることはありません。 情報スキーマ ビューの問合せは、データベース内の他の表やビューと同じように行うこ とができます。 情報スキーマ ビューの構造 このセクションでは、次の情報スキーマ ビューについて説明します。 v tables v columns v sql_languages v server_info ロング識別子名を適用するため、ビューのほとんどの列は可変長文字 (VARCHAR) 型と して最大サイズを定義しています。 情報スキーマ ビュー tables 情報スキーマ ビュー tables では、アクセス可能な 1 つの表に対して 1 行が使用され ます。次の列で構成されます。 列 データ型 説明 table_schema VARCHAR(32) 型 表の所有者名 table_name VARCHAR(128) 型 表名またはビュー名 table_type VARCHAR(128) 型 表の場合は BASE TABLE、ビューの場合は VIEW remarks VARCHAR(255) 型 将来の使用のために予約済み 第 1 章 システム カタログ表 75 ビュー tables に表示される行は、ユーザのアクセス権によって異なります。例えば、あ る表で 1 つ以上のアクセス権 (1 つ以上の列に対する Insert、Delete、Select、References、Alter、Index、Update) を持っているか、アクセス権 が PUBLIC に付与されている場合は、この表を記述する行が表示されます。 情報スキーマ ビュー columns 情報スキーマ ビュー columns ではアクセス可能な 1 列に対して 1 行が使用されま す。次の列で構成されます。 列 データ型 説明 table_schema VARCHAR(128) 型 表の所有者名 table_name VARCHAR(128) 型 表名またはビュー名 column_name VARCHAR(128) 型 表またはビューの列の名前 ordinal_position 整数 (INTEGER) 型 表内での列の位置 ordinal_position 値は、先頭の列が 1 から 始まる順次番号です。これは、XPG4 での Informix の拡張機能です。 data_type VARCHAR(254) 型 文字 (CHARACTER) 型または 10 進数 (DECIMAL) 型などの列のデータ型の名前 char_max_length 整数 (INTEGER) 型 文字データ型の場合は最大長 (単位: バイ ト)。その他の場合は NULL numeric_precision 整数 (INTEGER) 型 次の値のいずれかを使用 v 絶対数値データ型 (10 進数 (DECIMAL) 型、整数 (INTEGER) 型、 金額 (MONEY) 型、小桁整数 (SMALLINT) 型など) の総数 v 概算データ型 (実数 (FLOAT) 型、小桁 実数 (SMALLFLOAT) 型) の仮精度数 の回数 (マシンに依存) v その他のすべてのデータ型に対しては NULL 76 IBM Informix SQL ガイド: 参照 列 データ型 説明 numeric_prec_radix 整数 (INTEGER) 型 次の値のいずれかを使用 v 2 = 近似データ型 (実数 (FLOAT) 型と 小桁実数 (SMALLFLOAT) 型) v 10 = 絶対数値データ型 (10 進数 (DECIMAL) 型、整数 (INTEGER) 型、 金額 (MONEY) 型、および小桁整数 (SMALLINT) 型) v その他すべてのデータ型に対しては NULL numeric_scale 整数 (INTEGER) 型 10 進数 (DECIMAL) 型と金額 (MONEY) 型の場合は、小数点以下の有効桁数 整数 (INTEGER) 型と小桁整数 (SMALLINT) 型の場合は 0 その他すべてのデータ型に対しては NULL datetime_precision 整数 (INTEGER) 型 日付 (DATE) 型および日時 (DATETIME) 型列の場合は秒の小数部の桁数。それ以外 の場合は NULL この列は、XPG4 での Informix の拡張機 能です。 is_nullable VARCHAR(3) 型 列が NULL 値を許容するかどうか YES または NO で示します。 remarks VARCHAR(254) 型 将来の使用のために予約済み 情報スキーマ ビュー sql_languages 情報スキーマ ビュー sql_languages には、現行データベース サーバがサポートする標 準準拠のインスタンスごとに行が 1 行使用されます。ビュー sql_languages は次の列で 構成されます。 第 1 章 システム カタログ表 77 列 データ型 説明 source VARCHAR(254) 型 該当する SQL バージョンを定義した組織 source_year VARCHAR(254) 型 ソース ドキュメントが認可された年 conformance VARCHAR(254) 型 サーバが準拠する標準 integrity VARCHAR(254) 型 これが、整合性拡張機能かどうか YES ま たは NO で示します。 implementation VARCHAR(254) 型 ベンダの SQL 製品を識別します。 binding_style VARCHAR(254) 型 直接、モジュール、または他のバインド スタイル programming_lang VARCHAR(254) 型 バインド スタイルが採用されるホスト言 語 ビュー sql_languages は、すべてのユーザに対して完全に表示されます。 情報スキーマ ビュー server_info 情報スキーマ ビュー server_info には、アプリケーションが現在接続しているデータベ ース サーバの情報が記述されます。2 列で構成されます。 列 データ型 説明 server_attribute VARCHAR(254) 型 データベース サーバの属性 attribute_value VARCHAR(254) 型 現行データベース サーバに適用される server_attribute の値 1 つの属性に対して 1 行が使用されます。X/Open 準拠のデータベースは、データベー ス サーバに関する必要な情報をアプリケーションに提供する必要があります。 78 IBM Informix SQL ガイド: 参照 ビュー server_info には、次の server_attribute 情報が格納されます。 server_attribute 説明 identifier_length 1 つのユーザ定義識別子の最大バイト数 row_length 1 行の最大バイト数 userid_length ユーザ名の最大バイト数 txn_isolation データベース サーバが想定する初期トランザクション排他レベ ル。 未確定読込み (= トランザクション ロギングなしのデータベース のデフォルト排他レベル。単純読込みとも言います。) 確定読込み (= ANSI 標準非準拠だが、明示的なトランザクショ ン ロギングをサポートするデータベースのデフォルトの排他レベ ル) 直列化可能 (= ANSI 標準準拠データベースのデフォルト排他レ ベル。繰返し可能読込みとも言います。) collation_seq データベース サーバに想定される文字セットの順序 以下の値が考えられます。 ISO 8859-1EBCDIC デフォルトの Informix 表記では、ISO 8859-1 を表示します。 ビュー server_info は、すべてのユーザに対して完全に表示されます。 第 1 章 システム カタログ表 79 80 IBM Informix SQL ガイド: 参照 第 2 章 データ型 データ型のサマリ . . . . . . . データ型の説明 . . . . . . . . 大桁整数 (BIGINT) 型 (XPS) . . BLOB 型 (IDS) . . . . . . . ブール (BOOLEAN) 型 (IDS) . . バイト (BYTE) 型 . . . . . . CHAR(n) 型 . . . . . . . . CHARACTER(n) 型 . . . . . CHARACTER VARYING(m,r) 型 . CLOB 型 (IDS) . . . . . . . 日付 (DATE) 型 . . . . . . 日時 (DATETIME) 型. . . . . 10 進数 (DEC) 型 . . . . . . 10 進数 (DECIMAL) 型 . . . . ディスティンクト (DISTINCT) 型 実数 (DOUBLE PRECISION) 型 . FLOAT(n) 型 . . . . . . . 整数 (INT) 型 . . . . . . . 8 バイト整数 (INT8) 型 . . . 整数 (INTEGER) 型 . . . . . 時間隔 (INTERVAL) 型 . . . LIST(e) 型 (IDS) . . . . . . LVARCHAR(m) 型 (IDS) . . . MONEY(p,s) 型 . . . . . . MULTISET(e) 型 (IDS) . . . . NCHAR(n) 型 . . . . . . . NUMERIC(p,s) 型. . . . . . NVARCHAR(m,r) 型 . . . . . 不透明 (OPAQUE) 型 (IDS) . . 小桁実数 (REAL) 型. . . . . 名前付き行型 (IDS) . . . . . 名前なし行型 (IDS) . . . . . SERIAL(n) 型 . . . . . . . SERIAL8(n) 型 . . . . . . SET(e) 型 (IDS) . . . . . . 小桁実数 (SMALLFLOAT) 型. . 小桁整数 (SMALLINT) 型 . . . テキスト (TEXT) 型. . . . . VARCHAR(m,r) 型 . . . . . 組込みデータ型 . . . . . . . © Copyright IBM Corp. 1996, 2004 . . . . . . . . . . . . . . . . . . . . . . . . . . . . (IDS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 . 86 . 86 . 87 . 87 . 88 . 89 . 90 . 90 . 91 . 92 . 92 . 96 . 96 . 98 . 99 . 99 . 100 . 100 . 100 . 100 . 103 . 105 . 105 . 106 . 107 . 108 . 108 . 108 . 109 . 109 . 110 . 112 . 113 . 114 . 115 . 116 . 116 . 118 . 120 81 ラージ オブジェクト データ型 . . . . . . . シンプル ラージ オブジェクト . . . . . . スマート ラージ オブジェクト (IDS) . . . . 時刻データ型 . . . . . . . . . . . . . 拡張データ型 (IDS) . . . . . . . . . . . . 複合データ型 . . . . . . . . . . . . . コレクション (COLLECTION) 型 . . . . . 行 (ROW) 型 . . . . . . . . . . . . ディスティンクト (DISTINCT) 型 . . . . . . 不透明 (OPAQUE) 型 . . . . . . . . . . データ型のキャストと変換 . . . . . . . . . 組込みキャストの使用 . . . . . . . . . . 数値型間の変換 . . . . . . . . . . . 数値型と文字型間の変換 . . . . . . . . 整数 (INTEGER) 型と日付 (DATE) 型間の変換. 日付 (DATE) 型と日時 (DATETIME) 型間の変換 ユーザ定義キャストの使用 . . . . . . . . 暗黙的キャスト . . . . . . . . . . . 明示的キャスト . . . . . . . . . . . 適用するキャストの決定 . . . . . . . . . ディスティンクト (DISTINCT) 型のキャスト . . キャスト可能な拡張データ型 . . . . . . . . 演算子優先順位 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 121 122 123 129 129 130 132 132 132 133 134 134 135 136 136 136 137 137 137 138 139 140 本章について データベース内の表の各列には、データ型が割り当てられています。データ型により、 列に格納できる値の種類が明確に決定します。 本章では、組込みおよび拡張データ型、2 つのデータ型間のキャスト、演算子優先順位 について説明します。 データ型のサマリ 83 ページの図 1 は、Informix データベース サーバがサポートするデータ型の論理的カ テゴリを示しています。網掛けカテゴリは、Dynamic Server のみに有効です。 82 IBM Informix SQL ガイド: 参照 図 1. サポートするデータ型の概要 このダイアグラムは単純化されています。不透明 (OPAQUE) 型として実装される組込 みデータ型もあり、Dynamic Server のみでサポートされます。つまり、多くの組込みデ ータ型は不透明 (OPAQUE) 型ではありませんが、不透明 (OPAQUE) と組込み は別々 のカテゴリではありません。 組込み データ型 (システム定義) と拡張データ 型 (ユーザ定義) は、以下の特性を共用 しています。どちらのデータ型も、以下を実行できます。 v データベース表内に列を作成する。 v 引数として、またルーチンの戻りの型として宣言する。 v ディスティンクト (DISTINCT) 型を作成するための基本型として使用する。 v 他のデータ型にキャストする。 v SPL および ESQL/C に、これらのデータ型のホスト変数を宣言、アクセスする。 例外については、各データ型の説明を参照してください。概要については、120 ページ の『組込みデータ型』と、129 ページの『拡張データ型 (IDS)』を参照してください。 列にデータ型を設定するには CREATE TABLE 文を、それらを変更するには ALTER TABLE 文を使用します。既存の列のデータ型を変更する場合、可能であればすべての データが新規のデータ型に変換されます。 ALTER TABLE 文、CREATE TABLE 文、特定のデータ型やキャストを作成および削除 する SQL 文、およびその他のデータ型トピックについては、「IBM Informix: SQL ガ イド: 構文」を参照してください。 Dynamic Server の複合データ型の作成および使用方法については、「IBM Informix: デ ータベース設計および実装 ガイド」を参照してください。ユーザ定義データ型の作成お よび使用法については、「IBM Informix: ユーザ定義ルーチンおよびデータ タイプ 開発 者ガイド」を参照してください。 第 2 章 データ型 83 Informix データベース サーバは、表 4 にリストされているデータ型をサポートしま す。この章では、これらの組込みデータ型について説明します。 表 4. すべての Informix データベース サーバがサポートするデータ型 データ型 説明 参照 ページ 大桁整数 (BIGINT) 型 8 バイト整数 (INT8) 型のシノニム (XPS のみ) です 100 バイト (BYTE) 型 長さ 231 バイトまでの、任意のバイナリ形式のデータを 88 格納します CHAR(n) 型 文字列を格納し、照合はコード セット順です 89 CHARACTER(n) 型 文字 (CHAR) 型のシノニムです 90 CHARACTER VARYING(m,r) 型 可変長の文字列を格納します (ANSI 標準準拠)、照合はコード セット順です 90 日付 (DATE) 型 日付を格納します 92 日時 (DATETIME) 型 日付と時刻を格納します 92 10 進数 (DEC) 型 10 進数 (DECIMAL) 型のシノニムです 96 DECIMAL(p) 型 定義可能精度で浮動小数点数を格納し、データベースが ANSI 標準準拠の場合、小数点以下桁数はゼロです 96 DECIMAL(p,s) 型 定義済み小数点以下桁数および精度の固定小数点数を格 納します 97 実数 (DOUBLE PRECISION) 型 実数 (FLOAT) 型のシノニムです 99 FLOAT(n) 型 倍精度浮動小数点数 (double C) 型に対応する倍精度浮 動小数点数を格納します 99 整数 (INT) 型 整数 (INTEGER) 型のシノニムです 100 63 63 8 バイト整数 (INT8) -(2 -1) から 2 ます 型 84 -1 の範囲の 8 バイト整数値を格納し 100 整数 (INTEGER) 型 -2,147,483,647 から +2,147,483,647 の範囲の整数を格納 します 100 INTERVAL (Year|Month) 型 時間のスパン (または効果水準) を年および月の単位で 格納します 100 INTERVAL (Day|Fraction) 型 日、時、分、秒、および小数秒の連続したセットで時間 100 のスパンを格納します MONEY(p,s) 型 金額を表す値を格納します 105 NCHAR(n) 型 文字 (CHAR) 型と同様ですが、ローカライズされた照 合もサポートします 107 IBM Informix SQL ガイド: 参照 表 4. すべての Informix データベース サーバがサポートするデータ型 (続き) データ型 説明 参照 ページ NUMERIC(p,s) 型 DECIMAL(p,s) 型のシノニムです 108 NVARCHAR(m,r) 型 可変長文字 (VARCHAR) 型と同様ですが、ローカライ ズされた照合もサポートします 108 小桁実数 (REAL) 型 小桁実数 (SMALLFLOAT) 型のシノニムです 109 シリアル (SERIAL) 型 整数 (INT) 型の正の範囲の連続整数値 (> 0) を格納し ます 112 8 バイト シリアル (SERIAL8) 型 8 バイト整数 (INT8) 型の正の範囲の連続整数値 (> 0) を格納します 113 小桁実数 (SMALLFLOAT) 型 C 言語の float 型に対応する単精度浮動小数点数を格納 115 します 小桁整数 (SMALLINT) 型 -32,767 から +32,767 の範囲の、整数を格納します テキスト (TEXT) 型 長さ 231 バイトまでの、任意の種類のテキスト データ を格納します VARCHAR(m,r) 型 116 116 可変長 (上限 255 バイト) の文字列を格納し、照合はコ 118 ード セット順です 文字 (CHARACTER) 型 (CHAR、 CHAR VARYING、 LVARCHAR、 NCHAR、 NVARCHAR、および VARCHAR) について、データ ストリングは、文字、数字、句読 点、空白、発音区別記号、合字、およびデータベース ロケールのコード セットから出 力可能な他の記号を指定できます (東アジア ロケールの一部では、データ ストリング 内でマルチバイト文字がサポートされます)。 Dynamic Server は、表 5 でリストされている追加のデータ型もサポートします。 表 5. Dynamic Server がサポートする追加データ型 参照 ページ データ型 説明 BLOB 型 バイナリ形式のデータをランダム アクセス チャンクに格 納します 87 ブール (BOOLEAN) 型 真と偽でブール値を格納します 87 CLOB 型 テキスト データをランダム アクセス チャンクに格納し ます 91 第 2 章 データ型 85 表 5. Dynamic Server がサポートする追加データ型 (続き) 参照 ページ データ型 説明 ディスティンクト (DISTINCT) 型 基になるソース型と同じ形式を持つユーザ定義タイプにデ ータを格納しますが、そのキャストと関数はソース型と同 じである必要はありません 98 LIST(e) 型 要素がすべて同じデータ型 e である順序付きコレクショ ンを格納し、重複値も有効です 103 LVARCHAR(m) 型 32,739 バイトまでの可変長ストリングを格納します 105 MULTISET(e) 型 106 すべての同じデータ型の要素で、値が順序付きではないコ レクション、e を格納し、重複値も有効です 不透明 (OPAQUE) データベース サーバが内部構造にアクセスできないユー 型 ザ定義データ型を格納します 108 名前付き行型 名前付き行型を格納します 109 名前なし行型 名前なし行型を格納します 110 SET(e) 型 要素の順序付きではないコレクション、すべての同じデー タ型、e を格納し、重複値は許可されません 114 他のデータベース サーバのデータベースにアクセスする分散 DML 操作や関数呼出し では、本章のみで説明されているこれらの Dynamic Server の拡張データ型を戻すこと はできません。(ただし、同じ Dynamic Server インスタンスの他のデータベースに対す るデータベース間操作の場合、組込み不透明 (OPAQUE) 型として実装されるブール (BOOLEAN) 型、BLOB 型、CLOB 型、およびラージ可変長文字 (LVARCHAR) 型にア クセスできます。このような操作では、基本型が組込みデータ型であるディスティンク ト (DISTINCT) 型やユーザ定義データ型 (UDT) に対しても、UDT や DISTINCT 型が 組込みデータ型に明示的にキャストされており、すべての UDT、キャスト、および DISTINCT 型が関与するすべてのデータベースで定義されている場合はアクセス可能で す。) SQL 文がサポートする Informix 内部データ タイプ (IMPEX、IMPEXBIN、および SENDRECV など) については、「IBM Informix: ユーザ定義ルーチンおよびデータ タ イプ 開発者ガイド」を参照してください。 データ型の説明 ここでは、Informix データベース サーバがサポートするデータ型について説明します。 大桁整数 (BIGINT) 型 (XPS) Extended Parallel Server の大桁整数 (BIGINT) 型は、8 バイト整数 (INT8) 型のシノニ ムです (100 ページの 8 バイト整数 (INT8) 型の説明を参照してください)。 86 IBM Informix SQL ガイド: 参照 BLOB 型 (IDS) BLOB 型は、SB 領域と呼ばれるランダム アクセス チャンクに任意のバイナリ形式の データを格納するものです。バイナリ データは通常、保存されたスプレッドシート、プ ログラム ロード モジュール、ディジタル化された音声パターンなどで構成されていま す。データベース サーバは BLOB 型列の内容を解釈することはありません。BLOB 型 列は、長さ 4TB (4*240 バイト) まで可能ですが、システム リソースによって、実際の 上限がそれ以下の場合があります。 スマート ラージ オブジェクト は、BLOB 型と CLOB 型を参照します。テキスト デ ータへのランダム アクセスには、CLOB 型 (91 ページ参照) を使用してください。 BLOB 型と CLOB 型の一般情報については、122 ページの『スマート ラージ オブジ ェクト (IDS)』を参照してください。 これらの SQL 関数を使用し、BLOB 型列で以下の操作を実行できます。 v FILETOBLOB は、ファイルを BLOB 型列へコピーします。 v LOTOFILE は、BLOB 型 (または CLOB 型) の値をオペレーティング システムの ファイルへコピーします。 v LOCOPY は、既存のスマート ラージ オブジェクトを新規スマート ラージ オブジ ェクトにコピーします。 これらの SQL 関数の詳細については、「IBM Informix: SQL ガイド: 構文」を参照して ください。 SQL 内では、BLOB 型データの比較演算の等号 (=)、および暗号化関数と復号化関数に 制限されます (暗号化関数と復号化関数については「IBM Informix: SQL ガイド: 構文」 で説明しています)。それ以外の演算を実行するには、クライアント アプリケーション 内のアプリケーション プログラム インターフェイス (API) の 1 つを使用する必要が あります。 次の方法で、データを BLOB 型列に挿入できます。 v dbload または onload ユーティリティを使用 v LOAD 文 を使用 (DB–Access) v FILETOBLOB 関数を使用 v BLOB (ifx_lo_t) ホスト変数から実行 (IBM Informix ESQL/C) DB–Access を使用して BLOB 型列を選択した場合、文字列 <SBlob value> が戻され、 値は何も表示されません。 ブール (BOOLEAN) 型 (IDS) ブール (BOOLEAN) 型は、TRUE または FALSE データ値を 1 バイトとして格納しま す。以下の表は、ブール (BOOLEAN) 型の内部およびリテラル表記を示しています。 第 2 章 データ型 87 論理値 内部表記 リテラル表記 TRUE ¥0 ’t’ FALSE ¥1 ’f’ NULL 内部専用 NULL 2 つのブール値を比較し、等しいかどうかテストできます。ブール (BOOLEAN) 型値 を、ブール リテラル ’t’ および ’f’ と比較もできます。ブールの値は、大文字と小文 字を区別せず、’t’ と ’T’ は同等、’f’ と ’F’ も同等です。 ブール (BOOLEAN) 型列を使用し、ブール式が戻す値を格納できます。次の例では、 column1 が column2 より小さい場合の boolean_column の値は ’t’、column1 が column2 より大きいまたは等しい場合は ’f’、column1 か column2 いずれかの値が不 明な場合は NULL になります。 UPDATE my_table SET boolean_column = lessthan(column1, column2) バイト (BYTE) 型 バイト (BYTE) 型は、差別化されていないバイト ストリームに任意のバイナリ データ を格納します。通常、バイナリ データはディジタル化された情報 (スプレッドシート、 プログラム ロード モジュール、ディジタル化された音声パターンなど) で構成されま す。シンプル ラージ オブジェクト は、 バイト (BYTE) 型およびテキスト (TEXT) 型 を参照します。バイト (BYTE) 型およびテキスト (TEXT) 型として、同じ表に宣言でき るのは 195 列以内です。 バイト (BYTE) 型には、最大サイズがありません。バイト (BYTE) 型列の理論上の最大 サイズは 231 バイトですが、実際には、使用しているディスク容量に依存します。 バイト (BYTE) 型列に対して、格納、抽出、更新、および削除を行えます。ただし、算 術計算や文字列の操作には、バイト (BYTE) 型オペランドを使用できません。また、 UPDATE 文の SET 節で、リテラルをバイト (BYTE) 型列へ設定することもできませ ん。次のいずれの方法でも、バイト (BYTE) 型項目を使用できません。 v 集計関数 v IN 節 v MATCHES または LIKE 節 v GROUP BY 節 v ORDER BY 節 IS NULL または IS NOT NULL 演算子で NULL 値をテストしている場合のみ、バイ ト (BYTE) 型オペランドはブール (BOOLEAN) 式中で有効です。 次の方法で、データをバイト (BYTE) 型列に挿入できます。 88 IBM Informix SQL ガイド: 参照 v dbload または onload ユーティリティを使用 v LOAD 文 を使用 (DB–Access) v バイト (BYTE) 型ホスト変数から実行 (IBM Informix ESQL/C) バイト (BYTE) 型列の更新や挿入に、引用符で囲んだ文字列や数値、その他の実際の値 を使用することはできません。 バイト (BYTE) 型列を選択する場合、列全体または列の一部分を選択できます。列全体 を抽出するには、列を選択する通常の構文を使用します。サブスクリプトを使用する と、バイト (BYTE) 型列の任意の部分も選択できます。次の例では、カタログ番号 10001 と関連付けられた列 cat_picture の、先頭から 75 バイト分を読み込んでいま す。 SELECT cat_picture [1,75] FROM catalog WHERE catalog_num = 10001 組込みキャストは、バイト (BYTE) 型値を BLOB 型値に変換します。詳しくは、 「IBM Informix: データベース設計および実装 ガイド」を参照してください。 DB–Access 対話型スキーマ エディタを使用して、バイト (BYTE) 型列を選択した場 合、文字列 ’’< BYTE value>’’ のみが戻され、データ値は何も表示されません。 重要: 副問合せから バイト (BYTE) 型列を戻そうとした場合、列がブール式や集計関 数で使用されていなくても、エラーになります。 CHAR(n) 型 文字 (CHAR) 型は、任意の文字列、数字、および記号を格納します。データベース ロ ケールに応じて、シングルバイト文字およびマルチバイト文字を格納できます (マルチ バイト コード セットをサポートする、東アジア ロケールの詳細については、119 ペー ジの『可変長文字 (VARCHAR) 型のマルチバイト文字』を参照してください)。 CHAR(n) 型列は、n バイトの長さを持ち、 1 ≤ n ≤ 32,767 です。 n を指定しない場 合、デフォルトの長さは CHAR(1) になります。通常、文字型の列は、名前、住所、電 話番号など英数字を格納します。CHAR(n) として値が抽出、格納された場合、正確に n バイトのデータが転送されます。文字列が n バイトより短い場合、宣言された長さま で、空白で拡張されます。データ値が n バイトより長い場合、 右側から切り捨てられ たデータ ストリングの長さ n が、例外を出すことなく挿入または抽出されます。 これはマルチバイト ロケールにおいて、部分文字を作成しません。アラビア語、ヘブラ イ語、ペルシア語などのように右から左へ入力するロケールでは、切捨ては左からにな ります。 文字 CHAR 型値の数値としての処理 ある列に格納されている数値を使用して計算を行うには、その列に対して数値を扱うた めのデータ型を指定してください。文字 (CHAR) 型列に数字を格納することもできます 第 2 章 データ型 89 が、その数字を算術演算の中で使用しないでください。例えば、ある合計値を文字 (CHAR) 型列に挿入する場合、文字 (CHAR) 型列の長さが値より短いと、オーバーフロ ーが発生する場合があります。この場合、挿入が失敗します。先頭がゼロの数字 (一部 の郵便番号など) を整数 (INTEGER) 型や小桁整数 (SMALLINT) 型のような数値型とし て格納すると、先頭のゼロが省略されます。代わりに、そのような値は文字 (CHAR) 型 列に格納してください。 関係比較とソート 一般に、文字 (CHAR) 型値のソートの際の照合順序は、コード セットの文字順です (範囲における MATCHES 演算子は例外です。119 ページの『可変長文字 (VARCHAR) 型値の照合』を参照してください)。照合順序の詳細については、「IBM Informix: GLS ユーザーズ ガイド」を参照してください。 マルチバイト ロケールでは、データベースはコード セットのマルチバイト文字をサポ ートします。文字 (CHAR) 型にマルチバイト文字を格納する場合、必要なバイト数を必 ず算出してください。マルチバイト文字とロケールの詳細については、「IBM Informix: GLS ユーザーズ ガイド」を参照してください。 より短い値を、右側の空白に同じ長さになるまで埋め込むことにより、文字 (CHAR) 型 値を他の文字 (CHAR) 型値と比較します。照合のためのコード セット順を使用して 2 つの値を比較します。 文字 (CHAR) 型の出力不可能文字 文字 (CHAR) 型値には、タブ、改行、空白、および出力不可能文字を格納できます。た だし、出力不可能文字のホスト変数への挿入や、そのホスト変数のデータベースへの挿 入には、アプリケーションを使用する必要があります。出力不可能文字をデータベース サーバに渡した後、その文字を格納、抽出できます。出力不可能文字を選択した後、そ れらの文字をホスト変数に取り出し、表示メカニズムを使用して表示してください。 DB–Access で出力不可能文字を表示させようとした場合、一貫性のない結果が表示され ます。(出力不可能文字かどうかは、ロケール依存です。詳しくは、「IBM Informix: GLS ユーザーズ ガイド」の、クライアントとデータベース サーバ間のコード セット 変換に関する説明を参照してください。) CHARACTER(n) 型 文字 (CHARACTER) 型は、文字 (CHAR) 型のシノニムです。 CHARACTER VARYING(m,r) 型 可変長文字 (CHARACTER VARYING) 型は、文字列、数字、可変長の記号を格納し、m は列の最大サイズ (バイト)、r はその列に対して予約された最小バイト数を表します。 可変長文字 (CHARACTER VARYING) 型は、SQL の ANSI/ISO 規格に準拠していま 90 IBM Informix SQL ガイド: 参照 す。ANSI ではない可変長文字 (VARCHAR) 型は、同じ機能をサポートします。詳しく は、118 ページの『VARCHAR(m,r) 型』にある可変長文字 (VARCHAR) 型の説明を参 照してください。 CLOB 型 (IDS) CLOB 型は、SB 領域と呼ばれるランダム アクセス チャンクに、任意の種類のテキス ト データを格納します。テキスト データは、PostScript、HTML (Hypertext Markup Language)、SGML (Standard Graphic Markup Language)、XML (Extensible Markup Language) データなどのテキスト形式の情報を含むことができます。 スマート ラージ オブジェクト は、CLOB 型と BLOB 型を参照します。CLOB 型は、 BLOB 型値には適さない文字列の特殊な演算子をサポートします。CLOB 型値は、長さ 4TB (4*240 バイト) まで可能です。 バイナリ形式のデータへのランダム アクセスには、BLOB 型を使用してください (87 ページの『BLOB 型 (IDS)』参照)。 CLOB 型と BLOB 型の一般情報については、122 ページの『スマート ラージ オブジェクト (IDS)』を参照してください。 次の SQL 関数は、CLOB 型列で演算を実行できます。 v FILETOCLOB は、ファイルを CLOB 型列へコピーします。 v LOTOFILE は、CLOB 型 (または BLOB 型) の値をファイルへコピーします。 v LOCOPY は、CLOB 型 (または BLOB 型) の値を新規スマート ラージ オブジェク トへコピーします。 v ENCRYPT_DES または ENCRYPT_TDES は、プレーン テキストの CLOB 型引数 から暗号化された BLOB 型値を作成します。 v DECRYPT_BINAR または DECRYPT_CHAR は、(ENCRYPT_DES または ENCRYPT_TDES によってプレーン テキストの CLOB 型値から作成された) 暗号化 された BLOB 型引数から暗号化されていない BLOB 型値を戻します。 これらの SQL 関数の詳細については、「IBM Informix: SQL ガイド: 構文」を参照して ください。 CLOB 型データへのキャストは存在しません。したがって、データベース サーバは、 これらの暗号化および復号化関数を使用して BLOB 型を戻す以外に、CLOB 型のデー タを他のどのデータ型にも変換できません。SQL 内では、CLOB 型データの比較演算の 等号 (=) は制限されます。それ以外の演算を実行するには、クライアント アプリケー ション内のアプリケーション プログラム インターフェイス (API) の 1 つを使用する 必要があります。 CLOB 型のマルチバイト文字 次の方法で、データを CLOB 型列に挿入できます。 v dbload または onload ユーティリティを使用 第 2 章 データ型 91 v LOAD 文 を使用 (DB–Access) v CLOB (ifx_lo_t) ホスト変数から実行 (ESQL/C) CLOB 型の例については、「IBM Informix: SQL ガイド: チュートリアル」と 「IBM Informix: データベース設計および実装 ガイド」を参照してください。 GLS では、次のルールが適用されます。 v マルチバイトの CLOB 型文字は、データベース ロケールで定義されている必要があ ります。 v CLOB 型は、コード セット順で照合されます。 v データベースは、CLOB 型データのコード セット変換を処理します。 データベース ロケール、照合順序、およびコード セット変換の詳細については、 「IBM Informix: GLS ユーザーズ ガイド」を参照してください。 日付 (DATE) 型 日付 (DATE) 型は、日付を格納します。日付 (DATE) 型には 4 バイト必要です。1899 年 12 月 31 日からの通算日数が、整数値で格納されます。 日付 (DATE) 型値は整数として格納されるため、算術式に使用できます。例えば、ある 日付 (DATE) 型値を他の日付 (DATE) 型値から減算できます。結果として得られる正 または負の整数 (INTEGER) 型値は、経過日数を示しています (UNITS DAY 式を使用 し、結果を INTERVAL DAY TO DAY 型に変換できます)。 次の例は、日付 (DATE) 型列のデフォルトの表示フォーマットを示しています。 mm/dd/yyyy この例において、mm は月 (1 から 12)、dd は日 (1 から 31)、yyyy は年 (0001 から 9999) を表します。DBDATE 環境変数を設定することで、これとは違う時間単位の順序 や、/ 以外の区切り記号 (または区切り記号なし) を指定できます。詳しくは、168 ペー ジの『DBDATE』を参照してください。 デフォルトではないロケールでは、文化的差異に基づいた形式で日付を表示できます。 ロケール、GL_DATE、および DBDATE 環境変数 (次章にて説明) は、日付 (DATE) 型値の表示フォーマットに影響します。ただし、データベースの日付 (DATE) 型列の内 部記憶域形式には影響しません。詳しくは、「IBM Informix: GLS ユーザーズ ガイド」 を参照してください。 日時 (DATETIME) 型 日時 (DATETIME) 型は、日付と時刻を格納します。日時 (DATETIME) 型値をどれほど の精度で格納するかを指定できます。精度は、年単位から小数秒単位まで指定可能で す。 92 IBM Informix SQL ガイド: 参照 日時 (DATETIME) 型はデータ値を、データ型宣言で各時間単位 (年、月、日 など) を 表す連続的なフィールド系列として格納します。 日時 (DATETIME) 型を指定するフィールド修飾子は、次のような形式になります。 DATETIME largest_qualifier TO smallest_qualifier これは時間隔 (INTERVAL) 型フィールド修飾子 (100 ページの『時間隔 (INTERVAL) 型』を参照) と類似していますが、(時間隔 (INTERVAL) 型のように) 時間範囲ではな く、日時 (DATETIME) 型は時間を点で表します。このような差が、日時 (DATETIME) 型と時間隔 (INTERVAL) 型修飾子の間にはあります。 v DATETIME キーワードは INTERVAL キーワードを置き換えます。 v 日時 (DATETIME) 型フィールド修飾子は、largest_qualifier 時間単位にデフォルト以 外の精度を指定できません。 v 日数 (または、それより小さい時間単位) を格納する時間隔 (INTERVAL) 型が月や年 を格納できないのに対し、YEAR または MONTH 時間単位もしくはその両方を含む 日時 (DATETIME) 型値は、より小さい時間単位も含めます。 smallest_qualifier が largest_qualifier より大きい時間単位を指定していない場合、日時 (DATETIME) 型の largest_qualifier と smallest_qualifier は、表 6 にリストする任意のフ ィールドとなります (最大時間単位と最小時間単位は等しく指定できます。例えば、 DATETIME YEAR TO YEAR です)。 表 6. 日時 (DATETIME) 型フィールド修飾子 修飾子フィールド 有効エントリ YEAR (年) 西暦 1 年から 9999 年まで MONTH (月) 1 月から 12 月まで DAY (日) 月に合わせて、1 日から 31 日までの適切な値 HOUR (時) 時 (真夜中から 23 時まで) MINUTE (分) 0 分から 59 分まで SECOND (秒) 0 秒から 59 秒まで FRACTION (小数 秒) 小数点以下 5 桁 までの 10 進数の少数秒。デフォルトは小数点 以下 3 桁 (1000 分の 1 秒) までです。smallest_qualifier で別の桁 数を指定するには、FRACTION(n) を書き込みます。n は、1 から 5 までの数字です。 日時 (DATETIME) 型列の宣言は、YEAR から FRACTION までの時間単位の全範囲を 含む必要はありません。これら時間単位の連続的なサブセットを含むか、または単一の 時間単位を指定できます。 第 2 章 データ型 93 例えば、入力値が時間単位の連続した系列の情報を含んでいる限り、YEAR TO MINUTE と宣言された列に MONTH TO HOUR 値を入力できます。ただし、MONTH と HOUR のみの入力はできません。DAY の値も含んでいる必要があります。 DB–Access TABLE メニューを使用し、日時 (DATETIME) 型修飾子を指定しない場 合、デフォルトの日時 (DATETIME) 型修飾子 (YEAR TO YEAR) が設定されます。 有効な日時 (DATETIME) 型リテラルは、DATETIME キーワード、入力値、およびフィ ールド修飾子を含む必要があります。入力値には、列に宣言されたものより少ないフィ ールドのみ含めるため、これらの修飾子が必要になります。最初と最後のフィールドに 許容される修飾子は、 93 ページの表 6 でリストしている有効な日時 (DATETIME) 型フ ィールドのリストと同じものです。 フィールド修飾子に整数として値を書き込み、区切り記号で分離します。表 7 は、デフ ォルトの米国英語 (U.S. English) ロケールで日時 (DATETIME) 型値とともに使用され る区切り記号をリストしています。(これらは、時間隔 (INTERVAL) 型値で使用される 区切り記号のスーパセットです。102 ページの表 9 を参照してください。) 表 7. 日時 (DATETIME) 型で使用する区切り記号 区切り記号 日時 (DATETIME) 型リテラルの位置 ハイフン (-) 時間単位 YEAR、MONTH、および DAY 値の間 空白 ( ) 時間単位 DAY と HOUR 値の間 コロン (:) 時間単位 HOUR、MINUTE、および SECOND 値の間 小数点 (.) 時間単位 SECOND と FRACTION 値の間 図 2 は、区切り記号を使用した DATETIME YEAR TO FRACTION(3) の値を示してい ます。 図 2. 区切り記号を使用した日時 (DATETIME) 型値の例 列における時間単位フィールドよりも少ない値を入力した場合、この値は宣言された時 間単位フィールドをすべて満たすよう自動的に拡張されます。組み込んだ時間単位より 大きい値をフィールドに入力しなかった場合、そこにはシステム クロック カレンダに 94 IBM Informix SQL ガイド: 参照 よる現行の時間単位が自動的に割り当てられます。また、小さい値をフィールドに入力 しなかった場合、そこにはゼロ (または MONTH と DAY には 1 ) が割り当てられま す。 日時 (DATETIME) 型値を、文字列としても入力できます。文字列には、日時 (DATETIME) 型列で定義された各フィールド情報を含む必要があります。次の例の INSERT 文は、文字列として入力される日時 (DATETIME) 型値を示しています。 INSERT INTO cust_calls (customer_num, call_dtime, user_id, call_code, call_descr) VALUES (101, ’2001-01-14 08:45’, ’maryj’, ’D’, ’Order late - placed 6/1/00’) call_dtime が DATETIME YEAR TO MINUTE として宣言された場合、文字列は year、month、day、hour、および minute フィールドに対応する値を含む必要がありま す。 文字列が、宣言されたすべてのフィールド情報を含まない場合 (またはフィールドを追 加する場合)、データベース サーバはエラーを戻します。 日時 (DATETIME) 型列のフィールドはすべて、year と fraction フィールドを除き、2 桁の数字です。year フィールドは、4 桁で格納されます。year フィールドに値を 2 桁 で入力した場合、その省略された year 値を 4 桁に拡張する方法は、DBCENTURY 環 境変数の設定に依存します。 例えば、year 値として 02 と入力した場合、年が 1902、2002、または 2102 のいずれ に解釈されるかは、DBCENTURY の設定と実行時のシステム クロック カレンダの値 に依存します。DBCENTURY を設定していない場合、現行年の先行桁がデフォルトと して追加されます。DBCENTURY の設定については、165 ページの『DBCENTURY』 を参照してください。 fraction フィールドには、1 ≤ n ≤ 5 である n 桁が必要で、偶数値に切り上げられま す。次の式を使用して、日時 (DATETIME) 型値のバイト数が算出できます。結果は整 数値に切り上げられます。 (total number of digits for all fields) /2 + 1 例えば、YEAR TO DAY 修飾子は、合計で 8 桁 (year に 4 桁、month に 2 桁、day に 2 桁) 必要です。したがって、このデータを格納するには (8/2) + 1 (つまり 5 バイ ト必要) です。 算術式と関係式での日時 (DATETIME) 型値の使用法については、126 ページの『日付 (DATE) 型値、日時 (DATETIME) 型値、および時間隔 (INTERVAL) 型値の操作』 を 参照してください。日時 (DATETIME) 型の詳細については、「IBM Informix: SQL ガ イド: 構文」を参照してください。 第 2 章 データ型 95 米国英語 (U.S. English) 以外のロケールを指定した場合、そのロケールは日時 (DATETIME) 型値を文化的差異に基づいた表示フォーマットで定義します。デフォルト の表示フォーマットは、GL_DATETIME 環境変数の設定により変更できます。 ESQL API では、DBTIME 環境変数は日時 (DATETIME) 型にも影響します。デフォル トではないロケールと GL_DATE および DBDATE 環境変数の設定は、日時 (DATETIME) 型データの表示にも影響します。ただし、日時 (DATETIME) 型列の内部 記憶域形式には影響しません。 SQL 文で、データベース サーバがオペレーティング システムから現在時刻を取得する 場合、USEOSTIME 構成パラメータは二次的な細分性に影響します。「IBM Informix: Dynamic Server 管理者の参照」を参照してください。 DBTIME の詳細については、181 ページの『DBTIME』を参照してください。 DBCENTURY の詳細については、165 ページの『DBCENTURY』を参照してくださ い。ロケールと、エンド ユーザの日時 (DATETIME) 型形式を指定できる GLS 環境変 数の詳細については、「IBM Informix: GLS ユーザーズ ガイド」を参照してください。 10 進数 (DEC) 型 10 進数 (DEC) 型は、10 進数 (DECIMAL) 型のシノニムです。 10 進数 (DECIMAL) 型 10 進数 (DECIMAL) 型は、次の 2 つの形式をとれます。DECIMAL(p) 型浮動小数点 と、DECIMAL(p,s) 型固定小数点です。ただし、ANSI 準拠データベースでは、10 進数 (DECIMAL) 型数値はすべて固定小数点です。デフォルトでは、データベースは小数点 (.) を含むリテラル番号を、10 進数 (DECIMAL) 型値として解釈します。 DECIMAL(p) 型浮動小数点 10 進数 (DECIMAL) 型は、総有効数字が 32 桁までの浮動小数点 10 進数を格納する ものです。浮動小数点 10 進数 (DECIMAL) 型では、p に有効桁の総数 (精度) を指定 します。 精度の指定はオプションです。精度 (p) を指定しない場合、10 進数 (DECIMAL) 型は DECIMAL(16) 型、つまり 16 桁の精度の浮動小数点数として扱われます。DECIMAL(p) 型の絶対指数範囲は、10-130 から 10124 です。 ANSI 準拠のデータベースで DECIMAL(p) 型の列を宣言する場合、小数点以下桁数は DECIMAL(p,0) 型のデフォルト値を採用します。つまり、このデータ型には整数値のみ 格納できます。 ANSI 標準準拠でないデータベースでは、DECIMAL(p) は、値の指数表記を格納するの に十分な小数点以下桁数の浮動小数点データ型です。 96 IBM Informix SQL ガイド: 参照 例えば、次の計算は、デフォルト ロケール (小数点で 1 バイトを使用する) におい て、DECIMAL(5) の列が何バイトの記憶域を必要とするかを示しています。 データ値の符号に 1 バイト 最初の桁に 1 バイト 小数点に 1 バイト 宣言された精度の (5) - 1 の残りの桁数に 4 バイト ’e’ 記号に 1 バイト 指数の符号に 1 バイト 指数に 3 バイト -----------------------------------12 バイト (合計) したがって、DECIMAL(5) の列の「12345」は、ANSI 標準準拠でないデータベースでは 「12345.00000」(つまり精度 6) として表示されます。 DECIMAL (p,s) 型固定小数点 DECIMAL(p,s) 型固定小数点数では、小数点は数値に関係なく、特定の箇所に固定され ます。このデータ型を指定する場合、格納できる合計桁数 (1 から 32) を、精度 (p) に 宣言します。また、小数部 (つまり小数点の右側) の合計桁数を、小数点以下桁数 (s) に宣言します。 絶対値が 0.5 * 10-s より小さい値は、ゼロになります。オーバーフロー エラーを発生 させずに格納できる、DECIMAL(p,s) 型の最大絶対値は、10p-s -10-s です。一般的に、 10 進数 (DECIMAL) 型列には、正確に格納、小数部が正確に格納、表示される必要が ある (比率や割合) 数値を格納します。ANSI 準拠データベースでは、10 進数 (DECIMAL) 型数値はすべて 10-32 から 10+31 の範囲の絶対値である必要があります。 10 進数 (DECIMAL) 型記憶域 データベース サーバは、1 バイトのディスク記憶装置を使用して 2 桁の 10 進数を格 納し、追加のバイトを使用して指数と符号を格納します。excess-65 形式で、先頭バイト は符号ビットを表し、7 ビットで指数を表します。残りのバイトは、仮数を 100 桁で表 します。小数点の左側の有効数字と小数点以下の有効数字は別々のバイト グループに格 納されます。最大精度 指定では、DECIMAL(32,s) 型は s が奇数の場合、小数点以下 s-1 桁まで格納できます。 データベース サーバが 10 進数を格納する方法を、次の例で説明します。 DECIMAL(6,3) 型と指定した場合、データ型は、整数部の 3 つの有効数字と小数部の 3 つの有効数字 (例えば 123.456) で構成されます。 98 ページの図 3 に示すとおり、小数 点の左の 3 桁は 2 バイトで格納され (そのうちの 1 バイトは単一桁のみを保持)、小 数点以下の 3 桁は別の 2 バイトで格納されます。 第 2 章 データ型 97 指数バイトは示していません。指数と符号に必要なバイトを含めると、DECIMAL(6,3) 型には合計 5 バイトの記憶域が必要です。 図 3. Decimal(p,s) 型値の各桁の記憶域を説明する図式 次の公式を使用して、DECIMAL(p,s) 型の格納に必要なバイト数 (N) を計算できます。 結果は小数点以下を切り捨て、整数値にします。N は、指数と符号の格納に必要なバイ トを含みます。 If the scale is odd: N = (precision + 4) / 2 If the scale is even: N = (precision + 3) / 2 例えば、DECIMAL(5,3) 型の格納に必要なサイズは、4 バイトとなります。9/2 の小数 点以下は切り捨てます。 これらの式に関して、留意点が 1 つあります。データベース サーバが 10 進数値の格 納に使用する最大バイト数は、17 バイトであるということです。このうち、1 バイトは 指数と符号の格納に使用されるため、残りの 16 バイトが精度 32 桁の数値を格納しま す。精度を 32 に、小数点以下桁数を奇数 に指定した場合は、精度 1 桁を失います。 例えば、DECIMAL(32,31) 型を例にとります。この 10 進数は小数点の左に 1 桁、小数 点の右に 31 桁が定義されています。小数点の左の 1 桁の格納には 1 バイトが必要で す。その結果、小数点以下の格納用には、15 バイトのみ残ります。15 バイトで格納で きるのは 30 桁までであるため、精度の 1 桁は失われます。 ディスティンクト (DISTINCT) 型 (IDS) ディスティンクト (DISTINCT) 型は、次のソース型 (基本型) の 1 つから派生するデー タ型です。 v 組込みデータ型 v 既存のディスティンクト (DISTINCT) 型 v 既存の名前付き行型 v 既存の不透明 (OPAQUE) 型 ディスティンクト (DISTINCT) 型は、そのソース型のディスク上の長さと揃えを継承し ます。このため、ディスティンクト (DISTINCT) 型ではデータベース サーバの既存の 機能を効率的に利用できます。 98 IBM Informix SQL ガイド: 参照 ディスティンクト (DISTINCT) 型を作成する場合、データベース サーバは 2 つの明示 的キャストを作成します。ディスティンクト (DISTINCT) 型からソース型へのキャスト と、ソース型からディスティンクト (DISTINCT) 型へのキャストです。組込みのソース 型を基にしたディスティンクト (DISTINCT) 型は、組込みデータ型用に提供される組込 みキャストは継承しません。ただし、ディスティンクト (DISTINCT) 型は、ソース型で 定義されたユーザ定義キャストはすべて継承します。 ディスティンクト (DISTINCT) 型は、そのソース型と直接的に比較できません。比較す るには、まず、あるデータ型を他の型へ明示的にキャストする必要があります。 ディスティンクト (DISTINCT) 型はデータベース内で定義する必要があります。ディス ティンクト (DISTINCT) 型の定義は、システム カタログ表 sysxtdtypes に格納されま す。次の SQL 文で、データベースにおけるディスティンクト (DISTINCT) 型の定義を 管理します。 v CREATE DISTINCT TYPE 文は、ディスティンクト (DISTINCT) 型をデータベース に追加します。 v DROP TYPE 文は、定義済みのディスティンクト (DISTINCT) 型をデータベースから 除去します。 上述の SQL 文の詳細については、「IBM Informix: SQL ガイド: 構文」を参照してくだ さい。ディスティンクト (DISTINCT) 型のキャストについては、138 ページの『ディス ティンクト (DISTINCT) 型のキャスト』を参照してください。ディスティンクト (DISTINCT) 型のキャスト関数の作成および登録については、「IBM Informix: データベ ース設計および実装 ガイド」を参照してください。 実数 (DOUBLE PRECISION) 型 DOUBLE PRECISION キーワードは、FLOAT キーワードのシノニムです。 FLOAT(n) 型 実数 (FLOAT) 型は、有効数字 17 桁までの浮動小数点数を格納します。実数 (FLOAT) 型は C において、IEEE の 4 バイト浮動小数点と倍精度浮動小数点数 (DOUBLE) 型 に対応します。実数 (FLOAT) 型の値の範囲は、ご使用のコンピュータにおける C 言語 の倍精度浮動小数点数 (DOUBLE) 型の範囲と同じです。 n を使用して実数 (FLOAT) 型の精度を指定できますが、SQL は無視します。n の値 は、1 から 14 までの整数である必要があります。 実数 (FLOAT) 型列は、通常、近似値しか計算できない科学技術分野の数値を格納しま す。浮動小数点数は、最上位の数桁のみを保持するため、実数 (FLOAT) 型で定義した 列に入力した数値と、データベース サーバが表示する数値が異なる場合があります。 誤差は、使用しているコンピュータでの浮動小数点数の格納方法に依存します。例え ば、ユーザが 1.1000001 という値を実数 (FLOAT) 型フィールドに入力した後、SQL 文 第 2 章 データ型 99 で処理した結果、画面に 1.1 と表示される場合があります。これは、ある値の桁数が浮 動小数点数が格納できる桁数よりも大きい場合に発生します。この場合、最下位からの 何桁かをゼロにした近似値が格納されます。 実数 (FLOAT) 型は、通常、値に対して 8 バイトの記憶域を必要とします。実数 (FLOAT) 型値を 10 進数 (DECIMAL) 型値へ変換すると、17 桁の精度になります。 整数 (INT) 型 整数 (INT) 型は、整数 (INTEGER) 型のシノニムです。 8 バイト整数 (INT8) 型 8 バイト整数 (INT8) 型は、18 または 19 桁の精度で、-(263-1) から 263-1 (つまり -9,223,372,036,854,775,807 から 9,223,372,036,854,775,807) の範囲の数値を格納します。 数値 -9,223,372,036,854,775,808 は予約値で、使用できません。8 バイト整数 (INT8) 型 は、通常、ラージ カウント、数量などの格納に使用します。 Dynamic Server は、最大 10 バイトの記憶域が必要な内部形式で 8 バイト整数 (INT8) 型データを格納します。Extended Parallel Server は、8 バイト整数 (INT8) 型値を 8 バ イトとして格納します。 算術演算や比較ソートは、浮動小数点または固定小数点の 10 進データ上より、整数デ ータ上の方が効果的に実行できますが、8 バイト整数 (INT8) 型は | 263-1 | を超えた絶 対値を格納できません。値が 8 バイト整数 (INT8) 型の数値範囲を超えると、データベ ース サーバは値を格納しません。 整数 (INTEGER) 型 整数 (INTEGER) 型は、9 桁または 10 桁の精度で、-2,147,483,647 から 2,147,483,647 の範囲の整数を格納します。数値 2,147,483,648 は予約値で、使用できません。整数 (INTEGER) 型は符号付き整数のバイナリ形式で格納され、通常、カウントや数量などの 格納に使用されます。 整数データに対しては、算術演算および比較ソートは浮動小数点や 10 進数のデータよ りも効率的に実行されます。ただし、整数 (INTEGER) 型列は (231-1) を超えた絶対値 を格納できません。データ値が整数 (INTEGER) 型の数値範囲を超えると、データベー ス サーバは値を格納しません。 整数 (INTEGER) 型は、1 つの値に対して 4 バイトの記憶域を必要とします。 時間隔 (INTERVAL) 型 時間隔 (INTERVAL) 型は、時間範囲を表す値を格納します。時間隔 (INTERVAL) 型 は、2 つのクラスに分けられます。年月間隔 と日時間隔 です。年月時間隔は年月の間 隔を表します。日時時間隔は日、時、分、秒、小数秒の間隔を表します。 100 IBM Informix SQL ガイド: 参照 時間隔 (INTERVAL) 型値は常に、時間単位を表す 1 つ以上の値で構成されています。 時間隔 (INTERVAL) 型の精度を定義する CREATE TABLE や ALTER TABLE などの データ定義文では、修飾子は次の形式である必要があります。 INTERVAL largest_qualifier(n) TO smallest_qualifier 101 ページの表 8 で示すように、largest_qualifier と smallest_qualifier キーワードは、2 つの 時間隔 (INTERVAL) 型クラスのうち 1 つからとります。 SECOND (またはそれより大きい時間単位) が largest_qualifier の場合、時間隔 (INTERVAL) 型の宣言は n をオプションで指定でき、最大時間単位の精度は 1 から 9 までです。これは、日時 (DATETIME) 型の機能ではありません。 smallest_qualifier が FRACTION の場合、1 から 5 の範囲で小数点以下桁数を指定する こともできます。FRACTION TO FRACTION 修飾子は、n の上限は 9 ではなく 5 で す。時間隔 (INTERVAL) 型には、比較できない 2 つのクラスがあります。 v DAY よりも大きい smallest_qualifier v MONTH よりも小さい largest_qualifier 表 8. 時間隔 (INTERVAL) 型のクラス 時間隔 (INTERVAL) 型 のクラス 時間単位 有効エントリ YEAR-MONTH 時間隔 (INTERVAL) 型 YEAR (年) 年数 MONTH (月) 月数 DAY-TIME INTERVAL DAY (日) 日数 HOUR (時) 時間数 MINUTE (分) 分数 SECOND (秒) 秒数 FRACTION (小数秒) 5 桁までの小数秒。デフォルトは、小数点以下 3 桁 (1000 分の 1 秒) です。デフォルトではない桁数を 指定するには、FRACTION(n) を書き込んでくださ い。ここで 1 ≤ n ≤ 5 です。 日時 (DATETIME) 型のように、時間隔 (INTERVAL) 型を定義し、必要な時間単位のサ ブセットのみ指定できます。ただし、月 (カレンダ日付で使用される) の構造は、日が 固定数字である時間単位ではないため、単一の時間隔 (INTERVAL) 型値は月と日を結 合できません。2 つの異なる時間隔 (INTERVAL) 型クラスのオペランドを含む算術計 算は、サポートされません。 第 2 章 データ型 101 時間隔 (INTERVAL) 型列に入力された値は、その列のデータ型宣言で指定された全時 間範囲を含む必要はありません。例えば、DAY TO SECOND と定義された列に、 HOUR TO SECOND 精度の値を入力できます。ただし、値は常に連続的な時間単位で 構成される必要があります。前述の例では、HOUR と SECOND 値のみを入力すること はできません。MINUTE 値も指定する必要があります。 有効な時間隔 (INTERVAL) 型リテラルは、INTERVAL キーワード、入力値、およびフ ィールド修飾子を含みます (「IBM Informix: SQL ガイド: 構文」のリテラル間隔に関す る説明を参照してください)。値に 1 つのフィールドしか含まれていない場合、最大修 飾子フィールドと最小修飾子フィールドは同じになります。 ある値を時間隔 (INTERVAL) 型列に入力する場合は、日時 (DATETIME) 型値の場合と 同様、最大修飾子フィールドと最小修飾子フィールドの両方を指定する必要がありま す。さらに、最初のフィールド精度を (FRACTION の場合は、最後のフィールドの小数 点以下桁数も) オプションで指定できます。最大と最小のフィールド修飾子がいずれも FRACTION の場合、最後のフィールドの小数点以下桁数のみ指定できます。 最大と最小のフィールドに許容される修飾子は、101 ページの表 8 で示す時間隔 (INTERVAL) 型フィールドのリストと同じものです。 DB–Access TABLE メニューを使用し、時間隔 (INTERVAL) 型フィールド修飾子を指 定しない場合、デフォルトの時間隔 (INTERVAL) 型修飾子である YEAR TO YEAR が 設定されます。 時間隔 (INTERVAL) 型値の largest_qualifier は、9 桁まで可能です。ただし FRACTION では 5 桁以内です。入力値が、そのフィールドで許容される桁数よりも大 きい場合、入力値の有効数字を明示的に識別する必要があります。例えば、999 日まで 格納できる DAY TO HOUR の時間隔 (INTERVAL) 型を定義するには、次の方法で指 定します。 INTERVAL DAY(3) TO HOUR 時間隔 (INTERVAL) 型リテラルは、日時 (DATETIME) 型リテラルと同じ区切り記号を 使用します。ただし、同じ時間隔 (INTERVAL) 型値内では無効である MONTH と DAY の時間単位を除きます。表 9 は、時間隔 (INTERVAL) 型区切り記号を示してい ます。 表 9. 時間隔 (INTERVAL) 型区切り記号 102 区切り記号 時間隔 (INTERVAL) 型リテラルの位置 ハイフン (-) YEAR と MONTH 値の間 空白 DAY と HOUR 値の間 コロン (:) HOUR、MINUTE、および SECOND 値の間 小数点 SECOND と FRACTION 値の間 IBM Informix SQL ガイド: 参照 時間隔 (INTERVAL) 型値を文字列としても入力できます。文字列は、列のデータ型定 義に指定された時間単位と同じ情報を含む必要があります。次の例の INSERT 文は、文 字列として入力される時間隔 (INTERVAL) 型値を示しています。 INSERT INTO manufact (manu_code, manu_name, lead_time) VALUES (’BRO’, ’Ball-Racquet Originals’, ’160’) 列 lead_time は INTERVAL DAY(3) TO DAY として定義されるため、この時間隔 (INTERVAL) 型値には、先行時間に必要な日数範囲のためのフィールドが 1 つ必要で す。文字列に、全フィールドの情報が含まれていない (またはフィールド追加の) 場 合、データベース サーバはエラーを戻します。文字列としての時間隔 (INTERVAL) 型 値の入力に関する補足説明は、「IBM Informix: SQL ガイド: 構文」を参照してくださ い。 デフォルトでは、year と fraction フィールドを除き、時間隔 (INTERVAL) 型列のフィ ールドはすべて 2 桁です。year フィールドは、4 桁で格納されます。fraction フィール ドには、1 ≤ n ≤ 5 である n 桁が必要で、偶数値に切り上げられます。次の式を使用す ると、時間隔 (INTERVAL) 型値のバイト数が算出できます。結果は整数値に切り上げ られます。 (全フィールドの総桁数)/2 + 1 例えば、INTERVAL YEAR TO MONTH には 6 桁 (year に 4 桁、month に 2 桁) 必 要で、(6/2) + 1 バイト (つまり 4 バイト) の記憶域が必要です。 算術と関係演算における時間隔 (INTERVAL) 型データの使用については、126 ページ の『日付 (DATE) 型値、日時 (DATETIME) 型値、および時間隔 (INTERVAL) 型値の 操作』を参照してください。定数式における時間隔 (INTERVAL) 型の使用について は、「IBM Informix: SQL ガイド: 構文」の時間隔 (INTERVAL) 型フィールド修飾子の 説明を参照してください。 LIST(e) 型 (IDS) リスト (LIST) 型は、順序付けされた、一意でない要素を格納するコレクション (COLLECTION) 型です。つまり、重複する要素の値を許容します。リスト (LIST) 型の 要素は、順序付けされています。つまり、リストは最初の要素から 2 番、3 番と、順番 になっています (順序付けのないコレクション (COLLECTION) 型については、106 ペ ージの『MULTISET(e) 型 (IDS)』と、114 ページの『SET(e) 型 (IDS)』を参照してくだ さい)。 同じ表にリスト (LIST) 型として宣言できるのは、97 列までです (同じ制限が、セット (SET) 型とマルチセット (MULTISET) 型のコレクション (COLLECTION) 型に適用され ます)。 第 2 章 データ型 103 デフォルトでは、リスト (LIST) 型要素はリストの終わりに挿入されます。リスト (LIST) 型の順序付けをサポートするために、INSERT 文は AT 節を提供します。この 節で要素値を挿入する位置を指定できます。詳しくは、「IBM Informix: SQL ガイド: 構文」の INSERT 文を参照してください。 リスト (LIST) 型の要素は、すべて同じ要素型を持っています。要素型を指定するに は、次の構文を使用します。 LIST(element_type NOT NULL) リスト (LIST) 型の element_type は、次のいずれのデータ型も可能です。 v 組込みデータ型 (シリアル (SERIAL) 型、8 バイト シリアル (SERIAL8) 型、バイト (BYTE) 型、およびテキスト (TEXT) 型は除く) v ディスティンクト (DISTINCT) 型 v 名前なしまたは名前付き行型 v その他のコレクション (COLLECTION) 型 v 不透明 (OPAQUE) 型 リスト (LIST) 型の要素には、NOT NULL 制約を指定する必要があります。リスト (LIST) 型列には、その他の制約は無効です。リスト (LIST) 型の構文の詳細について は、「IBM Informix: SQL ガイド: 構文」を参照してください。 他の任意のデータ型が有効なリスト (LIST) 型を使用できます。次に例を示します。 v SELECT 文の WHERE 節内の IN 述部の後 (一致するリスト (LIST) 型値の検索) v CARDINALITY または mi_collection_card( ) 関数への引数 (リスト (LIST) 型列内の 要素数の判別) リスト (LIST) 型値を、AVG、MAX、MIN、SUM などの集計関数への引数としては使 用できません。 同じ要素を同じ順序で持っている場合、2 つのリスト (LIST) 型値は同じです。次の例 はどちらもリスト (LIST) 型値ですが、値は同じではありません。 LIST{"blue", "green", "yellow"} LIST{"yellow", "blue", "green"} 上記が等しくないのは、値の順序が異なるためです。等しくするには、次のようにしま す。 LIST{"blue", "green", "yellow"} 104 IBM Informix SQL ガイド: 参照 LVARCHAR(m) 型 (IDS) ラージ可変長文字 (LVARCHAR) 型を使用し、上限 (m) が 32,739 バイトである可変長 文字列を格納する列を作成できます (可変長文字 (VARCHAR) 型は、255 バイトの文字 列にのみ使用できます)。 デフォルトでは、データベース サーバは引用符付きストリングをラージ可変長文字 (LVARCHAR) 型と解釈します。不透明 (OPAQUE) 型の入出力キャストにもラージ可変 長文字 (LVARCHAR) 型を使用します。 ラージ可変長文字 (LVARCHAR) 型は、文字列 (外部) 形式で不透明 (OPAQUE) 型を格 納します。不透明 (OPAQUE) 型には、それぞれ入力サポート関数およびキャストがあ り、この関数とキャストによってラージ可変長文字 (LVARCHAR) 型から、データベー ス サーバが操作できる形式に変換されます。不透明 (OPAQUE) 型はそれぞれ出力サポ ート関数とキャストもあり、これらによって内部表記からラージ可変長文字 (LVARCHAR) 型へ変換されます。 重要: (サイズ指定なしで) ラージ可変長文字 (LVARCHAR) 型がデータベース表の列の データ型として宣言される場合、デフォルトの最大サイズは 2KB (2048 バイト) ですが、32,739 バイトまでの明示的な最大長を指定できます。ただし、ラージ可 変長文字 (LVARCHAR) 型が不透明 (OPAQUE) 型の入出力操作に使用される場 合、最大サイズはオペレーティング システムによってのみ制限されます。 ラージ可変長文字 (LVARCHAR) 型は、組込み不透明 UDT として実装されます。文字 (CHAR) 型と可変長文字 (VARCHAR) 型値の文字列操作のサブセットのみラージ可変長 文字 (LVARCHAR) 型に有効で、他の不透明 (OPAQUE) 型であるリモート表内のラー ジ可変長文字 (LVARCHAR) 型列などは、分散問合せにアクセスできません。ラージ可 変長文字 (LVARCHAR) 型の詳細については、「IBM Informix: ユーザ定義ルーチンお よびデータ タイプ 開発者ガイド」を参照してください。 MONEY(p,s) 型 金額 (MONEY) 型は通貨額を格納します。DECIMAL(p,s) 型のように、金額 (MONEY) 型は最大 32 桁までの有効数字である固定小数点数を格納します。p は有効数字の合計 桁数 (精度) で、s は小数点以下の桁数です。 10 進数 (DECIMAL) 型とは異なり、金額 (MONEY) 型は常に固定小数点数として扱わ れます。データベース サーバは、MONEY(p) 型を DECIMAL(p,2) 型として定義しま す。精度と小数点以下桁数を指定しない場合、金額 (MONEY) 型列は DECIMAL(16,2) として定義されます。 次の公式を使用すると、金額 (MONEY) 型データの格納に必要なバイト数を算出できま す。結果は整数値に切り上げられます。 If the scale is odd: N = (precision + 4) / 2 If the scale is even: N = (precision + 3) / 2 第 2 章 データ型 105 例えば、金額 (MONEY) 型の精度が 16 桁で小数点以下桁数が 2 桁 (MONEY(16,2) 型) の場合、(16 + 3)/2、つまり 10 バイトの記憶域が必要です。 デフォルト ロケールでは、クライアント アプリケーションは金額 (MONEY) 型列から 次の通貨表記で値を設定します。 v 通貨記号として、値の前にドル記号 ($) を付けます v 3 桁区切り記号として、整数部の値の 3 桁ごとにコンマ (,) で区切ります v 小数点として、値の整数部と小数部の間にピリオド (.) を使用します 形式を金額 (MONEY) 型値へ変更するには、DBMONEY 環境変数を変更してくださ い。有効な DBMONEY 設定については、173 ページの『DBMONEY』 を参照してく ださい。 小数点以下桁数に使用されるデフォルト値は、ロケールに依存します。デフォルトのロ ケールでは、デフォルトの小数点以下桁数を 2 と指定しています。デフォルト以外のロ ケールでは、小数点以下桁数を宣言から省略すると、データベース サーバは金額 (MONEY) 型値をロケール固有の小数点以下桁数で作成します。 クライアント アプリケーションが使用する金額表記は、ロケールに依存します。デフォ ルト以外のロケールを指定すると、文化的差異に基づいた形式の金額 (MONEY) 型値を 使用します。この形式は、先頭 (または末尾)の通貨記号、3 桁区切り記号、小数点が米 国英語 (U.S. English) 形式とは異なる場合があり、ロケール ファイルの指定に依存しま す。ロケール依存の詳細については、「IBM Informix: GLS ユーザーズ ガイド」を参照 してください。 MULTISET(e) 型 (IDS) マルチセット (MULTISET) 型は、順序付けされないセットを格納するコレクション (COLLECTION) 型で、重複する要素の値を含めることができます。マルチセット (MULTISET) 型の要素は、順序付けされません。つまり、マルチセット (MULTISET) 型の 1 番目の要素、2 番目の要素、3 番目の要素といった概念はありません。要素が順 序付けされるコレクション (COLLECTION) 型については、103 ページのリスト (LIST) 型を参照してください。 マルチセット (MULTISET) 型の要素は、すべて同じ要素タイプを持っています。要素 型を指定するには、次の構文を使用します。 MULTISET(element_type NOT NULL) コレクションの element_type は、次にいずれの型も可能です。 v シリアル (SERIAL) 型、8 バイト シリアル (SERIAL8) 型、バイト (BYTE) 型、お よびテキスト (TEXT) 型を除く、任意の組込みデータ型 v 名前なし、または名前付き行型 v 他のコレクション (COLLECTION) 型または不透明 (OPAQUE) 型 106 IBM Informix SQL ガイド: 参照 別途定めがない限り、マルチセット (MULTISET) 型は、データ型が使用されるあらゆ る場面で使用できます。次に例を示します。 v SELECT 文の WHERE 節の IN 述部の後 (一致するマルチセット (MULTISET) 型値 の検索) v CARDINALITY または mi_collection_card( ) 関数への引数 (マルチセット (MULTISET) 型列内の要素数の判別) マルチセット (MULTISET) 型値を、AVG、MAX、MIN、SUM などの集計関数への引 数としては使用できません。 マルチセット (MULTISET) 型の要素には、NOT NULL 制約を指定する必要がありま す。マルチセット (MULTISET) 型列には、その他の制約は無効です。マルチセット (MULTISET) 型のコレクション (COLLECTION) 型の詳細については、「IBM Informix: SQL ガイド: 構文」を参照してください。 セットの中で異なる場所にあっても、同じ要素を持っている場合、2 つのマルチセット (MULTISET) 型値は等しくなります。次の例はいずれもマルチセット (MULTISET) 型 値ですが、等しくありません。 MULTISET {"blue", "green", "yellow"} MULTISET {"blue", "green", "yellow", "blue"} 次のマルチセット (MULTISET) 型値は等しくなります。 MULTISET {"blue", "green", "blue", "yellow"} MULTISET {"blue", "green", "yellow", "blue"} マルチセット (MULTISET) 型として、同じ表に宣言できるのは、97 列までです (同じ 制限が、セット (SET) 型とリスト (LIST) 型のコレクション (COLLECTION) 型に適用 されます)。 名前付き行型 109 ページの『名前付き行型 (IDS)』を参照してください。 NCHAR(n) 型 各国語文字 (NCHAR) 型は、固定長文字データを格納します。データは、データベース ロケールのコード セットでサポートされるシングルバイト文字やマルチバイト文字の文 字列、数字、および他の記号が可能です。文字 (CHAR) 型と各国語文字 (NCHAR) 型 の主な違いは、照合順序です。 文字 (CHAR) 型の照合順序はコード セット順ですが、DB_LOCALE (または SET COLLATION) がローカライズ照合を指定している場合、各国語文字 (NCHAR) 型の照 合順序はローカライズ順も可能です。各国語文字 (NCHAR) 型の詳細については、174 ページの『DBNLS (IDS)』の説明を参照してください。 第 2 章 データ型 107 NUMERIC(p,s) 型 数値データ型は、固定小数点 10 進数 (DECIMAL) 型のシノニムです。 NVARCHAR(m,r) 型 各国語可変長文字 (NVARCHAR) 型は、可変長文字列を格納します。文字列には、数 字、記号、シングルバイト文字やマルチバイト文字 (一部のロケール) を含めることが できます。可変長文字 (VARCHAR) 型と各国語可変長文字 (NVARCHAR) 型の主な違 いは、照合順序です。可変長文字 (VARCHAR) 型データの照合はコード セット順です が、DB_LOCALE (または SET COLLATION) がローカライズ照合を指定した場合、各 国語可変長文字 (NVARCHAR) 型ではロケール固有の照合が可能です (119 ページの 『可変長文字 (VARCHAR) 型値の照合』セクションでは例外について説明していま す)。 括弧または引数パラメータなしで各国語可変長文字 (NVARCHAR) 型として宣言された 列は、最大サイズが 1 バイトで、予約済みのサイズが 0 になります。 同じ表で許容される各国語可変長文字 (NVARCHAR) 型列は、195 列までです。 不透明 (OPAQUE) 型 (IDS) 不透明 (OPAQUE) 型は、次の情報をデータベース サーバに提供する必要があるデータ 型です。 v ディスクにデータ値を格納する方法を決定するデータ構造 v データ入力と表示のための、ディスク記憶装置形式とユーザ形式間の変換方法を決定 するサポート関数 v このデータ型のインデックスを作成、使用、操作する方法を決定する副アクセス方法 v このデータ型を使用するユーザ関数 v データベースに不透明 (OPAQUE) 型を登録するためのシステム カタログ記入項目 データベース サーバは、不透明 (OPAQUE) 型の内部構造を参照できません。ユーザ定 義ルーチンを介してのみアクセスできます。不透明 (OPAQUE) 型はシステム カタログ 表 sysxtdtypes に格納されます。以下の SQL 文は、データベース内の不透明 (OPAQUE) 型の定義を管理します。 v CREATE OPAQUE TYPE 文は、データベースに新規の不透明 (OPAQUE) 型を登録 します。 v DROP TYPE 文は、データベースから定義済みの不透明 (OPAQUE) 型を除去しま す。 上述の SQL 文の詳細については、「IBM Informix: SQL ガイド: 構文」を参照してくだ さい。不透明 (OPAQUE) 型の作成方法と例については、「IBM Informix: ユーザ定義ル ーチンおよびデータ タイプ 開発者ガイド」を参照してください。 108 IBM Informix SQL ガイド: 参照 小桁実数 (REAL) 型 小桁実数 (REAL) 型は、小桁実数 (SMALLFLOAT) 型のシノニムです。 名前付き行型 (IDS) 名前付き行型は、名前で宣言されます。識別子はスキーマ内で一意である必要がありま す。名前なし行型は、フィールドは含みますがユーザ定義名は持たない行 (ROW) 型で す。名前付き行型のみデータ型継承をサポートします。詳しくは、132 ページの『行 (ROW) 型』を参照してください。 名前付き行型の定義 SQL の CREATE ROW TYPE 文を使用して、新規の名前付き行型を宣言し、データベ ースに登録する必要があります。名前付き行型の定義は、システム カタログ表 sysxtdtypes に格納されます。 行 (ROW) 型のフィールドは、任意の組込みデータ型または UDT が可能ですが、行 (ROW) 型のテキスト (TEXT) 型またはバイト (BYTE) 型フィールドが型付き表でのみ 有効です。列に行 (ROW) 型を設定する場合、その要素にはテキスト (TEXT) 型または バイト (BYTE) 型を指定できません。 一般に、行 (ROW) 型のフィールドのデータ型は、次のいずれのデータ型でも構いませ ん。 v 組込みデータ型 (テキスト (TEXT) 型またはバイト (BYTE) 型は除く) v コレクション (COLLECTION) 型 (リスト (LIST) 型、マルチセット (MULTISET) 型、またはセット (SET) 型) v ディスティンクト (DISTINCT) 型 v その他の名前付き、または名前なし行型 v 不透明 (OPAQUE) 型 以下の SQL 文は、名前付き行型の定義を管理します。 v CREATE ROW TYPE 文は、名前付き行型をデータベースに追加します。 v DROP ROW TYPE 文は、定義済みの名前付き行型をデータベースから除去します。 同じ表で許容される名前付き行型列は、195 列までです。 これらの SQL 構文の詳細については、「IBM Informix: SQL ガイド: 構文」を参照して ください。名前付き行型の作成と使用方法の例については、「IBM Informix: データベー ス設計および実装 ガイド」を参照してください。 第 2 章 データ型 109 等価性と名前付き行型 2 つの行 (ROW) 型が同じ構造を持っていても、名前が異なる場合、等しくありませ ん。例えば、次の名前付き行型は同じ構造 (同数のフィールドで、行の中のフィールド のデータ型順も同じ) を持っていますが、等しくありません。 name_t (lname CHAR(15), initial CHAR(1), fname CHAR(15)) emp_t (lname CHAR(15), initial CHAR(1), fname CHAR(15)) 名前付き行型と継承 名前付き行型は、型継承階層に属している場合があります。つまり、ある名前付き行 (ROW) 型が、他の名前付き行型の親 (上位型) である場合があります。階層内の副型は 上位型のプロパティをすべて継承します。型継承は、「IBM Informix: SQL ガイド: 構 文」と「IBM Informix: データベース設計および実装 ガイド」の CREATE ROW TYPE 文で説明しています。 型付き表 継承階層に属する表は、型付き表である必要があります。型付き表は、行 (ROW) 型が 設定されている表です。型付き表の作成に使用する構文については、「IBM Informix: SQL ガイド: 構文」の表 CREATE TABLE を参照してください。表継承、および表継 承と型継承の関係についても同じ箇所で説明しています。型付き表の作成と使用方法に ついては、「IBM Informix: データベース設計および実装 ガイド」を参照してくださ い。 名前なし行型 (IDS) 名前なし行型はフィールドを含みますが、ユーザ定義名は持っていません。名前なし行 型は、構造によって定義されます。同じ構造 (フィールドのデータ型の番号付きリスト) を持っている場合、2 つの行 (ROW) 型は等しくなります。2 つの名前なし行型があ り、フィールド数が等しく、一方の行 (ROW) 型の各フィールドのデータ型の順序が、 他方の行 (ROW) 型の対応するフィールドのデータ型の順序と同じである場合、この 2 つの名前なし行型は等しくなります。 例えば、次の名前なし行型は等しくなります。 ROW (lname char(15), initial char(1) fname char(15)) ROW (dept char(15), rating char(1) name char(15)) 次の行 (ROW) 型は、フィールド数とデータ型が同じですが、フィールドの順序が同じ ではないため、等しくありません。 ROW (x integer, y varchar(20), z real) ROW (x integer, z real, y varchar(20)) 名前なし行型は、次のいずれかのデータ型です。 v 組込みデータ型 v コレクション (COLLECTION) 型 110 IBM Informix SQL ガイド: 参照 v ディスティンクト (DISTINCT) 型 v その他の行 (ROW) 型 v 不透明 (OPAQUE) 型 名前なし行型は、型付き表または継承階層では使用できません。名前なし行型の詳細に ついては、「IBM Informix: SQL ガイド: 構文」と「IBM Informix: データベース設計お よび実装 ガイド」を参照してください。 名前なし行型の作成 次のような方法で、名前なし行型を作成できます。 v ROW キーワードを使用して、名前なし行型を宣言できます。行 (ROW) 型における 各フィールドは、それぞれ別のフィールド型を保持できます。フィールド型を指定す るには、次の構文を使用します。 ROW(field_name field_type, ...) field_name は、SQL 識別子の規則に準拠している必要があります (「IBM Informix: SQL ガイド: 構文」の識別子に関する説明を参照してください)。 v 名前なし行型を生成するには、値の系列のコンストラクタとして ROW キーワードを 使用してください。指定した値のデフォルトのデータ型を使用して、対応する名前な し行型が作成します。 次に宣言の例を示します。 ROW(1, ’abc’, 5.30) 上の宣言は、次の行 (ROW) 型を定義します。 ROW (x INTEGER, y VARCHAR, z DECIMAL) v 名前付き行型、またはその他の名前なし行型からの暗黙的キャストや明示的キャスト により、名前なし行型を作成できます。 v 名前付き行型が定義された表を除き、表の行は名前なし行型です。 同じ表で許容される名前なし行型列は、195 列までです。 名前なし行型列への値の挿入 名前なし行型のフィールド値を指定する場合、コンストラクタの後と括弧内にフィール ド値を挿入します。例えば、名前なし行型列があるとします。次の INSERT 文は、フィ ールドの 1 つのグループをこの行 (ROW) 型列に追加します。 INSERT INTO table1 VALUES (ROW(4, ’abc’)) SELECT 文の WHERE 節の IN 述部の行 (ROW) 型列を指定して、一致する行 (ROW) 型値を検索できます。詳しくは、「IBM Informix: SQL ガイド: 構文」の条件に関する 説明を参照してください。 第 2 章 データ型 111 SERIAL(n) 型 シリアル (SERIAL) 型は、新規の行の挿入時にデータベース サーバが自動的に割り振 る順次整数を、8 バイト整数 (INT8) 型の正の範囲に格納します。1 つの表にはただ 1 つのシリアル (SERIAL) 型列しか置けませんが、1 つのシリアル (SERIAL) 型列と 1 つの 8 バイト シリアル (SERIAL8) 型列を置くことができます。 列のシリアル (SERIAL) 型値は自動的に一意にはなりません。シリアル番号の重複を避 けるために、この列に一意性インデックスか、主キー制約を適用する必要があります。 DB–Access で対話型スキーマ エディタを使用し、表を定義する場合、一意性インデッ クスがシリアル (SERIAL) 型列に自動的に適用されます。 シリアル番号は、同時ユーザ、ロールバック、およびその他の要因によって連続してい ないことがあります。 SPL の間接的な型指定の DEFINE 変数 LIKE 列 構文は、列 がシリアル (SERIAL) 型 である場合、整数 (INTEGER) 型の変数を宣言します。 デフォルトのシリアル開始番号は 1 ですが、表の作成時または変更時にはデフォルト以 外の初期値 (n) が割り当てられます。開始番号は、ゼロより大きい任意の数値が可能で す。SERIAL の最大値は 2,147,483,647 です。2,147,483,647 より大きい数字を割り当て ると、構文エラーになります (より広い範囲が必要な場合、シリアル (SERIAL) 型では なく、8 バイト シリアル (SERIAL8) 型を使用してください)。 非ゼロの値が割り当てられると、その値を変更できません。新規の値が列の既存値と重 複していなければ、INSERT 文を使用してシリアル (SERIAL) 型列へ値を挿入、または ALTER TABLE 文を使用してシリアル (SERIAL) 型列をリセットできます。シリアル (SERIAL) 型列への挿入において、データベース サーバは前の値 (初期値の方が大きい 場合は初期値) を 1 インクリメントし、結果を入力値として割り当てます。ただし、 ALTER TABLE がシリアル (SERIAL) 型列の次の値を、既存の値より小さい値にリセ ットした場合、その次の値は以下の式に従います。 (maximum existing value in SERIAL column) + 1 例えば既存の最大値が 128 で、customer.customer_num のシリアル値を 50 にリセッ トした場合、割り振られる次の値は 129 です。シリアル (SERIAL) 型データ入力の詳 細については、「IBM Informix: SQL ガイド: 構文」を参照してください。 シリアル (SERIAL) 型列は、固有のコードを格納できます (受注番号、請求書番号、顧 客番号など)。シリアル (SERIAL) 型データ値には 4 バイトの記憶域が必要で、整数 (INTEGER) 型と同じ精度を持ちます。データベース表の各行に固有の整数を割り当てる 他の方法の詳細については、「IBM Informix: SQL ガイド: 構文」の CREATE SEQUENCE 文を参照してください。 112 IBM Informix SQL ガイド: 参照 SERIAL8(n) 型 8 バイト シリアル (SERIAL8) 型は、新規の行の挿入時にデータベース サーバが自動 的に割り振る順次整数を、8 バイト整数 (INT8) 型の正の範囲に格納します。シリアル (SERIAL) データ型のように動作しますが、より大きい範囲を持ちます (8 バイト シリ アル (SERIAL8) 型列への値の挿入方法の詳細については、「IBM Informix: SQL ガイド : 構文」を参照してください)。 8 バイト シリアル (SERIAL8) 型列は、通常、一意かつ大きい数値 (受注番号、請求番 号、顧客番号など) の格納に使用されます。8 バイト シリアル (SERIAL8) 型値は、8 バイト整数 (INT8) 型値と同じ精度およびストレージ要件を持ちます (100 ページ)。次 の制約事項は、8 バイト シリアル (SERIAL8) 型列に適用されます。 v 表に 8 バイト シリアル (SERIAL8) 型列を 1 つ定義できます。 ただし、1 つの表には 8 バイト シリアル (SERIAL8) 型とシリアル (SERIAL) 型列 が 1 つずつ存在できます。 v 8 バイト シリアル (SERIAL8) 型列の値は、自動的に一意にはなりません。 8 バイト シリアル (SERIAL8) 型番号の重複を避けるために、この列に一意性インデ ックスか、主キー制約を適用する必要があります。 v 8 バイト シリアル (SERIAL8) 型で、負数、0、または NULL 値は許容されません。 SPL の間接的な型指定の DEFINE 変数 LIKE 列 構文は、列 が 8 バイト シリアル (SERIAL8) 型の場合、8 バイト整数 (INT8) 型の変数を宣言します。 8 バイト シリアル (SERIAL8) 型の開始値の割当て デフォルトの開始番号は 1 ですが、表の作成時または変更時には初期値 n を指定でき ます。ある表の 8 バイト シリアル (SERIAL8) 型列の値を 1 から開始するには、表に 行を挿入する際に 8 バイト シリアル (SERIAL8) 型列の値を 0 にしてください。これ によりデータベース サーバは、値 1 を表の最初の行の 8 バイト シリアル (SERIAL8) 型列に割り当てます。割り当てられる 8 バイト シリアル (SERIAL8) 型数の最大値 は、263-1 (9,223,372,036,854,775,807) です。この値より大きい数字を割り当てると、構 文エラーになります。最大番号である 8 バイト シリアル (SERIAL8) 型値が生成され ると、データベース サーバによってラップアラウンドされ、再び 1 から生成が開始さ れます。 非ゼロの 8 バイト シリアル (SERIAL8) 型値が割り当てられると、その値を変更でき ません。ただし、新規の値が列の既存値と重複していなければ、INSERT 文を使用して 8 バイト シリアル (SERIAL8) 型列に値を挿入、または ALTER TABLE 文を使用して 8 バイト シリアル (SERIAL8) 型値 n をリセットできます。 8 バイト シリアル (SERIAL8) 型列へ数字を挿入、または 8 バイト シリアル (SERIAL8) 型列の次の値をリセットする場合、入力した数字に続く番号がデータベース サーバによって割り当てられていきます。ただし、8 バイト シリアル (SERIAL8) 型列 第 2 章 データ型 113 に、今まで存在している値よりも小さい値を再設定すると、その番号に続く値は、次の 式を用いてデータベース サーバにより算出されます。 maximum existing value in SERIAL8 column + 1 例えば、割り振られた顧客番号の最大値が 128 の場合、表 customer の中の列 customer_num の 8 バイト シリアル (SERIAL8) 型値を 50 にリセットすると、次に割 り振られる顧客番号は 129 になります。 8 バイト シリアル (SERIAL8) 型と 8 バイト整数 (INT8) 型の使用 8 バイト整数 (INT8) 型 に有効な算術演算子 (+、-、*、/ など) と、8 バイト整数 (INT8) 型に有効な SQL 関数 (ABS、MOD、POW など) はすべて、8 バイト シリアル (SERIAL8) 型値にも有効です。8 バイト整数 (INT8) 型に適用するデータ変換ルール は、8 バイト シリアル (SERIAL8) 型にも適用しますが、8 バイト シリアル (SERIAL8) 型の NOT NULL 制約も適用されます。 1 つの表の 8 バイト シリアル (SERIAL8) 型列の値は、他の表の 8 バイト整数 (INT8) 型列に格納できます。ただし、その 2 つ目の表では、8 バイト整数 (INT8) 型値は元の 8 バイト シリアル (SERIAL8) 型列の制約の対象ではありません。 SET(e) 型 (IDS) セット (SET) 型は、固有の要素を格納するコレクション (COLLECTION) 型です。重複 する要素の値は無効です (重複値をサポートするコレクション (COLLECTION) 型につ いては、106 ページの『MULTISET(e) 型 (IDS)』のマルチセット (MULTISET) 型を参 照してください)。 同じ表にセット (SET) 型として宣言できるのは、97 列までです (同じ制限がマルチセ ット (MULTISET) 型とリスト (LIST) 型のコレクション (COLLECTION) 型に適用され ます)。 セット (SET) 型の要素は、順序付けされません。つまり、セット (SET) 型には 1 番目 の要素、2 番目の要素、3 番目の要素という構造がありません (要素が順序付けされる コレクション (COLLECTION) 型については、103 ページの『LIST(e) 型 (IDS)』を参照 してください)。セット (SET) 型の要素には、同じ要素型がすべて含まれます。要素型 を指定するには、次の構文を使用します。 SET(element_type NOT NULL) コレクションの element_type は、次にいずれの型も可能です。 v 組込みデータ型 (シリアル (SERIAL) 型、8 バイト シリアル (SERIAL8) 型、バイト (BYTE) 型、およびテキスト (TEXT) 型は除く) v 名前付き、または名前なし行型 v その他のコレクション (COLLECTION) 型 v 不透明 (OPAQUE) 型 114 IBM Informix SQL ガイド: 参照 セット (SET) 型要素の NOT NULL 制約を指定する必要があります。セット (SET) 型 列には、その他の制約は無効です。セット (SET) 型のコレクション (COLLECTION) 型 の構文の詳細については、「IBM Informix: SQL ガイド: 構文」を参照してください。 別途定めがない限り、セット (SET) 型は、データ型を使用するあらゆる場面で使用でき ます。次に例を示します。 v SELECT 文の WHERE 節の IN 述部の後 (一致するセット (SET) 型値の検索) v CARDINALITY または mi_collection_card( ) 関数への引数 (セット (SET) 型列内の 要素数の判別) セット (SET) 型値は、AVG、MAX、MIN、SUM などの集計関数への引数としては無効 です。詳しくは、「IBM Informix: SQL ガイド: 構文」の条件および式に関する説明を 参照してください。 次の例では、2 種類のセット (SET) 型を宣言しています。最初の文は整数のセット (SET) 型、2 番目の例は文字要素のセット (SET) 型を宣言するものです。 SET(INTEGER NOT NULL) SET(CHAR(20) NOT NULL) 次の例は値リストから同じセット (SET) 型を作成します。 SET{1, 5, 13} SET{"Oakland", "Menlo Park", "Portland", "Lenexa"} 次の例では、セット (SET) 型コンストラクタ関数は、CREATE TABLE 文の一部です。 CREATE TABLE tab ( c CHAR(5), s SET(INTEGER NOT NULL) ); 次のセット (SET) 型値は等しくなります。 SET{"blue", "green", "yellow"} SET{"yellow", "blue", "green"} 小桁実数 (SMALLFLOAT) 型 小桁実数 (SMALLFLOAT) 型は、ほぼ 9 桁の有効数字の単精度浮動小数点数を格納し ます。小桁実数 (SMALLFLOAT) 型は、実数 (FLOAT) 型に対応します。小桁実数 (SMALLFLOAT) 型の値の範囲は、ご使用のコンピュータにおける実数 (FLOAT) 型と 同じ範囲です。 小桁実数 (SMALLFLOAT) 型列には、通常、近似値しか計算できない科学技術分野の数 値を格納します。浮動小数点数は最上位の数桁のみを保持するため、小桁実数型で定義 第 2 章 データ型 115 された列に入力した数値と、データベース サーバが表示する数値が異なる場合がありま す。誤差が生じるかどうかは、使用しているマシン内部での浮動小数点数の処理方法に 依存します。 例えば、小桁実数 (SMALLFLOAT) 型フィールドに 1.1000001 という値を入力し、SQL 文で処理した結果、画面に 1.1 と表示される場合があります。このようなことは、ある 値が浮動小数点数が格納できる桁数よりも大きい桁数を持つ時に発生します。この場 合、最下位からの何桁かをゼロにした近似値が格納されます。 小桁実数 (SMALLFLOAT) 型は、通常 4 バイトの記憶域を必要とします。小桁実数 (SMALLFLOAT) 型値の 10 進数 (DECIMAL) 型値への変換は、9 桁の精度になりま す。 小桁整数 (SMALLINT) 型 小桁整数 (SMALLINT) 型は、-32,767 から 32,767 までの小さい整数を格納します。最 大の負の数値 -32,768 は予約値で、使用できません。小桁整数 (SMALLINT) 型値は、 符号付き 2 進整数として格納されます。 整数型の列には通常、カウンタ、数量などのデータが格納されます。小桁整数 (SMALLINT) 型は、1 つの値に対し 2 バイトしか必要としないため、算術計算が効率 よく実行できます。ただし、小桁整数 (SMALLINT) 型は、他の組込み数値データ型に 比べ、限られた範囲の値しか格納できません。最小または最大の小桁整数 (SMALLINT) 型値を超える数値の場合、データベース サーバはそのデータ値を格納せず、エラー メ ッセージを発行します。 テキスト (TEXT) 型 テキスト (TEXT) 型は、任意のテキスト データを格納します。ロケールがサポートす るシングルバイト文字とマルチバイト文字の両方を含めることができます。シンプル ラ ージ オブジェクト は、テキスト (TEXT) 型とバイト (BYTE) 型を参照します。 テキスト (TEXT) 型列の理論上の最大サイズは 231 バイト (2GB) ですが、実際には、 使用できるディスク記憶装置に依存します。 重要: 副問合せからテキスト (TEXT) 型列を戻そうとした場合、テキスト (TEXT) 型列 が比較条件や IN 述部で使用されていなくても、エラーになります。 同じ表で宣言できるテキスト (TEXT) 型列は、195 列までです (同じ制限がバイト (BYTE) 型にも適用されます)。 テキスト (TEXT) 型列の値を、格納、抽出、更新、および削除できます。ただし、テキ スト (TEXT) 型オペランドを算術計算や文字列式には使用できず、UPDATE 文の SET 節のテキスト (TEXT) 型列にリテラルを割り当てることもできません。次のいずれにお いても、テキスト (TEXT) 型値を使用できません。 116 IBM Informix SQL ガイド: 参照 v 集計関数 v IN 節 v MATCHES または LIKE 節 v GROUP BY 節 v ORDER BY 節 IS NULL または IS NOT NULL 演算子で NULL 値をテストしている場合のみ、ブー ル (BOOLEAN) 式でテキスト (TEXT) 型オペランドを使用できます。 次の方法で、データをテキスト (TEXT) 型列に挿入できます。 v dbload または onload ユーティリティを使用 v LOAD 文 を使用 (DB–Access) v TEXT ホスト変数から実行 (ESQL) テキスト (TEXT) 型列の挿入や更新に、引用符付きテキスト ストリング、数値など実 際の値を使用することはできません。 テキスト (TEXT) 型列を選択する場合、列全体または列の一部分を選択できます。列全 体を抽出するには、列を選択する通常の構文を使用します。テキスト (TEXT) 型列の一 部分を選択する場合は、次の例のようにサブスクリプトを使用します。 SELECT cat_descr [1,75] FROM catalog WHERE catalog_num = 10001 この文は、catalog_num が 10001 である列 cat_descr の先頭から 75 バイト分を読み込 んでいます。 組込みキャストは、テキスト (TEXT) 型オブジェクトを CLOB 型オブジェクトに変換 させるためのものです。詳しくは、「IBM Informix: データベース設計および実装 ガイ ド」を参照してください。 テキスト (TEXT) 型の文字列は、コード セット順で照合されます。照合順序の詳細に ついては、「IBM Informix: GLS ユーザーズ ガイド」を参照してください。 出力不可能文字とテキスト (TEXT) 型 一般に、テキスト (TEXT) 型列はドキュメント、プログラムのソース ファイルなどを 格納します。デフォルトの米国英語 (U.S. English) ロケールでは、テキスト (TEXT) 型 のデータ オブジェクトは、ASCII 文字と以下の制御文字の組合せが可能です。 v タブ (CTRL-I) v 改行 (CTRL-J) v 改ページ (CTRL-L) 出力可能文字も不可能文字も、テキスト (TEXT) 型列に挿入できます。IBM Informix 製品は、テキスト (TEXT) 型の列に挿入されたデータ値のチェックは行いません (ただ 第 2 章 データ型 117 し、アプリケーションによっては、出力不可能文字を含むテキスト (TEXT) 型値を表示 できない場合があります)。出力不可能文字の入力と表示についての詳細は、90 ページ の『文字 (CHAR) 型の出力不可能文字』を参照してください。 名前なし行型 110 ページの『名前なし行型 (IDS)』を参照してください。 VARCHAR(m,r) 型 可変長文字 (VARCHAR) 型は、シングルバイトおよびマルチバイト文字 (ロケールがサ ポートしている場合) を含む可変長文字列を格納し、m は列の最大サイズ (バイト)、r はその列に対して予約された最小バイト数を表します。括弧または引数パラメータなし で可変長文字 (VARCHAR) 型として宣言された列は、最大サイズが 1 バイトで、予約 済みのサイズが 0 になります。 可変長文字 (VARCHAR) 型は、Informix 可変長文字 (CHARACTER VARYING) 型の Informix インプリメンテーションです。可変長文字列の ANSI 標準データ型は、可変長 文字 (CHARACTER VARYING) 型です。 可変長文字 (VARCHAR) 型列の最大サイズ ( m) パラメータのサイズは、1 から 255 バイトまでの範囲で指定できます。可変長文字 (VARCHAR) 型列にインデックスを付け る場合、最大サイズに指定できる値は 1 から 254 になります。指定した m の値より 短い文字列は格納できますが、それより長い文字列は格納できません。 最小予約領域 (r) パラメータの指定はオプションです。この値は 0 から 255 バイトの 範囲が可能ですが、可変長文字 (VARCHAR) 型列の最大サイズ (m) より小さい必要が あります。最小値を指定しないと、デフォルト値にゼロが設定されます。行の挿入時の 列の初期値が短い文字列や NULL であっても、後に行を更新する際、長い文字列を格 納する可能性がある場合、このパラメータを指定します。 255 バイトより長い可変長文字列では、可変長文字 (VARCHAR) 型ではなく、ラージ可 変長文字 (LVARCHAR) 型を使用します。この型の上限は 32,739 バイトです。ただ し、ラージ可変長文字 (LVARCHAR) 型は組込み不透明 (OPAQUE) 型として実装され るため、リモート表の分散問合せではラージ可変長文字 (LVARCHAR) 型列にアクセス できません。 可変長文字 (VARCHAR) 型列 (または各国語可変長 (NVARCHAR) 型列) を基にしたイ ンデックスでは、各インデックス キーは、宣言された列の最大サイズではなく、実際に 入力されたデータ値に基づく長さになります (ただし、Dynamic Server が送受信する可 変長文字 (VARCHAR) 型および各国語可変長 (NVARCHAR) 型データ ストリングの有 効なサイズの構成方法については、 195 ページの『IFX_PAD_VARCHAR (IDS)』を参照 してください)。 118 IBM Informix SQL ガイド: 参照 可変長文字 (VARCHAR) 型列に文字列を格納する場合、実データ文字のみ格納されま す。データベース サーバは、ユーザが入力した後続の空白文字の可変長文字 (VARCHAR) 型の文字列をストリップしません。また、可変長文字 (VARCHAR) 型値 を、宣言された列の長さにパッドしません。予約済み領域 (r) を指定し、一部のデータ ストリングが r バイトより短い場合、一部の行のための予約済み領域が未使用になりま す。 文字 (CHAR) 型値の場合と同様の方法で、可変長文字 (VARCHAR) 型値は他の可変長 文字 (VARCHAR) 型値と比較されます。短い値の方は、長さがもう一方と等しくなるま で右側に空白がパッドされます。その後、全体の長さの比較が行われます。 同じ表で許容される可変長文字 (VARCHAR) 型列は、195 列までです。 出力不可能文字と可変長文字 (VARCHAR) 型 出力不可能可変長文字 (VARCHAR) 型文字は、文字 (CHAR) 型値の場合と同様の方法 で入力、表示、および取り扱われます。詳しくは、90 ページの『文字 (CHAR) 型の出 力不可能文字』のセクションを参照してください。 可変長文字 (VARCHAR) 型列への数値の格納 可変長文字 (VARCHAR) 型の列に数値を挿入する場合、格納する値に対して、その列の 最大長まで後書きの空白がパッドされることはありません。可変長文字 (VARCHAR) 型 値の桁数は、その値を格納するのに必要となる文字数になります。次の例では、表 mytab に格納される数値は 1 です。 create table mytab (col1 varchar(10)); insert into mytab values (1); ヒント: 可変長文字 (VARCHAR) 型は、C NULL (バイナリ 0) と文字列終端記号を 出 力不可能文字の終端文字として使用します。 可変長文字 (VARCHAR) 型のマルチバイト文字 一部の東アジア ロケールでは、データベース ロケールがマルチバイト コード セット をサポートしている場合、可変長文字 (VARCHAR) 型はマルチバイト文字を格納できま す。マルチバイト文字を格納する場合は、必要なバイト数を算出してください。詳しく は、「IBM Informix: GLS ユーザーズ ガイド」を参照してください。 可変長文字 (VARCHAR) 型値の照合 各国語可変長 (NVARCHAR) 型と可変長文字 (VARCHAR) 型の主な違いは、(文字 (CHAR) 型と各国語文字 (NCHAR) 型の違いと同様に) 照合順序の違いです。一般に、 可変長文字 (VARCHAR) 型値の照合は (文字 (CHAR) 型とラージ可変長文字 (LVARCHAR) 型と同様に)、コード セットで表示される文字順です。 MATCHES 演算子は例外です。これは、DB_LOCALE (または SET COLLATION) がロ ーカライズ順の照合を指定した場合に大括弧 ([ ]) で範囲を指定すると、ローカライズ 第 2 章 データ型 119 照合を各国語可変長文字 (NVARCHAR) 型と 可変長文字 (VARCHAR) 型の値に (文字 (CHAR) 型、ラージ可変長文字 (LVARCHAR) 型、および各国語文字 (NCHAR) 型値と 同様に) 適用します。詳しくは、「IBM Informix: GLS ユーザーズ ガイド」を参照して ください。 組込みデータ型 Informix データベース サーバでは、次の組込みデータ型をサポートしています。 カテゴリ データ型 文字型 文字 (CHAR) 型、可変長文字 (CHARACTER VARYING) 型、ラージ可変長文字 (LVARCHAR) 型、各国語文字 (NCHAR) 型、各国語可変長文字 (NVARCHAR) 型、可変長文字 (VARCHAR) 型 数値型 10 進数 (DECIMAL) 型、実数 (FLOAT) 型、8 バイ ト整数 (INT8) 型、整数 (INTEGER) 型、金額 (MONEY) 型、シリアル (SERIAL) 型、8 バイト シ リアル (SERIAL8) 型、小桁実数 (SMALLFLOAT) 型、小桁整数 (SMALLINT) 型 ラージ オブジェクト シンプル ラージ オブジェクト型 (バイト (BYTE) 型、テキスト (TEXT) 型) スマート ラージ オブジェ クト型 (BLOB 型、CLOB 型) 時刻型 日付 (DATE) 型、日時 (DATETIME) 型、時間隔 (INTERVAL) 型 その他 ブール (BOOLEAN) 型 Extended Parallel Server は、BLOB 型、CLOB 型、ラージ可変長文字 (LVARCHAR) 型 をサポートしません。文字型、数値型、およびその他のデータ型については、86 ページ の『データ型の説明』の該当する項目を参照してください。ページ参照については、84 ページの表 4 のアルファベット リストにあります。 以下のセクションでは、ラージ オブジェクト データ型と時刻データ型について説明し ます。 ラージ オブジェクト データ型 ラージ オブジェクトは、論理的には表の列に格納されているものの、物理的には列とは 無関係に格納されているデータ オブジェクトです。通常、ラージ オブジェクトは大量 のデータを格納するため、表とは別に格納されます。これらのデータを表とは別に格納 すると、パフォーマンスが向上します。 120 IBM Informix SQL ガイド: 参照 図 4 は、ラージ オブジェクト データ型を示しています。 図 4. ラージ オブジェクト データ型 Dynamic Server のみ BLOB 型と CLOB 型をサポートします。 シンプル ラージ オブジェクトとスマート ラージ オブジェクトにおける相対的な 利点 と欠点については、「IBM Informix: データベース設計および実装 ガイド」を参照して ください。 シンプル ラージ オブジェクト シンプル ラージ オブジェクトは、ラージ オブジェクトのカテゴリの 1 つです。理論 上の限界は 231 バイトですが、実際には、使用しているディスク容量に依存します。 Informix データベース サーバでは、次のシンプル ラージ オブジェクト データ型をサ ポートしています。 バイト (BYTE) 型 バイナリ形式のデータを格納します。このデータ型の詳細について は、88 の説明を参照してください。 テキスト (TEXT) 型 テキスト データを格納します。このデータ型の詳細については、116 の説明を参照してください。 同じ表で宣言できるバイト (BYTE) 型またはテキスト (TEXT) 型列は、195 列までで す。スマート ラージ オブジェクトとは異なり、シンプル ラージ オブジェクトではデ ータへのランダム アクセスはサポートされません。シンプル ラージ オブジェクトをク ライアント アプリケーションとデータベース サーバとの間で転送する場合は、バイト (BYTE) 型値または テキスト (TEXT) 型値全体を転送する必要があります。データがメ モリに格納できない大きさの場合、オペレーティング システム ファイルに格納し、フ ァイルから抽出する必要があります。 データベース サーバは、シンプル ラージ オブジェクトを BLOB 領域 に格納します。 BLOB 領域 は、バイト (BYTE) 型とテキスト (TEXT) 型データのみ格納する、1 つ以 上のチャンクを含んだ論理ストレージ域です。BLOB 領域の定義方法については、 「IBM Informix: Dynamic Server 管理者ガイド」を参照してください。 第 2 章 データ型 121 スマート ラージ オブジェクト (IDS) スマート ラージ オブジェクトはラージ オブジェクトのカテゴリの 1 つで、データへ のランダム アクセスがサポートされ、通常は復旧が可能なオブジェクトです。ランダム アクセス機能により、オペレーティング システム ファイルと同じようにスマート ラー ジ オブジェクトのシークおよび読出しを行えます。 スマート ラージ オブジェクトは、大きい格納域が必要な不透明 (OPAQUE) 型を格納 する場合にも便利です (132 ページの『不透明 (OPAQUE) 型』の説明を参照してくださ い)。理論上の限界は 242 バイトですが、実際には、使用しているディスク容量に依存 します。 Dynamic Server は、次のスマート ラージ オブジェクト データ型をサポートします。 BLOB 型 バイナリ形式のデータを格納します。このデータ型の詳細について は、87 ページの説明を参照してください。 CLOB 型 テキスト データを格納します。このデータ型の詳細については、91 ページの説明を参照してください。 Dynamic Server は、スマート ラージ オブジェクトを SB 領域 に格納します。 SB 領 域 は、BLOB 型と CLOB 型データのみ格納する、1 つ以上のチャンクを含んだ論理ス トレージ域です。SB 領域の定義方法については、「IBM Informix: Dynamic Server パフ ォーマンス ガイド」を参照してください。 BLOB 型列または CLOB 型列を定義する場合、次のラージ オブジェクト特性を決定で きます。 v LOG と NOLOG: データベース サーバが、現行のデータベース ログ モードに従っ てスマート ラージ オブジェクトをログに記録するかどうか v KEEP ACCESS TIME と NO KEEP ACCESS TIME: スマート ラージ オブジェクト に最後にアクセスした時刻をデータベース サーバが追跡するかどうか v HIGH INTEG と MODERATE INTEG: データの破損を検出するためにページ ヘッダ をデータベース サーバが使用するかどうか これらの特性を使用すると、パフォーマンスに影響を与える可能性があります。 「IBM Informix: Dynamic Server パフォーマンス ガイド」を参照してください。 SQL 文でスマート ラージ オブジェクトにアクセスする場合、データベース サーバは 実際の BLOB 型または CLOB 型データを送信しません。データへのポインタが作成さ れ、そのポインタが戻されます。クライアント アプリケーションは、このポインタを使 用してスマート ラージ オブジェクトのオープン、読取り、書込み操作を実行できま す。 122 IBM Informix SQL ガイド: 参照 クライアント アプリケーションから BLOB 型列または CLOB 型列にアクセスするに は、次のアプリケーション プログラム インターフェイス (API) のいずれかを使用して ください。 v IBM Informix ESQL/C プログラム内からの場合、スマート ラージ オブジェクト API を使用してください (詳しくは、「IBM Informix: ESQL/C Programmer’s Manual」を参照してください)。 v DataBlade モジュール内からの場合、クライアント サーバ API を使用してください (詳しくは、「IBM Informix: DataBlade API Programmer’s Guide」を参照してくださ い)。 スマート ラージ オブジェクトについては、「IBM Informix: SQL ガイド: 構文」と 「IBM Informix: データベース設計および実装 ガイド」を参照してください。 時刻データ型 正または負の値を使用して、日付 (DATE) 型と日時 (DATETIME) 型データ値はゼロ次 元の時点を表し、時間隔 (INTERVAL) 型データ値は 1 次元の時間範囲を表します。日 付 (DATE) 型の精度は、常に整数の日数ですが、さまざまなフィールド修飾子で日時 (DATETIME) 型と時間隔 (INTERVAL) 型の精度を定義できます。日付 (DATE) 型、日 時 (DATETIME) 型、および時間隔 (INTERVAL) 型データを算術や関係式で使用できま す。日時 (DATETIME) 型値を他の日時 (DATETIME) 型値、時間隔 (INTERVAL) 型 値、現在時刻 (キーワード CURRENT で指定)、一部の時間単位 (キーワード UNITS を使用) で扱えます。 日時 (DATETIME) 型値が有効なほとんどのコンテキスト内で日付 (DATE) 型値を使用 でき、その逆も同様です。日時 (DATETIME) 型値が有効な算術演算で、時間隔 (INTERVAL) 型オペランドも使用できます。また、2 つの時間隔 (INTERVAL) 型値の 加算、または時間隔 (INTERVAL) 型値の乗算や除算できます。 時間隔 (INTERVAL) 型列は、2 つの日時 (DATETIME) 型値の差、あるいは 2 つの時 間隔 (INTERVAL) 型値の差 (または合計) を表す数値を保持できます。いずれの場合 も、計算結果は時間隔 (INTERVAL) 型であり、時間の範囲を表す値になります。逆 に、日時 (DATETIME) 型値から 時間隔 (INTERVAL) 型値を減算または加算した場 合、結果はある特定の時間になるため、別の日時 (DATETIME) 型値が作成されます。 124 ページの表 10 は、日付 (DATE) 型、日時 (DATETIME) 型、および時間隔 (INTERVAL) 型オペランドで実行できる 2 進算術演算をリストしています。算術式が 戻すデータ型も同様にリストしています。 第 2 章 データ型 123 表 10. 日付 (DATE) 型、日時 (DATETIME) 型、時間隔 (INTERVAL) 型値の算術演算 オペランド 1 演算子 オペランド 2 結果 日付 (DATE) 型 - 日時 (DATETIME) 型 時間隔 (INTERVAL) 型 日時 (DATETIME) 型 - 日付 (DATE) 型 時間隔 (INTERVAL) 型 日付 (DATE) 型 + または - 時間隔 (INTERVAL) 型 日時 (DATETIME) 型 日時 (DATETIME) 型 - 日時 (DATETIME) 型 時間隔 (INTERVAL) 型 日時 (DATETIME) 型 + または - 時間隔 (INTERVAL) 型 時間隔 (INTERVAL) 型 + 日時 (DATETIME) 型 日時 (DATETIME) 型 時間隔 (INTERVAL) 型 + または - 時間隔 (INTERVAL) 型 時間隔 (INTERVAL) 型 日時 (DATETIME) 型 - 現行 (CURRENT) 型 時間隔 (INTERVAL) 型 現行 (CURRENT) 型 - 日時 (DATETIME) 型 時間隔 (INTERVAL) 型 時間隔 (INTERVAL) 型 + 現行 (CURRENT) 型 日時 (DATETIME) 型 現行 (CURRENT) 型 + または - 時間隔 (INTERVAL) 型 日時 (DATETIME) 型 日時 (DATETIME) 型 + または - 単位 (UNITS) 型 日時 (DATETIME) 型 時間隔 (INTERVAL) 型 + または - UNITS 時間隔 (INTERVAL) 型 時間隔 (INTERVAL) 型 * または / 数値 (NUMBER) 型 時間隔 (INTERVAL) 型 日時 (DATETIME) 型 これ以外の組合せは許容されません。2 つの日時 (DATETIME) 型値の加算は、特定の 時点も時間の範囲も生成しないため、実行できません。例えば、12 月 25 日と 1 月 1 日を加算することはできません。ただし、この間で減算を行って時間の範囲を求めるこ とはできます。 124 IBM Informix SQL ガイド: 参照 日時 (DATETIME) 型値の操作 ほとんどの日時 (DATETIME) 型値同士で減算が行えます。日付は任意の順序でよく、 結果は正または負の時間隔 (INTERVAL) 型値になります。最初の日時 (DATETIME) 型 値が、結果の精度を決定し、これには最初のオペランドと同じ時間単位が含まれます。 2 番目の日時 (DATETIME) 型値のフィールドが最初のフィールドより少ない場合、2 番目のオペランドの精度は、最初の値の精度になるまで自動的に増加されます。 次の例では、YEAR TO MINUTE の精度を持つ日時 (DATETIME) 型値から、YEAR TO HOUR の日時 (DATETIME) 型値を減算し、60 日 1 時間 30 分という正の時間隔 (INTERVAL) 値を取得しています。2 番目のオペランドに分は含まれていないため、減 算を行う前に、データベース サーバは 2 番目のオペランドの分の値をゼロに設定しま す。 DATETIME (2003-9-30 12:30) YEAR TO MINUTE - DATETIME (2003-8-1 11) YEAR TO HOUR Result: INTERVAL (60 01:30) DAY TO MINUTE 2 番目の日時 (DATETIME) 型オペランドのフィールドが最初のフィールドより多い場 合、2 番目の余分な時間単位フィールドは、計算では無視されます。余分なフィールド の精度が、1 番目のオペランドより大きいか小さいかは関係しません。 次の式と結果では、年は 2 番目のオペランドには含まれていません。したがって、年は 自動的にシステム クロック カレンダによる現行年 (ここでは 2005 年) に設定されま す。結果として得られる INTERVAL は負の値になり、2 番目の日付が最初の日付より 後であることを示しています。 DATETIME (2005-9-30) YEAR TO DAY - DATETIME (10-1) MONTH TO DAY Result: INTERVAL (-1) DAY TO DAY [assuming that the current year is 2005] 日時 (DATETIME) 型値と時間隔 (INTERVAL) 型値の操作 時間隔 (INTERVAL) 型値は、日時 (DATETIME) 型値から減算、または加算できます。 いずれの場合も、結果は日時 (DATETIME) 型値になります。時間隔 (INTERVAL) 型値 を日時 (DATETIME) 型値に加算する場合、値の順序は問題にはなりません。ただし、 減算の場合には、日時 (DATETIME) 型値が最初にくる必要があります。正の時間隔 (INTERVAL) 型値の加算や減算は、単に日時 (DATETIME) 型の結果の時間を進めるか 戻す操作です。次の例に示す式は、日付を 3 年 5 か月進めます。 DATETIME (2000-8-1) YEAR TO DAY + INTERVAL (3-5) YEAR TO MONTH Result: DATETIME (2004-01-01) YEAR TO DAY 第 2 章 データ型 125 重要: 加算と減算のロジックに注意してください。1 か月は月によって 28 日、29 日、 30 日、31 日の場合があり、1 年は 365 日と 366 日の場合があります。 オペランドが同じ精度ではない場合、通常は、データベース サーバが自動的に計算を調 整します。ただし、一方の値の精度を明示的に調整し、計算する必要がある場合もあり ます。加算または減算している時間隔 (INTERVAL) 型値が日時 (DATETIME) 型値に含 まれないフィールドを持っている場合、EXTEND 関数を使用して日時 (DATETIME) 型 値の精度を拡張する必要があります (EXTEND 関数の詳細については、「IBM Informix: SQL ガイド: 構文」の式セグメントの説明を参照してください)。 例えば、前の例における YEAR TO DAY フィールド修飾子を持つ日時 (DATETIME) 型値から、INTERVAL MINUTE TO MINUTE 値を減算できません。ただし、次の例に 示すように EXTEND 関数を使用すると、この計算を実行できます。 EXTEND (DATETIME (2003-8-1) YEAR TO DAY, YEAR TO MINUTE) - INTERVAL (720) MINUTE(3) TO MINUTE Result: DATETIME (2003-07-31 12:00) YEAR TO MINUTE EXTEND 関数により、日時 (DATETIME) 型の精度を、YEAR TO DAY から YEAR TO MINUTE に拡張できます。これにより、データベース サーバは計算が可能にな り、拡張精度 YEAR TO MINUTE の結果が得られます。 日付 (DATE) 型値、日時 (DATETIME) 型値、および時間隔 (INTERVAL) 型 値の操作 表 11 のように式を書き込むことで、日時 (DATETIME) 型や時間隔 (INTERVAL) 型オ ペランドとともに、一部の算術式で日付 (DATE) 型オペランドを使用できます。 表 11. 日付 (DATE) 型値、日時 (DATETIME) 型値、および時間隔 (INTERVAL) 型値を 操作する式の結果 式 結果 日付 (DATE) 型 - 日時 (DATETIME) 型 時間隔 (INTERVAL) 型 日時 (DATETIME) 型 - 日付 (DATE) 型 時間隔 (INTERVAL) 型 日付 (DATE) 型 + または - 時間隔 (INTERVAL) 型 日時 (DATETIME) 型 表 11 で示すように、最初に日付 (DATE) 型値は、対応する日時 (DATETIME) 型値に 変換され、算術計算のルールに従って式が実行されます。 さまざまな場合に日付 (DATE) 型値と日時 (DATETIME) 型値を交換できますが、その 値が日付 (DATE) 型なのか日時 (DATETIME) 型なのか示す必要があります。日付 (DATE) 型値は次のソースから成ります。 v 日付 (DATE) 型の列またはプログラム変数 126 IBM Informix SQL ガイド: 参照 v TODAY キーワード v DATE( ) 関数 v MDY 関数 v 日付 (DATE) 型のリテラル 日時 (DATETIME) 型値は次のソースから成ります。 v 日時 (DATETIME) 型の列またはプログラム変数 v CURRENT キーワード v EXTEND 関数 v 日時 (DATETIME) 型のリテラル データベース ロケールは、デフォルトの日付 (DATE) 型と日時 (DATETIME) 型形式 を定義します。デフォルト ロケールである米国英語 (U.S. English) において、これらの 形式は、日付 (DATE) 型値では mm/dd/yy、日時 (DATETIME) 型値では yyyy-mm-dd hh:MM:ss になります。 文字列として日付 (DATE) 型値と日時 (DATETIME) 型値を表すには、文字列のフィー ルドが適切な順序になっている必要があります。つまり、日付 (DATE) 型値が予想され る場合、文字列は日付 (DATE) 型である必要があり、日時 (DATETIME) 型の値が予想 される場合は、文字列は日時 (DATETIME) 型である必要があります。例えば、日付 (DATE) 型文字列として「10/30/2003」を使用できますが、日時 (DATETIME) 型文字 列としては使用できません。日時 (DATETIME) 型文字列としては、「2003-10-30」ま たは「03-10-30」を使用する必要があります。 デフォルト以外のロケールでは、日付 (DATE) 型リテラルおよび日時 (DATETIME) 型 文字列は、ロケールが定義する形式と一致する必要があります。詳しくは、 「IBM Informix: GLS ユーザーズ ガイド」を参照してください。 データベースが DBDATE および GL_DATE 環境変数と判断する日付 (DATE) 型をカ スタマイズできます。データベースが DBTIME および GL_DATETIME 環境変数と判 断する日時 (DATETIME) 型をカスタマイズできます。詳しくは、168 ページの 『DBDATE』および 181 ページの『DBTIME』を参照してください。これらすべての環 境変数の詳細については、「IBM Informix: GLS ユーザーズ ガイド」を参照してくださ い。 日付 (DATE) 型値から日付 (DATE) 型値は減算できますが、得られる結果は時間隔 (INTERVAL) 型値ではなく、正または負の整数 (INTEGER) 型の日数です。時間隔 (INTERVAL) 型値が必要な場合、減算前に、UNITS DAY 演算子を使用して整数 (INTEGER) 型値を INTERVAL DAY TO DAY 値に変換、または EXTEND を使用し て日付 (DATE) 型値の 1 つを日時 (DATETIME) 型値に変換できます。 第 2 章 データ型 127 例えば、次の式は DATE( ) 関数を使用して文字列定数を日付 (DATE) 型値に変換しま す。差を計算し、UNITS DAY キーワードを使用して整数 (INTEGER) 型の結果を時間 隔 (INTERVAL) 型値に変換します。 (DATE (’5/2/1994’) - DATE (’4/6/1955’)) UNITS DAY Result: INTERVAL (12810) DAY(5) TO DAY 重要: 他の SQL 演算子に対して UNITS 演算子の優先順位が高いため、上の例のよう に、UNITS オペランドの算術計算を括弧で囲んでください。 YEAR TO MONTH 精度が必要な場合、次の例で示すように最初の日付 (DATE) 型オペ ランドで EXTEND 関数を使用してください。 EXTEND (DATE (’5/2/1994’), YEAR TO MONTH) - DATE (’4/6/1955’) Result: INTERVAL (39-01) YEAR TO MONTH 結果として得られる INTERVAL の精度は、日時 (DATETIME) 型値が最初に来るた め、YEAR TO MONTH になります。日付 (DATE) 型値が最初に来た場合、結果として 得られる INTERVAL の精度は DAY(5) TO DAY になります。 時間隔 (INTERVAL) 型値の操作 2 つの値が同じクラスの場合、つまり両方とも年月または日時のいずれかのクラスであ る場合のみ、時間隔 (INTERVAL) 型値を加算、減算できます。次の例では、MINUTE TO FRACTION 値から SECOND TO FRACTION 値を減算しています。 INTERVAL (100:30.0005) MINUTE(3) TO FRACTION(4) - INTERVAL (120.01) SECOND(3) TO FRACTION Result: INTERVAL (98:29.9905) MINUTE TO FRACTION(4) 数値修飾子を使用して、1 番目の値の MINUTE と FRACTION および 2 番目の値の SECOND がデフォルトの桁数を超えていることをデータベース サーバに通知します。 時間隔 (INTERVAL) 型値を加算または減算する場合、2 番目の値は 1 番目の値より大 きい精度のフィールドを持つことはできません。ただし、2 番目の INTERVAL は、1 番目より小さい精度のフィールドは保持できます。例えば、1 番目が DAY TO HOUR の場合、2 番目の INTERVAL は HOUR TO SECOND が指定可能です。2 番目の INTERVAL 値の余分なフィールド (この場合は MINUTE と SECOND) は、計算では無 視されます。 時間隔 (INTERVAL) 型値の乗算と除算 時間隔 (INTERVAL) 型値を数字で乗算、除算できます。ただし、計算の余りは無視さ れ、計算結果は時間隔 (INTERVAL) 型の精度と同じになるよう切り捨てられます。次 の式は、小数部を持つリテラル番号で、時間隔 (INTERVAL) 型値を乗算しています。 INTERVAL (15:30.0002) MINUTE TO FRACTION(4) * 2.5 Result: INTERVAL (38:45.0005) MINUTE TO FRACTION(4) 128 IBM Informix SQL ガイド: 参照 この例では、15 * 2.5 = 37.5 (分)、30 * 2.5 = 75 (秒)、2 * 2.5 = 5 (10000 分の 1 の 桁) になります。0.5 分は 30 秒に、60 秒は 1 分に変換され、結果は 38 分 45.0005 秒となります。計算結果は、元の時間隔 (INTERVAL) 型オペランドと同じ精度になり ます。 拡張データ型 (IDS) Dynamic Server では、拡張データ型 を作成し、組込みデータ型では表すことが難しい データを表現できます (ただし、外部表に問い合わせる分散トランザクションの拡張デ ータ型は使用できません)。以下の拡張データ型のカテゴリを作成できます。 v 複合データ型 v ディスティンクト (DISTINCT) 型 v 不透明 (OPAQUE) 型 次のセクションで、これらのデータ型の概要を説明します。 拡張データ型の詳細については、「IBM Informix: データベース設計および実装 ガイ ド」と「IBM Informix: ユーザ定義ルーチンおよびデータ タイプ 開発者ガイド」を参照 してください。 複合データ型 複合データ型は、他の組込みデータ型および拡張データ型の 1 つ以上の値を格納できま す。図 5 は、Dynamic Server がサポートする複合データ型を示しています。 図 5. Dynamic Server の複合データ型 第 2 章 データ型 129 次の表は、複合データ型の構造の概要を示しています。 データ型 説明 コレクション (COLLECTION) 型 同じデータ型の要素で構成される、複合データ型。 リスト (LIST) 型 各要素が固有である必要がない、順序付けされた要素の グループ。 マルチセット (MULTISET) 型 各要素が固有である必要がない、要素のグループ。要素 の順序は無視されます。 セット (SET) 型 固有の要素で構成されているグループ。要素の順序は無 視されます。 行 (ROW) 型 フィールドで構成されている複合データ型。 名前付き行型 名前によって識別される行 (ROW) 型。 名前なし行型 構造によって識別される行 (ROW) 型。 複合データ型は入れ子にできます。例えば、そのフィールドに 1 つ以上のセット (SET) 型、マルチセット (MULTISET) 型、行 (ROW) 型、およびリスト (LIST) 型を含む行 (ROW) 型を作成できます。同様に、コレクション (COLLECTION) 型が、行 (ROW) 型 またはコレクション (COLLECTION) 型の要素を保持できます。 不透明 (OPAQUE) 型を含む複合データ型は、以下のサポート関数を継承します。 input export LO_handles output import_binary hash send export_binary lessthan recv assign equal import destroy lessthan (行 (ROW) 型のみ) 次のセクションで、複合データ型を簡単に説明します。詳しくは、「IBM Informix: デー タベース設計および実装 ガイド」を参照してください。 コレクション (COLLECTION) 型 コレクション (COLLECTION) 型は、同じデータ型である 1 つ以上の要素で構成される 複合データ型です。コレクション要素は、バイト (BYTE) 型、テキスト (TEXT) 型、シ リアル (SERIAL) 型、8 バイト シリアル (SERIAL8) 型を除き、(他の複合データ型を 含む) 任意のデータ型になれます。 重要: 要素には NULL 値を指定できません。コレクション (COLLECTION) 型要素に は、NOT NULL 制約を指定する必要があります。コレクション (COLLECTION) 型要素の場合、その他の制約は無効です。 130 IBM Informix SQL ガイド: 参照 Dynamic Server は、3 つの組込みコレクション (COLLECTION) 型 (リスト (LIST) 型、セット (SET) 型、マルチセット (MULTISET) 型) をサポートします。これらのコ レクションの宣言に使用されるキーワードは、type constructors または単に constructors です。コレクション (COLLECTION) 型の構文については、「IBM Informix: SQL ガイ ド: 構文」を参照してください。同じ表で宣言できるコレクション (COLLECTION) 型 列は、97 列までです。 コレクションの要素値を指定する場合、コンストラクタの後および中括弧 ({ }) 内に要 素値をリストします。例えば、次のマルチセット (MULTISET) 型コレクション列があ るとします。 CREATE TABLE table1 ( mset_col MULTISET(INTEGER NOT NULL) ) 次の INSERT 文は、要素の 1 つのグループをこの列に追加します (この 2 つの例の単 語 MULTISET は、マルチセット (MULTISET) 型コンストラクタです)。 INSERT INTO table1 VALUES (MULTISET{5, 9, 7, 5}) 中括弧に何も指定せずに、空のセットも指定できます。 INSERT INTO table1 VALUE (MULTISET{}) コレクションが空であることと、列が NULL であることは同じではありません。 コレクション (COLLECTION) 型データのアクセス: コレクション (COLLECTION) 型列の要素にアクセスするには、コレクションをコレクション (COLLECTION) 型変数の中に取り出し、コレクション (COLLECTION) 型変数の概念を 変更する必要があります。コレクション (COLLECTION) 型変数は次のいずれかです。 v SPL ルーチン内の変数 詳しくは、¢IBM Informix: SQL ガイド: チュートリアル£を参照してください。 v IBM Informix ESQL/C プログラム内のホスト変数 詳しくは、「IBM Informix: ESQL/C Programmer’s Manual」を参照してください。 コレクション (COLLECTION) 型データには、入れ子ピリオド表記を使用してアクセス することもできます。コレクションの要素のアクセスについては、「IBM Informix: SQL ガイド: チュートリアル」を参照してください。 重要: コレクション (COLLECTION) 型は、関数インデックスに使用される関数への引 数としては無効です。 第 2 章 データ型 131 行 (ROW) 型 行 (ROW) 型は、フィールド と呼ばれる 1 つ以上の要素の順序付けされたコレクショ ンです。各フィールドは、名前とデータ型を持っています。行 (ROW) 型のフィールド は表の列に相当するものですが、重要な違いがあります。 v フィールドには、デフォルトの節はありません。 v フィールドに制約を定義できません。 v 行 (ROW) 型のフィールドのみ使用でき、表では使用できません。 次の 2 種類の行 (ROW) 型があります。 v 名前によって識別される名前付き行型 v 構造によって識別される名前なし行型 名前なし行型の構造 は、そのフィールドの数とデータ型の順序です。 同じ表で宣言できる行 (ROW) 型列は、195 列までです。行 (ROW) 型の詳細について は、109 ページの『名前付き行型 (IDS)』と 110 ページの『名前なし行型 (IDS)』を参 照してください。 名前付きと名前なしの行型の間でキャストできます。これは「IBM Informix: データベー ス設計および実装 ガイド」で説明されています。 ディスティンクト (DISTINCT) 型 ディスティンクト (DISTINCT) 型は、データベース内の他のソース型と同じ内部構造を 持つデータ型です。ソース型は、組込みまたは拡張データ型が可能です。ソース型とデ ィスティンクト (DISTINCT) 型を区別するものは、ディスティンクト (DISTINCT) 型に 定義されているサポート関数です。 同じ表で許容されるバイト (BYTE) 型、テキスト (TEXT) 型、行 (ROW) 型、ラージ可 変長文字 (LVARCHAR) 型、各国語可変長文字 (NVARCHAR) 型、可変長文字 (VARCHAR) 型のソース型を基とするディスティンクト (DISTINCT) 型列は、195 列ま でです。また、コレクション (COLLECTION) 型のソース型を保持する列は 97 列まで 許容されます。詳しくは、98 ページの『ディスティンクト (DISTINCT) 型 (IDS)』を参 照してください。「IBM Informix: ユーザ定義ルーチンおよびデータ タイプ 開発者ガイ ド」も参照してください。 不透明 (OPAQUE) 型 不透明 (OPAQUE) 型は、完全にカプセル化されたユーザ定義データ型です。つまり、 内部構造はデータベース サーバに通知されません。ソース型が組込みデータ型であるデ ィスティンクト (DISTINCT) 型でないユーザ定義データ型 (UDT) は不透明 (OPAQUE) 型です。 132 IBM Informix SQL ガイド: 参照 組込みデータ型の BLOB 型、ブール (BOOLEAN) 型、CLOB 型、およびラージ可変長 文字 (LVARCHAR) 型は、不透明 (OPAQUE) 型として実装されます。サーバ間の分散 操作においてこれらの組込み不透明 (OPAQUE) 型 にアクセスすることはできません が、同じ Dynamic Server インスタンスの他のデータベースの場合はアクセスできま す。 詳しくは、108 ページの『不透明 (OPAQUE) 型 (IDS)』を参照してください。 「IBM Informix: ユーザ定義ルーチンおよびデータ タイプ 開発者ガイド」も参照してく ださい。 データ型のキャストと変換 CREATE TABLE 文を使用して列に割り当てたデータ型が、後に不適切になる場合があ ります。現在のデータ型では格納できない大きい値を格納する場合、列のデータ型を変 更します。データベース サーバでは、次のいずれかの方法により、列のデータ型を変 更、または別のデータ型へ値を変換できます。 v ALTER TABLE 文を使用し、列のデータ型を変更します。 例えば、小桁整数 (SMALLINT) 型列を作成し、その後で 32,767 より大きい整数を格 納する必要がある場合、より大きい値を格納できるように、その列のデータ型を変更 する必要があります。ALTER TABLE を使用することで、データ型を整数 (INTEGER) 型に変更できます。データ型の変換を行うと、現在その列にあるすべての 値のデータ型だけでなく、追加される新規の値のデータ型も変更されます。 v CAST AS キーワードまたは二重コロン (::) キャスト演算子を使用して、値を別のデ ータ型に変換します。 キャストを行っても、値のデータ型は恒久的には変更されません。適切な形式で値を 表現します。ユーザ定義データ型を組込みデータ型にキャストすると、クライアント プログラムでは、そのユーザ定義データ型の内部構造を意識することなく、データ型 の操作を行えます。 データ型を変更する場合、新規のデータ型は、元の値をすべて格納できるものにする必 要があります。 データ型の変換とキャストは、システム カタログ表 syscasts に登録されたキャストに 依存します。syscasts については、17 ページの『SYSCASTS (IDS)』を参照してくださ い。 キャストは、組込みかユーザ定義のいずれかです。ディスティンクト (DISTINCT) 型と 拡張データ型のキャストについては、ガイドラインがあります。不透明 (OPAQUE) 型 のキャストの詳細については、「IBM Informix: ユーザ定義ルーチンおよびデータ タイ プ 開発者ガイド」を参照してください。他の拡張データ型のキャストについては、 「IBM Informix: データベース設計および実装 ガイド」を参照してください。 第 2 章 データ型 133 組込みキャストの使用 ユーザ informix が組込みキャストを所有しています。これらの組込みキャストは、組 込みデータ型間の変換を行うものです。組込みキャストにより、データベース サーバで 次のデータ型変換を行えます。 v 文字型間の変換 v 文字型と他の組込みデータ型間の変換 v 数値型間の変換 必要に応じて、適切な組込みキャストが自動的に起動されます。時刻データ型では、日 付 (DATE) 型と日時 (DATETIME) 型間の変換には、EXTEND 関数の明示的キャスト が必要で、数値型から時間隔 (INTERVAL) 型への変換には UNITS 演算子の明示的キ ャストが必要です。組込みキャストは、大きい組込みデータ型 (バイト (BYTE) 型、 BLOB 型、CLOB 型、およびテキスト (TEXT) 型) から他の組込みデータ型への変換に は使用できません。 ある組込みデータ型の列を別の組込みデータ型に変換すると、列内の既存の値のそれぞ れに、適切な組込みキャストが適用されます。変換後の新しいデータ型が結果の値を格 納できない場合、ALTER TABLE 文は失敗します。 例えば、列を整数 (INTEGER) 型から小桁整数 (SMALLINT) 型へ変換しようとした場 合、整数 (INTEGER) 型列に次の値が存在していると、小桁整数 (SMALLINT) 型列は 32,767 より大きい数に対応できないため、データベース サーバはデータ型を変更しま せん。 100 400 700 50000 700 データを実数 (FLOAT) 型または小桁実数 (SMALLFLOAT) 型列から、整数 (INTEGER) 型、小桁整数 (SMALLINT) 型、または 10 進数 (DECIMAL) 型列に転送し ようとした場合、同じ状態になる場合があります。データ型の変換中に、オーバーフロ ー、アンダーフロー、切捨てなどが生じるためです。 次のセクションで、各種の変換を実行する場合のデータベース サーバの動作を説明しま す。 数値型間の変換 ある数値型データを他の数値型データに変換する場合、丸め誤差が発生する場合があり ます。次の表で、許容される数値型の変換と、特定の数値型の変換を行った場合に発生 する可能性がある誤差を示します。 134 IBM Informix SQL ガイド: 参照 変換後の型 小桁整数 (SMALL INT) 型 8 バイ 小桁実数 ト整数 (SMALL 整数 (INTEGER) (INT8) FLOAT) 型 型 型 10 進数 実数 (FLOAT) (DECIMAL) 型 型 小桁整数 (SMALLINT) 型 OK OK OK OK OK OK 整数 (INTEGER) 型 E OK OK E OK P 8 バイト整数 (INT8) 型 E E OK D E P 小桁実数 (SMALLFLOAT) 型 E E E OK OK P 実数 (FLOAT) 型 E E E D OK P 10 進数 (DECIMAL) 型 E E E D D P 凡例: OK エラーなし P 10 進数値の精度によって、エラーが発生 E データ値によって、エラーが発生 D エラーは発生しませんが、少ない分の有効数字が失われる可能性あり 例えば、実数 (FLOAT) 型値を DECIMAL(4,2) 型に変換する場合、それを 10 進数 (DECIMAL) 型として格納する前に、浮動小数点数を丸めます。 この変換では、10 進数 (DECIMAL) 型列に割り当てられる有効数字によっては、誤差 が発生する場合があります。 数値型と文字型間の変換 文字 (CHAR) 型、各国語文字 (NCHAR) 型、各国語可変長文字 (NVARCHAR) 型、可 変長文字 (VARCHAR) 型の文字型列を数値型列に変換できます。ただし、データ スト リングは、数値型列では無効な任意の文字 (数値 1 の代わりに文字 l など) 含む場合、 データベース サーバはエラーを戻します。 数値型列の文字型列への変換もできます。ただし、文字型列が小さすぎて数値を受け取 れない場合、データベース サーバはエラーを戻します。エラーが発生すると、ALTER 第 2 章 データ型 135 TABLE 文やキャストを完了できず、列値は文字型のままになります。エラー メッセー ジが出され、トランザクション処理中かどうかにかかわらず、文はロールバックされま す。 整数 (INTEGER) 型と日付 (DATE) 型間の変換 整数型列 (小桁整数 (SMALLINT) 型、整数 (INTEGER) 型、8 バイト整数 (INT8) 型) を日付 (DATE) 型値に変換できます。この場合、日付 (DATE) 型列の内部形式の値と して解釈されます。日付 (DATE) 型列を整数型列へ変換することもできます。日付 (DATE) 型列の内部形式の値は、ユリウス日を表す整数として格納されます。 日付 (DATE) 型と日時 (DATETIME) 型間の変換 日付 (DATE) 型列を日時 (DATETIME) 型列へ変換できます。ただし、日付 (DATE) 型 列より日時 (DATETIME) 型列の方がフィールド数が多い場合、そのフィールドは無視 されるか、ゼロで埋められます。次に、この 2 つのデータ型間で行われる変換について 示します。ここでは、日付 (DATE) 型のデフォルト表示形式を mm/dd/yyyy としていま す。 v 日付 (DATE) 型を DATETIME YEAR TO DAY に変換する場合、データベース サ ーバは既存の日付 (DATE) 型値を日時 (DATETIME) 型値に変換します。例えば、 08/15/2002 という値は 2002-08-15 になります。 v DATETIME YEAR TO DAY を日付 (DATE) 型形式に変換する場合、2002-08-15 と いう値は 08/15/2002 になります。 v 日付 (DATE) 型を DATETIME YEAR TO SECOND に変換する場合、データベース サーバは既存の日付 (DATE) 型値を日時 (DATETIME) 型値に変換し、余分な日時 (DATETIME) 型フィールドをゼロで埋めます。例えば、08/15/2002 は 2002-08-15 00:00:00 になります。 v DATETIME YEAR TO SECOND を日付 (DATE) 型に変換する場合、データベース サーバは既存の日時 (DATETIME) 型を日付 (DATE) 型値に変換しますが、日より小 さい時間単位は削除します。例えば、2002-08-15 12:15:37 は 08/15/2002 になりま す。 ユーザ定義キャストの使用 暗黙的キャストと明示的キャストは、そのキャストを作成したユーザが所有します。こ れらのキャストは、ユーザ定義データ型とその他のデータ型間の変換を行うものです。 ユーザ定義データ型の開発者は、特定の暗黙的キャストと明示的キャスト、およびそれ らのキャストを実装する関数を作成する必要があります。キャストを行うことによっ て、ユーザ定義データ型を、クライアントが操作できる形式で表現できます。 暗黙的または明示的キャストの使用および登録方法については、「IBM Informix: SQL ガイド: 構文」と「IBM Informix: データベース設計および実装 ガイド」の CREATE CAST 文を参照してください。 136 IBM Informix SQL ガイド: 参照 暗黙的キャスト 暗黙的キャストを行うと、ユーザ定義データ型を組込みデータ型に変換、または組込み データ型をユーザ定義 データ型に変換できます。式の評価、比較、または引数を渡す必 要がある場合、自動的に単一の暗黙的キャストが起動されます。演算に複数の暗黙的キ ャストが必要な場合、その演算は失敗します。 CAST AS キーワードまたは 二重コロン (::) キャスト演算子を使用することにより、 暗黙的キャストを明示的に起動できます。 明示的キャスト 明示的キャストは、暗黙的キャストや組込みキャストとは異なり、データベース サーバ によって自動的に起動されることはありません。ユーザは CAST AS キーワードまたは 二重コロン (::) キャスト演算子を使用して、明示的に起動する必要があります。 適用するキャストの決定 それぞれの状況でどのキャストを適用するかは、次のルールに従って決定されます。 v 2 つの組込みデータ型を比較する場合、適切な組込みキャストが自動的に起動されま す。 v 1 つのオペランドについては、暗黙的キャストが 1 つ適用されます。オペランドを 目的のデータ型に変換するために複数のキャストが必要となる場合は、ユーザが追加 キャストを明示的に起動する必要があります。 次の例では、リテラル値 5.55 は 10 進数 (DECIMAL) 型へ暗黙的にキャストし、次 に明示的に金額 (MONEY) 型へキャストし、最終的に yen にキャストします。 CREATE DISTINCT TYPE yen AS MONEY . . . INSERT INTO currency_tab VALUES (5.55::MONEY::yen) v ディスティンクト (DISTINCT) 型をそのソース型と比較するには、ユーザが一方のデ ータ型を他方のデータ型に明示的に変換する必要があります。 v ディスティンクト (DISTINCT) 型をそのソース型以外のデータ型と比較する場合、デ ータベース サーバはソース型と目的のデータ型間の暗黙的キャストを検索します。 暗黙的キャストが登録されていない場合は、ディスティンクト (DISTINCT) 型と目的 のデータ型間の明示的キャストを起動する必要があります。明示的キャストが登録さ れていない場合は、ソース型から目的のデータ型へのキャストが自動的に起動されま す。 これらのキャストのいずれも定義されていない場合、比較は失敗します。 v 不透明 (OPAQUE) 型と組込みデータ型を比較するには、ユーザは不透明 (OPAQUE) 型を、データベース サーバが識別できるデータ型 (ラージ可変長文字 (LVARCHAR) 第 2 章 データ型 137 型、送受信 (SENDRECV) 型、IMPEX 型、IMPEXBIN 型) へ明示的にキャストする 必要があります。これにより、組込みキャストが起動され、結果が目的の組込みデー タ型に変換されます。 v 2 つの不透明 (OPAQUE) 型を比較するには、一方の不透明 (OPAQUE) 型を、データ ベース サーバが識別できる形式 (ラージ可変長文字 (LVARCHAR) 型、送受信 (SENDRECV) 型、IMPEX 型、IMPEXBIN 型など) へ明示的にキャストし、次にこの データ型を他方の不透明 (OPAQUE) 型へ明示的にキャストする必要があります。 キャストと IMPEX 型、IMPEXBIN 型、ラージ可変長文字 (LVARCHAR) 型、送受信 (SENDRECV) 型については、「IBM Informix: ユーザ定義ルーチンおよびデータ タイプ 開発者ガイド」を参照してください。 ディスティンクト (DISTINCT) 型のキャスト ディスティンクト (DISTINCT) 型は、組込みデータ型または既存の不透明 (OPAQUE) 型または行 (ROW) 型に基づいて定義します。ディスティンクト (DISTINCT) 型のデー タの長さと配置は、ソース型のデータと同じであり、ソース型のデータと同じように渡 されますが、この 2 つの型は直接比較できません。ディスティンクト (DISTINCT) 型 とそのソース型を比較するには、一方のデータ型から他方のデータ型に明示的に変換す る必要があります。 ディスティンクト (DISTINCT) 型を作成すると、次の 2 つの明示的キャストが自動的 に登録されます。 v ディスティンクト (DISTINCT) 型からソース型へのキャスト v ソース型からディスティンクト (DISTINCT) 型へのキャスト ディスティンクト (DISTINCT) 型とそのソース型間の暗黙的キャストも作成できます。 ただし、暗黙的キャストを作成するには、ディスティンクト (DISTINCT) 型とソース型 間の、デフォルトの明示的キャストをまず削除する必要があります。 ソース型に対して登録したキャストは、いずれも、変更せずにそのままディスティンク ト (DISTINCT) 型に使用することもできます。ディスティンクト (DISTINCT) 型のみ に適用する新規のキャストとサポート関数を作成、登録できます。 ディスティンクト (DISTINCT) 型に対するキャスト関数を作成し、その関数をキャスト として登録する例については、「IBM Informix: データベース設計および実装 ガイド」 を参照してください。 重要: Dynamic Server のバージョン 9.21 より以前のリリースでは、ディスティンクト (DISTINCT) 型は、ソース型の組込みキャストを継承しましたが、このリリースで は継承されません。 138 IBM Informix SQL ガイド: 参照 キャスト可能な拡張データ型 次の表に、キャスト可能な拡張データ型の組合せを示します。 ディスティン コレクション 不透明 クト (OPAQUE) (DISTINCT) 名前付き行 名前なし行 (COLLECTION) ターゲット型 型 型 型 型 型 型 不透明 明示的または 明示的 明示的 無効 無効 明示的または (OPAQUE) 型 暗黙的 ディスティンクト 3 明示的 組込みデータ 暗黙的3 明示的 明示的 無効 無効 明示的または (DISTINCT) 型 暗黙的 3 3 1 名前付き行型 明示的 明示的 明示的 明示的 無効 名前なし行型 無効 無効 明示的1 暗黙的1 無効 無効 コレクション 無効 無効 無効 無効 明示的2 無効 明示的または 明示的または 無効 無効 無効 システム定義 暗黙的3 暗黙的 無効 (COLLECTION) 型 組込みデータ型 1 (暗黙的) 2 つの行 (ROW) 型が構造的に同じである場合。または、対応するフィールド型が異なるデータ変換を処理す るキャストが存在する場合。2 それぞれのコレクション (COLLECTION) 型の要素型間で変換するキャストが存在 する場合。3 2 つのデータ型間で変換するユーザ定義のキャストが存在する場合。 この表は、ソース型とターゲット型間の変換が可能かどうかのみを示します。2 つのデ ータ型間の変換を行う前に、ユーザ定義キャストの作成が必要な場合があります。ま た、ユーザが明示的に起動する必要のある、組込みキャストや暗黙的キャストが提供さ れる場合もあります。 第 2 章 データ型 139 演算子優先順位 演算子 は、SQL 式で使用される記号やキーワードです。SQL 演算子の多くは、オペラ ンドおよび戻り値のデータ型で制限されます。組込みデータ型のオペランドのみサポー トする演算子もあります。他のものは組込みおよび拡張データ型のオペランドをサポー トできます。 次の表に、Informix データベース サーバがサポートする演算子の優先順位を、降順 (順 位の高いものから低いものの順) に示します。同じ行にある演算子は、優先順位は同等 です。 140 演算子優先順位 式の例 . (メンバシップ) [ ] (サブ文字列) customer.phone [1, 3] 単位 (UNITS) 型 x UNITS DAY + - (単項) - y :: (キャスト) NULL::TEXT * / x / y + - (バイナリ) x -y || (連結) customer.fname || customer.lname ANY ALL SOME orders.ship_date > SOME (SELECT paid_date FROM orders) NOT NOT y < <= = > >= != <> x >= y IN BETWEEN ... AND LIKE MATCHES customer.fname MATCHES y AND x AND y OR x OR y IBM Informix SQL ガイド: 参照 これらの SQL 演算子の構文とセマンティクスに関しては、「IBM Informix: SQL ガイ ド: 構文」を参照してください。 第 2 章 データ型 141 142 IBM Informix SQL ガイド: 参照 第 3 章 環境変数 環境変数の種類 . . . . . . . . . . . . . . . . . . . . 環境変数を設定する場所 (UNIX) . . . . . . . . . . . . . . 環境変数を設定する場所 (Windows) . . . . . . . . . . . . . 環境変数の使用 (UNIX) . . . . . . . . . . . . . . . . . 構成ファイルでの環境変数の設定 . . . . . . . . . . . . . ログイン時の環境変数設定 . . . . . . . . . . . . . . . 環境変数を設定する構文 . . . . . . . . . . . . . . . . 環境変数の設定解除 . . . . . . . . . . . . . . . . . . 環境変数設定の変更 . . . . . . . . . . . . . . . . . . 環境変数設定の表示 . . . . . . . . . . . . . . . . . . chkenv ユーティリティによる環境変数の確認 . . . . . . . . . 優先順位のルール . . . . . . . . . . . . . . . . . . 環境変数の使用方法 (Windows) . . . . . . . . . . . . . . . 固有の Windows アプリケーションの環境設定 . . . . . . . . . コマンド プロンプト ユーティリティの環境設定 . . . . . . . . システム アイコンを使用して環境変数を操作する方法 . . . . . コマンド プロンプトを使用して環境変数を操作する方法 . . . . dbservername.cmd を使用してコマンド プロンプト環境を初期化する. 優先順位のルール . . . . . . . . . . . . . . . . . . 環境変数リスト . . . . . . . . . . . . . . . . . . . . 環境変数 . . . . . . . . . . . . . . . . . . . . . . AC_CONFIG . . . . . . . . . . . . . . . . . . . . AFDEBUG . . . . . . . . . . . . . . . . . . . . . ANSIOWNER (IDS) . . . . . . . . . . . . . . . . . . BIG_FET_BUF_SIZE (XPS) . . . . . . . . . . . . . . . CPFIRST. . . . . . . . . . . . . . . . . . . . . . DBACCNOIGN . . . . . . . . . . . . . . . . . . . DBANSIWARN . . . . . . . . . . . . . . . . . . . DBBLOBBUF . . . . . . . . . . . . . . . . . . . . DBCENTURY . . . . . . . . . . . . . . . . . . . . DBDATE . . . . . . . . . . . . . . . . . . . . . DBDELIMITER . . . . . . . . . . . . . . . . . . . DBEDIT . . . . . . . . . . . . . . . . . . . . . . DBFLTMASK . . . . . . . . . . . . . . . . . . . . DBLANG . . . . . . . . . . . . . . . . . . . . . DBMONEY . . . . . . . . . . . . . . . . . . . . . DBNLS (IDS) . . . . . . . . . . . . . . . . . . . . DBONPLOAD (IDS) . . . . . . . . . . . . . . . . . . DBPATH . . . . . . . . . . . . . . . . . . . . . DBPRINT . . . . . . . . . . . . . . . . . . . . . © Copyright IBM Corp. 1996, 2004 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 146 147 148 148 149 149 150 150 150 151 152 152 152 153 153 154 155 155 156 160 160 161 161 161 162 163 164 164 165 168 171 171 172 172 173 174 176 176 178 143 DBREMOTECMD (UNIX) . . . . . . DBSPACETEMP . . . . . . . . . DBTEMP (IDS) . . . . . . . . . DBTIME . . . . . . . . . . . . DBUPSPACE . . . . . . . . . . DEFAULT_ATTACH . . . . . . . . DELIMIDENT . . . . . . . . . . ENVIGNORE (UNIX) . . . . . . . FET_BUF_SIZE . . . . . . . . . GLOBAL_DETACH_INFORM (XPS) . . IBM_XPS_PARAMS (XPS) . . . . . . IFMX_CART_ALRM (XPS) . . . . . IFMX_HISTORY_SIZE (XPS) . . . . . IFMX_OPT_FACT_TABS (XPS) . . . . IFMX_OPT_NON_DIM_TABS (XPS) . . IFX_DEF_TABLE_LOCKMODE (IDS) . . IFX_DIRECTIVES. . . . . . . . . IFX_EXTDIRECTIVES . . . . . . . IFX_LONGID . . . . . . . . . . IFX_NETBUF_PVTPOOL_SIZE (UNIX). . IFX_NETBUF_SIZE . . . . . . . . IFX_NO_TIMELIMIT_WARNING. . . . IFX_PAD_VARCHAR (IDS) . . . . . IFX_UPDDESC (IDS) . . . . . . . IFX_XASTDCOMPLIANCE_XAEND. . . IMCADMIN. . . . . . . . . . . IMCCONFIG . . . . . . . . . . IMCSERVER . . . . . . . . . . INFORMIXC (UNIX). . . . . . . . INFORMIXCONCSMCFG (IDS) . . . . INFORMIXCONRETRY . . . . . . . INFORMIXCONTIME . . . . . . . INFORMIXCPPMAP (IDS) . . . . . . INFORMIXDIR . . . . . . . . . INFORMIXKEYTAB (UNIX) . . . . . INFORMIXOPCACHE (IDS) . . . . . INFORMIXSERVER . . . . . . . . INFORMIXSHMBASE (UNIX) . . . . INFORMIXSQLHOSTS . . . . . . . INFORMIXSTACKSIZE . . . . . . . INFORMIXTERM (UNIX) . . . . . . INF_ROLE_SEP (IDS) . . . . . . . INTERACTIVE_DESKTOP_OFF (Windows) ISM_COMPRESSION. . . . . . . . ISM_DEBUG_FILE . . . . . . . . ISM_DEBUG_LEVEL . . . . . . . 144 IBM Informix SQL ガイド: 参照 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 179 181 181 184 185 185 186 187 187 188 189 189 190 190 191 192 192 193 194 195 195 195 196 196 197 197 198 198 199 199 199 201 201 201 202 202 203 204 204 205 206 206 207 207 207 ISM_ENCRYPTION . . . . . . . . . . . . . ISM_MAXLOGSIZE . . . . . . . . . . . . . ISM_MAXLOGVERS. . . . . . . . . . . . . JAR_TEMP_PATH (IDS) . . . . . . . . . . . JAVA_COMPILER (IDS) . . . . . . . . . . . JVM_MAX_HEAP_SIZE (IDS) . . . . . . . . . LD_LIBRARY_PATH (UNIX) . . . . . . . . . . LIBERAL_MATCH (XPS) . . . . . . . . . . . LIBPATH (UNIX). . . . . . . . . . . . . . NODEFDAC . . . . . . . . . . . . . . . ONCONFIG . . . . . . . . . . . . . . . . OPTCOMPIND . . . . . . . . . . . . . . . OPTMSG . . . . . . . . . . . . . . . . OPTOFC . . . . . . . . . . . . . . . . . OPT_GOAL (IDS、UNIX) . . . . . . . . . . . PATH. . . . . . . . . . . . . . . . . . PDQPRIORITY. . . . . . . . . . . . . . . Dynamic Server での PDQPRIORITY の使用. . . . Extended Parallel Server での PDQPRIORITY の使用 . PLCONFIG (IDS) . . . . . . . . . . . . . . PLOAD_LO_PATH (IDS) . . . . . . . . . . . PLOAD_SHMBASE (IDS) . . . . . . . . . . . PSORT_DBTEMP . . . . . . . . . . . . . . PSORT_NPROCS . . . . . . . . . . . . . . RTREE_COST_ADJUST_VALUE (IDS) . . . . . . . SHLIB_PATH (UNIX) . . . . . . . . . . . . STMT_CACHE (IDS) . . . . . . . . . . . . TERM (UNIX) . . . . . . . . . . . . . . . TERMCAP (UNIX) . . . . . . . . . . . . . TERMINFO (UNIX) . . . . . . . . . . . . . THREADLIB (UNIX) . . . . . . . . . . . . TOBIGINT (XPS) . . . . . . . . . . . . . . USETABLEAME (IDS) . . . . . . . . . . . . XFER_CONFIG (XPS) . . . . . . . . . . . . 環境変数のインデックス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 208 208 209 209 209 210 210 210 211 211 212 213 213 214 214 215 216 216 216 217 217 218 218 219 220 220 221 221 222 222 222 223 223 224 本章について さまざまな環境変数 が IBM Informix 製品の機能に影響します。端末を識別、ソフトウ ェアが収納されている場所を指定、またその他の環境パラメータを定義する環境変数を 設定できます。 環境変数には、設定する必要があるものと、オプションのものがあります。設定する必 要ある環境変数には、値を設定するか、デフォルトの設定を適用してください。 第 3 章 環境変数 145 この章では、1 つ以上の IBM Informix 製品に適用される環境変数の使用方法と設定方 法について説明します。 環境変数の種類 この章では、2 種類の環境変数について説明します。 v Informix 特有の環境変数 IBM Informix 製品と連動させる場合は、Informix 環境変数を設定してください。設 定する必要がある環境変数については、使用する IBM Informix 製品のマニュアルを 参照してください。 v オペレーティング システムの環境変数 IBM Informix 製品は、標準オペレーティング システムで適切に設定された特定の環 境変数に依存します。例えば、PATH 環境変数は必ず設定する必要があります。 UNIX 環境では、一部の製品を効果的に使用するため、TERMCAP または TERMINFO 環境変数の設定が必要な場合があります。 デフォルト以外のロケールをサポートする GLS 環境変数については、「IBM Informix: GLS ユーザーズ ガイド」で説明しています。GLS 変数は、156 ページの表 12 の環境 変数のリストおよび 224 ページの表 15 のトピック インデックスに記載しています が、本書では説明しません。 データベース サーバは、その初期化時に有効であった環境変数を使用します。 onstat - g env コマンドは、アクティブな環境設定をリストします。 ヒント: 使用しているクライアント アプリケーションまたは SQL API 特有の追加環境 変数については、該当製品のマニュアルで説明されている場合があります。 重要: データベース初期化中および sysmaster データベース作成中は、ユーザ informix のホーム ディレクトリにある環境変数を絶対に設定しないでください (ホーム ディレクトリにある .informix ファイルも同様です)。 環境変数を設定する場所 (UNIX) UNIX では、次の場所で環境変数を設定できます。 v コマンド行のシステム プロンプト システム プロンプトから環境変数を設定する場合、次にシステムにログインする場 合に再度その変数を割り当てる必要があります。148 ページの『環境変数の使用 (UNIX)』 も参照してください。 v 環境構成ファイル内 146 IBM Informix SQL ガイド: 参照 環境構成ファイルは IBM Informix 製品で使用する環境変数をすべて設定できる共通 または専用ファイルです。こういったファイルを使用すると、コマンド行やシェル ファイルで設定する必要がある環境変数の数を減らすことができます。 v ログイン ファイル内 使用している .login、.cshrc、または .profile ファイルに設定されている環境変数値 は、システムにログインするたびに自動的に割り当てられます。 v SQL のSET ENVIRONMENT 文内 一部の環境変数の値は、SET ENVIRONMENT 文でリセットできます。新しい設定の 範囲は、通常は SET ENVIRONMENT 文を実行したルーチンですが、212 ページの 『OPTCOMPIND』のセクションで説明するように Dynamic Server の OPTCOMPIND 環境変数の場合、および sysdbopen() や sysdbclose() SPL ルーチン で設定できる Extended Parallel Server の環境変数の場合は現行セッションです。これ らのルーチンや SET ENVIRONMENT 文の詳細については、「IBM Informix: SQL ガ イド: 構文」を参照してください。 IBM Informix ESQL/C では、putenv( ) システム呼出しを使用してサポートされている 環境変数を、アプリケーション内に設定できます。また、getenv( ) システム呼出しを使 用して値を抽出できます。ただし、使用している UNIX システムで、これらの関数がサ ポートされている必要があります。putenv( ) と getenv( ) についての詳細は、 「IBM Informix: ESQL/C Programmer’s Manual」およびお手元の C 言語の資料を参照し てください。 環境変数を設定する場所 (Windows) 使用している IBM Informix アプリケーションによって、Windows 環境内の複数の場所 で環境変数を設定できる場合があります。 データベース サーバなどの固有の Windows IBM Informix アプリケーションでは、環 境変数は Windows レジストリにのみ設定できます。レジストリで設定された環境変数 を、他の場所では変更できません。 dbaccess などのように、コマンド プロンプト セッションで実行されるユーティリティ の場合、153 ページの『コマンド プロンプト ユーティリティの環境設定』で説明され ているように、一部の方法で環境変数を設定できます。 SQL の SET ENVIRONMENT 文を使用すると、特定のルーチン固有の環境オプション を設定できます。詳しくは、「IBM Informix: SQL ガイド: 構文」の SET ENVIRONMENT の説明を参照してください。 ESQL/C または Schema Tools といったクライアント アプリケーションを Windows 環 境で使用するには、Setnet32 ユーティリティを使用して環境変数を設定してください。 第 3 章 環境変数 147 Setnet32 ユーティリティについて詳しくは、ご使用のオペレーティング システムの 「IBM Informix: Client Products Installation Guide」を参照してください。 IBM Informix ESQL/C では、ifx_putenv( ) 関数を使用してサポートされている環境変 数を、アプリケーション内に設定できます。また、ifx_getenv( ) 関数を使用して、値を 抽出できます。ただし、使用している Windows システムでこれらの関数がサポートさ れている必要があります。ifx_putenv( ) と ifx_getenv( ) についての詳細は、 「IBM Informix: ESQL/C Programmer’s Manual」を参照してください。 環境変数の使用 (UNIX) 次の各セクションでは、環境変数の設定、設定解除、変更、および確認について説明し ます。すでに IBM Informix 製品を使用している場合、適切な環境変数の一部または全 部が設定されている場合があります。 構成ファイルでの環境変数の設定 IBM Informix 製品と共に供給される共通 (共用) 環境構成ファイルは、 $INFORMIXDIR/etc/informix.rc にあります。この共用ファイルの権限は、644 に設定 する必要があります。 ユーザは、専用の環境構成ファイルに変数を設定することによって、システムまたは共 通の環境変数を無効にできます。このファイルには、次の特性がすべて必要です。 v ユーザのホーム ディレクトリに格納 v .informix と名前を指定 v ユーザのアクセス権を読込み可能に設定 環境構成ファイルには、次の例のようにコメント行 (先頭に # コメント インディケー タをつける) や値を設定する変数定義行を入力できます (変数とその値は空白またはタ ブで区切ります)。 # This is an example of an environment-configuration file # DBDATE DMY4# # These are ESQL/C environment variable settings # INFORMIXC gcc CPFIRST TRUE 環境構成ファイル内の 1 つ以上のエントリを上書きするには、186 ページの 『ENVIGNORE (UNIX)』で説明されている ENVIGNORE 環境変数を使用します。環 境構成ファイルの内容にエラーがないかチェックするには、151 ページの『chkenv ユー ティリティによる環境変数の確認』で説明されている、Informix chkenv ユーティリテ ィを使用します。ファイル内の環境変数の記述が間違っていたり、ファイルが大きすぎ る場合、ユーティリティ chkenv はエラー メッセージを戻します。 148 IBM Informix SQL ガイド: 参照 シェル ファイル、または環境構成ファイルに初めて環境変数を設定する場合、 IBM Informix 製品を使用する前に、シェル プロセスに対してエントリを読むように指 示する必要があります。C シェルを使用する場合、ファイルをソースします。Bourne シェルまたは Korn シェルを使用する場合、ピリオド (.) を使用してファイルを実行し ます。 ログイン時の環境変数設定 環境変数を設定するコマンドを適切なログイン ファイルに追加します。 C シェルの場合 .login または .cshrc Bourne シェルや Korn シェルの場合 .profile 環境変数を設定する構文 標準の UNIX コマンドを使用して環境変数を設定します。次の表に、ABCD 環境変数 に C シェル、Bourne シェル、および Korn シェルの value を設定する方法の例を示し ます。最終行が示すように、Korn シェルも、ショートカットをサポートします。環境変 数では、大文字と小文字が区別されます。 シェル コマンド C setenv ABCD value Bourne ABCD=value export ABCD Korn ABCD=value export ABCD Korn export ABCD=value 次のダイアグラムは、環境変数を設定する構文の本章での表記方法を示しています。こ れらのダイアグラムは、C シェルでの設定方法を示しています。Bourne シェルと Korn シェルについては、先の表で示した構文に従います。 setenv ABCD value 構文ダイアグラムの読み方の詳細については、『はじめに』の xiii ページの『構文ダイ アグラム』を参照してください。 第 3 章 環境変数 149 環境変数の設定解除 環境変数を解除するには、次のコマンドを入力します。 シェル コマンド C unsetenv ABCD Bourne シェルまたは Korn シェル unset ABCD 環境変数設定の変更 すでに設定されている環境変数への情報の追加が必要な場合があります。例えば、UNIX では常に PATH 環境変数が設定されます。IBM Informix 製品を使用する場合、PATH 設定にその IBM Informix 製品の実行可能ファイルが格納されているディレクトリ名を 追加する必要があります。 次の例では、INFORMIXDIR は /usr/informix です。つまり、インストール時に IBM Informix 製品はディレクトリ /usr /informix にインストールされたことになりま す。実行可能ファイルはサブディレクトリ bin、つまり /usr/informix/bin に格納されて います。このディレクトリを C シェルの PATH 環境変数の先頭に追加するには、次の コマンドを使用します。 setenv PATH /usr/informix/bin:$PATH 明示的なパス名を入力する代わりに、次の例に示すように、INFORMIXDIR 環境変数 の値 ($INFORMIXDIR として表されている) を使用できます。 setenv INFORMIXDIR /usr/informix setenv PATH $INFORMIXDIR/bin:$PATH 本バージョンを使用して、入力した PATH エントリが INFORMIXDIR に設定された 検索パスと矛盾しないことを確認し、INFORMIXDIR を変更するたびに PATH をリセ ットする必要がないようにすることをお勧めします。PATH 環境変数を C シェル コマ ンド行で設定する場合、次のコマンドのように、既存の INFORMIXDIR および PATH を中括弧 ({ }) でくくる必要がある場合があります。 setenv PATH ${INFORMIXDIR}/bin:${PATH} 環境変数の設定方法と変更方法の詳細については、使用しているオペレーティング シス テムのマニュアルを参照してください。 環境変数設定の表示 1 つ以上の IBM Informix 製品をインストールした後に現在の環境設定を確認するに は、システム プロンプトに次のコマンドを入力します。 150 IBM Informix SQL ガイド: 参照 UNIX のバージョン コマンド BSD UNIX env UNIX System V printenv chkenv ユーティリティによる環境変数の確認 chkenv ユーティリティは、共通または専用の環境構成ファイルの妥当性検査に使用しま す。chkenv は、ファイル内の環境変数名の妥当性検査を行いますが、その値はチェック しません。環境構成ファイルで使用している IBM Informix 製品が使用するすべての環 境変数を定義する場合、chkenv を使用してデバッグ情報を提供します。 chkenv filename pathname filename デバッグされる環境変数ファイルの名前です。 pathname 環境変数ファイルが存在するディレクトリへのフル ディレクトリ パ スです。 ファイル $INFORMIXDIR/etc/informix.rc は、共用環境構成ファイルです。専用環境構 成ファイルは、.informix としてユーザのホーム ディレクトリに格納されています。 chkenv に pathname を指定しない場合、このユーティリティは共用および専用の両方の 環境構成ファイルをチェックします。pathname を指定すると、chkenv は指定されたフ ァイルのみをチェックします。 次のコマンドを出して共通の環境構成ファイルの内容をチェックします。 chkenv informix.rc ファイル内の環境変数の記述が間違っていたり、ファイルが大き過ぎる場合、chkenv ユ ーティリティによってエラー メッセージが戻されます。この場合は、ファイルを修正し てユーティリティに戻し、修正した環境変数名が正しいか確認できます。 ユーティリティ chkenv から次のメッセージが戻された場合、IBM Informix 製品ではエ ラーが発生した時点以降の環境構成ファイルの行すべてが無視されます。 -33523 filename: Bad environment variable on line number. ファイルに指定した環境変数を製品が無視するようにする場合は、ENVIGNORE 環境 変数も設定できます。環境構成ファイルと ENVIGNORE 環境変数の使用方法および形 式については、186 ページを参照してください。 第 3 章 環境変数 151 優先順位のルール IBM Informix 製品が環境変数にアクセスする場合には、通常、次の優先順位が適用され ます。 1. 最も高い優先順位は、環境 (シェル) で定義される値です。この値はシェル プロン プトに対して明示的に設定します。 2. 2 番目に高い優先順位は、ユーザのホーム ディレクトリ (~/.informix) の専用の環境 構成ファイルで定義された値です。 3. 次に高い優先順位は、共通の環境構成ファイル ($INFORMIXDIR/etc/informix.rc) で 定義された値です。 4. 最も低い優先順位が存在する場合、デフォルト値です。 GLS 環境変数の優先順位については、「IBM Informix: GLS ユーザーズ ガイド」を参 照してください。 重要: 1 つ以上の環境変数を設定してからデータベース サーバを起動して、クライアン ト製品に同じ環境変数を明示的に設定しない場合、クライアントには元の設定が 適用されます。 環境変数の使用方法 (Windows) 次のセクションでは、固有の Windows アプリケーションとコマンド プロンプト ユー ティリティに対する環境変数の設定、表示、設定解除、および修正について説明しま す。 固有の Windows アプリケーションの環境設定 データベース サーバ自身など、IBM Informix 固有の Windows アプリケーションでは Windows レジストリに構成情報を格納します。この情報を変更するには、レジストリ エディタ regedt32.exe を使用する必要があります。 重要: レジストリ エディタを使用して、データベース サーバ環境変数を変更するに は、管理者グループまたは Informix 管理者グループのいずれかのメンバである必 要があります。ユーザをグループに割り当てる方法の詳細については、使用して いるオペレーティング システムのマニュアルを参照してください。 レジストリ エディタによる環境変数の操作: 1. レジストリ エディタ regedt32.exe を起動し、HKEY_LOCAL_MACHINE という名 前のウィンドウを選択します。 2. 左枠で、SOFTWARE レジストリ キー (小さい黄色のファイル フォルダ アイコン として示されている) をダブルクリックします。 SOFTWARE レジストリ キーが展開され、複数のサブキーが表示されます。その内 の 1 つが Informix です。次の順序でツリーを降りていきます。 152 IBM Informix SQL ガイド: 参照 OnLine, dbservername, Environment. dbservername は、ご使用のデータベース サーバの名前になります。 3. 左のウィンドウ枠で「Environment」レジストリ キーを選択すると、右のウィンドウ 枠に環境変数とその値のリストが表示されます (例えば、CLIENT_ LOCALE:REG_SZ:EN_US.CP1252)。 4. 必要に応じて、既存の環境変数を変更します。 a. 「環境変数」をダブルクリックします。 b. 「文字列の編集」ダイアログ ボックスに新しい値を入力します。 c. OK をクリックして値を適用します。 5. 必要に応じて新しい環境変数を追加します。 a. レジストリ エディタで「編集」>「値の追加」を選択します。 b. 「値の名前」編集ボックスに環境変数の名前を入力し、データ型として 「REG_SZ」を選択します。 c. 「OK」をクリックし、「文字列の編集」ダイアログ ボックスに環境変数の値を 入力します。 6. 必要に応じて、環境変数を削除します。 a. 変数名を選択します。 b. レジストリ エディタで「編集」>「削除」を選択します。 コマンド プロンプト ユーティリティの環境設定 コマンド プロンプト ユーティリティに対する環境変数は、次の方法で設定できます。 v コントロール パネルの「システム」アイコンを使用する方法 v コマンド行 セッションを使用する方法 システム アイコンを使用して環境変数を操作する方法 「システム」アイコンが提供するグラフィカル インターフェイスを使用すると、システ ム全体に適用される変数とユーザ固有の変数を作成、変更、および削除できます。「シ ステム」アイコンを使用して設定する環境変数は、どのコマンド プロンプト セッショ ンでも表示できます。 コントロール パネルのシステム アイコンを使用して環境変数を変更するには: 1. 「コントロール パネル」ウィンドウで「システム」アイコンをダブルクリックしま す。 ウィンドウ上部の「詳細」タブをクリックします。2 つのリスト ボックスに、「シ ステム環境変数」と「ユーザ環境変数」が表示されます。「システム環境変数」はシ ステム全体に適用され、「ユーザ環境変数」は個々のユーザのセッションにのみ適用 されます。 第 3 章 環境変数 153 2. 既存の変数の値を変更するには、変更する変数を選択します。 選択した変数の名前とその現在の値が、ウィンドウ下部のボックスに表示されます。 3. 既存の値を強調表示し、新しい値を入力します。 4. 新しい変数を追加するには、既存の変数を強調表示し、ウィンドウ下部のボックスに 新しい変数の名前を入力します。 5. 次に、ウィンドウの下部に新しい変数の値を入力し、「設定」ボタンをクリックしま す。 6. 変数を削除するには、その変数を選択し、「削除」ボタンをクリックします。 重要: 「システム」アイコンを使用してシステム環境変数を変更するには、 Administrators グループのメンバである必要があります。ユーザをグループに割り 当てる方法の詳細については、使用しているオペレーティング システムのマニュ アルを参照してください。 コマンド プロンプトを使用して環境変数を操作する方法 次のダイアグラムに、Windows のコマンド プロンプトで環境変数を設定する構文を示 します。 set ABCD = value value が指定されていない場合、環境変数は存在しなかったかのように設定解除されま す。 構文ダイアグラムの読み方の詳細については、『はじめに』の xiii ページの『構文ダイ アグラム』 を参照してください。 1 つ以上の IBM Informix 製品をインストールした後に現在の設定を確認するには、コ マンド プロンプトに次のコマンドを入力します。 set すでに設定されている環境変数への情報の追加が必要な場合があります。例えば、 Windows 環境では常に PATH 環境変数が設定されます。IBM Informix 製品を使用する 場合、PATH にその IBM Informix 製品の実行可能ファイルが格納されているディレク トリ名を追加する必要があります。 次の例では、INFORMIXDIR は d:¥informix になります。つまり、インストール時 に、IBM Informix 製品は d:¥informix ディレクトリにインストールされたことになりま す。実行可能ファイルはサブディレクトリ bin、つまり d:¥informix¥bin に格納されて います。このディレクトリを PATH 環境変数の値の先頭に追加するには、次のコマン ドを使用します。 set PATH=d:¥informix¥bin;%PATH% 154 IBM Informix SQL ガイド: 参照 明示的なパス名を入力する代わりに、次の例に示すように、INFORMIXDIR 環境変数 の値 (%INFORMIXDIR% として示されている) を使用できます。 set INFORMIXDIR=d:¥informix set PATH=%INFORMIXDIR%¥bin;%PATH% 本バージョンを使用して、入力した PATH エントリが INFORMIXDIR に設定された 検索パスと矛盾しないことを確認し、INFORMIXDIR を変更するたびに PATH をリセ ットする必要がないようにすることをお勧めします。 環境変数の設定と変更の詳細については、使用しているオペレーティング システムのマ ニュアルを参照してください。 dbservername.cmd を使用してコマンド プロンプト環境を初期化する Windows コマンド プロンプトは、オープンされるたびに独立した環境として動作しま す。したがって、その中で設定される環境変数はその特定のコマンド プロンプト イン スタンスに限って有効です。 例えば、1 つのコマンド ウィンドウをオープンして変数 INFORMIXDIR を設定した 後、別のコマンド ウィンドウをオープンして set と入力し、環境をチェックすると、 INFORMIXDIR が新しいコマンド プロンプト セッションに設定されていないことが わかります。 データベース サーバのインストール プログラムでは、コマンド プロンプト ユーティ リティを設定するために使用できるバッチ ファイル が作成されるため、コマンド プロ ンプト セッションが実行されるたびにコマンド プロンプト環境が正しく初期化されま す。バッチ ファイル、dbservername.cmd は、%INFORMIXDIR% にあり、任意のテ キスト エディタで変更できるプレーン テキスト ファイルです。%INFORMIXDIR% に複数のデータベース サーバをインストール済みの場合は、拡張子が .cmd のバッチ ファイルが複数存在することになり、対応するデータベース サーバの名前が各ファイル に付くことになります。 コマンド プロンプトから dbservername.cmd を実行するには、dbservername を入力す るか、コマンド プロンプトを設定し、起動時に dbservername.cmd が自動的に実行さ れるようにします。 優先順位のルール IBM Informix 製品が環境変数にアクセスする場合には、通常、次の優先順位が適用され ます。 1. 最も高い優先順位は、環境で定義される値です。この値はコマンド プロンプトに対 して明示的に設定します。 2. 2 番目に高い優先順位は、「ユーザ環境変数」としてシステム コントロール パネル に定義される値です。 第 3 章 環境変数 155 3. 3 番目に高い優先順位は、「システム環境変数」としてシステム コントロール パネ ルに定義される値です。 4. 最も低い優先順位は、デフォルト値です。 重要: Windows サービスでは、レジストリに設定されている環境変数にのみアクセスす るため、優先順位の先行ルールは IBM Informix 固有の Windows アプリケーシ ョンに適用されません。固有の Windows アプリケーションでは、最も高い優先 順位はレジストリに明示的に定義される変数になり、最も低い優先順位はデフォ ルト値になります。また、1 つ以上の環境変数を設定してからデータベース サー バを起動して、クライアント製品に同じ環境変数を明示的に設定しない場合、ク ライアントには元の設定が適用されます。 環境変数リスト 表 12 に、Informix データベース サーバおよび SQL API 製品で設定可能な環境変数を アルファベット順にリストします。これらの環境変数については、列「参照ページ」に 記入されたページを参照してください。X 記号は、XPS または Dynamic Server (両方 の列がマークされている場合は両方) が環境変数をサポートしていることを示します。 「参照ページ」の列の「ERG」表記は、CDR_ENV 構成パラメータで設定する必要があ る環境変数を表します。詳しくは、「IBM Informix: Dynamic Server エンタープライズ レプリケーション ガイド」の付録の構成パラメータおよび環境変数の説明を参照してく ださい。 「参照ページ」の列の「GLS」表記は、デフォルト以外のロケールで有効な GLS 環境 変数を示します。「IBM Informix: GLS ユーザーズ ガイド」の GLS 環境変数の章に説 明があります。 表 12. 環境変数のアルファベット順リスト 環境変数 AC_CONFIG XPS IDS X X AFDEBUG ANSIOWNER BIG_FET_BUF_SIZE X X CC8BITLEVEL 制約事項 参照 ページ ON-Bar 160 JVM 161 なし 161 SQL API、 DB-Access のみ 161 ESQL/C のみ GLS CDRSITES_731 X ER のみ ERG CDRSITES_92X X ER のみ ERG CDR_LOGDELTA X ER のみ ERG CDR_PERFLOG X ER のみ ERG 156 IBM Informix SQL ガイド: 参照 表 12. 環境変数のアルファベット順リスト (続き) IDS 制約事項 参照 ページ CDR_ROUTER X ER のみ ERG CDR_RMSCALEFACT X ER のみ ERG 環境変数 XPS CLIENT_LOCALE X X なし GLS CPFIRST X X ESQL/C のみ 162 DBACCNOIGN X X DB-Access のみ 163 DBANSIWARN X X なし 164 DBBLOBBUF X X UNLOAD のみ 164 SQL API のみ 165 DBCENTURY DBDATE X X なし 168; GLS DBDELIMITER X X なし 171 DBEDIT X X なし 171 DBFLTMASK X X DB-Access のみ 172 DBLANG X X なし 172; GLS DBMONEY X X なし 173; GLS DBNLS X 174 DBONPLOAD X HPL のみ 176 DBPATH X X なし 176 DBPRINT X X UNIX のみ 178 DBREMOTECMD X X UNIX のみ 178 DBSPACETEMP X X なし 179 X DB-Access、ゲートウェイの み 181 SQL API のみ 181; GLS DBTEMP DBTIME DBUPSPACE X X なし 184 DB_LOCALE X X なし GLS X 推奨しない 185 DEFAULT_ATTACH DELIMIDENT X X なし 185 ENVIGNORE X X UNIX のみ 186 ESQLMF X X ESQL/C のみ GLS FET_BUF_SIZE X X SQL API、DB-Access のみ 187 GLOBAL_DETACH_INFORM X なし 187 GLS8BITFSYS X なし GLS X 第 3 章 環境変数 157 表 12. 環境変数のアルファベット順リスト (続き) 制約事項 参照 ページ X なし GLS X なし GLS X なし 188 IFMX_CART_ALRM X なし 189 IFMX_HISTORY_SIZE X DB-Access 189 IFMX_OPT_FACT_TABS X なし 190 IFMX_OPT_NON_DIM_TABS X なし 190 X なし 191 環境変数 XPS IDS GL_DATE X GL_DATETIME X IBM_XPS_PARAMS IFX_DEF_TABLE_LOCKMODE IFX_DIRECTIVES X X なし 192 IFX_EXTDIRECTIVES X X クライアントのみで設定 192 IFX_LONGID X X なし 193 IFX_NETBUF_PVTPOOL_SIZE X X UNIX のみ 194 IFX_NETBUF_SIZE X X なし 195 IFX_NO_TIMELIMIT_WARNING X X なし 195 IFX_PAD_VARCHAR X なし 195 IFX_UPDDESC X なし 196 IFX_XASTDCOMPLIANCE_XAEND X なし 196 IMCADMIN X 197 IMCCONFIG X 197 IMCSERVER X 198 ESQL/C、UNIX のみ 198 X なし 199 INFORMIXC INFORMIXCONCSMCFG INFORMIXCONRETRY X X なし 199 INFORMIXCONTIME X X なし 199 X なし 201 INFORMIXCPPMAP INFORMIXDIR X X なし 201 INFORMIXKEYTAB X X UNIX のみ 201 X 光ディスク記憶サブシステム 202 のみ INFORMIXOPCACHE INFORMIXSERVER X X なし 202 INFORMIXSHMBASE X X UNIX のみ 203 INFORMIXSQLHOSTS X X なし 204 158 IBM Informix SQL ガイド: 参照 表 12. 環境変数のアルファベット順リスト (続き) 制約事項 参照 ページ X なし 204 X DB-Access、UNIX のみ 205 INF_ROLE_SEP X なし 206 INTERACTIVE_DESKTOP_OFF X Windows のみ 206 環境変数 XPS IDS INFORMIXSTACKSIZE X INFORMIXTERM X ISM_COMPRESSION X X ISM、ON–Bar のみ 207 ISM_DEBUG_FILE X X ISM のみ 207 ISM_DEBUG_LEVEL X X ISM、ON–Bar のみ 207 ISM_ENCRYPTION X X ISM、ON–Bar のみ 208 ISM_MAXLOGSIZE X X ISM のみ 208 ISM_MAXLOGVERS X X ISM のみ 208 JAR_TEMP_PATH X JVM 209 JAVA_COMPILER X JVM 209 JVM_MAX_HEAP_SIZE X JVM 209 SQL API、UNIX のみ 210 なし 210 SQL API、UNIX のみ 210 LD_LIBRARY_PATH LIBERAL_MATCH X LIBPATH NODEFDAC X X なし 211 ONCONFIG X X なし 211 OPTCOMPIND X X なし 212 OPTMSG ESQL/C のみ 213 OPTOFC ESQL/C のみ 213 X UNIX のみ 214 OPT_GOAL PATH X X なし 214 PDQPRIORITY X X なし 215 PLCONFIG X HPL のみ 216 PLOAD_LO_PATH X HPL のみ 217 PLOAD_SHMBASE X HPL のみ 217 PSORT_DBTEMP X X なし 218 PSORT_NPROCS X X なし 218 X なし 219 X なし GLS RTREE_COST_ADJUST_VALUE SERVER_LOCALE X 第 3 章 環境変数 159 表 12. 環境変数のアルファベット順リスト (続き) 環境変数 制約事項 参照 ページ X UNIX のみ 220 X なし 220 XPS IDS X SHLIB_PATH STMT_CACHE TERM X X UNIX のみ 221 TERMCAP X X UNIX のみ 221 TERMINFO X X UNIX のみ 222 ESQL/C、UNIX のみ 222 dbschema のみ 222 なし 223 なし 223 THREADLIB TOBIGINT X USETABLENAME X XFER_CONFIG X ヒント: 156 ページの表 12 にリストされていない環境変数が出てくる場合がありま す。これらの環境変数は通常、本バージョンではサポートされていないか、特 定の前バージョンの製品と下位方向の互換性を維持するために使用されていま す。詳細については、以前のバージョンの IBM Informix のマニュアルを参照 してください。 環境変数 次のセクションでは、IBM Informix データベース サーバ製品およびそのユーティリテ ィが使用する環境変数を (アルファベット順で) 説明します。 重要: 以降の環境変数の説明には、UNIX で環境変数を設定する構文が記載されていま す。Windows で環境変数を設定する方法については、152 ページの『固有の Windows アプリケーションの環境設定』および 153 ページの『コマンド プロン プト ユーティリティの環境設定』の概要を参照してください。 AC_CONFIG AC_CONFIG 環境変数を設定すると、archecker ユーティリティの構成ファイル ac_config.std へのパスを指定できます。ファイル ac_config .std には、archecker のデ フォルトの構成パラメータが含まれます。 setenv AC_CONFIG pathname pathname $INFORMIXDIR/etc または %INFORMIXDIR%¥etc にある ac_config.std 構成ファイルの格納場所です。 archecker の詳細については、「IBM Informix: バックアップおよび復元 ガイド」を参 照してください。 160 IBM Informix SQL ガイド: 参照 AFDEBUG ファイルを作成し、そのメモリは AFDEBUG 環境変数の設定によりオブジェクトに割 り当てられていたものです。メモリの解放について Java 仮想マシン (JVM) から出され た verbose メッセージを保持できます。 setenv AFDEBUG 値は不要です。構成パラメータ AFCRASH を 0x00000010 に設定しても、メッセージ を保持できます。 ANSIOWNER (IDS) ANSI 標準準拠データベースでは、ANSIOWNER 環境変数を 1 に設定することによ り、引用符で区切られていない所有者名内の小文字が大文字になるデフォルトの動作を 防止できます。 setenv ANSIOWNER 1 ANSI 標準準拠データベースにおける所有者名内の小文字が大文字になるのを防止する には、Dynamic Server を初期化する前に ANSIOWNER を設定する必要があります。 次の表に、oblong というデータベース オブジェクトの所有者で、そのユーザ ID が (すべて小文字で) owen であった場合に、oblong の指定された名前が Dynamic Server の ANSI 標準準拠データベースにおいてどのように格納または読み取られるかを示しま す。 表 13. ANSIOWNER あり/なしの場合の、暗黙指定、引用符なし、引用符ありの所有者 名の大文字/小文字の状態 所有者 フォーマット 指定 ANSIOWNER = 1 ANSIOWNER 未設定 暗黙指定: oblong owen.oblong OWEN.oblong 引用符なし: owen.oblong owen.oblong OWEN.oblong 引用符あり: ’owen’.oblong owen.oblong owen.oblong ユーザ ID の大文字/小文字と一致しないため、OWEN.oblong として格納される形式を 指定した SQL 文はエラーとなって失敗します。 BIG_FET_BUF_SIZE (XPS) BIG_FET_BUF_SIZE 環境変数は、FET_BUF_SIZE 環境変数と同じように機能します が、より大きいカーソル バッファをサポートします。 setenv size BIG_FET_BUF_SIZE size デフォルトのバッファ サイズより大きい正整数です。 第 3 章 環境変数 161 size は 4GB までで、問合せによって抽出されたデータを保持するフェッチ バッファの サイズを指定します (バイト単位)。例えば、C シェルを使用する UNIX システムでバ ッファ サイズを 5,000 バイトに設定するには、次のコマンドを入力して BIG_FET_BUF_SIZE 環境変数を設定します。 setenv BIG_FET_BUF_SIZE 5000 BIG_FET_BUF_SIZE を有効な値に設定すると、新しい値はデフォルト値 (または前の BIG_FET_BUF_SIZE 設定値) を上書きします。FETCH バッファのデフォルト設定は 行サイズによって異なります。バイト (BYTE) 型およびテキスト (TEXT) 型値の処理 は、BIG_FET_BUF_SIZE の影響を受けません。 BIG_FET_BUF_SIZE をデフォルト サイズ未満に設定、または小桁整数 (SMALLINT) 型値の範囲外に設定しても、エラーは報告されません。ただし、この場合、無効なフェ ッチ バッファ サイズは無視され、 デフォルトのサイズが使用されます。 BIG_FET_BUF_SIZE を有効な値に設定すると、分散問合せを使用して行を抽出するす べてのリモート データベース サーバにその値が有効であるのと同様に、ローカル デー タベース サーバにも有効になります。その場合、ローカル サーバがコーディネータ で、リモート データベース サーバが従属します。バッファのサイズが大きくなるほ ど、より多くの行を戻すことが可能になり、クライアント アプリケーションが戻り行を 待つ間隔が少なくて済むようになります。大型バッファは、クライアント側バッファに 存在するオーバーヘッドを削減し、パフォーマンスを向上できます。 CPFIRST CPFIRST 環境変数を設定し、使用しているプログラミング環境の ESQL/C ソース フ ァイルすべてに対するデフォルトのコンパイル順序を指定します。 setenv CPFIRST TRUE FALSE CPFIRST を設定せずに ESQL/C プログラムをコンパイルする場合は、デフォルトの順 序で行います。まず、ESQL/C プリプロセッサをプログラム ソース ファイル上で実行 し、その結果生成されたファイルを C 言語プリプロセッサとコンパイラに受け渡しま す。ただし、次の順序で ESQL/C プログラム ソース ファイルをコンパイルできます。 1. C プリプロセッサを実行します。 2. ESQL/C プリプロセッサを実行します。 3. C コンパイラおよびリンカを実行します。 特定のプログラムに対してデフォルト以外のコンパイル順序を使用するには、プログラ ム ソース ファイルに拡張子 .ecp を付けるか、拡張子 .ec を持つプログラム ソース ファイルに esql コマンドで -cp オプションを実行するか、または CPFIRST を設定し ます。 162 IBM Informix SQL ガイド: 参照 CPFIRST を TRUE (大文字のみ) に設定すると、-cp オプションが esql コマンドに渡さ れたか、ソース ファイルに拡張子 .ec または .ecp が付いているかにかかわらず、使用 している環境のすべての ESQL/C ソース ファイル上で ESQL/C プリプロセッサの前に C プリプロセッサを実行します。 CPFIRST 環境変数が TRUE に設定されているシステム上でデフォルトの順序を復元す るには、CPFIRST を FALSE に設定してください。C シェルをサポートする UNIX シ ステムでは、次のコマンドを使用しても同じ結果が得られます。 unsetenv CPFIRST DBACCNOIGN 次の環境のいずれかでエラーが発生した場合、DBACCNOIGN 環境変数は、DB–Access ユーティリティの動作に影響します。 v 非メニュー モードで DB–Access を実行。 v Dynamic Server の場合のみ、メニュー モードで DB–Access を使用して LOAD コマ ンドを実行。 先に述べたいずれかの条件下で DB–Access ユーティリティ実行中にエラーが発生した 場合は、DBACCNOIGN 環境変数を 1 に設定し、不完全なトランザクションをロール バックしてください。 setenv DBACCNOIGN 1 例えば、DB–Access が次の SQL コマンドを実行すると仮定します。 DATABASE mystore BEGIN WORK INSERT INTO receipts VALUES (cust1, 10) INSERT INTO receipt VALUES (cust1, 20) INSERT INTO receipts VALUES (cust1, 30) UPDATE customer SET balance = (SELECT (balance-60) FROM customer WHERE custid = ’cust1’) WHERE custid = ’cust1 COMMIT WORK ここでは、1 つの文につづりが誤った表名があります。表 receipt は存在しません。使 用している環境で DBACCNOIGN が設定されていない場合、DB–Access は 2 つのレ コードを表 receipts に挿入し、表 customer を更新します。ここで、customer の残高 の減少は、挿入された入金の合計を上回ります。 ただし、DBACCNOIGN が 1 に設定されている場合、DB–Access がすべての INSERT および UPDATE 文をロールバックした旨のメッセージが表示されます。このメッセー ジにはエラーの原因も示されるため、これによって問題を解決できます。 第 3 章 環境変数 163 LOAD 文の例 DB–Access がメニュー モードで LOAD 文を実行している場合でも、LOAD 文中のデ ータ整合性をプロテクトするよう DBACCNOIGN を設定できます。 DB–Access SQL メニューから LOAD 文を実行すると仮定します。49 行のデータが正 しくロードされますが、50 番目の行に、エラーの原因となる無効な値が含まれていま す。DBACCNOIGN に 1 を設定した場合、データベース サーバによってデータベース に以前の 49 行は挿入されません。DBACCNOIGN が設定されていない場合は、データ ベース サーバによって最初の 49 行が挿入されます。 DBANSIWARN Informix 拡張セットの ANSI 標準準拠 SQL 構文をチェックする場合は、 DBANSIWARN 環境変数を設定します。他の多くの環境変数とは異なり、 DBANSIWARN には特定の値を設定する必要はありません。任意の値を設定しても、ま たは値を設定しなくても構いません。 setenv DBANSIWARN DBANSIWARN セットを使用しての DB–Access の実行は、機能的にコマンド行から DB–Access (または -ansi フラグとして認識される任意の IBM Informix 製品) を起動し た場合の -ansi フラグの使用と同じです。 DB–Access を実行する前に DBANSIWARN を設定する場合、SQL メニュー内の画面に構文拡張の警告が表示されます。 文が実行される場合、実行時に、DBANSIWARN 環境変数は、SQL 通信域内 (SQLCA) の sqlwarn 配列の 6 番目の文字を W に設定します。それは、SQL 構文の ANSI/ISO 標準に任意の Informix 拡張機能が組み込まれていると認識されます。 SQLCA について詳しくは、「IBM Informix: ESQL/C Programmer’s Manual」を参照し てください。 DBANSIWARN を設定すると、ログアウトするか DBANSIWARN の設定を解除しない 限り、Informix 製品の拡張の有無のチェックが自動的に行われます。Informix の拡張機 能検査をオフにするには、次のコマンドを入力して DBANSIWARN を無効にしてくだ さい。 unsetenv DBANSIWARN DBBLOBBUF DBBLOBBUF 環境変数は、テキスト (TEXT) 型またはバイト (BYTE) 型値が UNLOAD 文で処理されている間、値を一時的にメモリに格納するか、ファイルに格納 するかをコントロールします。DBBLOBBUF は UNLOAD 文にのみ影響します。 setenv 164 DBBLOBBUF IBM Informix SQL ガイド: 参照 size size テキスト (TEXT) 型またはバイト (BYTE) 型データの最大サイズを KB で表します。 テキスト (TEXT) 型またはバイト (BYTE) 型データ サイズがデフォルトの 10KB (ま たは DBBLOBBUF の設定) より小さい場合、テキスト (TEXT) 型またはバイト (BYTE) 型値は、一時的にメモリに格納されます。データ サイズがデフォルトまたは DBBLOBBUF の設定よりも大きい場合、データ値は一時ファイルに書き込まれます。 例えば、バッファ サイズを 15KB に設定するには、DBBLOBBUF を次の例のように 設定します。 setenv DBBLOBBUF 15 この場合、15KB より小さいテキスト (TEXT) 型またはバイト (BYTE) 型値は、一時的 にメモリに格納されます。15KB より大きい値は、一時的にファイルに格納されます。 DBCENTURY 年の省略形を拡張する際に発生する問題を回避するには、アプリケーションに 4 桁の数 字で年を入力する必要があり、かつ常に 4 桁の数字で年を表示する必要があります。 DBCENTURY 環境変数は、省略して 2 桁で入力されたリテラル日付 (DATE) 型 およ び日時 (DATETIME) 型値の拡張方法を指定します。 setenv DBCENTURY R F C P DBCENTURY が設定されていない (または R に設定されている) 場合、現在の年の先 頭 2 桁の数字を使用して、2 桁で表された年を拡張します。例えば、今日の日付が 09/30/2003 である場合、省略された日付 12/31/99 は 12/31/2099 に拡張され、省略され た日付 12/31/00 は 12/31/2000 に拡張されます。 設定値 R、P、F および C で、2 桁で表された年の拡張に関するアルゴリズムを選択し ます。 第 3 章 環境変数 165 設定 アルゴリズム R = 現在 現在の年を表す先頭 2 桁の数字を使用して年の値を拡張します。 P = 過去 拡張された日付は、年の値の省略形を 19 および 20 でプレフィクス変 換することにより作成されます。両方の日付とも現在日付と比較され、 現在日付より前の最も近い日付が使用されます。 F = 未来 拡張された日付は、年の値の省略形を 20 および 21 でプレフィクス変 換することにより作成されます。両方の日付とも現在日付と比較され、 現在日付より先の最も近い日付が使用されます。 C = 近似 拡張された日付は、年の値の省略形を 19、20、および 21 でプレフィ ックス変換することにより作成されます。これら 3 つの日付が現在日 付と比較され、現在日付に最も近い日付が使用されます。 設定値は大文字と小文字を区別し、設定値が無効でもエラーは通知されません。(例え ば) 「f」を入力した場合、デフォルトの設定 (R) が有効になります。設定値 P と F は、過去でも未来でもない現在の日付を戻せません。 1 桁の数字として入力された年は、ゼロ (0) でプレフィックス変換され、拡張されま す。 3 桁の数字で入力された年は拡張されません。100 年より前の年は、先頭にゼロが 入れられます。 拡張西暦年の例 次の例では、DBCENTURY のさまざまな設定により、年の省略形がどのように日付 (DATE) 型と日時 (DATETIME) 型値に拡張されるかを説明します。 DBCENTURY = P: Example data type: DATE Current date: 4/6/2003 User enters: 1/1/1 Prefix with "19" expansion : 1/1/1901 Prefix with "20" expansion: 1/1/2001 Analysis: Both are prior to current date, but 1/1/2001 is closer to current date. 重要: DBCENTURY の効果は、システム クロック カレンダの現在の日付によって決 まります。さらに、この例において省略された日付 1/1/1 は、現在の日付が 1/1/2001 かつ DBCENTURY = P である場合、1/1/1901 に拡張されます。 DBCENTURY = F: Example data type: DATETIME year to month Current date: 5/7/2005 User enters: 1-1 Prefix with "20" expansion: 2001-1 Prefix with "21" expansion: 2101-1 Analysis: Only date 2101-1 is after the current date, so it is chosen. 166 IBM Informix SQL ガイド: 参照 DBCENTURY = C: Example data type: DATE Current date: 4/6/2000 User enters: 1/1/1 Prefix with "19" expansion : 1/1/1901 Prefix with "20" expansion: 1/1/2001 Prefix with "21" expansion: 1/1/2101 Analysis: Here 1/1/2001 is closest to the current date, so it is chosen. DBCENTURY = R または DBCENTURY が未設定: Example data type: DATETIME year to month Current date: 4/6/2000 User enters: 1-1 Prefix with "20" expansion: 2001-1 Example data type: DATE Current date: 4/6/2003 User enters: 0/1/1 Prefix with "20" expansion: 2000/1 Analysis: In both examples, the Prefix with "20" algorithm is used. ロケールがグレゴリオ暦でなく、ヘブライ暦やイスラム暦などを指定している場合、 DBCENTURY の設定は IBM Informix 製品に影響しません。年が省略されている場合 は、現在の年の先行桁が暦システムの代わりに使用されます。 年の省略形とデータベース オブジェクト内の式 データベース オブジェクトにおける式 (チェック制約、フラグメント化式、SPL ルーチ ン、トリガ、または UDR を含む) が 1 桁または 2 桁の数字で年を表すリテラル日付 (DATE) 型または日時 (DATETIME) 型値で構成される場合、データベース サーバは、 データベース オブジェクトが作成された場合 (または最後に変更された場合) の DBCENTURY (およびその他の関連する環境変数) の設定を使用して式の値を求めま す。DBCENTURY が新しい値にリセットされる場合、年の省略形が拡張されると新し い値は無視されます。 例えば、ユーザが表を作成して、列 birthdate に対して次のチェック制約を定義すると 仮定します。 birthdate < ’09/25/50’ 式は、制約が定義された場合の DBCENTURY の値に従って解釈されます。列 birthdate を含む表が 09/23/2000 に作成されて、DBCENTURY =C の場合、チェック制 約式は一貫して列 birthdate に対して挿入や更新が実行された場合の birthdate < ’09/25/1950’ と解釈されます。ユーザが列 birthdate に挿入や更新を実行した場合に設 定された DBCENTURY の値が異なる場合でも、チェック制約式は、そのチェック制約 が定義された場合 (または最後に変更された場合) の設定に従って解釈されます。 第 3 章 環境変数 167 以前のバージョンの Dynamic Server で作成されたデータベース オブジェクトは、作成 日時設定値の優先順位をサポートしません。 既存のオブジェクトにこの機能を取得させるには: 1. オブジェクトを削除します。 2. オブジェクトを再作成します (または、フラグメント化式の場合は、一度切り離し、 もう一度連結します)。 オブジェクトが再定義された後、オブジェクトの式内の日付リテラルは、オブジェクト が作成された場合または最後に変更された場合の環境に従って解釈されます。そうでな い場合は、実行時の環境に依存して動作し、変更された場合に競合する場合がありま す。 日付式の値の求め方が新旧で異なるため、既存オブジェクトと新規オブジェクトが混在 するデータベースの管理は、複雑になります。これを回避するには、すべての既存オブ ジェクトの再定義をお勧めします。 DBCENTURY の値と現在の日付以外にも、データベース サーバによる日付 (DATE) 型および日時 (DATETIME) 型値の解釈方法を決定する要因があります。DBDATE、 DBTIME、GL_DATE、および GL_DATETIME 環境変数も日付の解釈方法に影響を与 えます。GL_DATE と GL_DATETIME の詳細については、「IBM Informix: GLS ユー ザーズ ガイド」を参照してください。 重要: Dynamic Server および Extended Parallel Server に対する DBCENTURY の動作 は、以前のバージョンと互換性がありません。 DBDATE DBDATE 環境変数には、日付 (DATE) 型の値の表示形式を指定します。C シェルを使 用する UNIX システムでは、この構文を使用して DBDATE を設定してください。 setenv DBDATE MD DM Y4 Y2 Y4 Y2 MD DM / . . 0 次の形式記号が DBDATE 設定で有効です。 168 - . / 日付 (DATE) 型書式で区切り記号として表示できる文字です。 0 時間単位間に区切り記号を表示しないことを表します。 D、M 日と月を表す文字です。 Y2、Y4 日付の年と、年の精度を表す文字です。 IBM Informix SQL ガイド: 参照 元号ベースの日付構文をサポートしている東アジア ロケールもあります。元号ベースの 形式についての詳細は、「IBM Informix: GLS ユーザーズ ガイド」を参照してくださ い。 DBDATE は表示形式の次の属性を指定できます。 v 日付の時間単位 (年、月、日) の順序 v 年を 2 桁の数字 (Y2) または 4 桁の数字 (Y4) のどちらで表示するか v 年、月、日、時間単位間の区切り記号 米国英語 (U.S. English) ロケールでは、DBDATE のデフォルトは MDY4/ です。M は月 を、D は日を、Y4 は 4 桁の数字で年を表し、スラッシュ (/) は時間単位の区切り記号 (例えば 01/08/2002) となります。スラッシュ以外で区切り記号として使用できる文字 としては、ハイフン (-)、ピリオド (.)、ゼロ (0) があります。ゼロは区切り記号をつけ ないことを示します。区切り記号にハイフン、ピリオド、非ゼロの文字を指定、または DBDATE 使用に何の区切り記号も指定しない場合、スラッシュ (/) がデフォルトで使 用されます。 クライアントで DBDATE が設定されていない場合、クライアントのデフォルト MDY4/ は、データベース サーバ上の任意の DBDATE 設定で上書きされます。クライアント で DBDATE が設定されている場合、(データベース サーバの設定ではなく) その値が クライアントで使用されます。 次の表に、有効な DBDATE の設定と、それに対応する 2005 年 1 月 8 日の表現を示 します。 DBDATE 設定 2005 年 1 月 8 日 の表現 DBDATE 設定 2005 年 1 月 8 日 の表現 MDY4/ 01/08/2005 Y2DM. 05.08.01 DMY2- 08-01-05 MDY20 010805 MDY4 01/08/2005 Y4MD* 2005/01/08 形式 Y4MD* (アスタリスクは有効な区切り記号でない) および MDY4 (区切り記号が定義 されていない) の両方とも、デフォルトの記号 (スラッシュ) を区切り記号として表示さ れます。 重要: Y2 形式を使用している場合、DBCENTURY 環境変数の設定は、データ入力時の リテラル 日付 (DATE) 型値の解釈方法にも影響します。 また、IBM Informix ESQL/C が呼び出す特定のルーチンは、DBDATE 変数ではなく DBTIME 変数を使用し、日時 (DATETIME) 型書式の各国対応仕様を設定できます。詳 しくは、181 ページの『DBTIME』の DBTIME 環境変数の説明および「IBM Informix: ESQL/C Programmer’s Manual」を参照してください。 第 3 章 環境変数 169 DBDATE 変数の設定は、GL_DATE 環境変数の設定より優先され、同様に CLIENT_ LOCALE が指定する任意のデフォルトの日付 (DATE) 型書式よりも優先されます。 GL_DATE と CLIENT_LOCALE の詳細については、「IBM Informix: GLS ユーザー ズ ガイド」を参照してください。 エンド ユーザ フォーマットは以下のようなコンテキストに影響を与えます。 v 日付 (DATE) 型値を表示する場合、IBM Informix 製品は DBDATE 環境変数を使用 して出力の形式を整えます。 v 日付 (DATE) 型値のデータ入力中は、IBM Informix 製品は入力値の解釈に DBDATE 環境変数を使用します。 例えば、INSERT 文にリテラル日付 (DATE) 型値を指定する場合、データベース サー バは、指定するリテラル値が DBDATE が指定する形式と互換性があると予想します。 同様に、データベース サーバは、DATE( ) 関数への引数として指定したデータが DBDATE 形式であると解釈します。 データベース オブジェクトにおける日付 (DATE) 型式 データベース オブジェクトにおける式 (チェック制約、フラグメント化式、 SPL ルー チン、トリガ、または UDR を含む) がリテラル 日付 (DATE) 型値で構成される場 合、データベース サーバは、データベース オブジェクトが作成された場合 (または最 後に変更された場合) の DBDATE (およびその他の関連環境変数) の設定を使用して式 の値を求めます。DBDATE が新しい値にリセットされる場合、リテラル日付 (DATE) 型が評価される場合に新しい値は無視されます。 例えば、DBDATE が MDY2/ に設定され、ユーザが列 orderdate に次のチェック制約を 付けて表を作成すると仮定します。 orderdate < ’06/25/98’ 上記の式の日付は、制約が定義された場合の DBDATE の値に従って形式が設定されま す。チェック制約式は、列 orderdate に対する DBDATE の挿入または更新中の値にか かわらず、orderdate < ’06/25/98’として解釈されます。ユーザが値 ’30/01/98’ を列 orderdate に挿入した場合に DBDATE が DMY2/ にリセットされるとします。挿入された データ値は日付書式 DMY2/ を使用し、チェック制約式は日付書式 MDY2/ を使用しま す。 常に実行時の環境に従って評価される Informix データベース サーバの以前のバージョ ンからの既存オブジェクトについての詳細は、167 ページの『年の省略形とデータベー ス オブジェクト内の式』を参照してください。そのセクションでは、オブジェクトが定 義された場合 (またはオブジェクトが最後に変更された場合) に有効だった環境変数の 設定に従って日付が解釈されるよう、オブジェクトを再定義する方法について説明しま す。 170 IBM Informix SQL ガイド: 参照 重要: Dynamic Server および Extended Parallel Server に対する DBDATE の動作は、 以前のバージョンと互換性がありません。 DBDELIMITER DBDELIMITER 環境変数は、dbexport ユーティリティおよび LOAD 文と UNLOAD 文で使用されるフィールド区切り記号を指定します。 setenv DBDELIMITER ’delimiter’ アンロードするデータ ファイルのフィールド区切り記号です。 delimiter delimiter にはあらゆる単一文字が使用できますが、次にリストした文字は使用できませ ん。 v 16 進数字 (0 から 9、a から f、A から F) v 改行または CTRL-J v 円記号 (¥) デフォルトは縦線 (| = ASCII 124) です。例えば、フィールド区切り記号をプラス (+) 記号に変更するには、DBDELIMITER を次のように設定します。 setenv DBDELIMITER ’+’ DBEDIT DBEDIT 環境変数は、DB–Access 内の SQL 文およびコマンド ファイルに使用するテ キスト エディタを指定します。DBEDIT が設定されている場合、指定されたエディタ が直接起動します。DBEDIT が設定されていない場合は、残りの作業でデフォルトとし て使用するテキスト エディタを指定するようにプロンプトが表示されます。 setenv editor DBEDIT editor 使用するテキスト エディタの名前です。 ほとんどの UNIX システムでは、デフォルトのテキスト エディタは vi になっていま す。他のテキスト エディタを使用する場合は、そのテキスト エディタが単純な ASCII ファイルを作成することを確認してください。文書モード でドキュメントを扱うワード プロセッサによってはプリンタ コントロール文字を導入しており、IBM Informix 製品 動作の障害になる場合があります。 EMACS テキスト エディタを指定するには、次のコマンドを入力して DBEDIT を設定 します。 setenv DBEDIT emacs 第 3 章 環境変数 171 DBFLTMASK DB–Access ユーティリティは、実数 (FLOAT) 型、小桁実数 (SMALLFLOAT) 型、およ び DECIMAL(p) 型の浮動小数点を 14 文字バッファ以内で表示します。デフォルトに より、DB–Access は、この文字バッファに収まるように、小数点の右側に数字を表示し ます。したがって、DB–Access が表示する 10 進数の実際の数字は、浮動小数点値のサ イズによって異なります。 浮動小数点値の小数点の右側に表示される桁数を減らすには、DBFLTMASK に必要な 桁数を設定します。 setenv DBFLTMASK scale IBM Informix クライアント アプリケーションで、浮動小数点値に表 示する 10 進数の桁数です。ここで、scale はデフォルトで表示される 桁数 16 よりも小さい値を設定する必要があります。 scale 浮動小数点値の小数点の右側に DBFLTMASK で指定した桁数よりも多くの桁が表示さ れる場合、DB–Access によってその値は指定の桁数まで丸められます。浮動小数点値の 小数点の右側に表示される値が少ない場合、DB–Access によって値はゼロでパッドされ ます。ただし、DBFLTMASK に、14 文字バッファに収まらない値を設定すると、 DB–Access によってこのバッファに収まる桁数まで収められます。 DBLANG DBLANG 環境変数には、$INFORMIXDIR のサブディレクトリまたは IBM Informix 製品が使用するコンパイル済みのメッセージ ファイルが入れられているディレクトリの 絶対パス名を指定します。 setenv DBLANG relative_path full_path relative_path $INFORMIXDIR のサブディレクトリです。 full_path コンパイル済みのメッセージ ファイルへのパス名です。 デフォルトでは、IBM Informix 製品はコンパイル済みのメッセージを $ INFORMIXDIR/msg ディレクトリのロケール指定のサブディレクトリに書き込みま す。これらのコンパイル済みメッセージ ファイルの拡張子は .iem です。作成したメッ セージ ファイルの格納などに、$INFORMIXDIR /msg 以外のメッセージ ディレクト リを使用する場合は、以下の手順を実行してください。 $INFORMIXDIR/msg 以外のメッセージ ディレクトリを使用するには: 1. mkdir コマンドを使用して、メッセージ ファイル用に適切なディレクトリを作成し ます。 このディレクトリは、$INFORMIXDIR、$INFORMIXDIR/msg、またはその他の任 意のディレクトリの下に作成できます。 172 IBM Informix SQL ガイド: 参照 2. 新規ディレクトリの所有者とグループを informix とし、このディレクトリへのアク セス権を 755 とします。 3. DBLANG 環境変数に新規ディレクトリを設定します。これが $INFORMIXDIR や $INFORMIXDIR/msg のサブディレクトリの場合は、新規ディレクトリへの相対パ スをリストするのみで済みます。それ以外の場合、ディレクトリの絶対パス名を指定 する必要があります。 4. 作成した .iem ファイルまたはメッセージ ファイルを $DBLANG で指定した新規 メッセージ ディレクトリにコピーします。 このメッセージ ディレクトリ内のすべてのファイルは、所有者とグループを informix とし、アクセス権を 644 にします。 デフォルトの米国英語 (U.S. English) ロケールを使用する IBM Informix 製品は、以下 の順序でメッセージ ファイルを検索します。 1. $DBLANG の中。DBLANG に絶対パス名が設定されている場合 2. $INFORMIXDIR/msg/$DBLANG の中。DBLANG に相対パス名が設定されている場 合 3. $INFORMIXDIR/$DBLANG の中。DBLANG に相対パス名が設定されている場合 4. $INFORMIXDIR/msg/en_us/0333 の中 5. $INFORMIXDIR/msg/en_us.8859-1 の中 6. $INFORMIXDIR/msg の中 7. $INFORMIXDIR/msg/english の中 メッセージの検索パスについての詳細は、「IBM Informix: GLS ユーザーズ ガイド」の DBLANG の説明を参照してください。 DBMONEY DBMONEY 環境変数は、小桁実数 (SMALLFLOAT) 型、実数 (FLOAT) 型、10 進数 (DECIMAL) 型、または金額 (MONEY) 型列における値の表示形式、およびこれらのデ ータ型から派生した任意の複素数データの表示形式を指定します。 setenv DBMONEY ’$’ front ’front ’ . , back ‘back’ $ 他の front 記号 (<前置>記号) が指定されていない、または DBMONEY が設定されていない場合の、デフォルト ロケールで、金 額 (MONEY) 型値の先頭に付けられる通貨記号です。 , または . 実数 (FLOAT) 型、10 進数 (DECIMAL) 型、または金額 (MONEY) 型値の整数部分と小数部分を分けるコンマまたはピリオド ( デフォル ト) です。指定しない方の記号が、3 桁区切り記号となります。 第 3 章 環境変数 173 back 金額 (MONEY) 型値の後ろに付けられる通貨記号です。 front 金額 (MONEY) 型値の先頭に付けられる通貨記号です。 back 記号 (<後置>記号) には、数字、コンマ (,)、ピリオド (.) 以外のロケールがサポー トする 7 バイトまでの文字を使用できます。front 記号 (<前置> 記号) には、数字、コ ンマ (,)、ピリオド (.) 以外のロケールがサポートする 7 バイトまでの文字を使用でき ます。front (<前置>記号) または back (<後置>記号) にアルファベット文字以外の文字 を指定する場合、front または back 設定を 一重引用符 (’) で囲む必要があります。 金額 (MONEY) 型値を表示する場合、IBM Informix 製品は DBMONEY 設定を使用し て出力形式を整えます。ただし、DBMONEY はデータベースの列に格納されるデータ 値の内部形式には影響しません。 DBMONEY を設定しないと、デフォルトのロケールである米国英語 (U.S. English) の 金額 (MONEY) 型値は、先頭にドル記号 ($) が付き、金額 (MONEY) 型値の整数部分 と小数点以下の部分がピリオド (.) で分離されます。back 記号 (<後置>記号) は使用さ れません。例えば、100.50は $100.50 の形式に設定されます。 金額 (MONEY) 型値を、通貨記号 DM とコンマ (,) を小数点記号として使用する DM (ドイツ マルク) 単位で表すと仮定します。次のコマンドを入力して DBMONEY 環境 変数を設定します。 setenv DBMONEY DM, ここで、DM は、金額 (MONEY) 型値の先頭に付けられる front 通貨記号であり、コン マは 金額 (MONEY) 型値の整数部分と小数部分を分けます。その結果、値 100.50 は DM100,50 として表示されます。 デフォルト以外のロケールで DBMONEY が金額 (MONEY) 型値の形式を設定する方法 の詳細については、「IBM Informix: GLS ユーザーズ ガイド」を参照してください。 DBNLS (IDS) DBNLS 環境変数は、自動データ型変換がクライアント システムの各国語文字 (NCHAR) 型と各国語可変長文字 (NVARCHAR) 型データベース列間、および文字 (CHAR) 型と可変長文字 (VARCHAR) 型の変数間 (それぞれ) でサポートするか指定し ます。 広域言語サポート (GLS) に DBNLS 環境変数は不要です。ただし、Dynamic Server デ ータベースは、DBNLS の既存の動作を継続してサポートし、各国語文字 (NCHAR) 型 または各国語可変長文字 (NVARCHAR) 型列で構成される表を取り扱うアプリケーショ ンをサポートします。 setenv DBNLS ‘1’ ‘2’ 174 IBM Informix SQL ガイド: 参照 C シェルを使用する UNIX システムでは、次のコマンド行が DB-Access、IBM Informix SQL、IBM Informix 4GL、IBM Informix Dynamic 4GL、と いったクライアント アプリケーションおよび ESQL/C または ESQL/COBOL といった 埋込み SQL アプリケーションを有効化し、クライアント アプリケーションの文字 (CHAR) 型と可変長文字 (VARCHAR) 型の変数間、およびデータベースの各国語文字 (NCHAR) 型と各国語可変長文字 (NVARCHAR) 型列間で自動的に変換します。 setenv DBNLS 1 また、この設定は、各国語文字 (NCHAR) 型列から抽出された値の、文字 (CHAR) 型 変数への自動変換、および各国語可変長文字 (NVARCHAR) 型列の値の、可変長文字 (VARCHAR) 型変数への自動変換もサポートします。 同様に、DBNLS = 1 の場合、文字 (CHAR) 型変数として格納された文字列は、各国語 文字 (NCHAR) 型列に挿入でき、可変長文字 (VARCHAR) 型変数として格納された文 字列は、各国語可変長文字 (NVARCHAR) 型データベース列に挿入できます。 これらの機能をサポートするには、クライアント システム上で DBNLS が 1 に設定さ れている必要があります。この設定により、クライアント システムにおいて、クライア ント ロケールで指定された形式での日付、番号、および通貨記号の表示が可能になりま す。 逆に、次の各コマンド行はクライアント アプリケーションの文字 (CHAR) 型と可変長 文字 (VARCHAR) 型の変数間の自動変換、およびデータベースの各国語文字 (NCHAR) 型と各国語可変長文字 (NVARCHAR) 型列間の自動変換を使用不可にし、また、 Dynamic Server がクライアント システムのロケール ファイルを使用不可にします。 setenv DBNLS unsetenv DBNLS C シェルを使用する UNIX システムでは、これらのコマンドのいずれも各国語文字 (NCHAR) 型および各国語可変長文字 (NVARCHAR) 型データ値への自動変換、または これらのデータ型からの自動変換を使用不可にします (DBNLS に何の値も設定しない ことにより)。 DBNLS のもう 1 つの可能な設定は 2 です。コマンド行で以下のように入力すると仮 定します。 setenv DBNLS 2 これにより (クライアント システムで DBNLS が 1 または 2 に設定されている場 合)、各国語文字 (NCHAR) 型と文字 (CHAR) 型との間、および各国語可変長文字 (NVARCHAR) 型と可変長文字 (VARCHAR) 型との間での自動データ型変換がサポート されますが、データベース サーバはクライアント システムから異なるロケールを使用 できます。 第 3 章 環境変数 175 DBONPLOAD (IDS) DBONPLOAD 環境変数は ハイパフォーマンス ローダ (HPL) のユーティリティ onpload が使用するデータベース名を指定します。DBONPLOAD 環境変数を設定する と、onpload はデータベース名として指定された名前を使用します。そうでない場合 は、デフォルトのデータベース名は onpload になります。 setenv DBONPLOAD dbname ユーティリティ onpload が使用するデータベース名を指定します。 dbname 例えば、データベース名として load_db を指定するには、次のコマンドを入力します。 setenv DBONPLOAD load_db 詳しくは、「IBM Informix: ハイ パフォーマンス ローダ ユーザーズ ガイド」を参照し てください。 DBPATH DBPATH 環境変数は、データベースを含むデータベース サーバを識別します。 DBPATH は、DB–Access がコマンド スクリプト (.sql ファイル) を検索する現行ディ レクトリ以外のディレクトリも指定します。 CONNECT 文、DATABASE 文、START DATABASE 文、および DROP DATABASE 文は、DBPATH を使用して 2 つの条件下でデータベースを配置します。 v データベースの格納場所が明示的に記述されていない場合 v デフォルト サーバ内にデータベースを配置できない場合 CREATE DATABASE 文は DBPATH を使用しません。 新しい DBPATH エントリを既存のエントリに追加する方法については、150 ページの 『環境変数設定の変更』を参照してください。 : [16] setenv 176 DBPATH pathname / / servername / / servername / full_pathname full_pathname .sql ファイルが格納されたディレクトリの root からの絶対パスで す。 pathname .sql ファイルが格納されたディレクトリの有効な相対パスです。 servername データベースが格納された Informix データベース サーバの名前で す。servername を使用してデータベース ファイルを参照することは できません。 IBM Informix SQL ガイド: 参照 DBPATH には最大 16 個のエントリを記述できます。各エントリは、128 文字以下で ある必要があります。さらに、DBPATH の最大長は DBPATH を設定するハードウェ ア プラットフォームによって決定されます。 CONNECT 文、DATABASE 文、START DATABASE 文、または DROP DATABASE 文を使用してデータベースにアクセスすると、最初に文で指定されたディレクトリかデ ータベース サーバ内でデータベースを検索します。データベース サーバを指定しない と、INFORMIXSERVER 環境変数に指定されているデフォルトのデータベース サーバ が使用されます。 データベースが初期検索中に見つからなかった場合、および DBPATH を設定した場合 は、DBPATH に指定されているデータベース サーバおよびディレクトリで、指定され たデータベースが検索されます。これらのエントリは、DBPATH 設定にリストされて いる順序どおりに検索されます。 DB-Access での環境変数 DBPATH の使用 DB–Access を使用しており、データベースが選択されていない状態で「SQL」メニュー の「Choose」オプションを選択すると、ディレクトリ内のすべての .sql ファイルが DBPATH にリストされます。一度データベースを選択すると、.sql ファイルの検索に は DBPATH は使用されません。現在作業中のディレクトリ内の .sql ファイルのみが 表示されます。 ローカル ディレクトリの検索 データベース サーバ名を指定せずにパス名を使用して、ローカル コンピュータ上に .sql スクリプトがあるかを検索させます。次に示すのは、DB–Access がまず現行ディレ クトリ内、次にローカル コンピュータ上の Joachim ディレクトリと Sonja ディレクト リ内にデータベース ファイルがあるかを検索する、DBPATH 環境変数の設定です。 setenv DBPATH /usr/joachim:/usr/sonja 前の例で示したように、パス名にディレクトリ名を指定してもデータベース サーバ名を 指定しないと、ディレクトリの検索は INFORMIXSERVER が指定するデフォルトのデ ータベース サーバが実行されるマシン上で行われます。202 ページの 『INFORMIXSERVER』を参照してください。例えば、前述の例では、 INFORMIXSERVER に quality が設定されている場合、DBPATH 値は、次の例のよう に解釈 されます。この場合、データベース サーバ名の前にはダブル スラッシュが付き ます。 setenv DBPATH //quality/usr/joachim://quality/usr/sonja ネットワーク接続したマシンでのデータベースの検索 複数のデータベース サーバを使用する場合は、DBPATH に、データベースがあるか検 索するデータベース サーバおよびディレクトリ名を明示的に指定できます。例えば、 INFORMIXSERVER に quality を設定しているが、データベース サーバ marketing に /usr/joachim があるか検索する場合は、DBPATH を次のように設定します。 第 3 章 環境変数 177 setenv DBPATH //marketing/usr/joachim:/usr/sonja サーバ名の指定 DBPATH にはデータベース サーバ名のみを指定できます。この機能により、データベ ースの位置指定のみが可能です。コマンド ファイルの位置指定には使用できません。 データベース管理者は、DBPATH で記述されているデータベース サーバをファイル $INFORMIXDIR/etc/sqlhosts に入れる必要があります。通信構成ファイルおよびデータ ベース サーバ名についての詳細は、「IBM Informix: Dynamic Server 管理者ガイド 」 および「IBM Informix: Dynamic Server 管理者の参照」を参照してください。 例えば、INFORMIXSERVER に quality を設定した場合、DBPATH を次の例のように 設定すると、データベースがデータベース サーバ quality 上にあるかを検索し、次に marketing 上にあるかを検索できます。 setenv DBPATH //marketing この例で DB–Access を使用する場合、「DATABASE」メニューの「Select」オプション を選択すると、データベース サーバ quality と marketing 上にあるすべてのデータベ ースの名前が表示されます。 DBPRINT DBPRINT 環境変数は、デフォルトの印刷プログラムを指定します。 setenv DBPRINT program program 標準 ASCII 出力の先頭に付けられる任意のコマンド、シェル スクリ プト、または UNIX ユーティリティです。 DBPRINT を設定しない場合、デフォルトの program は次の 2 つの場所のいずれかに あります。 v ほとんどの BSD UNIX システムでは、デフォルトのプログラムは lpr になっていま す。 v UNIX System V では、デフォルトの印刷ユーティリティは通常 lp になっていま す。 次のコマンドを入力して、DBPRINT 環境変数に印刷プログラム myprint を設定しま す。 setenv DBPRINT myprint DBREMOTECMD (UNIX) DBREMOTECMD 環境変数を設定すると、データベース サーバでリモート テープ操 作を行うデフォルトのリモート シェルを無効にできます。dbremotecmd は単一コマン ドまたは絶対パス名のいずれにも設定できます。 178 IBM Informix SQL ガイド: 参照 setenv DBREMOTECMD command pathname command デフォルトのリモート シェルを無効にするコマンドです。 pathname デフォルトのリモート シェルを無効にするパス名です。 絶対パス名を指定しない場合、データベース サーバによって、PATH に指定された command があるか検索されます。その他のディレクトリにある類似した名前のプログラ ム、および restricted shell (/usr/bin/rsh) との混乱を避けるため、対話型 UNIX プラッ トフォームでは、絶対パス名構文の使用を強くお勧めします。 次のコマンドは、DBREMOTECMD を単一コマンド名に設定します。 setenv DBREMOTECMD rcmd 次のコマンドは、DBREMOTECMD が絶対パス名を指定するよう設定します。 setenv DBREMOTECMD /usr/bin/remsh DBREMOTECMD の詳細については、「IBM Informix: Archive and Backup Guide」の データベース サーバでのアーカイブ、復元、論理ログ バックアップのためのリモート テープ装置の使用方法を参照してください。 DBSPACETEMP DBSPACETEMP 環境変数は、一時表を作成する DB 領域を指定します。 コロン (:) またはコンマ (,) で区切って DB 領域をリストし、複数のディスクに渡って 一時領域を広げることができます。 , setenv DBSPACETEMP temp_dbspace temp_dbspace 既存の有効な一時 DB 領域の名前です。 DBSPACETEMP は、DBSPACETEMP パラメータがデータベース サーバの構成ファイ ル内で指定するあらゆるデフォルトの DB 領域を上書きします。 重要: DBSPACETEMP にリストした DB 領域は、ロウ UNIX デバイスとして割り当 てられているチャンクで合成されている必要があります 例えば、次のコマンドは、一時表に対して 3 つの DB 領域を指定するよう DBSPACETEMP 環境変数を指定しています。 setenv DBSPACETEMP sorttmp1:sorttmp2:sorttmp3 第 3 章 環境変数 179 DB 領域のエントリはコロン (:) またはコンマ (;) で区切ります。DB 領域の数は、オ ペレーティング システムで定義されたように環境変数の最大サイズに制限されます。 DB 領域が存在しない場合には、環境変数で指定された DB 領域は作成されません。 ユーザが明示的 に作成する一時表と、データベース サーバが暗黙 のうちに作成する一 時表の、2 つのクラスの一時表があります。一時表の両方の型に対して DB 領域を指定 するには、DBSPACETEMP を使用します。 CREATE TEMP TABLE 文で明示的な一時表を作成し、IN DB 領域 節または FRAGMENT BY 節のいずれにも表の DB 領域を指定しない場合、表の作成場所はデー タベース サーバによって DBSPACETEMP の設定値を使用して決定されます。 SELECT INTO TEMP 文で明示的な一時表を作成する場合、表の作成場所はデータベー ス サーバによって DBSPACETEMP 環境変数の設定値を使用して決定されます。 DBSPACETEMP が設定されており、それによってリストされる DB 領域にロギング DB 領域と非ロギング DB 領域の両方が含まれる場合、データベース サーバは、ロギ ング DB 領域にトランザクション ログ機能を暗黙的または明示的にサポートする一時 表を格納し、非ロギング DB 領域に非ロギング一時表を格納します。 データベース サーバは、結合操作 (GROUP BY 節を使用した SELECT 文、ORDER BY 節を使用した SELECT 文、およびインデックスの作成) の実行中に独自の用途に合 わせて、暗黙のうちに一時表を作成します。 明示的または暗黙的な一時表が作成されると、データベース サーバでは、一時データを 書き込むためにディスク領域が使用されます。一時表の格納場所について設定値または 文の指定の中に競合が存在する場合、これらの競合は、以下に示す降順 (高から低) の 優先順位で解決されます。 1. DDL 文または DML 文の IN 節または FRAGMENT BY 節の指定内容 2. Extended Parallel Server の場合、SET TEMP TABLE_SPACE 文の指定内容 3. UNIX プラットフォームでは、環境変数 PSORT_DBTEMP が設定されている場合 は、この変数で指定する 1 つ以上のオペレーティング システム ディレクトリ 4. 環境変数 DBSPACETEMP が設定されている場合、この変数で指定する 1 つ以上の DB 領域 5. ONCONFIG パラメータ DBSPACETEMP で指定する 1 つ以上の DB 領域 6. ONCONFIG パラメータ TABLESPACE で指定する 1 つ以上の DB 領域 7. /tmp (UNIX) または %temp% (Windows) にあるオペレーティング システムのファ イル領域 8. Extended Parallel Server では、上記のいずれも指定されていない場合は非クリティカ ル領域 9. Dynamic Server では、上記のいずれも指定されていない場合は、データベースが作 成された領域 180 IBM Informix SQL ガイド: 参照 重要: DBSPACETEMP 環境変数に無効な値が設定されている場合、データベース サー バでは、DBSPACETEMP 構成パラメータはデフォルト値として採用されず、明示 的な一時表にはルート DB 領域が、暗黙的な一時表には /tmp がデフォルト値と して採用されます。こういった場合、データベース サーバは限界まで /tmp をフ ルにし、結果的にデータベース サーバを破壊するか、ファイル システムを中断 させる恐れがあります。 DBTEMP (IDS) DBTEMP 環境変数は、Dynamic Server 以前のデータベース サーバと同様、DB-Access および IBM Informix Enterprise Gateway 製品でも使用します。DBTEMP は DBSPACETEMP と類似しており、一時ファイルと一時表を配置するディレクトリを指 定します。 setenv pathname DBTEMP pathname 一時ファイルおよび一時表のディレクトリの絶対パス名です。 DB-Access が Windows プラットフォームで正常に動作するには、DBTEMP が $INFORMIXDIR/infxtmp に設定されている必要があります。 次の例では、DBTEMP に C シェルを使用する UNIX システム用のパス名 usr/magda/mytemp を設定します。 setenv DBTEMP usr/magda/mytemp 重要: DBTEMP は、NFS デバイスのベンダが IBM に認定されている場合のみ、NFS マウント済みディレクトリを指示できます。Informix データベース サーバの格納 領域をマウントするための NFS 製品の詳細については、 http://www.ibm.com/software/data/informix/pubs/smv/index.html にある製品互換性の 情報を参照してください。 DBTEMP が設定されていない場合、データベース サーバは、/tmp ディレクトリに一 時ファイルを作成し、DBSPACETEMP ディレクトリに一時表を作成します。 DBSPACETEMP が設定場されていない場合のデフォルトについては、179 ページの 『DBSPACETEMP』を参照してください。同様に、クライアント システムに DBTEMP が設定されていない場合、一時ファイル (スクロール カーソル用に作成されたファイ ル) は /tmp ディレクトリに作成されます。 DBTEMP を設定しないと、バイト (BYTE) 型や行 (ROW) 型などのラージ データ型や 複合データ型での操作で、予期しない動作や障害が発生する可能性があります。 DBTIME DBTIME 環境変数は、DATETIME 値の表示およびデータ入力形式に対する形式マスク を指定します。 第 3 章 環境変数 181 setenv DBTIME ’ literal % 0 ’ special min . precision literal リテラル空白または任意の出力可能文字です。 min special が指定する値に対するサブ文字列での最少文字数を設定する リテラル整数です。 precision 任意の時間単位の桁数、または月名の最大文字数です。 special 以下にリストする位置指定子文字の 1 つです。 これらの用語と記号については、次のページで説明します。 この引用符付きストリングには、個々の時間単位の値に対する位置指定子および日時 (DATETIME) 型値のその他の要素と同様に、リテラル文字を組み込むことができます。 正しい IBM Informix ESQL/C 日時 (DATETIME) 型ルーチンを呼び出した場合のみ、 DBTIME は有効になります (詳しくは 「IBM Informix: ESQL/C Programmer’s Manual」を参照してください)。DBTIME が設定されていない場合のこれらのルーチン の動作は未定義で、「YYYY-MM-DD hh:mm:ss.fffff」がデフォルト ロケールにおける DATETIME YEAR TO FRACTION(5) のデフォルトの表示および入力形式になります。 パーセント (%) 記号は、special 位置指定子に以下のように特殊な効果を与えます。先 頭に % 記号が付けられていない場合、次のリストにある位置指定子文字の 1 つと同じ 文字でも、形式マスク内の文字はすべてリテラル文字として解釈されます。special 位置 指定子が大文字と小文字を区別することにも注意してください。 DBTIME フォーマット文字列内の次の文字は、日時 (DATETIME) 型値の時間単位 (ま たは他の機能) に対する位置指定子です。 182 %b 月名の省略形に置き換えられます。 %B 完全な月名に置き換えられます。 %d 01 から 31 までの 10 進数型の日付に置き換えられます。 %Fn 整数 n が指定した小数点以下桁数の秒の小数部に置き換えられます。 n のデフォルト値は 2 です。n の範囲は 0 ≤ n ≤ 5 です。 %H 時間 (24 時間式) に置き換えられます。 %I 時間 (12 時間式) に置き換えられます。 %M 00 から 59 までの 10 進数の分に置き換えられます。 %m 01 から 12 までの 10 進数の月に置き換えられます。 IBM Informix SQL ガイド: 参照 %p A.M.、P.M.、またはロケール ファイルでそれに相当するものに置き換 えられます。 %S 00 から 59 までの 10 進数型の秒に置き換えられます。 %y 4 桁の 10 進数型の年に置き換えられます。 %Y 4 桁の 10 進数型の年に置き換えられます。ユーザは、4 桁の数字を 入力する必要があります。 %% フォーマット文字列でパーセント記号 (%) を使用できるように % に 置き換えられます。 例えば、この表示形式を DATETIME YEAR TO SECOND で考えます。 Mar 21, 2001 at 16 h 30 m 28 s ユーザが 2 桁の年を入力した場合、その値は DBCENTURY 環境変数の設定に従って 4 桁に拡張されます。DBCENTURY が設定されていない場合、デフォルトで文字列 19 が最初の 2 桁に使用されます。 DBTIME を次に示すコマンド行 (C シェル用) に設定します。 setenv DBTIME ’%b %d, %Y at %H h %M m %S s’ デフォルトの DBTIME は次の ANSI SQL 文字列形式を形成します。 2001-03-21 16:30:28 デフォルトの DBTIME を次に示す例のように設定することも可能です。 setenv DBTIME ’%Y-%m-%d %H:%M:%S’ パーセント記号 (%) の直後に続けてオプションのフィールド幅と有効数字を指定 (w.p) できます。次のように解釈されます。 w フィールドの最小幅を指定します。この値は、左に空白が入った右揃 えになります。 -w フィールドの最小幅を指定します。この値は、右に空白が入った左揃 えになります。 0w フィールドの最小幅を指定します。この値は、左にゼロが入った右揃 えになります。 p d、I、m、M、S、y、および Y の時間単位値を指定、または、b と B の月名の最大文字数を指定します。 次の制約事項は、フィールド幅と有効数字に適用されます。 v データ値が precision が指定する桁よりも小さい場合、値の先頭にはゼロが入りま す。 第 3 章 環境変数 183 v データ値が precision が指定する文字数よりも大きい場合は、超過した文字が右側か ら切り捨てられます。 v d、H、I、m、M、S、H、または y 位置指定子に対してフィールドの幅または精度が指 定されていない場合は、デフォルトの 0.2 または Y 位置指定子に 0.4 が使用され ます。 v precision 指定は、日時 (DATETIME) 型値を ASCII 文字列へ変換する場合のみ有効 で、その逆の変換時には無効となります。 F 位置指定子は、このフィールド幅および有効数字の構文をサポートしません。 DBDATE、GL_DATE、または GL_DATETIME のように、DBTIME 設定はデータ値 の文字列表記のみを制御します。日時 (DATETIME) 型列の内部記憶域形式は変更でき ません (日付 (DATE) 型値の形式設定については、168 ページの DBDATE の説明を参 照してください)。 元号ベースの日付をサポートする東アジア ロケールでは、DBTIME に日本または台湾 の元号を指定できます。DBTIME に追加の位置指定子記号を設定し、元号ベースの日時 (DATETIME) 型値を表示させる方法についての詳細、および GL_DATETIME と GL_DATE 環境変数についての説明は、「IBM Informix: GLS ユーザーズ ガイド」を参 照してください。 DBUPSPACE DBUPSPACE 環境変数を使用すると、同時に複数の列分布を構築する場合に、UPDATE STATISTICS 文で使用できるシステム ディスク領域のバイト数を指定または制限できま す。 setenv DBUPSPACE max : default max 最大ディスク領域を指定する正整数 (KB 単位) で、UPDATE STATISTICS 文の操作においてソートに割り当てられます。 default 割り当てる最大メモリ領域を指定する正整数 (KB 単位) です。 例えば、DBUPSPACE に 2,500KB のディスク領域と、1,000KB のメモリを設定するに は、次のコマンドを入力します。 setenv DBUPSPACE 2500:1 一度このように設定すると、データベース サーバは UPDATE STATISTICS 文の実行 中、2,500KB 以下のディスク領域のみ使用できます。表のソートに 5MB のディスク領 域が必要な場合、UPDATE STATISTICS 文によって 2 つのパスでタスクが完了しま す。各パスで半分ずつ列分布が構築されます。 DBUPSPACE が設定されていない場合、デフォルトは、max については 1MB (1,024KB)、default については PDQ を使用しないで使用可能なメモリの最大量になり ます。DBUPSPACE に 1,024KB 未満の値を設定した場合、自動的に 1,024KB に設定 184 IBM Informix SQL ガイド: 参照 されますが、エラー メッセージは戻されません。この値が、一度に作成される複数の分 布の格納に対して不十分である場合は、必要なディスク領域のバイト数が DBUPSPACE 環境変数での指定より大きくても、少なくとも 1 つの分布が行われます。 DEFAULT_ATTACH DEFAULT_ATTACH 環境変数は、非フラグメント表の非フラグメント B ツリー イン デックスのみの付加を必要とする Dynamic Server バージョン 7.x の既存動作をサポー トします。 setenv DEFAULT_ATTACH 1 DEFAULT_ATTACH が 1 に設定されている場合、CREATE INDEX 文の Storage 節 として IN TABLE キーワードを指定しない限り、R ツリーおよび UDR 関数インデッ クスを含む作成済みのその他すべてのインデックスを切り離す必要があります。(連結イ ンデックス は、それが作成された表と同じ分散スキームを持つものです。同じ分散スキ ームを持たないインデックスはすべて分離インデックス です。) DEFAULT_ATTACH が設定されていない場合、その Storage 節として IN TABLE を 指定していないすべての CREATE INDEX 文は、デフォルトで分離インデックスを作成 します。Dynamic Server の本リリースでは、バージョン 7.x の Dynamic Server で作成 された連結インデックスをサポートします。 重要: Informix データベース サーバの将来のリリースでは、DEFAULT_ATTACH のサ ポートが継続されない可能性があります。この機能に依存した新規のアプリケー ションは開発されないことを推奨します。 DELIMIDENT DELIMIDENT 環境変数は、二重引用符 (″) で囲まれた文字列が区切り記号付きデータ ベース識別子であることを指定します。 setenv DELIMIDENT 値は不要です。DELIMIDENT は、文字列がある場合に有効となり、それが環境変数の リストにある間は有効です。 区切り識別子には、空白を入れることができ (「Vitamin E」など)、SQL キーワードと 同一にもできます (「TABLE」や「USAGE」など)。これらの識別子は、SQL 識別子用 のデフォルト文字セット以外の文字を含むデータベース識別子 (「Column #6」など) にも使用できます。デフォルトのロケールでは、このセットは文字、数字、およびアン ダスコア (_) 記号で構成されています。 データベース識別子 (SQL 識別子 とも呼ばれる) は、表や列といったデータベース オ ブジェクトに対する名前です。記憶域識別子 は、DB 領域、BLOB 領域、および SB 第 3 章 環境変数 185 領域 (スマート BLOB 領域) といった記憶域オブジェクトに対する名前です。デフォル トの SQL 文字セット以外の文字を含む記憶域識別子を宣言するには、DELIMIDENT は使用できません。 区切り識別子では大文字と小文字が区別されます。区切り識別子を使用するには、 ESQL/C にあるアプリケーションがコンパイル時と実行時に DELIMIDENT を設定する 必要があります。 警告: DELIMIDENT が設定されていない場合、既存の .sql スクリプトまたはコンテキ ストの区切り記号に SQL 識別子でなく、文字列リテラルの識別子のように二重 引用符 (″) を使用するクライアント アプリケーションに障害を引き起こす可能性 があることに留意してください。DELIMIDENT が設定されている場合、区切り 記号付き構文には二重引用符ではなく、SQL 識別子ではない一重引用符 (’) を使 用してください。 C シェルを使用し、DELIMIDENT が設定されている UNIX システムでは、次のコマ ンドを使用してこの機能 (二重引用符で囲まれたものはすべて SQL 識別子として解釈 してしまう) を解除できます。 unsetenv DELIMIDENT ENVIGNORE (UNIX) ENVIGNORE 環境変数を使用すると、共通 (共有) の環境構成ファイル informix.rc と 専用の環境構成ファイル .informix で指定された環境変数の設定を無効にできます。 : setenv ENVIGNORE variable variable 無効にされる環境変数の名前です。 連続する variable 名の間にはコロン (:) 記号を使用します。例えば、環境構成ファイル の DBPATH と DBMONEY を無効にするには、次のコマンドを入力します。 setenv ENVIGNORE DBPATH:DBMONEY 共通の環境構成ファイルは、$INFORMIXDIR/etc/informix.rc に格納されています。 専用の環境構成ファイルは、ユーザのホーム ディレクトリ .informix として格納されて います。 環境構成ファイルの作成と変更の方法については、148 ページの『構成ファイルでの環 境変数の設定』を参照してください。 ENVIGNORE は環境構成ファイル内では設定できません。 186 IBM Informix SQL ガイド: 参照 FET_BUF_SIZE FET_BUF_SIZE 環境変数は、バイト (BYTE) 型とテキスト (TEXT) 型値以外のすべて のデータ型のフェッチ バッファ サイズのデフォルト設定値を無効にします。 setenv size FET_BUF_SIZE size デフォルト バッファ サイズより大きい正整数。問合せによって抽出 されたデータを保持するフェッチ バッファのサイズを 32,767 バイト までで指定します (バイト単位)。 例えば、C シェルを使用する UNIX システムでバッファ サイズを 5,000 バイトに設 定するには、次のコマンドを入力して FET_BUF_SIZE を設定します。 setenv FET_BUF_SIZE 5000 FET_BUF_SIZE が有効な値に設定されると、新しい値はデフォルト値 (または以前に FET_BUF_SIZE に設定された値) を上書きします。FETCH バッファのデフォルト設定 は行サイズによって異なります。 バイト (BYTE) 型およびテキスト (TEXT) 型値の処理は、FET_BUF_SIZE の影響を受 けません。 FET_BUF_SIZE をデフォルト サイズ未満に設定、または小桁整数 (SMALLINT) 型値 の範囲外に設定しても、エラーは報告されません。ただし、こうした場合、無効なフェ ッチ バッファは無視され、デフォルトのサイズが使用されます。 FET_BUF_SIZE を有効な値に設定すると、分散問合せで行を抽出するすべてのリモー ト データベース サーバにその値が有効であるのと同様に、ローカル データベース サ ーバにも有効です。そこでは、ローカル サーバがコーディネータで、リモート データ ベース サーバが従属します。バッファのサイズが大きくなると、より多くの行を戻すこ とが可能となり、クライアント アプリケーションがデータベース サーバからの戻り行 を待つ間隔が少なくて済むようになります。大型バッファは、クライアント側バッファ に存在するオーバーヘッドを削減し、パフォーマンスを向上できます。 GLOBAL_DETACH_INFORM (XPS) IBM Informix Extended Parallel Server のすべてのインデックスが切り離されます。XPS インデックスは、すべてのインデックス フラグメントがそれらが関連付けられているデ ータ フラグメントと同じコサーバ上に常駐する場合はローカルに分離 され、インデッ クスがフラグメント化され、インデックス項目とそれらが関連付けられたデータ行が異 なるコサーバ上に常駐している場合はグローバルに分離 されます。 グローバル分離インデックスは、ローカル分離インデックスより本質的に効率が悪いた め、使用を控える必要があります。 第 3 章 環境変数 187 GLOBAL_DETACH_INFORM 環境変数は、グローバル分離インデックスが作成される とアラームをトリガします。このアラームの重要度は 3 (重要)、クラス ID は 10 (パフ ォーマンスの改善が可能)、タグ ID は 1 (グローバル分離インデックスが作成された) です。 このアラームを有効化するには、サーバの開始前に、GLOBAL_DETACH_INFORM に 任意の値を設定します。 setenv GLOBAL_DETACH_INFORM n あるいは、以下の例に示すように、onutil SET コマンドを使用してこの変数をオン/オフ することもできます。 % onutil 1> SET GLOBAL_DETACH_INFORM 1; Dynamic Configuration completed successfully ただし、GLOBAL_DETACH_INFORM は環境変数であって構成パラメータではないた め、onutil コマンドを使用して永続化することはできません。サーバを再起動させるた びに設定する必要性を解消するには、環境構成ファイルに変数を追加します。 IBM_XPS_PARAMS (XPS) デフォルトでは、CURRENT 関数および TODAY 関数は、サーバのロケーションに基 づいて、システム クロック カレンダから取得した値を戻します。IBM_XPS_PARAMS 環境変数を使用すると、CURRENT および TODAY が戻す値について、グリニッジ標 準時 (GMT) からのオフセットとして非デフォルトのタイムゾーンを指定できます。 組込み CURRENT 関数および TODAY 関数に GMT からのオフセットを指定するに は、次の構文を使用して、クライアント アプリケーションを開始する前にクライアント システム上の IBM_XPS_PARAMS を適切な値に設定します。 + setenv IBM_XPS_PARAMS ’CLIENT_TZ = hours : minutes ’ - hours 0 から 13 (それぞれの数字を含む) の範囲の整数で、GMT からのオ フセットの絶対時間数を指定します。 minutes 00 から 59 (それぞれの数字を含む) の範囲の 2 桁の整数で、GMT からのオフセットの追加の分を指定します。 hours の前のマイナス (-) 符号は GMT の東側のタイムゾーンを指定し、正 (*) の符号 (デフォルト) は GMT の西側のタイムゾーンを指定します。 次の例では、CURRENT および TODAY が GMT 値を戻すことを指定しています。 % setenv IBM_XPS_PARAMS ’CLIENT_TZ = 00:00’ 188 IBM Informix SQL ガイド: 参照 次の例では、カナダ東部の大西洋標準時 (カナダ) を指定しています。 % setenv IBM_XPS_PARAMS ’CLIENT_TZ = +4:00’ onstat -g ses コマンドを使用して、現在の GMT からのオフセットを表示できます。 SQL の SET ENVIRONMENT CLIENT_TZ 文は、IBM_XPS_PARAMS の設定値を上書 きできますが、この環境変数のデフォルトの有効範囲は、SET ENVIRONMENT CLIENT_TZ 文が出されたセッションのみではなく、すべてのセッションです。使用中 のアプリケーションで異なるタイムゾーンが必要な場合は、SQL 文を使用して、現行セ ッションについて GMT オフセットをリセットしてください。 IFMX_CART_ALRM (XPS) IFMX_CART_ALRM 環境変数は、問合せによりカルテシアン結合が実行されるとアラ ームをトリガします。このアラームの重要度は 3 (重要)、クラス ID は 10 (パフォーマ ンスの改善が可能 )、タグ ID は 2 (カルテシアン結合処理) です。アラーム メッセー ジには、カルテシアン結合を実行中のセッションの ID が示されます。 このアラームを有効化するには、データベース サーバの開始前に、 IFMX_CART_ALRM に何らかの値を設定します。 setenv IFMX_CART_ALRM n あるいは、onutil SET コマンドを使用して、この変数をオン/オフすることもできます。 % onutil 1> SET IFMX_CART_ALRM 1; Dynamic Configuration completed successfully IFMX_CART_ALRM は環境変数であって構成パラメータではないため、onutil コマン ドを使用して永続化することはできません。サーバを再起動させるたびに設定する必要 性を解消するには、環境構成ファイルに変数を追加します。 IFMX_HISTORY_SIZE (XPS) IFMX_HISTORY_SIZE 環境変数は、DB-Access コマンド履歴に記録される SQL コマ ンドの数を決定します。 setenv value IFMX_HISTORY_SIZE value DB-Access 履歴に格納されるコマンドの数 デフォルト値は 10 です。最大値は 100 です。これらの値より大きい値または小さい値 が指定された場合は、デフォルト値が使用されます。DB-Access 履歴コマンドの使用方 法の詳細については、「IBM Informix: DB-Access ユーザーズ ガイド」を参照してくだ さい。 第 3 章 環境変数 189 IFMX_OPT_FACT_TABS (XPS) IFMX_OPT_FACT_TABS 環境変数は、可能な場合は常にプッシュダウン ハッシュ結合 で使用されるファクト表のリストを指定します。 , setenv IFMX_OPT_FACT_TABS fact_table owner. database: database データベースの名前です。 fact_table ファクト表の名前です。 owner 表の所有者名です。 データベース名または所有者名を指定しない場合、ファクト表はどのデータベースにも 格納でき、どの所有者にも所属可能です。 環境変数は、オプティマイザにプッシュダウン ハッシュ結合プランを選択させるファク ト表をリストします。データベース名または所有者名を指定しない場合は、表はどのデ ータベースにも格納でき、どの所有者にも所属可能です。 この環境変数が設定されている場合、指定されたファクト表に対するプッシュダウン ハ ッシュ結合制限は、ファクト表が次元表よりも小さい場合、または次元表に結合された 列が一意でない場合でも、オプティマイザがプッシュダウン プランを選択できるよう緩 和されます。 IFMX_OPT_FACT_TABS を単体で使用し、プッシュダウン ハッシュ結合の可能性を広 げることができます。また、IFMX_OPT_NON_DIM_TABS 環境変数との結合で使用 し、プッシュダウン ハッシュ結合の使用を調整することも可能です。 IFMX_OPT_NON_DIM_TABS (XPS) IFMX_OPT_NON_DIM_TABS 環境変数は、プッシュダウン ハッシュ結合問合せ予定 で使用できない 次元表のリストを指定します。オプティマイザが、これらの次元表の 1 つを結合するファクト次元表問合せを検出した場合、プッシュダウン ハッシュ結合プラ ンは選択しません。 , setenv IFMX_OPT_NON_DIM_TABS dim_table owner. database: 190 database データベースの名前です。 dim_table 次元表の名前です。 owner 表の所有者名です。 IBM Informix SQL ガイド: 参照 データベース名または所有者名が指定されていない場合、表はどのデータベースにも格 納でき、どの所有者にも所属可能です。 この環境変数が設定されており、問合せがこのリストにある次元表を任意のファクト表 と結合した場合、ファクト表が IFMX_OPT_FACT_TABS リストに含まれている場合で も、オプティマイザは問合せにプッシュダウン ハッシュ結合を選択しません。 IFMX_OPT_NON_DIM_TABS 環境変数を単体で使用し、プッシュダウン ハッシュ結 合の可能性を狭めることができます。また、IFMX_OPT_FACT_TABS 環境変数との結 合で使用し、プッシュダウン ハッシュ結合の使用を調整することも可能です。 IFX_DEF_TABLE_LOCKMODE (IDS) IFX_DEF_TABLE_LOCKMODE 環境変数は、 LOCKMODE PAGE または LOCKMODE ROW キーワードの明示的な指定なしで続けて作成されたデータベース表 に対するデフォルトのロック モードを指定できます。この機能は、複数の表を同じロッ ク モードで作成する必要がある場合に便利です。C シェルを使用する UNIX システム では、次の構文をサポートします。 setenv IFX_DEF_TABLE_LOCKMODE PAGE ROW PAGE デフォルトのロック モードはページ レベルの細分度です。 ROW デフォルトのロック モードは列レベルの細分度です。 ONCONFIG ファイルの DEF_TABLE_LOCKMODE パラメータを PAGE または ROW に設定することで、同様の機能を利用できます。表が作成または変更された場合、競合 するロック モード指定は次の優先順位の降順 (最も優先度の高いものから低いものへ) に従って解決されます。 1. CREATE TABLE または ALTER TABLE の明示的な LOCKMODE 指定 2. IFX_DEF_TABLE_LOCKMODE 環境変数の設定 3. ONCONFIG ファイル内の DEF_TABLE_LOCKMODE パラメータの設定 4. システム デフォルト ロック モード (= ページ モード) DEF_TABLE_LOCKMODE の設定をデフォルト モードにする (または DEF_TABLE_LOCKMODE が設定されていない場合に、システム デフォルトを復元す る) には、次のコマンドを使用します。 unsetenv IFX_DEF_TABLE_LOCKMODE oninit を開始する前に IFX_DEF_TABLE_LOCKMODE がデータベース サーバの環境 で設定されている場合、その範囲はデータベース サーバのすべてのセッションとなりま す (DEF_TABLE_LOCKMODE が ONCONFIG ファイルに設定設定されているかのよう に)。IFX_DEF_TABLE_LOCKMODE がシェルに設定されている、または 第 3 章 環境変数 191 $HOME/.informix や $INFORMIXDIR/etc/informix.rc ファイルに設定されている場 合、範囲は現行セッション (シェルに設定した場合) または個々のユーザに制限されま す。 重要: これは、既存の表には何の影響も与えません。データベース サーバはロック モ ードとして指定された ROW をデータの復元、復旧、またはコピーに使用しま す。PAGE モードで作成された表に対しては、ロック表オーバーフローまたはパ フォーマンス低下が発生する可能性があります。 IFX_DIRECTIVES IFX_DIRECTIVES 環境変数の設定により、オプティマイザが問合せの内部からの問合 せ最適化ディレクティブに対応するか決定されます。IFX_DIRECTIVES 環境変数はク ライアントで設定されます。 環境変数の設定には、ON と OFF または 1 と 0 のいずれかの組合せを指定できます。 setenv IFX_DIRECTIVES 1 0 1 オプティマイザ ディレクティブを受け入れる。 0 オプティマイザ ディレクティブを受け入れない。 IFX_DIRECTIVES 環境変数の設定はデータベース サーバに対して設定されている DIRECTIVES 構成パラメータの値を上書きします。ただし、IFX_DIRECTIVES 環境変 数が設定されていない場合、すべてのクライアント セッションは ONCONFIG パラメ ータ DIRECTIVES が決定したディレクティブのデータベース サーバ構成を継承しま す。IFX_DIRECTIVES 環境変数のデフォルト設定は ON です。 DIRECTIVES パラメータの詳細については、「IBM Informix: Dynamic Server 管理者の 参照」を参照してください。ディレクティブを使用した場合の、パフォーマンスに対す る影響についての詳細は、「IBM Informix: Dynamic Server パフォーマンス ガイド」を 参照してください。 IFX_EXTDIRECTIVES IFX_EXTDIRECTIVES 環境変数は、問合せオプティマイザにおいて、既存のアプリケ ーションにおける問合せに適用される sysdirectives システム カタログ表からの外部問 合せ最適化ディレクティブを許容するかどうかを指定します。IFX_EXTDIRECTIVES 環境変数はクライアントで設定されます。 環境変数の設定には、ON と OFF または 1 と 0 のいずれかの組合せを指定できます。 setenv IFX_DIRECTIVES 1 192 IBM Informix SQL ガイド: 参照 1 0 外部オプティマイザ ディレクティブを受け入れる。 0 外部オプティマイザ ディレクティブを受け入れない。 特定のクライアント アプリケーション内での問合せでは、データベース サーバの構成 ファイル内の EXT_DIRECTIVES パラメータと、クライアント システム上の IFX_EXTDIRECTIVES 環境変数の設定値の両方が 1 または ON に設定されている場 合に、外部ディレクティブを使用できます。IFX_EXTDIRECTIVES が設定されていな い場合は、ONCONFIG パラメータ EXT_DIRECTIVES が 2 に設定されている場合にの み外部ディレクティブがサポートされます。以下の表は、外部オプティマイザ ディレク ティブのサポートに対する有効な IFX_EXTDIRECTIVES および EXT_DIRECTIVES の 設定の効果をまとめたものです。 表 14. 外部ディレクティブに対する IFX_EXTDIRECTIVES および EXT_DIRECTIVES の設定の効果 EXT_DIRECTIVES EXT_DIRECTIVES EXT_DIRECTIVES = 0 = 1 = 2 IFX_EXTDIRECTIVES OFF 設定なし OFF ON IFX_EXTDIRECTIVES OFF 0 = OFF OFF OFF IFX_EXTDIRECTIVES OFF 1 = ON ON ON データベース サーバは、1 または 2 以外の EXT_DIRECTIVES の設定 (または設定な し) はすべて OFF と等価であると解釈し、外部ディレクティブのサポートを使用不可 にします。1 以外の IFX_EXTDIRECTIVES の値は、クライアントに対して同じ効果を 持ちます。 外部オプティマイザ ディレクティブの定義方法の詳細については、「IBM Informix: SQL ガイド: 構文」内の SQL の SAVE EXTERNAL DIRECTIVES 文の説明を参照し てください。EXT_DIRECTIVES 構成パラメータの詳細については、「IBM Informix: Dynamic Server 管理者の参照」を参照してください。ディレクティブを使用した場合 の、パフォーマンスに対する影響についての詳細は、「IBM Informix: Dynamic Server パフォーマンス ガイド」を参照してください。 IFX_LONGID IFX_LONGID 環境変数の設定とクライアント アプリケーションのバージョン番号を使 用すると、特定のクライアント アプリケーションがロング識別子を処理できるか判断で きます。(Informix データベースの以前のバージョンでは、SQL 識別子が 18 バイト以 下までという制限があります。IFX_LONGID が設定されている場合、ロング識別子 に は 128 バイトまで設定できます。) 有効な IFX_LONGID 値は 1 および 0 です。 第 3 章 環境変数 193 setenv IFX_LONGID 1 0 1 クライアントはロング識別子をサポートします。 0 クライアントはロング識別子をサポートしません。 IFX_LONGID がゼロに設定されている場合、アプリケーションはロング識別子の先頭 18 バイトのみを表示し、切捨てを (+ で) 示しません。 IFX_LONGID が設定されていない、あるいは 1 または 0 以外の値に設定されている 場合、クライアント アプリケーションの内部バージョンを基に決定します。(サーバ ベ ースの) バージョンが 9.0304 以上の場合、または (CSDK ベースで) 2.90 ≤ バージョ ン < 4.0 の範囲にある場合、そのクライアントはロング識別子を処理できると見なされ ます。それ以外の場合、クライアント アプリケーションはロング識別子を処理できない ものと見なされます。 IFX_LONGID 設定は、クライアント アプリケーションの内部バージョンを上書きしま す。新しいバージョン番号にもかかわらず、クライアントがロング識別子を処理できな い場合は、IFX_LONGID を 0 に設定してください。以前のバージョン番号にもかかわ らず、クライアント バージョンがロング識別子を処理できる場合は、IFX_LONGID を 1 に設定してください。 IFX_LONGID をクライアントで設定すると、設定はそのクライアントでのみ有効とな ります。IFX_LONGID セットでデータベース サーバを構成した場合、すべてのクライ アント アプリケーションはデフォルトでその設定を使用します。ただし、 IFX_LONGID の設定値がクライアントとデータベース サーバで異なる場合は、クライ アントの設定が優先されます。 重要: ロング識別子をサポートしない libos.a ライブラリ バージョンを使用した -static オプションで作成された ESQL 実行可能ファイルは、IFX_LONGID 環境変数を 使用できません。このようなアプリケーションは、ロング識別子に対するサポー トを含む新しいライブラリ libos.a で再コンパイルする必要があります。オプシ ョン -static を使用しない共有ライブラリを使用する実行可能ファイルでは、ロン グ識別子をサポートする新しい libifos.so を使用する場合、再コンパイルしない で IFX_LONGID を使用できます。詳しくは、ESQL 製品の資料を参照してくだ さい。 IFX_NETBUF_PVTPOOL_SIZE (UNIX) IFX_NETBUF_PVTPOOL_SIZE 環境変数は、各データベース サーバ セッションに対 して最大サイズの空き (未使用) 専用ネットワーク バッファ プールを指定します。 setenv IFX_NETBUF_PVTPOOL_SIZE count 194 IBM Informix SQL ガイド: 参照 count プール内の単位 (バッファ) 数を表す整数です。 デフォルト サイズは 1 バッファです。 IFX_NETBUF_PVTPOOL_SIZE に 0 が設定 されている場合、各セッションにより、空きグローバル ネットワーク バッファ プール からバッファが取得されます。値は 10 進数形式で指定する必要があります。 IFX_NETBUF_SIZE IFX_NETBUF_SIZE 環境変数を使用すると、ネットワーク バッファを最適なサイズに 設定できます。この変数には、空き (未使用) グローバル プール、および各データベー ス サーバ セッション用の専用ネットワーク バッファ プール内のネットワーク バッフ ァすべてのサイズが指定されます。 setenv size IFX_NETBUF_SIZE size 1 つのネットワーク バッファのサイズを (バイト単位で) 表す整数で す。 デフォルト サイズは 4KB (4,096 バイト) です。最大サイズは 64KB (65,536 バイト) で、最小サイズは 512 バイトです。この値は、16 進数形式か 10 進数形式のいずれか で指定できます。 ヒント: それぞれのセッションごとに異なる値は設定できません。 IFX_NO_TIMELIMIT_WARNING ソフトウェアがインストールされてから一定の期間が経過すると機能を停止する IBM Informix ソフトウェア製品の試用または評価バージョンでは、デフォルトで、ライセン スが期限切れになるとユーザに対して警告メッセージが出されます。ただし、 IFX_NO_TIMELIMIT_WARNING 環境変数を設定すると、期限付きのソフトウェアで これらの警告メッセージは出されません。 setenv IFX_NO_TIMELIMIT_WARNING 警告メッセージを表示させない場合、エラー出力をリダイレクトするためにこの機能を 選択できます。ただし、IFX_NO_TIMELIMIT_WARNING は、期限付きライセンスの 期限満了日に影響しません。この環境変数が設定されていない場合と同じ時点で、ソフ トウェアの機能は停止します。IFX_NO_TIMELIMIT_WARNING を設定した場合、ラ イセンスの期限満了日についての警告が表示されなくなりますが、データベース サーバ (または期限付きライセンスを持つ任意のソフトウェア) が警告なしで機能を停止するこ とを望まないユーザもいます。 IFX_PAD_VARCHAR (IDS) IFX_PAD_VARCHAR 環境変数の設定により、データベース サーバにおける可変長文 字 (VARCHAR) 型および各国語可変長文字 (NVARCHAR) 型データ値の送受信方法を 制御できます。有効な IFX_PAD_VARCHAR 値は 1 および 0 です。 第 3 章 環境変数 195 setenv IFX_PAD_VARCHAR 1 0 1 宣言された最大 サイズまでの構造体全体を転送します。 0 データを含む構造体の一部のみを転送します。 例えば、IFX_PAD_VARCHAR が 0 に設定されている場合、NVARCHAR(255) として 宣言されている列から文字列「ABC」を送信すると、3 バイト送信されます。 ただし、この例で設定が 1 になっている場合は、送信されるバイト数は 255 バイトで す。 IFX_PAD_VARCHAR の効果は、コンテキスト センシティブです。低帯域幅のネット ワークでは、0 に設定することで送信データの合計ボリュームが削減され、パフォーマ ンスが改善される可能性があります。ただし、高帯域幅のネットワークでは、可変長パ ケットの処理に必要な CPU 時間が文字ストリーム全体を送信するのに必要な時間より 多い場合は、1 に設定することでパフォーマンスが改善される可能性があります。 IFX_UPDDESC (IDS) UPDATE 文の DESCRIBE を行う前に、実行時に IFX_UPDDESC 環境変数を設定して ください。 setenv IFX_UPDDESC value NULL 以外の任意の値です。 value NULL 値 (ここでは IFX_UPDDESC が設定されていないことを示す) は、更新表示機 能を無効にします。NULL 以外の値はすべて、この機能を有効化します。 IFX_XASTDCOMPLIANCE_XAEND IBM Informix データベース サーバの以前のリリースでは、広域トランザクションの内 部ロールバックによりトランザクションは解放されました。XPS 8.40 および IDS 9.40 より後のリリースでは、内部ロールバック後のデフォルトの動作では広域トランザクシ ョンは解放されず、明示的にロールバックする必要があります。これは X/Open XA 規 格における必須事項です。DISABLE_B162428_XA_FIX 構成パラメータを 1 に設定する ことで、すべてのセッションについて、以前の動作をデフォルトとして復元できます。 次の構文を使用すると、IFX_XASTDCOMPLIANCE_XAEND 環境変数が現行セッショ ンの構成パラメータを上書きするように設定できます。有効な IFX_XASTDCOMPLIANCE_XAEND 値は 1 および 0 です。 setenv IFX_XASTDCOMPLIANCE_XAEND 0 196 IBM Informix SQL ガイド: 参照 1 0 明示的ロールバック後にのみ広域トランザクションを解放する ロールバック後に広域トランザクションを解放する 1 この環境変数は、DISABLE_B162428_XA_FIX 構成パラメータによって新しい動作につ いてサーバ インスタンスが使用不可になっている場合に、1 つのクライアントで新しい 動作が必要なときに特に役立ちます。この環境変数を 0 に設定すると、現行セッション で新しい動作がサポートされます。 IMCADMIN IMCADMIN 環境変数は、imcadmin の MaxConnect への接続時に経由するデータベー ス サーバの名前を指定することで、imcadmin 管理ツールをサポートします。imcadmin を正確に操作するには、IBM Informix 製品を使用する前に IMCADMIN を設定してく ださい。 setenv IMCADMIN dbservername dbservername データベース サーバの名前です。 ここでは、dbservername が MaxConnect が稼働しているコンピュータの sqlhosts ファ イルにリストされている必要があります。MaxConnect はその設定を使用して次の接続 情報を sqlhosts ファイルから取得します。 v 管理リスナ ポートが確立される場所 v 指定されたデータベース サーバが使用するネットワーク プロトコル v 指定されたデータベース サーバが常駐するシステムのホスト名 IMCADMIN に有効なデータベース サーバ名が設定されるまで、 imcadmin ツールは 使用できません。 IMCADMIN 使用の詳細については、「IBM Informix: MaxConnect User’s Guide」を参 照してください。 IMCCONFIG IMCCONFIG 環境変数は、MaxConnect 構成ファイルのデフォルト以外のファイル名 と、オプションとしてパス名、を指定します。C シェルをサポートする UNIX システ ムでは、次のコマンドでこの変数を設定できます。 setenv pathname IMCCONFIG pathname 絶対パス名または単一ファイル名です。 絶対パス名で修飾されていないファイル名を設定した場合、MaxConnect は $INFORMIXDIR/etc/ ディレクトリ内で指定のファイルを検索します。さらに、 IMCCONFIG を IMCconfig.imc2 に設定した場合、MaxConnect は $INFORMIXDIR/etc/IMCconfig.imc2 を対象として構成ファイルを検索します。 第 3 章 環境変数 197 IMCCONFIG 環境変数が設定されていない場合、MaxConnect はデフォルトで $INFORMIXDIR/etc/IMCconfig を対象として構成ファイルを検索します。 IMCSERVER IMCSERVER 環境変数は、接続情報を含む sqlhosts ファイル内のデータベース サーバ エントリの名前を指定します。 データベース サーバには、ローカルとリモートのいずれも指定できます。C シェルを サポートする UNIX システムでは、次のコマンドで IMCSERVER 環境変数を設定で きます。 setenv IMCSERVER dbservername dbservername データベース サーバの有効な名前です。 ここで、dbservername は、sqlhosts ファイル内のデータベース サーバの名前である必要 があります。MaxConnect を使用した sqlhosts 設定の詳細については、「IBM Informix: Dynamic Server 管理者ガイド」を参照してください。IMCSERVER に有効なデータベ ース サーバ名が設定されるまで、MaxConnect は使用できません。 INFORMIXC (UNIX) INFORMIXC 環境変数は、IBM Informix ESQL/C が生成したファイルのコンパイルに 使用される C コンパイラのファイル名またはパス名を指定します。この設定は、 C コ ンパイルのステージ中でのみ有効です。 INFORMIXC が設定されていない場合、ほとんどのシステムのデフォルト コンパイラ は cc になります。 ヒント: Windows では、-mcc または -bcc オプションのいずれかを esql プリプロセッ サに受け渡して、Microsoft または Borland C コンパイラを使用できます。 setenv INFORMIXC compiler pathname compiler C コンパイラのファイル名です。 pathname C コンパイラの絶対パス名です。 例えば、GNU C コンパイラを指定するには、次のコマンドを入力します。 setenv INFORMIXC gcc 重要: gcc を使用する場合、データベース サーバは文字列を書込み可能と想定するた め、-fwritable-strings オプションを使用してコンパイルしてください。この操作 に失敗すると、コア ダンプを含む 不定な結果が発生する可能性があります。 198 IBM Informix SQL ガイド: 参照 INFORMIXCONCSMCFG (IDS) INFORMIXCONCSMCFG 環境変数には、通信サポート モジュールを記述する concsm.cfg ファイルの格納場所を指定します。 setenv INFORMIXCONCSMCFG pathname ファイル concsm.cfg の絶対パス名を指定します。 pathname 次のコマンドは、ファイル concsm.cfg が /usr/myfiles に保存されるよう指定します。 setenv INFORMIXCONCSMCFG /usr/myfiles ファイルに対して別の名前も指定できます。次の例では、ファイル名 csmconfig を指定 しています。 setenv INFORMIXCONCSMCFG /usr/myfiles/csmconfig concsm.cfg ファイルのデフォルトの格納場所は $INFORMIXDIR/etc です。通信サポー ト モジュールと concsm.cfg ファイルの内容の詳細については、「IBM Informix: Dynamic Server 管理者の参照」を参照してください。 INFORMIXCONRETRY INFORMIXCONRETRY 環境変数には、INFORMIXCONTIME で指定する制限時間中 に、クライアントが各データベース サーバに試みる追加 接続の最大回数を設定しま す。 setenv INFORMIXCONRETRY count count 各データベース サーバへ試みる追加の接続回数。 例えば、INFORMIXCONRETRY に、最初の接続の試みの後、3 回の接続の試みを指定 するには、次のコマンドを入力します。 setenv INFORMIXCONRETRY 3 INFORMIXCONRETRY のデフォルト設定では、最初に接続を試みた後で 1 回再試行 します。次のセクションで説明する INFORMIXCONTIME の設定は、この INFORMIXCONRETRY の設定よりも優先されます。 INFORMIXCONTIME INFORMIXCONTIME 環境変数は、CONNECT 文がそれぞれのデータベース サーバ への接続確立の試みを何秒間続行してエラーを戻すか指定します。値を設定しない場 合、デフォルトの 60 秒では、通常は 200 から 300 程度の並行クライアント接続をサ ポートできますが、一部のシステムでは、15 秒程度の場合にごく少数の接続エラーが発 生することがあります。ノード間の合計距離、ハードウェアの速度、トラフィックのボ リューム、ネットワークの同時実行レベルのすべてが、INFORMIXCONTIME の最適 化に必要な設定値に影響します。 第 3 章 環境変数 199 INFORMIXCONTIME および INFORMIXCONRETRY 環境変数には、-908 エラーを 戻す代わりに、クライアントが接続をやり直せる接続機能を設定します。 setenv INFORMIXCONTIME seconds seconds データベース サーバに接続を試みるのにかかる最低制限時間を秒で指 定します。 例えば、次のコマンドを入力して INFORMIXCONTIME を 60 秒に設定します。 setenv INFORMIXCONTIME 60 INFORMIXCONTIME が 60 に設定されており、INFORMIXCONRETRY が 3 に設 定されている場合、データベース サーバへの接続の試み (0 秒での最初の試みの後) は アボート前に、必要に応じて 20、40、60 秒の 3 回行われます。この 20 秒間隔は INFORMIXCONTIME を INFORMIXCONRETRY で割って求められたものです。 INFORMIXCONTIME を 0 に設定しようとすると、データベース サーバは自動的に それをデフォルトの 60 秒にリセットします。 CONNECT 文を実行して DBPATH を検索する場合は、次のルールが適用されます。 v INFORMIXCONTIME の値を超えても、DBPATH の設定にあるすべてのサーバに最 低 1 回はアクセスします。したがって、接続の失敗やデータベースが見つからなか ったというエラーを戻すために、CONNECT 文が INFORMIXCONTIME の制限時間 よりも長くかかる場合があります。 v INFORMIXCONRETRY は DBPATH のそれぞれのデータベース サーバ エントリ に対して何回追加の接続を試みるかを指定します。 v INFORMIXCONTIME 値は、DBPATH に指定したデータベース サーバのエントリ 数で分割されます。つまり、DBPATH に非常に多くのサーバを指定する場合は、 INFORMIXCONTIME の値をそれに応じて増やす必要があります。例えば、 DBPATH が 3 つのエントリを含み、各接続の試みを少なくとも 30 秒間続けさせる 場合は、INFORMIXCONTIME を 90 に設定します。 INFORMIXCONTIME の設定は、INFORMIXCONRETRY の設定よりも優先します。 再試行は、INFORMIXCONTIME 値に達していなくても INFORMIXCONRETRY 値 を超えると終了します。 以下の例に示すように、onutil SET コマンドを使用して INFORMIXCONTIME 環境変 数および INFORMIXCONRETRY 環境変数を変更できます。 % onutil 1> SET INFORMIXCONTIME 120; Dynamic Configuration completed successfully 2> SET INFORMIXCONRETRY 10; Dynamic Configuration completed successfully 200 IBM Informix SQL ガイド: 参照 INFORMIXCPPMAP (IDS) INFORMIXCPPMAP 環境変数を設定すると、C++ プログラムのマップ ファイルの完 全修飾パス名を指定できます。マップ ファイルの情報には、データベース サーバの種 類、データベース オブジェクトをサポートする共有ライブラリの名前または値オブジェ クトの種類、オブジェクトのライブラリ エントリ ポイント、およびオブジェクトが作 成される C++ ライブラリが含まれます。 setenv pathname INFORMIXCPPMAP pathname C++ マップ ファイルが格納されるディレクトリ パスです。 このマップ ファイルは、任意のファイル名を指定できるテキスト ファイルです。UNIX ではコロン (:)、Windows では セミコロン (;) で区切って、複数のマップ ファイルを 指定できます。 UNIX では、デフォルトのマップ ファイルは $INFORMIXDIR/etc/c++map です。 Windows では、デフォルトのマップ ファイルは %INFORMIXDIR%¥etc¥c++map で す。 INFORMIXDIR INFORMIXDIR 環境変数には、製品ファイルがインストールされているサブディレク トリを含むディレクトリを指定します。INFORMIXDIR は必ず設定する必要がありま す。INFORMIXDIR に、データベース サーバがインストールされているディレクトリ の絶対パス名が設定されていることを確認してください。複数のバージョンのデータベ ース サーバがインストールされている場合は、INFORMIXDIR にはアクセスするバー ジョンがインストールされているディレクトリ名を設定します。INFORMIXDIR を設 定する時期については、「IBM Informix: Dynamic Server インストール ガイド」を参照 してください。 setenv pathname INFORMIXDIR pathname 製品ファイルがインストールされているディレクトリ パスです。 例えば、INFORMIXDIR をインストール ディレクトリとして /usr/informix に設定す るには、次のコマンドを入力します。 setenv INFORMIXDIR /usr/informix INFORMIXKEYTAB (UNIX) INFORMIXKEYTAB 環境変数にはキータブ ファイルの格納場所を指定します。キータ ブ ファイルには、データベース サーバとクライアントが DCE-GSS 通信サポート モ ジュール (CSM) を使用する場合に、接続時にアクセスする認証情報が含まれていま す。キータブ ファイルには、キーを格納するキー表が含まれていて、それぞれには、主 要な名前 (データベース サーバ名またはユーザ名)、型、バージョン、および値が含ま れています。 第 3 章 環境変数 201 データベース サーバはキータブ ファイルを使用して、サーバを登録、またはデータベ ース サーバの証明を獲得するためのキーを探します。ユーザが現在のオペレーティング システム ユーザ名 (DCE プリンシパル名と同一) で dce_login を実行していなかった か、明示的に証明を提供していなかった場合、クライアント アプリケーションによって このキーが使用されます。 setenv INFORMIXKEYTAB pathname キータブ ファイルの絶対パスを指定します。 pathname 例えば、次のコマンドは、キータブ ファイルの名前と位置が /usr/myfiles/mykeytab で あると指定します。 setenv INFORMIXKEYTAB /usr/myfiles/mykeytab DCE-GSS 通信サポートモジュールの詳細については、「IBM Informix: Dynamic Server 管理者ガイド」を参照してください。 INFORMIXOPCACHE (IDS) INFORMIXOPCACHE 環境変数は、クライアント アプリケーションのステージング領 域の BLOB 領域のためのメモリ キャッシュ サイズを指定できます。 setenv INFORMIXOPCACHE kilobytes オプティカル メモリ キャッシュに設定する値を指定します。 kilobytes INFORMIXOPCACHE 環境変数には、メモリ キャッシュのサイズを KB で指定しま す。指定するサイズは、システム全体に適用される構成パラメータ、OPCACHEMAX の サイズ以下でなければなりません。 INFORMIXOPCACHE を設定しない場合、デフォルトのキャッシュ サイズは 128KB、または構成パラメータ OPCACHEMAX で指定されているサイズとなります。 OPCACHEMAX のデフォルトは 128KB です。INFORMIXOPCACHE を 0 の値に設 定すると、光ディスク記憶サブシステムはキャッシュを使用しません。 INFORMIXSERVER INFORMIXSERVER 環境変数には、SQL API クライアント、DB–Access ユーティリテ ィ、またはその他の IBM Informix 製品で明示的接続や暗黙的接続を行うデフォルトの データベース サーバを指定します。IBM Informix クライアント製品を使用する前に設 定してください。次の構文で構成されています。 setenv INFORMIXSERVER dbservername dbservername デフォルト データベース サーバの名前です。 INFORMIXSERVER の値はローカル サーバにもリモート サーバにもなりますが、ア プリケーションを実行しているコンピュータの $INFORMIXDIR/etc/sqlhosts ファイル 202 IBM Informix SQL ガイド: 参照 内の有効な dbservername エントリに対応している必要があります。dbservername の先 頭は小文字である必要があり、大きさは 128 バイトまでです。大文字、フィールド区切 り記号 (空白またはタブ)、復帰改行文字、およびハイフン (またはマイナス) 記号を除 くすべての出力可能文字が使用できます。 例えば、次のコマンドは coral データベース サーバをデフォルトとして指定します。 setenv INFORMIXSERVER coral INFORMIXSERVER には、CONNECT DEFAULT 文が実行された場合に、アプリケー ションが接続するデータベース サーバを指定します。また、アプリケーションの最初の 文が CONNECT 文でない場合には、最初の暗黙的な接続を行うデータベース サーバを 定義します。 重要: アプリケーションまたは DB–Access が暗黙的または明示的なデフォルト接続を使 用していない場合でも、INFORMIXSERVER を設定する必要があります。 Extended Parallel Server の場合、INFORMIXSERVER 環境変数は dbserver グループの 名前を指定します。コサーバ名を指定するには、次の形式を使用します。 dbservername.coserver_number ここで、dbservername は ONCONFIG 構成ファイルで DBSERVERNAME 構成パラメー タに割り当てた値で、coserver_number は接続コサーバの COSERVER 構成パラメータ に割り当てた値です。 厳密に言えば、INFORMIXSERVER は初期化には必要ありません。ただし、 INFORMIXSERVER が設定されていないと、Extended Parallel Server によって表 sysmaster が作成されません。 INFORMIXSHMBASE (UNIX) INFORMIXSHMBASE 環境変数は、プロセス間通信 (IPC) 共有メモリ (ipcshm) プロ トコルを使用して、Informix データベースに接続されたクライアント アプリケーション のみに影響を与えます。 重要: INFORMIXSHMBASE をリセットするには、アプリケーションがどのようにメモ リを使用するか完全に理解している必要があります。通常、 INFORMIXSHMBASE をリセットすることはありません。 INFORMIXSHMBASE は、クライアント アプリケーションと、アプリケーションによ って使用されるその他のメモリ セグメントとの衝突が回避できるように、共有メモリ通 信セグメントをクライアント プロセスに結び付けるメモリ アドレスを指定します。 INFORMIXSHMBASE 環境変数を指定しないと、通信セグメントのメモリ アドレス は、デフォルトとして、0x800000 のような実装特有の値になります。 第 3 章 環境変数 203 setenv INFORMIXSHMBASE value メモリ アドレスの計算に使用される整数 (KB 単位) です。 value データベース サーバは、INFORMIXSHMBASE の値に 1,024 を乗算してセグメント が付加されるメモリ アドレスを計算します。例えば、C シェルを使用するシステムで は、次のコマンドを入力してメモリ アドレスを値 0x800000 に設定します。 setenv INFORMIXSHMBASE 8192 詳しくは、「IBM Informix: Dynamic Server 管理者ガイド」および「IBM Informix: Dynamic Server 管理者の参照」を参照してください。 INFORMIXSQLHOSTS INFORMIXSQLHOSTS 環境変数は、SQL クライアントまたはデータベース サーバが どこで接続情報を検索できるかを指定します。 setenv INFORMIXSQLHOSTS pathname pathname 接続情報ファイルの絶対パス名です。 UNIX システムでは、接続情報ファイルへのデフォルトの検索パスは $INFORMIXDIR/etc/sqlhosts です。 次のコマンドはこのデフォルトを上書きし、/work/envt ディレクトリにある mysqlhosts ファイルを指定します。 setenv INFORMIXSQLHOSTS /work/envt/mysqlhosts Windows では、INFORMIXSQLHOSTS はレジストリに SQLHOSTS サブキーを含むコ ンピュータを指します。 次の例では、クライアントまたはデータベース サーバが arizona というコンピュータ 上の接続情報を参照するよう指定しています。 set INFORMIXSQLHOSTS = ¥¥arizona sqlhosts (またはデフォルト以外のファイル名を付けられたファイル) が提供できる接続 についての詳細は、「IBM Informix: Dynamic Server 管理者ガイド」を参照してくださ い。 INFORMIXSTACKSIZE INFORMIXSTACKSIZE 環境変数には、データベース サーバがクライアント セッショ ンの主スレッドで使用するスタック サイズ (KB 単位) を指定します。 INFORMIXSTACKSIZE を使用して特定のアプリケーションまたはユーザに対する ONCONFIG パラメータの STACKSIZE の値を上書きできます。 204 IBM Informix SQL ガイド: 参照 setenv size INFORMIXSTACKSIZE size SQL クライアント スレッドに対するスタック サイズ (KB 単位) を 設定する整数です。 例えば、INFORMIXSTACKSIZE を 20KB に減らす場合には、次のコマンドを入力し ます。 setenv -STACKSIZE 20 INFORMIXSTACKSIZE が設定されていない場合、スタック サイズはデータベース サ ーバ構成パラメータ STACKSIZE から取り除かれるか、またはプラットフォーム固有の デフォルト値が使用されます。SQL クライアントの一次スレッドのデフォルト スタッ ク サイズは、非再帰型データベース動作では 32KB になります。 警告: この値の設定方法については、「IBM Informix: Dynamic Server 管理者の参照」 を参照してください。INFORMIXSTACKSIZE に誤った値を設定した場合は、デ ータベース サーバに障害が発生することがあります。 INFORMIXTERM (UNIX) INFORMIXTERM 環境変数には、DB–Access が termcap ファイル内の情報を使用する か、terminfo ディレクトリ内の情報を使用するかを指定します。 文字ベースのシステムでは、termcap ファイルや terminfo ディレクトリによって、フ ァンクション キーの操作、カラー属性と強調属性、ウィンドウ枠やグラフィックス文字 の定義など、端末に依存するキーボードや画面の機能が決定されます。 setenv INFORMIXTERM termcap terminfo INFORMIXTERM が設定されていない場合、デフォルト設定は termcap になります。 DB–Access がシステムにインストール済みの場合、termcap ファイルは $INFORMIXDIR の etc サブディレクトリにあります。このファイルはオペレーティン グ システムの termcap ファイルの拡張版です。 データベース サーバが提供する termcap ファイル、システム termcap ファイル、ま たはユーザが作成した termcap ファイルを使用できます。デフォルトの termcap ファ イルを使用しない場合は、TERMCAP 環境変数を設定する必要があります。 TERMCAP 環境変数の設定については、221 ページを参照してください。 ディレクトリ terminfo には、定義されている端末ごとのファイルが含まれています。 INFORMIXTERM 向けの terminfo 設定は、UNIX System V terminfo ライブラリを完 全にサポートするコンピュータでのみサポートされます。詳しくは、製品のマシン ノー ト ファイルを参照してください。 第 3 章 環境変数 205 INF_ROLE_SEP (IDS) INF_ROLE_SEP 環境変数では、UNIX システムにおいてデータベース サーバをインス トールまたは再インストールする場合に、役割分担のセキュリティ機能を構成します。 役割分担では、データベース サーバを実行、監査し、分離した管理タスクを複数のユー ザが実行します。インストールが終了すると、INF_ROLE_SEP の効果は失われます。 INF_ROLE_SEP が設定されていない場合、ユーザ Informix (デフォルト) がすべての 管理タスクを実行できます。 setenv INF_ROLE_SEP n 正の整数です。 n Windows の場合、INF_ROLE_SEP の設定にかかわらず、インストール処理中に役割分 担を有効にするかどうか確認されます。Windows でデータベース サーバの役割分担を 有効にするには、インストール時に役割分担オプションを選択してください。 UNIX プラットフォームに Dynamic Server をインストールした際に INF_ROLE_SEP を設定した場合は、役割分担が実装され、次の各分担になる個別のグループが指定され ます。 v データベース サーバ管理者 (DBSA) v 監査分析オフィサ (AAO) v 標準ユーザ UNIX では、aaodir、dbsadir、または etc ディレクトリを所有するグループを変更する ことで、インストール終了後いつでも手動で役割分担を設定できます。これらのディレ クトリを所有するグループを informix にリセットすることで、役割分担を使用不可に できます。例えば、データベース サーバ管理者 (DBSA) については役割分担を有効に せず、監査分析オフィサ (AAO) について役割分担を有効にできます。 役割分担のセキュリティ機能についての詳細は、「IBM Informix: Trusted Facility Guide」を参照してください。データベース サーバをインストールする場合の役割分担 の構成方法については、「IBM Informix: Dynamic Server インストール ガイド」を参照 してください。 INTERACTIVE_DESKTOP_OFF (Windows) この環境変数は、SPL ルーチンが SYSTEM コマンドを実行している場合に、Windows デスクトップで対話ができないようにします。 setenv INTERACTIVE_DESKTOP_OFF 1 0 INTERACTIVE_DESKTOP_OFF が 1 かつ SPL ルーチンがデスクトップとの相互作用 を試みている (notepad.exe や cmd.exe プログラムなど) 場合、ユーザが Administrators グループのメンバでないと、ルーチンは失敗します。 206 IBM Informix SQL ガイド: 参照 有効な設定値 (1 または 0) は、次のように作用します。 1 ストアド プロシジャを実行するユーザのために、データベース サー バがデスクトップ リソースを獲得できないようにします。 0 ストアド プロシジャの SYSTEM コマンドがデスクトップと相互作用 できるようにします。これはデフォルト値です。 INTERACTIVE_DESKTOP_OFF を 1 に設定すると、デスクトップと相互作用しない SPL ルーチンをより早く実行できます。この設定により、コマンドはオペレーティング システムの限定リソース (デスクトップと WindowStation が処理する) に依存しないた め、データベース サーバはより多くの SYSTEM コマンドを同時に呼び出せるようにな ります。 ISM_COMPRESSION ON–Bar 環境にこの環境変数を設定し、IBM Informix Storage Manager (ISM) がデータ 圧縮を使用するか指定します。 setenv ISM_COMPRESSION TRUE FALSE ISM_COMPRESSION が、要求を作成する ON–Bar プロセスの環境で TRUE に設定さ れている場合、ISM サーバは要求されたデータの格納、抽出にデータ圧縮アルゴリズム を使用します。ISM_COMPRESSION が FALSE に設定されている、または設定されて いない場合、ISM サーバは圧縮を使用しません。 ISM_DEBUG_FILE IBM Informix Storage Manager サーバ環境に ISM_DEBUG_FILE 環境変数を設定し、 XBSA メッセージを書き込む場所を指定します。 setenv ISM_DEBUG_FILE pathname XBSA メッセージ ログ ファイルの格納場所を指定します。 pathname ISM_DEBUG_FILE を設定しない場合、XBSA メッセージ ログは、UNIX では $INFORMIXDIR/ism/applogs/xbsa.messages ディレクトリに、Windows システムでは c:¥nsr¥applogs¥xbsa.messages ディレクトリに、それぞれ格納されます。 ISM_DEBUG_LEVEL ON–Bar 環境に ISM_DEBUG_LEVEL 環境変数を設定し、XBSA メッセージ ログに記 録されるレポートの詳細レベルを制御します。XBSA 共有ライブラリはこのログに書き 込みます。 setenv value ISM_DEBUG_LEVEL value 1 ≤ value ≤ 9 の場合の、レポートの詳細レベルを指定します。 第 3 章 環境変数 207 ISM_DEBUG_LEVEL が設定されておらず、NULL 値か、範囲外の値となっている場合 は、デフォルトのレベル 1 が使用されます。詳細レベル 0 は、すべての XBSA デバ ッグ レコードを抑止します。詳細レベル 1 は、XBSA の障害のみをレポートします。 ISM_ENCRYPTION ON–Bar 環境に ISM_ENCRYPTION 環境変数を設定し、IBM Informix Storage Manager (ISM) がデータ暗号化を使用するか指定します。 setenv ISM_ENCRYPTION XOR NONE TRUE ISM_ENCRYPTION の 3 つの設定値がサポートされています。 XOR 暗号化を使用します。 NONE 暗号化を使用しません。 TRUE 暗号化を使用します。 ISM_ENCRYPTION が NONE に設定されている、または設定されていない場合、ISM サーバは暗号化を使用しません。 ISM_ENCRYPTION が、要求を作成する ON–Bar プロセスの環境で TRUE または XOR に設定されている場合、ISM サーバはその要求で指定されたデータの格納、抽出 に暗号化を使用します。 ISM_MAXLOGSIZE IBM Informix Storage Manager (ISM) サーバ環境に ISM_MAXLOGSIZE 環境変数を設 定し、ISM 動作ログのしきい値サイズを指定します。 setenv ISM_MAXLOGSIZE size 動作ログのしきい値サイズを指定します (MB 単位)。 size ISM_MAXLOGSIZE が設定されていない場合、デフォルトのサイズ制限は 1MB で す。 ISM_MAXLOGSIZE が NULL 値に設定されている場合、しきい値は 0 バイトと なります。 ISM_MAXLOGVERS IBM Informix Storage Manager (ISM) サーバ環境に ISM_MAXLOGVERS 環境変数を 設定し、ISM サーバが保存する動作ログ ファイルの最大数を指定します。 setenv ISM_MAXLOGVERS value 208 IBM Informix SQL ガイド: 参照 value 保存されるファイルの数を指定します。 ISM_MAXLOGVERS が設定されていない場合、デフォルトのファイル数は 4 です。 設定が NULL 値の場合、ISM サーバは動作ログ ファイルを保存しません。 JAR_TEMP_PATH (IDS) JAR_TEMP_PATH 変数を設定し、install_jar( ) や replace_jar( ) といった JAR 管理 プロシジャが Java 仮想マシンの一時 .jar ファイルを保管できるデフォルト以外のロケ ール ファイル システムの格納場所を指定します。 setenv pathname JAR_TEMP_PATH pathname 一時 .jar ファイル用のローカル ディレクトリを指定します。 データベース サーバを構成したユーザが、このディレクトリに対して読取りおよび書込 みの権限を持っている必要があります。JAR_TEMP_PATH 環境変数が設定されていな い場合、.jar ファイルの一時コピーはデータベース サーバに応じたローカル ファイル システムの /tmp ディレクトリに格納されます。 JAVA_COMPILER (IDS) Java 仮想マシン環境に JAVA_COMPILER 環境変数を設定し、JIT コンパイルを無効 にできます。 setenv JAVA_COMPILER none NONE NONE 設定値と none 設定値は同じです。C シェル サポートし、JAVA_COMPILER が NONE または none に設定されている UNIX システムでは、次のコマンドを使用して JVM 環境向けの JIT コンパイラを有効化できます。 unset JAVA_COMPILER JVM_MAX_HEAP_SIZE (IDS) JVM_MAX_HEAP_SIZE 環境変数には、Java 仮想マシンに対するヒープの上限サイズ をデフォルト以外で設定できます。 setenv size JVM_MAX_HEAP_SIZE size 最大サイズを指定する正整数です (MB 単位)。 例えば、次のコマンドはヒープの最大サイズを 12MB に設定します。 set JVM_MAX_HEAP_SIZE 12 JVM_MAX_HEAP_SIZE を設定しない場合、デフォルトの最大サイズは 16MB です。 第 3 章 環境変数 209 LD_LIBRARY_PATH (UNIX) LD_LIBRARY_PATH 環境変数は、Solaris システムのシェルに対して、クライアントま たは共有の Informix 一般ライブラリを検索するディレクトリを指示します。使用してい るクライアント ライブラリを含むディレクトリを指定してから、製品を使用する必要が あります。 : setenv LD_LIBRARY_PATH $PATH: pathname ライブラリの検索パスを指定します。 pathname AIX 上の INTERSOLV DataDirect ODBC Driver では、LIBPATH を設定します。 HP-UX 上の INTERSOLV DataDirect ODBC Driver では、SHLIB_PATH を設定しま す。 次の例では、LD_LIBRARY_PATH 環境変数を希望するディレクトリに設定します。 setenv LD_LIBRARY_PATH ${INFORMIXDIR}/lib:${INFORMIXDIR}/lib/esql:$LD_LIBRARY_PATH LIBERAL_MATCH (XPS) LIBERAL_MATCH 環境変数により、2 列の値を比較する SQL 文で LIKE と MATCHES 演算子が発生した場合、データベース サーバは後続の空白を無視できま す。 setenv LIBERAL_MATCH この環境変数が設定されている場合、データベース サーバは LIKE または MATCHES 条件の後続の空白を無視できます。例えば、LIBERAL_MATCH が設定されており、M の末尾には挿入されない空白が P に挿入されている状態で「M LIKE P」を指定する と、TRUE になります。この環境変数が設定されていない場合、データベース サーバ は、このような後続の空白のみが異なる文字列の比較に対して、FALSE を戻します。 この環境変数は、Dynamic Server バージョン 7.x、9.x、および 10.x における LIKE お よび MATCHES 演算子の動作と整合性のある動作をサポートします。この動作は (MATCHES 演算子のように)、SQL の ANSI/ISO 標準の拡張版です。 LIKE と MATCHES 演算子についての詳細は、「IBM Informix: SQL ガイド: 構文」を 参照してください。 LIBPATH (UNIX) LIBPATH 環境変数は、 AIX システムのシェルに対して INTERSOLV DataDirect ODBC Driver へのダイナミック リンク ライブラリを検索するディレクトリを指示しま す。この製品をインストールしたディレクトリの絶対パス名を指定する必要がありま す。 210 IBM Informix SQL ガイド: 参照 : setenv pathname LIBPATH pathname ライブラリの検索パスを指定します。 Solaris では、LD_LIBRARY_PATH を指定します。HP-UX では、SHLIB_PATH を設 定します。 NODEFDAC NODEFDAC 環境変数を yes に設定すると、現行セッションにおいて ANSI 標準準拠 以外のデータベースで新規の表が作成された場合、デフォルトの表アクセス権 (Select、Insert、Update、Delete) は PUBLIC に付与されません。 setenv yes NODEFDAC yes ANSI 標準準拠以外のデータベースで作成された新規の表デフォルト の表アクセス権は、PUBLIC に付与されません。また、ルーチンが Owner モードで作成された場合、この設定により新しいユーザ定義ル ーチンの Execute アクセス権もデフォルトで PUBLIC に付与されま せん。 yes の設定値は大文字と小文字を区別します。また、前後の空白も区別します。設定値 に大文字または空白を含めると、NODEFDAC を設定しないことと等しくなります。 NODEFDAC が設定されていない場合、またはこれに yes 以外の値が設定されている場 合は、ANSI 標準準拠でないデータベースで表または UDR が作成されたときに、表お よび Owner モードの UDR に対するデフォルトのアクセス権がデフォルトで PUBLIC に付与されます。 ONCONFIG ONCONFIG 環境変数には、データベース サーバの構成パラメータが記述されているア クティブ ファイルの名前を指定します。このファイルは、初期化プロシジャ中に入力と して読み込まれます。ONCONFIG 構成ファイルを準備した後、ONCONFIG をこのフ ァイル名に設定します。 setenv filename ONCONFIG filename 使用しているデータベース用の構成パラメータが記述されている $INFORMIXDIR/etc にあるファイル名です。 ONCONFIG ファイルを準備するには、onconfig.std ファイルのコピーを作成し、そのコ ピーを修正します。ONCONFIG ファイルには、後で特定のデータベース サーバと容易 に関連付けられる名前を付けることをお勧めします。データベース サーバの複数インス タンスがある場合は、一意の名前が付けられた独自の ONCONFIGファイルをそれそれ のインスタンスが所有する必要があります。 第 3 章 環境変数 211 Extended Parallel Server 用に ONCONFIG ファイルを作成するには、単一のコサーバ構 成を使用している場合は onconfig.std ファイルをコピーし、複数のコサーバ構成を使用 している場合は onconfig .xps ファイルをコピーします。複数のコサーバ構成の場合に も onconfig.std ファイルを使用できますが、ENDNODE、および COSERVER などのキ ーワードと構成パラメータを追加する必要があります。onconfig.xps ファイルには、そ れらがすでに設定されています。 ONCONFIG 環境変数が設定されていない場合、データベース サーバは $ONCONFIG ファイルまたは $INFORMIXDIR/etc/onconfig ファイルのいずれかの構成値を使用しま す。 構成パラメータおよび ONCONFIG ファイルについての詳細は、「IBM Informix: Dynamic Server 管理者の参照」を参照してください。 OPTCOMPIND OPTCOMPIND 環境変数を設定すると、オプティマイザによって適切な結合方法が選択 されます。 setenv OPTCOMPIND 2 1 0 0 ソート マージやハッシュ結合よりも、可能な限り入れ子ループ結合を 優先させます。 1 排他レベルが繰返し可能読込みでない 場合、オプティマイザは設定 2 として動作します。それ以外の場合、オプティマイザは設定 0 として 動作します。 2 入れ子ループ結合を必ずしも優先させません。オプティマイザはトラ ンザクション排他性モードとは無関係にコストで決定されます。 OPTCOMPIND が設定されていない場合、データベース サーバは ONCONFIG 構成フ ァイルの OPTCOMPIND 値を使用します。環境変数も構成パラメータも設定しない場 合、デフォルト値は 2 になります。 Dynamic Server では、SET ENVIRONMENT OPTCOMPIND 文により、実行時に動的に OPTCOMPIND を設定またはリセットできます。これは、現行のユーザ セッションに ついてのみ、現行の OPTCOMPIND 値 (または ONCONFIG 構成パラメータ OPTCOMPIND) を上書きします。SQL の SET ENVIRONMENT OPCOMPIND 文の詳 細については、「IBM Informix: SQL ガイド: 構文」を参照してください。 ONCONFIG 構成パラメータ OPTCOMPIND の詳細については、「IBM Informix: Dynamic Server 管理者の参照」を参照してください。オプティマイザが使用するその他 の結合方法の詳細は、「IBM Informix: Dynamic Server パフォーマンス ガイド」を参照 してください。 212 IBM Informix SQL ガイド: 参照 OPTMSG IBM Informix ESQL/C アプリケーション開始前の実行時に OPTMSG 環境変数を設定 すると、アプリケーション内のすべての SQL 文に対して最適化されたメッセージ転送 (メッセージ チェーニング) を有効化 (または無効化) できます。 setenv OPTMSG 0 1 0 最適化されたメッセージ転送を無効にします。 1 最適化されたメッセージ転送を有効にし、以降すべての接続にこの機 能を実装します。 デフォルト値は 0 (ゼロ) であり、メッセージ チェーニングを明示的に無効にします。 例えば、デバッグのため、あるいはデータベース サーバによってすべてのメッセージが 処理された後にアプリケーションが終了することを保証するために、即時応答が必要な 文で、最適化されたメッセージ転送を無効にすることもできます。 アプリケーション内に OPTMSG を設定すると、各接続または各スレッド内で、最適化 されたメッセージ転送を有効または無効にできます。最適化されたメッセージ転送を有 効にするには、OPTMSG を設定してから接続を確立します。 OPTMSG の設定および関連の広域変数の定義についての詳細は、「IBM Informix: ESQL/C Programmer’s Manual」を参照してください。 OPTOFC OPTOFC 環境変数を設定し、IBM Informix ESQL/C アプリケーションの最適化フェッ チ開閉機能、または DECLARE 文と OPEN 文を使用してカーソルを実行するその他の API (JDBC、ODBC、OLE DB、LIBDMI、および Lib C++ など) を有効化します。 setenv OPTOFC 0 1 0 アプリケーションのすべてのスレッド対する OPTOFC を無効にしま す。 1 アプリケーションのすべてのスレッドの、すべてのカーソルに対する OPTOFC を有効化します。 デフォルト値は 0 (ゼロ) です。 OPTOFC 環境変数により、アプリケーションとデータベース サーバ間のメッセージ要 求の数が削減されます。 シェルから OPTOFC を設定する場合、ESQL/C アプリケーションを開始する前に設定 する必要があります。OPTOFC の有効化および関連機能についての詳細は、 「IBM Informix: ESQL/C Programmer’s Manual」を参照してください。 第 3 章 環境変数 213 OPT_GOAL (IDS、UNIX) OPT_GOAL 環境変数をユーザ環境に設定すると、アプリケーションを起動する前に、 オプティマイザの問合せパフォーマンスの目標を指定できます。 setenv OPT_GOAL -1 0 0 ユーザ応答時間の最適化を指定します。 -1 合計問合せ時間の最適化を指定します。 オプティマイザのデフォルトの動作では、合計問合せ時間を最適化する問合せ予定が選 択されます。 また、オプティマイザ ディレクティブによって個々の問合せに対して、または SET OPTIMIZATION 文によってセッションに対して最適化の目標を指定することもできま す。 両方のメソッドとも、OPT_GOAL 環境変数の設定より優先されます。また、構成パラ メータ OPT_GOAL を Dynamic Server システムに対して設定することもできます。こ の方法の優先順位は最も低くなります。 使用しているデータベース サーバの問合せの最適化について詳しくは、「IBM Informix: Dynamic Server パフォーマンス ガイド」を参照してください。 SET OPTIMIZATION 文については、「IBM Informix: SQL ガイド: 構文」を参照してください。 PATH UNIX の PATH 環境変数には、シェルが実行可能プログラムを検索するディレクトリ を指定します。 IBM Informix 製品を使用するには、その製品がインストールされてい るディレクトリを PATH 設定に追加しておく必要があります。 : setenv PATH pathname $PATH: pathname 実行可能ファイルの検索パスを指定します。 UNIX システムでは、パス名を区切るコロン (:) 分離記号が含まれます (Windows シス テムでは、パス名間の区切りにセミコロン (;) 記号を使用してください)。 検索パスの指定には、いくつかの方法があります。PATH 環境変数は、オペレーティン グ システムに実行可能プログラムを検索する場所を指示します。IBM Informix 製品を 使用するには、その製品がインストールされているディレクトリを path 設定に追加し 含めておく必要があります。このディレクトリは $INFORMIXDIR/bin の前に表示され ます。このディレクトリも含める必要があります。 214 IBM Informix SQL ガイド: 参照 パスの変更方法についての補足説明は、150 ページの『環境変数設定の変更』を参照し てください。 PDQPRIORITY Dynamic Server では、PDQPRIORITY 環境変数は、データベース サーバで使用される 並列処理の度合いを決定し、メモリ、プロセッサ、およびディスク読込みなどのデータ ベース サーバのリソースの割当て方法に影響します。 Extended Parallel Server では、PDQPRIORITY 環境変数はメモリ リソースの割当ての みを決定します。 setenv PDQPRIORITY HIGH LOW OFF resources (1) , high_value 注: 1 Extended Parallel Server のみ resources 0 から 100 の範囲の整数です。値 1 は LOW と同じです。 値 0 は OFF (Dynamic Server の場合のみ) と同じです。 high_value メモリの最大の割合を要求するオプションの整数値 (Extended Parallel Server の場合のみ)。resources 値の後にこの値を指定すると、パーセ ントで表されたメモリの範囲を要求することになります。 ここで、HIGH、LOW、および OFF キーワードは 次のように影響します。 HIGH データベース サーバによってすべてのユーザにリソースが割り当てら れる場合、問合せに対して可能な限り多くのリソースが与えられま す。 LOW データ値は、フラグメント表から並列処理で取り出されます。 OFF PDQ 処理がオフになります (Dynamic Server の場合のみ)。 通常、データベースによって使用されるリソースが多いほど、特定の問合せにおけるパ フォーマンスは向上します。ただし、サーバによって使用されるリソースが多すぎる場 合は、リソース間の競合が生じて他の問合せからリソースが奪われ、パフォーマンスが 低下する可能性があります。PDQPRIORITY のパフォーマンスに関する考慮事項の詳 細については、「IBM Informix: Dynamic Server パフォーマンス ガイド」を参照してく ださい。 アプリケーションが SQL 文 SET PDQPRIORITY を発行すると、この環境変数の設定 を上書き可能です。「IBM Informix: SQL ガイド: 構文」で説明しています。 第 3 章 環境変数 215 Dynamic Server での PDQPRIORITY の使用 resources 値には、問合せの優先順位と、データベース サーバが問合せの処理に使用す るリソースの量を指定します。LOW を指定すると、Dynamic Server は並列処理のフォ ームを使用しません。 PDQPRIORITY が設定されていない場合、デフォルト値は OFF です。 PDQPRIORITY が HIGH に設定されている場合、Dynamic Server は、複数の基準を基 に PDQPRIORITY に対して使用する適切な値を決定します。これらの基準には、使用 可能なプロセッサの数、問合せが行われる表のフラグメント化、問合せの複雑さ、さら にいくつかの要素が含まれます。 Extended Parallel Server での PDQPRIORITY の使用 high_value を指定してメモリ割当ての範囲を要求する場合、resources 値は メモリの最 小割合を確立します。PDQPRIORITY 設定が LOW になっていると、その他の並列操 作が可能です。 PDQPRIORITY 環境変数が設定されていない場合、デフォルト値は PDQPRIORITY 構 成パラメータの値になります。 PDQPRIORITY が 0 に設定されている場合、Extended Parallel Server は、使用可能な プロセッサの数、問合せが行われる表のフラグメント化、問合せの複雑さなどにより、 問合せを並列で実行できます。PDQPRIORITY は Extended Parallel Server 内の並列処 理の度合いには影響しません。 SQL の SET PDQPRIORITY IMMUTABLE または SET ALL_MUTABLES 文を使用し て、アプリケーションにおいて PDQPRIORITY の設定の変更を防止できます。SQL 文 SET ENVIRONMENT を発行し、IMPLICIT_PDQ または BOUNT_IMPL_PDQ オプショ ンを変更することで、この環境変数の設定を上書き可能です。「IBM Informix: SQL ガ イド: 構文」で説明しています。 PLCONFIG (IDS) PLCONFIG 環境変数には、ハイパフォーマンス ローダ (HPL) が使用する構成ファイ ルの名前を指定します。このファイルは $INFORMIXDIR/etc ディレクトリに置く必要 があります。PLCONFIG 環境変数が設定されていない場合、デフォルトの構成ファイ ルは $INFORMIXDIR/etc/plconfig です。 setenv PLCONFIG filename filename ハイパフォーマンス ローダで使用される構成ファイルのファイル名を 指定します。 例えば、$INFORMIXDIR/etc/custom.cfg ファイルを ハイパフォーマンス ローダの構成 ファイルとして指定するには、次のコマンドを入力します。 216 IBM Informix SQL ガイド: 参照 setenv PLCONFIG custom.cfg 詳しくは、「IBM Informix: ハイ パフォーマンス ローダ ユーザーズ ガイド」を参照し てください。 PLOAD_LO_PATH (IDS) PLOAD_LO_PATH 環境変数を使用すると、BLOB 型および CLOB 型などのスマート ラージ オブジェクトの場所を識別する、スマート ラージ オブジェクト ハンドルのパ ス名を指定できます。 setenv pathname PLOAD_LO_PATH pathname スマート ラージ オブジェクト ハンドルのディレクトリを指定しま す。 PLOAD_LO_PATH が設定されていない場合、デフォルトのディレクトリは /tmp にな ります。 詳しくは、「IBM Informix: ハイ パフォーマンス ローダ ユーザーズ ガイド」を参照し てください。 PLOAD_SHMBASE (IDS) PLOAD_SHMBASE 環境変数を使用すると、ハイパフォーマンス ローダ (HPL) onpload プロセスが確保する共有メモリ アドレスを指定できます。PLOAD_SHMBASE が設定されていない場合、HPL によって使用する共有メモリ アドレスが判断されま す。 setenv value PLOAD_SHMBASE value 共有メモリ アドレスの計算に使用されます。 onpload ユーティリティが確保できない場合は、エラーが表示されるため、新しい値を 指定する必要があります。 onpload ユーティリティでは、確保するアドレスを以下に示すように降順で決定しよう とします。 1. データベース サーバと同じアドレス (SHMBASE) を確保しようとします。 2. データベース サーバ セグメントを超えて確保しようとします。 3. PLOAD_SHMBASE に指定されたアドレスを確保しようとします。 ヒント: HPL に確保する場所を決めさせ、onpload とデータベース サーバ間の共有メ モリ衝突を避ける必要がある場合のみ、PLOAD_SHMBASE を設定されること をお勧めします。 第 3 章 環境変数 217 詳しくは、「IBM Informix: ハイ パフォーマンス ローダ ユーザーズ ガイド」を参照し てください。 PSORT_DBTEMP PSORT_DBTEMP 環境変数には、データベース サーバがソートを行う場合に使用する 一時ファイルを書き込む場所を指定します。 : setenv PSORT_DBTEMP pathname ソート中の中間書込みに使用される UNIX ディレクトリの名前です。 pathname PSORT_DBTEMP 環境変数にディレクトリ (例えば /usr/leif/tempsort) を指定するに は、次のコマンドを入力します。 setenv PSORT_DBTEMP /usr/leif/tempsort パフォーマンスをフルに使用するためには、別のディスク上のファイル システムにある ディレクトリを指定します。 DBSPACETEMP 環境変数には、オペレーティング システム ファイルではなく DB 領 域でのソートで使用する一時ファイルを指定することもあります。179 ページの 『DBSPACETEMP』の、DBSPACETEMP 環境変数に関する説明を参照してください。 PSORT_NPROCS 環境変数が設定されていない場合でも、データベース サーバでは PSORT_DBTEMP によって指定されるディレクトリが使用されます。 PSORT_DBTEMP 環境変数に関する補足説明については、「IBM Informix: Dynamic Server 管理者ガイド」および「IBM Informix: Dynamic Server パフォーマンス ガイド」 を参照してください。 PSORT_NPROCS PSORT_NPROCS 環境変数では、ソート処理のために多くのスレッドを割り当てること によってデータベース サーバ上での並列プロセス ソート パッケージのパフォーマンス を向上できます。 PSORT_NPROCS は、Extended Parallel Server のソート速度を向上させない場合があり ます。これは、この環境変数の設定の有無にかかわらず、データベース サーバではソー トが並列処理で行われるためです。 ソート パッケージによって並列ソートが実行される前に、ソート処理に十分なメモリが 割り当てられているか確認してください。 setenv PSORT_NPROCS threads 218 IBM Informix SQL ガイド: 参照 threads 問合せのソートに使用するスレッドの最大数を指定する整数です。10 以下の値です。 次のコマンドは、PSORT_NPROCS を 4 に設定します。 setenv PSORT_NPROCS 4 並列ソートを使用不可にするには、次のコマンドを入力します。 unsetenv PSORT_NPROCS 使用しているコンピュータに複数の CPU がある場合、初期設定では PSORT_NPROCS を 2 に設定することをお勧めします。以降の CPU 動作が入出力動作より遅くなる場合 は、PSORT_NPROCS の値を増やすことができます。 ヒント: PDQPRIORITY 環境変数が設定されていない場合、データベース サーバによ ってソート用に最小限のメモリが割り当てられます。最小限のメモリでは 2 つ のソート スレッドも開始できません。PDQPRIORITY を設定していない場合 には、インデックス作成のような大規模なソートを実行する前に、使用可能な メモリが十分あるか確認してください。 分離インデックスのデフォルト値 PSORT_NPROCS 環境変数を設定している場合には、データベース サーバでは、指定 されているソート スレッド数が通常のソートの上限として使用されます。 PSORT_NPROCS を設定していない場合には、並列ソートは実行されません。データベ ース サーバでは、ソートにスレッドが 1 つ使用されます。PSORT_NPROCS に 0 を 設定すると、データベース サーバでは、ソートにスレッドが 3 つ使用されます。 連結インデックスのデフォルト値 デフォルトのスレッド数は、連結インデックスでは異なります。 PSORT_NPROCS 環境変数を設定している場合には、作成されるインデックスの各フラ グメントに対して指定した数のソート スレッドを取得できます。 PSORT_NPROCS を設定していないか、0 に設定した場合、単一の CPU 仮想プロセッ サを使用していない限り、インデックスの各フラグメントに対して 2 つのソート スレ ッドを取得できます。単一の CPU 仮想プロセッサを使用している場合には、インデッ クスの各フラグメントに対して 1 つのソート スレッドを取得できます。 PSORT_NPROCS 環境変数に関する補足説明については、「IBM Informix: Dynamic Server 管理者ガイド」および「IBM Informix: Dynamic Server パフォーマンス ガイド」 を参照してください。 RTREE_COST_ADJUST_VALUE (IDS) RTREE_COST_ADJUST_VALUE 環境変数には係数を指定します。ユーザ定義データ型 のサポート関数が、その係数を使用して、列 UDT での問合せに R ツリー インデック スを使用した場合のコストを見積もります。 第 3 章 環境変数 219 setenv RTREE_COST_ADJUST_VALUE value 浮動小数点数です。1 ≤ value ≤ 1000 となり、UDT 列 のインデック スを使用した場合のコストを見積もる倍数を指定します。 value 空間の問合せでは、入出力オーバーヘッドは CPU コストを大幅に超える傾向がありま す。そのため、本設定の適切な value で未訂正の見積りコストを乗算することで、デー タベース サーバは、R ツリー インデックスが存在する列 UDT への問合せ実装方法 を、コストを基により適切に判断できるようになります。 SHLIB_PATH (UNIX) SHLIB_PATH 環境変数は、HP-UX システムのシェルに対してダイナミック リンク ラ イブラリを検索するディレクトリを指示します。例えば、この設定は INTERSOLV DataDirect ODBC Driver で使用されます。この製品をインストールしたディレクトリの 絶対パス名を指定する必要があります。 : setenv SHLIB_PATH $PATH: pathname ライブラリの検索パスを指定します。 pathname Solaris システムでは、LD_LIBRARY_PATH を指定します。AIX システムでは、 LIBPATH を設定します。 STMT_CACHE (IDS) セッションの共有文キャッシュの使用を制御するには、STMT_CACHE 環境変数を使用 します。この機能を使用すると、メモリの消費量を削減して、異なる複数のユーザ セッ ション間での問合せ処理の速度を上げることができます。有効な STMT_CACHE 値は 1 および 0 です。 setenv STMT_CACHE 1 0 1 SQL 文キャッシュを有効化します。 0 SQL 文キャッシュを無効化します。 SET STMT_CACHE 文を使用しないアプリケーションに STMT_CACHE 環境変数を設 定し、SQL 文キャッシュの使用を制御します。デフォルトでは、512KB の文キャッシ ュが有効ですが、 onconfig.std ファイルの STMT_CACHE パラメータを介して、ある いは SET STMT_CACHE 文を使用してこの機能を無効、またはデフォルト以外のサイ ズに設定できます。 220 IBM Informix SQL ガイド: 参照 この環境変数は、構成ファイル設定で SQL 文キャッシュが無効な場合は何も動作しま せん。アプリケーションの SET STMT_CACHE 文で設定された値は、STMT_CACHE 設定を上書きします。 TERM (UNIX) TERM 環境変数は端末操作に使用されます。この設定により、DB–Access (およびその 他の文字ベースのアプリケーション) は、使用中の端末を認識し、通信します。 setenv TERM type 端末の型を指定します。 type TERM に指定されている端末の型は、それに該当するエントリがファイル termcap か ディレクトリ terminfo 内にある必要があります。 TERM 環境変数を設定する前に、使用している端末コードをデータベース管理者に確認 する必要があります。 例えば、端末 vt100 を指定するには、次のコマンドを入力して TERM 環境変数を設定 します。 setenv TERM vt100 TERMCAP (UNIX) TERMCAP 環境変数は端末操作に使用されます。ディレクトリ terminfo の代わりにフ ァイル termcap を読み込むように、DB–Access に指示します。 setenv pathname TERMCAP pathname termcap ファイルの格納場所を指定します。 termcap ファイルには、さまざまな端末の型とその特性が入っています。例え ば、/usr/informix/etc/termcap ファイルに指定されている DB–Access 端末処理情報を提 供するには、次のコマンドを入力します。 setenv TERMCAP /usr/informix/etc/termcap 次のいずれの方法でも、TERMCAP セットを使用できます。複数の termcap ファイル がある場合は、次の優先順位 (降順) となります。 1. ユーザが作成した termcap ファイル 2. データベース サーバが提供する termcap ファイル ($INFORMIXDIR/etc/termcap) 3. オペレーティング システムの termcap ファイル (/etc/termcap) TERMCAP 環境変数を設定する場合、INFORMIXTERM 環境変数にデフォルトの termcap が設定されているか確認してください。 第 3 章 環境変数 221 TERMCAP 環境変数を設定しない場合、システム ファイル (/etc/termcap) がデフォル トで使用されます。 TERMINFO (UNIX) TERMINFO 環境変数は端末操作に使用されます。 この環境変数は、Systerm V および Solaris 系の UNIX システムで提供されている terminfo ライブラリを完全にサポートしているプラットフォームでのみ使用できます。 setenv TERMINFO /usr/lib/terminfo TERMINFO では、termcap ファイルの代わりにディレクトリ terminfo とやりとりを するよう DB–Access に指示します。ディレクトリ terminfo には、端末とその特性が記 述されたファイルが入ったサブディレクトリがあります。 TERMINFO を設定するには、次のコマンドを入力します。 setenv TERMINFO /usr/lib/terminfo TERMINFO 環境変数を設定する場合、INFORMIXTERM 環境変数にも terminfo を設 定する必要があります。 THREADLIB (UNIX) マルチスレッド ESQL/C アプリケーションのコンパイルには、THREADLIB 環境変数 を使用してください。マルチスレッド ESQL/C アプリケーションを使用すると、1 つ以 上のデータベースに対してスレッドと同じ数の接続を確立できます。これらの接続は、 アプリケーション プログラムが実行している間も実効状態のままにできます。 THREADLIB 環境変数により、アプリケーションのコンパイル中に使用するスレッド パッケージが示されます。現時点では分散コンピュータ環境 (DCE) のみがサポートさ れています。 setenv THREADLIB DCE マルチスレッド ESQL/C アプリケーションのコンパイル時に、-thread オプションが ESQL/C スクリプトに渡されると、THREADLIB 環境変数がチェックされます。コンパ イル時に -thread オプションを使用した場合、THREADLIB が設定されていない、も しくは THREADLIB にサポートされないスレッド パッケージが設定されていると、 ESQL/C スクリプトはエラーを生成します。 TOBIGINT (XPS) TOBIGINT 環境変数を使用して、dbschema ユーティリティによる 8 バイト整数 (INT8) 型列の出力において表示されるデフォルトの 8 バイト整数 (INT8) 型のラベル を大桁整数 (BIGINT) 型の文字列に変更できます。 222 IBM Informix SQL ガイド: 参照 setenv TOBIGINT 1 この dbschema 機能を有効にするには TOBIGINT を 1 に設定し、使用不可にするに は TOBIGINT を設定解除します。大桁整数 (BIGINT) 型の名前は、IBM の DB2 デ ータベース サーバの組込み 8 バイト整数型の識別子です。TOBIGINT 環境変数に関 する補足説明については、移行ガイドを参照してください。 USETABLEAME (IDS) USETABLENAME 環境変数は、ユーザがシノニムを使用しても ALTER TABLE 文ま たは DROP TABLE 文に table を指定できないようにします。他の多くの環境変数とは 異なり、USETABLENAME には特定の値を設定する必要はありません。任意の値を設 定しても、または値を設定しなくても構いません。 setenv USETABLENAME デフォルトでは、ALTER TABLE 文または DROP TABLE 文は table の名前に対する 有効なシノニムを適用し、変更、削除します (対照的に、ALTER SEQUENCE、DROP SEQUENCE、RENAME SEQUENCE 文が行うようにシノニムを指定し、これらの文で シノニムを sequence 名と置換しようとすると、 RENAME TABLE はエラーを生成し ます)。 USETABLENAME を設定した場合、ALTER TABLE 文または DROP TABLE 文にシ ノニムが表示されると、エラーになります。USETABLENAME の設定は、ビューに対 する有効なシノニムを適用する DROP VIEW 文に影響しません。 XFER_CONFIG (XPS) XFER_CONFIG 環境変数には、xfer_config 構成ファイルの格納場所を指定します。 setenv pathname XFER_CONFIG pathname xfer_config ファイルの格納場所を指定します。 xfer_config ファイルは onxfer ユーティリティと連動し、ユーザのバージョン 7.x から バージョン 8.x への移行を援助します。このファイルには、ユーザが変更できる各種の 構成パラメータ設定と、ユーザが転送用に選択できる表のリストが含まれています。 デフォルトの xfer_config ファイルは、UNIX システムでは $INFORMIXDIR/etc ディ レクトリに、Windows では %INFORMIXDIR%¥etc ディレクトリに置かれています。 第 3 章 環境変数 223 環境変数のインデックス 224 ページの表 15 に、バージョン 8.5 とバージョン 10.0 がサポートするさまざまな Informix および UNIX 環境変数の使用概要を図示します。一般的なトピックとそれに関 連する環境変数、その環境変数の説明があるページやマニュアルのインデックスとして 使用できます。列トピックが空白の場合、エントリは前にリストされているトピックを 参照しています。 表 15 の参照ページの列にある「GLS ガイド」は、「IBM Informix: GLS ユーザーズ ガ イド」で説明されている環境変数を示します。 表 15 の参照ページの列にある「ER ガイド」は、「IBM Informix: Dynamic Server エン タープライズ レプリケーション ガイド」で説明されている環境変数を示します。 表 15. 環境変数の使用 トピック 環境変数 参照ページ 年の値の省略形 DBCENTURY 165 広域分離インデックス GLOBAL_DETACH_INFRM 187 カルテシアン結合 IFMX_CART_ALARM 189 所有者名の大文字/小文字の区別 ANSIOWNER 161 Informix 構文拡張機能 DBANSIWARN 164 デフォルトの表アクセス権 NODEFDAC 211 archecker ユーティリティ AC_CONFIG 160 バッファ: フェッチ サイズ FET_BUF_SIZE 187 ネットワーク サイズ IFX_NETBUF_SIZE 195 ネットワーク プール サイズ IFX_NETBUF_PVTPOOL_SIZE 194 バイト (BYTE) 型またはテキスト (TEXT) 型データ バッファ DBBLOBBUF 164 STMT_CACHE 220 INFORMIXOPCACHE 202 デフォルト サーバ INFORMIXSERVER 202 共有メモリ セグメント INFORMIXSHMBASE 203 クライアント セッション用のスタ ック サイズ INFORMIXSTACKSIZE 204 SQL 操作に対するアラーム ANSI/ISO SQL 準拠 キャッシュ: 有効化 光ディスク記憶サブシステム のサ イズ クライアント/サーバ 224 IBM Informix SQL ガイド: 参照 表 15. 環境変数の使用 (続き) トピック 環境変数 参照ページ クライアントのロケール、サーバ CLIENT_LOCALE、DBLOCALE 「GLS ガイド」 ファイル入出力用のロケール SERVER_LOCALE 「GLS ガイド」 クライアントに対するコード セッ ト、サーバ CLIENT_LOCALE、DB_LOCALE 「GLS ガイド」 文字ストリング変換 DBNLS 174 INFORMIXKEYTAB 201 concsm.cfg ファイル INFORMIXCONCSMCFG 199 コンパイラ: INFORMIXC 198 マルチバイト文字 CC8BITLEVEL 「GLS ガイド」 C++ INFORMIXCPPMAP 201 ESQL/C THREADLIB 222 データベース サーバ ONCONFIG 211 環境変数の無視 ENVIGNORE 186 構成パラメータ: COSERVER INFORMIXSERVER 202 DBSERVERNAME INFORMIXSERVER 202 DBSPACETEMP DBSPACETEMP 179 DIRECTIVES IFX_DIRECTIVES IFX_EXTDIRECTIVES 192 192 OPCACHEMAX INFORMIXOPCACHE 202 OPTCOMPIND OPTCOMPIND 212 OPT_GOAL OPT_GOAL 214 PDQPRIORITY PDQPRIORITY 215 STACKSIZE INFORMIXSTACKSIZE 204 接続 INFORMIXCONRETRY INFORMIXCONTIME INFORMIXSERVER INFORMIXSQLHOSTS 199 199 202 204 データ配分 DBUPSPACE 184 データベース ロケール DB_LOCALE 「GLS ガイド」 データベース サーバ INFORMIXSERVER 202 コード セット変換 通信サポート モジュール: DCE-GSS 構成ファイル: 第 3 章 環境変数 225 表 15. 環境変数の使用 (続き) トピック 環境変数 参照ページ ファイル入出力用のロケール SERVER_LOCALE 「GLS ガイド」 構成ファイル ONCONFIG 211 並列ソート PSORT_DBTEMP PSORT_NPROCS 218 218 並列処理 PDQPRIORITY 215 役割分担 INF_ROLE_SEP 206 共有メモリ INFORMIXSHMBASE 203 スタック サイズ INFORMIXSTACKSIZE 204 一時表 DBSPACETEMP DBTEMP PSORT_DBTEMP 179 181 218 可変長パケット IFX_PAD_VARCHAR 195 日時値、形式 DBCENTURY DBDATE GL_DATE DBTIME GL_DATETIME IBM_XPS_PARAMS 165 168: 「GLS ガイド」 181: 「GLS ガイド」 188 DB-Access ユーティリティ DBANSIWARN DBDELIMITER DBEDIT DBFLTMASK DBNLS DBPATH FET_BUF_SIZE INFORMIXSERVER INFORMIXTERM TERM TERMCAP TERMINFO 164 171 171 172 174 176 187 202 205 221 221 222 dbexport ユーティリティ DBDELIMITER 171 dbschema ユーティリティ TOBIGINT 222 区切り識別子 DELIMIDENT 185 ディスク領域 DBUPSPACE 184 エディタ DBEDIT 171 226 IBM Informix SQL ガイド: 参照 表 15. 環境変数の使用 (続き) トピック 環境変数 参照ページ エンタープライズ レプリケーション CDR_LOGDELTA CDR_PERFLOG CDR_ROUTER CDR_RMSCALEFACT CDRSITES_731 CDRSITES_92X 「ER ガイド」 ESQL/C: ANSI 標準準拠 DBANSIWARN 164 C コンパイラ INFORMIXC 198 日時 (DATETIME) 型書式 DBTIME 181; 「GLS ガイド」 区切り識別子 DELIMIDENT 185 マルチバイト文字 CLIENT_LOCALE、ESQLMF 「GLS ガイド」 マルチスレッド アプリケーション THREADLIB 222 C プリプロセッサ CPFIRST 162 実行可能プログラム PATH 214 フェッチ バッファ サイズ FET_BUF_SIZE 187 ファイル名: マルチバイト GLS8BITSYS 「GLS ガイド」 ファイル: フィールド区切り記号 DBDELIMITER 171 ファイル: インストール INFORMIXDIR 201 ファイル: ロケール CLIENT_LOCALE DB_LOCALE SERVER_LOCALE 「GLS ガイド」 ファイル: C++ のマップ INFORMIXCPPMAP 201 ファイル: メッセージ DBLANG 172 ファイル: 一時 DBSPACETEMP 179 ファイル: 一時、ゲートウェイ用 DBTEMP 181 ファイル: 一時ソート PSORT_DBTEMP 218 ファイル: termcap、terminfo INFORMIXTERM TERM TERMCAP TERMINFO 205 221 221 222 形式: 日時 DBDATE GL_DATE DBTIME GL_DATETIME 168; 「GLS ガイド」 181; 「GLS ガイド」 第 3 章 環境変数 227 表 15. 環境変数の使用 (続き) トピック 環境変数 参照ページ 形式: 金額 DBMONEY 173; 「GLS ガイド」 ゲートウェイ DBTEMP 181 ハイパフォーマンス ローダ DBONPLOAD PLCONFIG PLOAD_LO_PATH PLOAD_SHMBASE 176 216 217 217 識別子: 区切り記号付き DELIMIDENT 185 識別子: 18 バイトより長い IFX_LONGID 193 識別子: マルチバイト文字 CLIENT_LOCALE、ESQLMF 「GLS ガイド」 IBM Informix Storage Manager ISM_COMPRESSION ISM_DEBUG_FILE ISM_DEBUG_LEVEL ISM_ENCRYPTION 207 207 207 208 IBM Informix Storage Manager ISM_MAXLOGSIZE ISM_MAXLOGVERS 208 208 インストール INFORMIXDIR PATH 201 214 言語環境 DBLANG 「デフォルト以外のロケール」も参照 172; 「GLS ガイド」 ライブラリ LD_LIBRARY_PATH LIBPATH SHLIB_PATH 210 210 220 ロケール CLIENT_LOCALE DB_LOCALE SERVER_LOCALE 「GLS ガイド」 ロック モード IFX_DEF_TABLE_LOCKMODE 191 ロング識別子 IFX_LONGID 193 C++ のマップ ファイル INFORMIXCPPMAP 201 メッセージ チェーニング OPTMSG 213 メッセージ ファイル DBLANG 172; 「GLS ガイド」 金額書式 DBMONEY 173; 「GLS ガイド」 228 IBM Informix SQL ガイド: 参照 表 15. 環境変数の使用 (続き) トピック 環境変数 参照ページ マルチバイト文字 CLIENT_LOCALE DB_LOCALE SERVER_LOCALE 「GLS ガイド」 複数バイト フィルタ ESQLMF 「GLS ガイド」 マルチスレッド アプリケーション THREADLIB 222 ネットワーク DBPATH 176 デフォルト以外のロケール DBNLS CLIENT_LOCALE DB_LOCALE SERVER_LOCALE 174; 「GLS ガイド」 ON–Bar ユーティリティ ISM_COMPRESSION ISM_DEBUG_LEVEL ISM_ENCRYPTION 207 207 208 ONCONFIG 引数パラメータ 「構成パラメータ」を参照 225 光ディスク記憶サブシステム INFORMIXOPCACHE 202 最適化: ディレクティブ IFX_DIRECTIVES IFX_EXTDIRECTIVES 192 192 最適化: メッセージ転送 OPTMSG 213 最適化: 結合方法 OPTCOMPIND 212 最適化: パフォーマンス ゴール OPT_GOAL 214 OPTOFC 機能 OPTOFC 213 パラメータ 「構成パラメータ」を参照 225 から 225 パス名: archecker 構成ファイル AC_CONFIG 160 パス名: C コンパイラ INFORMIXC 198 パス名: データベース ファイル DBPATH 176 パス名: 実行可能プログラム PATH 214 パス名: HPL sblob 処理 PLOAD_LO_PATH 217 パス名: インストール INFORMIXDIR 201 パス名: ライブラリ LD_LIBRARY_PATH LIBPATH SHLIB_PATH 210 210 220 パス名: メッセージ ファイル DBLANG 172; 「GLS ガイド」 パス名: 並列ソート PSORT_DBTEMP 218 第 3 章 環境変数 229 表 15. 環境変数の使用 (続き) トピック 環境変数 参照ページ パス名: リモート シェル DBREMOTECMD 178 パス名: xfer_config ファイル XFER_CONFIG 223 所有者名の大文字/小文字を保持 ANSIOWNER 161 印刷 DBPRINT 178 アクセス権 NODEFDAC 206 問合せ: 最適化 IFX_DIRECTIVES IFX_EXTDIRECTIVES IFMX_OPT_FACT_TABS IFMX_OPT_NON_DIM_TABS OPTCOMPIND OPT_GOAL RTREE_COST_ADJUST_VALUE 192 192 190 190 212 214 219 問合せ: 優先順位 PDQPRIORITY 215 リモート シェル DBREMOTECMD 178 役割分担 INF_ROLE_SEP 206 ロールバック済みトランザクション DBACCNOIGN IFX_XASTDCOMPLIANCE_XAEND 163 196 ルーチン: 日時 (DATETIME) 型書式 DBTIME 181; 「GLS ガイド」 サーバ 「データベース サーバ」も参照 225 サーバ ロケール SERVER_LOCALE 「GLS ガイド」 共有メモリ INFORMIXSHMBASE PLOAD_SHMBASE 203 217 シェル: リモート DBREMOTECMD 178 シェル: 検索パス PATH 214 ソート PSORT_DBTEMP PSORT_NPROCS 218 218 SQL 文: キャッシュ STMT_CACHE 220 CONNECT INFORMIXCONTIME INFORMIXSERVER 199 202 CREATE TEMP TABLE DBSPACETEMP 179 DESCRIBE FOR UPDATE IFX_UPDDESC 196 LOAD、UNLOAD DBDELIMITER 171 LOAD、UNLOAD DBBLOBBUF 164 230 IBM Informix SQL ガイド: 参照 表 15. 環境変数の使用 (続き) トピック 環境変数 参照ページ SELECT INTO TEMP DBSPACETEMP 179 SET PDQPRIORITY PDQPRIORITY 215 SET STMT_CACHE STMT_CACHE 220 UPDATE STATISTICS DBUPSPACE 184 スタック サイズ INFORMIXSTACKSIZE 204 文字列検索: 後続の空白 LIBERAL_MATCH 210 一時表 DBSPACETEMP DBTEMP PSORT_DBTEMP 179 181 218 端末処理 INFORMIXTERM TERM TERMCAP TERMINFO 205 221 221 222 期限付きソフトウェア ライセンス IFX_NO_TIMELIMIT_WARNING 195 タイムゾーン、指定 IBM_XPS_PARAMS 188 ユーティリティ: DB-Access DBANSIWARN DBDELIMITER DBEDIT DBFLTMASK DBNLS DBPATH FET_BUF_SIZE IFMX_HISTORY_SIZER INFORMIXSERVER INFORMIXTERM TERM TERMCAP TERMINFO 164 171 171 172 174 176 187 189 202 205 221 221 222 ユーティリティ : dbexport DBDELIMITER 171 ユーティリティ: ON–Bar ISM_COMPRESSION ISM_DEBUG_LEVEL ISM_ENCRYPTION 207 207 208 変数: 上書き ENVIGNORE 186 年の値の省略形 DBCENTURY 165 第 3 章 環境変数 231 232 IBM Informix SQL ガイド: 参照 付録 A. データベース stores_demo データベース stores_demo には、架空のビジネスを記述する表が収められています。 「IBM Informix: SQL ガイド: 構文」、「IBM Informix: SQL ガイド: チュートリア ル」、およびその他の IBM Informix マニュアル内の例は、このデモンストレーション データベースを基にしています。データベース stores_demo は、デフォルト (米国英語) のロケールを使用し、ANSI 標準には準拠していません。 この付録は次のセクションで構成されています。 v 最初のセクションでは、データベース stores_demo の表の構造を説明します。各表の 主キーを示し、各列の名前とデータ型をリストして、デフォルト値または検討制約の 有無について説明しています。列に対するインデックスは重複値を許可し、固有のも のとしても識別、分類されます。 v 2 つ目のセクション (238 ページの『データベース stores_demo のマップ』) では、 データベース stores_demo の表のマップにより、列間の関係を示します。 v 3 つ目のセクション (240 ページの『主キーと外部キーの関係』) では、表の列間の 主キーと外部キーの関係について説明します。 v 最後のセクション (245 ページの『データベース stores_demo に収められているデー タ』) では、データベース stores_demo の各表に入っているデータをリストします。 データベース stores_demo の構築方法については、「IBM Informix: DB-Access ユーザ ーズ ガイド」を参照してください。リレーショナル データベースの設計および実装方 法については、「IBM Informix: データベース設計および実装 ガイド」を参照してくだ さい。 表の構造 データベース stores_demo には、米国西部の小売り店に商品を納入している架空のスポ ーツ用品卸売り店に関する情報が含まれています。このデータベースは次の表で構成さ れています。 v customer (234 ページ) v orders (234 ページ) v items (235 ページ) v stock (236 ページ) v catalog (236 ページ) v cust_calls (237 ページ) v call_type (237 ページ) © Copyright IBM Corp. 1996, 2004 233 v manufact (237 ページ) v state (238 ページ) 以降のセクションで各表について説明します。各表の固有の識別子 (主キー) には網掛 けをしています。 表 customer 表 customer には、卸売り業者に注文を出す小売り店の情報が含まれています。表 16 は、表 customer の列を示します。 表 16 の zipcode 列にはインデックスが付けられ、重複値が許されます。 表 16. 表 customer 列名 データ型 説明 customer_num SERIAL(101) 型 システムが生成する顧客番号 fname CHAR(15) 型 店代表者の名 lname CHAR(15) 型 店代表者の姓 company CHAR(20) 型 店名 address1 CHAR(20) 型 店の所在地の 1 行目 address2 CHAR(20) 型 店の所在地の 2 行目 city CHAR(15) 型 市 state CHAR(2) 型 州 (表 state に対する外部キー) zipcode CHAR(5) 型 郵便番号 phone CHAR(18) 型 電話番号 表 orders 表 orders には、卸売り業者の顧客が出した注文に関する情報が含まれています。 235 ページの表 17 は、表 orders の列を示します。 234 IBM Informix SQL ガイド: 参照 表 17. 表 orders 列名 データ型 説明 order_num SERIAL(1001) 型 システムが生成する注文番号 order_date 日付 (DATE) 型 注文が入力された日付 customer_num 整数 (INTEGER) 型 顧客番号 (表 customer に対する外部キー) ship_instruct CHAR(40) 型 特別な出荷指示 backlog CHAR(1) 型 品目に受注残があるため、注文に応じられないことを示す 指標 y = あり n = なし po_num CHAR(10) 型 顧客の発注書番号 ship_date 日付 (DATE) 型 出荷日付 ship_weight DECIMAL(8,2) 型 出荷重量 ship_charge MONEY(6) 型 運送費 paid_date 日付 (DATE) 型 支払い日付 表 items 1 件の注文には 1 つ以上の品目があります。表 items には、注文の品目 1 つにつき 1 行存在します。表 18 は、表 items の列を示します。 表 18. 表 items 列名 データ型 説明 item_num 小桁整数 (SMALLINT) 型 注文ごとに連続して割り当てられる品目番号 order_num 整数 (INTEGER) 型 注文番号 (表 orders に対する外部キー) stock_num 小桁整数 (SMALLINT) 型 取扱品目番号 (表 stock に対する外部キー) manu_code CHAR(3) 型 注文された品目のメーカー コード (表 manufact に対する外 部キー) quantity 小桁整数 (SMALLINT) 型 注文数 (値 > 1 であること) total_price MONEY(8) 型 注文数 * 単価 = 品目の総額 付録 A. データベース stores_demo 235 表 stock この卸売り業者は、いろいろなメーカーの 41 種類のスポーツ用品を扱っています。1 つの商品を 2 つ以上のメーカーから仕入れている場合があります。例えば、2 つのメー カーのレーサー用ゴーグルと、6 つのメーカーのランニング シューズを取り扱っていま す。 表 stock は、卸売り業者が販売する品目のカタログです。表 19 は、表 stock の列を示 します。 表 19. 表 stock 列名 データ型 説明 stock_num 小桁整数 (SMALLINT) 型 品目の種類を識別する取扱品目番号 manu_code CHAR(3) 型 メーカー コード (表 manufact に対する外部キー) description CHAR(15) 型 品目の説明 unit_price MONEY(6,2) 型 単価 unit CHAR(4) 型 品目の注文単位 v 1 台 v 1 組 v ケース v 箱 unit_descr CHAR(15) 型 単位の説明 表 catalog 表 catalog には、各在庫品目に関する情報が格納されています。卸売り業者に発注する 場合、小売店はこの表を使用します。表 20 は、表 catalog の列を示します。 表 20. 表 catalog 列名 データ型 説明 catalog_num SERIAL(10001) 型 システムが生成するカタログ番号 stock_num 小桁整数 (SMALLINT) 型 卸売り業者の取扱品目番号 (表 stock に対する外部キー) manu_code CHAR(3) 型 メーカー コード (表 manufact に対する外部キー) cat_descr テキスト (TEXT) 型 品目の説明 cat_picture バイト (BYTE) 型 品目のピクチャ (バイナリ データ) cat_advert VARCHAR(255, 65) 型 ピクチャの下に表示する宣伝文句 236 IBM Informix SQL ガイド: 参照 表 cust_calls 注文、出荷、苦情など、顧客からの問合せに関するすべての情報が記録されます。表 cust_calls には、これら顧客からの問合せに関する情報が含まれています。表 21 は、表 cust_calls の列を示します。 表 21. 表 cust_calls 列名 データ型 説明 customer_num 整数 (INTEGER) 型 顧客番号 (表 customer に対する外部キ ー) call_dtime DATETIME YEAR TO MINUTE 型 問合せを受けた日時 user_id CHAR(18) 型 問合せを記録した担当者の名前 (デフォ ルトは、ユーザ ログイン名) call_code CHAR(1) 型 問合せの種類 (表 call_type に対する外 部キー) call_descr CHAR(240) 型 問合せの説明 res_dtime DATETIME YEAR TO MINUTE 型 問合せを解決した日時 res_descr CHAR(240) 型 問合せの解決方法に関する説明 表 call_type 顧客問合せに関連付ける問合せコードは、表 call_type に格納されます。表 22 は、表 call_type の列を示します。 表 22. 表 call_type 列名 データ型 説明 call_code CHAR(1) 型 問合せコード code_descr CHAR(30) 型 問合せの種類の説明 表 manufact 表 manufact には、この卸売り業者が扱っているスポーツ用品のメーカー 9 社について の情報が格納されます。表 23 は、表 manufact の列を示します。 表 23. 表 manufact 列名 データ型 説明 manu_code CHAR(3) 型 メーカー コード manu_name CHAR(15) 型 メーカー名 lead_time INTERVAL DAY(3) TO DAY 型 注文から出荷までにかかる時間 付録 A. データベース stores_demo 237 表 state 表 state には、米国の 50 州の名前と郵便省略形が含まれています。表 24 は、表 state の列を示します。 表 24. 表 state 列名 データ型 説明 code CHAR(2) 型 州コード sname CHAR(15) 型 州名 データベース stores_demo のマップ 239 ページの図 6 は、データベース stores_demo 内の結合を示しています。ある表の 列から別の表の同名の列につながっているグレーの網掛けは、表間の関係や結合 を表し ています。 238 IBM Informix SQL ガイド: 参照 図 6. データベース stores_demo 内の結合 付録 A. データベース stores_demo 239 主キーと外部キーの関係 データベース stores_demo の表は、 239 ページの図 6 で示すように、主キーと外部キ ーの関係によってリンクされています。これは本章で説明します。この関係は、ある表 の外部キーが他の表の主キーを参照 するため、参照制約 と呼ばれます。図 7 から 245 ページの図 14 において、表間の関係と、ある表の格納情報が他の表の格納情報を補 足する方法について示します。 表 customer と表 orders 表 customer には、顧客を識別する番号を格納する列 customer_num の他、顧客名、会 社名、住所、電話番号を格納する列があります。例えば、Anthony Higgins についての 行では、列 customer_num に 104 という顧客番号が格納されています。表 orders に も、注文のあった顧客の顧客番号を格納する列 customer_num があります。表 orders では、列 customer_num は、表 customer の列 customer_num を参照する外部キーで す。図 7 は、この関係を示しています。 図 7. 列 customer_num の結合表 図 7 では、顧客番号 104 (Anthony Higgins) が表 orders の 2 つの行に現れていること から、顧客番号 104 から 2 件の注文を受けているのがわかります。顧客番号が表 orders の外部キーであるため、Anthony Higgins の名前、住所、注文情報を同時に抽出 できます。 表 orders と表 items 表 orders と表 items は、各注文の注文番号を含んでいる列 order_num によって結合 されています。1 件の注文に複数の品目が含まれる場合、表 items の複数の行に同じ注 文番号が現れます。表 items では、列 order_num は、表 orders の列 order_num を 参照する外部キーです。 241 ページの図 8 は、この関係を示しています。 240 IBM Informix SQL ガイド: 参照 図 8. 列 order_num の結合表 表 items と表 stock 表 items と表 stock は、2 列で結合されています。取扱品目番号を格納する列 stock_num と、メーカーを識別するコードを格納する列 manu_code です。品目を特定 するために、取扱品目番号とメーカー コードの両方が必要です。例えば、取扱品目番号 が 1 でメーカー コードが HRO である商品は Hero の野球グローブです。取扱品目番号 が 1 でメーカー コードが HSK である商品は、Husky の野球グローブです。 同じ品目が別々の注文に属している場合、同じ取扱品目番号とメーカー コードが表 items の複数の行に現れる可能性があります。表 items では、列 stock_num と manu_code は、表 stock の列 stock_num と manu_code を参照する外部キーです。 242 ページの図 9 は、この関係を示しています。 付録 A. データベース stores_demo 241 図 9. 列 stock_num と manu_code の結合表 表 stock と表 catalog 表 stock と表 catalog は、2 列で結合されています。取扱品目番号を格納する列 stock_num と、メーカーを識別するコードを格納する列 manu_code です。品目を特定 するためには両方の列が必要です。表 catalog では、列 stock_num と manu_code は、表 stock の列 stock_num と manu_code を参照する外部キーです。図 10 は、この 関係を示しています。 図 10. 列 stock_num と manu_code の結合表 242 IBM Informix SQL ガイド: 参照 表 stock と表 manufact 表 stock と表 manufact は、列 manu_code によって結合されています。メーカーが複 数の品目を製造している場合、そのメーカー コードが表 stock の複数の行に現れま す。表 stock では、列 manu_code が表 manufact の列 manu_code を参照する外部キ ーです。図 11 は、この関係を示しています。 図 11. 列 manu_code の結合表 表 cust_calls と表 customer 表 cust_calls と表 customer は、列 customer_num によって結合されています。同じ顧 客から、問題や質問の問合せが複数回あった場合、その顧客番号が表 cust_calls の複数 の行に現れます。表 cust_calls では、列 customer_num は、表 customer の列 customer_num を参照する外部キーです。 244 ページの図 12 は、この関係を示してい ます。 付録 A. データベース stores_demo 243 図 12. 列 customer_num の結合表 表 call_type と表 cust_calls 表 call_type と表 cust_calls は、列 call_code によって結合されています。多くの顧客 が同じ種類 の問題を経験すると想定できるため、同じ問合せコードが表 cust_calls の 複数行に現れる場合があります。表 cust_calls では、列 call_code は、表 call_type の 列 call_code を参照する外部キーです。図 13 は、この関係を示しています。 図 13. 列 call_code の結合表 244 IBM Informix SQL ガイド: 参照 表 state と表 customer 表 state と表 customer は、州コードを格納している列によって結合されています。こ の列は、表 state では code、表 customer では state になります。複数の顧客が同じ州 に住んでいる場合、同じ州コードが表の中の複数の行に現れます。表 customer では、 列 state は、表 state の列 code を参照する外部キーです。図 14 は、この関係を示し ています。 図 14. 列 state と code の関係 データベース stores_demo に収められているデータ 次の表は、データベース stores_demo に格納されているデータを示します。 address1 All Sports Supplies 213 Erstwild Court Sunnyvale CA 94086 408-7898075 102 Carole Sadler Sports Spot 785 Geary Street San Francisco CA 94117 415-8221289 103 Philip Currie Phil’s Sports 654 Poplar P. O. Box Palo Alto 3498 CA 94303 650-3284543 city phone company Pauli zipcode lname Ludwig state fname 101 address2 customer_num 表 customer 付録 A. データベース stores_demo 245 94026 650-3681100 105 Raymond Vector Los Altos Sports 1899 La Loma Drive Los Altos CA 94022 650-7763249 106 George Watson Watson & Son 1143 Carver Place Mountain View CA 94063 650-3898789 107 Charles Ream Athletic Supplies 41 Jordan Avenue Palo Alto CA 94304 650-3569876 108 Donald Quinn Quinn’s Sports 587 Alvarado Redwood City CA 94063 650-5448729 109 Jane Miller Sport Stuff Mayfair Mart CA 94086 408-7238789 110 Roy Jaeger AA Athletics 520 Topaz Way Redwood City CA 94062 650-7433611 111 Frances Keyes Sports Center 3199 Sterling Court Sunnyvale CA 94085 408-2777245 112 Margaret Lawson Runners & Others 234 Wyandotte Way Los Altos CA 94022 650-8877235 113 Lana Beatty Sportstown 654 Oak Grove Menlo Park CA 94025 650-3569982 114 Frank Albertson Sporting Place 947 Waverly Place Redwood City CA 94062 650-8866677 115 Alfred Grant 776 Gary Avenue Menlo Park CA 94025 650-3561123 116 Jean Parmelee Olympic City 1104 Spinosa Drive Mountain View CA 94040 650-5348822 117 Arnold Sipes Kids Korner 850 Lytton Court Redwood City CA 94063 650-2454578 118 Dick Baxter Blue Ribbon 5427 College Sports Oakland CA 94609 650-6550011 246 IBM Informix SQL ガイド: 参照 Gold Medal Sports 7345 Ross Sunnyvale Blvd. phone CA zipcode Redwood City state address1 East Shopping 422 Bay Center Road city company Play Ball! address2 fname Anthony Higgins lname customer_num 104 120 Fred Jewell 121 Jason 122 phone address1 2405 Kings Highway zipcode company The Triathletes Club state lname Shorter city fname Bob address2 customer_num 119 Cherry Hill NJ 08002 609-6636079 Century Pro 6627 N. 17th Shop Way Phoenix AZ 85016 602-2658754 Wallack City Sports Lake Biltmore 350 W. Mall 23rd Street Wilmington DE 19898 302-3667511 Cathy O’Brian The Sporting Life 543 Nassau Street Princeton NJ 08540 609-3420054 123 Marvin Hanlon Bay Sports 10100 Bay Meadows Road Suite 1020 Jacksonville FL 32256 904-8234239 124 Chris Putnum Putnum’s Putters 4715 S.E. Adams Blvd Suite 909C Bartlesville OK 74006 918-3552074 125 James Henry Total Fitness Sports 1450 Commonwealth Avenue Brighton MA 02135 617-2324159 126 Eileen Neelie Neelie’s Discount Sports 2539 South Utica Street Denver CO 80219 303-9367731 127 Kim Satifer Big Blue Bike Shop Blue Island Square 12222 Gregory Street Blue Island NY 60406 312-9445691 128 Frank Lessor Phoenix University Athletic Department 1817 N. Thomas Road Phoenix AZ 85008 602-5331817 表 items item_num order_num stock_num manu_code quantity total_price 1 1001 1 HRO 1 250.00 付録 A. データベース stores_demo 247 248 item_num order_num stock_num manu_code quantity total_price 1 1002 4 HSK 1 960.00 2 1002 3 HSK 1 240.00 1 1003 9 ANZ 1 20.00 2 1003 8 ANZ 1 840.00 3 1003 5 ANZ 5 99.00 1 1004 1 HRO 1 250.00 2 1004 2 HRO 1 126.00 3 1004 3 HSK 1 240.00 4 1004 1 HSK 1 800.00 1 1005 5 NRG 10 280.00 2 1005 5 ANZ 10 198.00 3 1005 6 SMT 1 36.00 4 1005 6 ANZ 1 48.00 1 1006 5 SMT 5 125.00 2 1006 5 NRG 5 140.00 3 1006 5 ANZ 5 99.00 4 1006 6 SMT 1 36.00 5 1006 6 ANZ 1 48.00 1 1007 1 HRO 1 250.00 2 1007 2 HRO 1 126.00 3 1007 3 HSK 1 240.00 4 1007 4 HRO 1 480.00 5 1007 7 HRO 1 600.00 1 1008 8 ANZ 1 840.00 2 1008 9 ANZ 5 100.00 1 1009 1 SMT 1 450.00 1 1010 6 SMT 1 36.00 2 1010 6 ANZ 1 48.00 1 1011 5 ANZ 5 99.00 1 1012 8 ANZ 1 840.00 2 1012 9 ANZ 10 200.00 1 1013 5 ANZ 1 19.80 2 1013 6 SMT 1 36.00 IBM Informix SQL ガイド: 参照 item_num order_num stock_num manu_code quantity total_price 3 1013 6 ANZ 1 48.00 4 1013 9 ANZ 2 40.00 1 1014 4 HSK 1 960.00 2 1014 4 HRO 1 480.00 1 1015 1 SMT 1 450.00 1 1016 101 SHM 2 136.00 2 1016 109 PRC 3 90.00 3 1016 110 HSK 1 308.00 4 1016 114 PRC 1 120.00 1 1017 201 NKL 4 150.00 2 1017 202 KAR 1 230.00 3 1017 301 SHM 2 204.00 1 1018 307 PRC 2 500.00 2 1018 302 KAR 3 15.00 3 1018 110 PRC 1 236.00 4 1018 5 SMT 4 100.00 5 1018 304 HRO 1 280.00 1 1019 111 SHM 3 1499.97 1 1020 204 KAR 2 90.00 2 1020 301 KAR 4 348.00 1 1021 201 NKL 2 75.00 2 1021 201 ANZ 3 225.00 3 1021 202 KAR 3 690.00 4 1021 205 ANZ 2 624.00 1 1022 309 HRO 1 40.00 2 1022 303 PRC 2 96.00 3 1022 6 ANZ 2 96.00 1 1023 103 PRC 2 40.00 2 1023 104 PRC 2 116.00 3 1023 105 SHM 1 80.00 4 1023 110 SHM 1 228.00 5 1023 304 ANZ 1 170.00 6 1023 306 SHM 1 190.00 付録 A. データベース stores_demo 249 表 call_type call_code code_descr B billing error D damaged goods I incorrect merchandise sent L late shipment O other ship_charge 05/20/1998 104 express n B77836 06/01/1998 20.40 10.00 07/22/1998 1002 05/21/1998 101 PO on box; deliver back door only n 9270 05/26/1998 50.60 15.30 06/03/1998 1003 05/22/1998 104 express n B77890 05/23/1998 35.60 10.80 06/14/1998 1004 05/22/1998 106 ring bell twice y 8006 05/30/1998 95.80 19.20 1005 05/24/1998 116 call before delivery n 2865 06/09/1998 80.80 16.20 06/21/1998 1006 05/30/1998 112 after 10AM y Q13557 70.80 14.20 1007 05/31/1998 117 n 278693 06/05/1998 125.90 25.20 1008 06/07/1998 110 closed Monday y LZ230 07/06/1998 45.60 13.80 07/21/1998 1009 06/14/1998 111 door next to grocery n 4745 06/21/1998 20.40 10.00 08/21/1998 1010 06/17/1998 115 deliver 776 King St. if no answer n 429Q 06/29/1998 40.60 12.30 08/22/1998 1011 06/18/1998 104 express n B77897 07/03/1998 10.40 5.00 1012 06/18/1998 117 n 278701 06/29/1998 70.80 14.20 1013 06/22/1998 104 express n B77930 07/10/1998 60.80 12.20 07/31/1998 1014 06/25/1998 106 ring bell, kick door loudly n 8052 07/03/1998 40.60 12.30 07/10/1998 250 IBM Informix SQL ガイド: 参照 paid_date ship_date ship_weight po_num 1001 backlog order_date ship_instruct order_num customer_num 表 orders 08/29/1998 ship_charge ship_weight 110 closed Mondays n MA003 07/16/1998 20.60 6.30 1016 06/29/1998 119 delivery entrance off Camp St. n PC6782 07/12/1998 35.00 11.80 1017 07/09/1998 120 North side of clubhouse n DM3543 31 07/13/1998 60.00 18.00 1018 07/10/1998 121 SW corner of Biltmore Mall n S22942 07/13/1998 70.50 20.00 08/06/1998 1019 07/11/1998 122 closed til noon Mondays n Z55709 07/16/1998 90.00 23.00 08/06/1998 1020 07/11/1998 123 express n W2286 07/16/1998 14.00 8.50 1021 07/23/1998 124 ask for Elaine n C3288 07/25/1998 40.00 12.00 08/22/1998 1022 07/24/1998 126 express n W9925 07/30/1998 15.00 13.00 09/02/1998 1023 07/24/1998 127 no deliveries after 3 p.m. n KF2961 07/30/1998 60.00 18.00 08/22/1998 paid_date ship_date 06/27/1998 backlog po_num ship_instruct order_date customer_num order_num 1015 08/31/1998 09/20/1998 表 stock stock_num manu_code description unit_rice unit unit_descr 1 HRO baseball gloves 250.00 case 10 gloves/case 1 HSK baseball gloves 800.00 case 10 gloves/case 1 SMT baseball gloves 450.00 case 10 gloves/case 2 HRO baseball 126.00 case 24/case 3 HSK baseball bat 240.00 case 12/case 3 SHM baseball bat 280.00 case 12/case 4 HSK football 960.00 case 24/case 4 HRO football 480.00 case 24/case 5 NRG tennis racquet 28.00 each each 5 SMT tennis racquet 25.00 each each 5 ANZ tennis racquet 19.80 each each 6 SMT tennis ball 36.00 case 24 cans/case 付録 A. データベース stores_demo 251 stock_num manu_code description unit_rice unit unit_descr 6 ANZ tennis ball 48.00 case 24 cans/case 7 HRO basketball 600.00 case 24/case 8 ANZ volleyball 840.00 case 24/case 9 ANZ volleyball net 20.00 each each 101 PRC bicycle tires 88.00 box 4/box 101 SHM bicycle tires 68.00 box 4/box 102 SHM bicycle brakes 220.00 case 4 sets/case 102 PRC bicycle brakes 480.00 case 4 sets/case 103 PRC front derailleur 20.00 each each 104 PRC rear derailleur 58.00 each each 105 PRC bicycle wheels 53.00 pair pair 105 SHM bicycle wheels 80.00 pair pair 106 PRC bicycle stem 23.00 each each 107 PRC bicycle saddle 70.00 pair pair 108 SHM crankset 45.00 each each 109 PRC pedal binding 30.00 case 6 pairs/case 109 SHM pedal binding 200.00 case 4 pairs/case 110 PRC helmet 236.00 case 4/case 110 ANZ helmet 244.00 case 4/case 110 SHM helmet 228.00 case 4/case 110 HRO helmet 260.00 case 4/case 110 HSK helmet 308.00 case 4/case 111 SHM 10-spd, assmbld 499.99 each each 112 SHM 12-spd, assmbld 549.00 each each 113 SHM 18-spd, assmbld 685.90 each each 114 PRC bicycle gloves 120.00 case 10 pairs/case 201 NKL golf shoes 37.50 each each 201 ANZ golf shoes 75.00 each each 201 KAR golf shoes 90.00 each each 202 NKL metal woods 174.00 case 2 sets/case 202 KAR std woods 230.00 case 2 sets/case 203 NKL irons/wedges 670.00 case 2 sets/case 204 KAR putter 45.00 each each 252 IBM Informix SQL ガイド: 参照 stock_num manu_code description unit_rice unit unit_descr 205 NKL 3 golf balls 312.00 case 24/case 205 ANZ 3 golf balls 312.00 case 24/case 205 HRO 3 golf balls 312.00 case 24/case 301 NKL running shoes 97.00 each each 301 HRO running shoes 42.50 each each 301 SHM running shoes 102.00 each each 301 PRC running shoes 75.00 each each 301 KAR running shoes 87.00 each each 301 ANZ running shoes 95.00 each each 302 HRO ice pack 4.50 each each 302 KAR ice pack 5.00 each each 303 PRC socks 48.00 box 24 pairs/box 303 KAR socks 36.00 box 24 pair/box 304 ANZ watch 170.00 box 10/box 304 HRO watch 280.00 box 10/box 305 HRO first-aid kit 48.00 case 4/case 306 PRC tandem adapter 160.00 each each 306 SHM tandem adapter 190.00 each each 307 PRC infant jogger 250.00 each each 308 PRC twin jogger 280.00 each each 309 HRO ear drops 40.00 case 20/case 309 SHM ear drops 40.00 case 20/case 310 SHM kick board 80.00 case 10/case 310 ANZ kick board 89.00 case 12/case 311 SHM water gloves 48.00 box 4 pairs/box 312 SHM racer goggles 96.00 box 12/box 312 HRO racer goggles 72.00 box 12/box 313 SHM swim cap 72.00 box 12/box 313 ANZ swim cap 60.00 box 12/box 付録 A. データベース stores_demo 253 表 catalog catalog _num stock _num manu _code cat_descr cat_picture cat_advert 10001 1 HRO Brown leather. Specify first baseman’s or infield/outfield style. Specify right- or left-handed. <BYTE value> Your First Season’s Baseball Glove 10002 1 HSK Babe Ruth signature glove. Black leather. Infield/outfield style. Specify right- or left-handed. <BYTE value> All-Leather, Hand-Stitched, Deep-Pockets, Sturdy Webbing that Won’t Let Go 10003 1 SMT Catcher’s mitt. Brown leather. Specify right- or left-handed. <BYTE value> A Sturdy Catcher’s Mitt With the Perfect Pocket 10004 2 HRO Jackie Robinson signature glove. Highest Professional quality, used by National League. <BYTE value> Highest Quality Ball Available, from the Hand-Stitching to the Robinson Signature 10005 3 HSK Pro-style wood. Available in sizes: 31, 32, 33, 34, 35. <BYTE value> High-Technology Design Expands the Sweet Spot 10006 3 SHM <BYTE Aluminum. Blue with black tape. 31″, 20 oz or 22 oz; 32″, value> 21 oz or 23 oz; 33″, 22 oz or 24 oz. Durable Aluminum for High School and Collegiate Athletes 10007 4 HSK Norm Van Brocklin signature style. <BYTE value> Quality Pigskin with Norm Van Brocklin Signature 10008 4 HRO NFL-Style pigskin. <BYTE value> Highest Quality Football for High School and Collegiate Competitions 10009 5 NRG Graphite frame. Synthetic strings. <BYTE value> Wide Body Amplifies Your Natural Abilities by Providing More Power Through Aerodynamic Design 10010 5 SMT Aluminum frame. Synthetic strings. <BYTE value> Mid-Sized Racquet for the Improving Player 10011 5 ANZ Wood frame, cat-gut strings. <BYTE value> Antique Replica of Classic Wooden Racquet Built with Cat-Gut Strings 254 IBM Informix SQL ガイド: 参照 catalog _num stock _num manu _code cat_descr cat_picture cat_advert 10012 6 SMT <BYTE Soft yellow color for easy visibility in sunlight or artificial value> light. High-Visibility Tennis, Day or Night 10013 6 ANZ Pro-core. Available in neon yellow, green, and pink. <BYTE value> Durable Construction Coupled with the Brightest Colors Available 10014 7 HRO Indoor. Classic NBA style. Brown leather. <BYTE value> Long-Life Basketballs for Indoor Gymnasiums 10015 8 ANZ Indoor. Finest leather. Professional quality. <BYTE value> Professional Volleyballs for Indoor Competitions 10016 9 ANZ Steel eyelets. Nylon cording. Double-stitched. Sanctioned by the National Athletic Congress. <BYTE value> Sanctioned Volleyball Netting for Indoor Professional and Collegiate Competition 10017 101 PRC <BYTE Reinforced, hand-finished value> tubular. Polyurethane belted. Effective against punctures. Mixed tread for super wear and road grip. Ultimate in Puncture Protection, Tires Designed for In-City Riding 10018 101 SHM Durable nylon casing with butyl tube for superior air retention. Center-ribbed tread with herringbone side. Coated sidewalls resist abrasion. <BYTE value> The Perfect Tire for Club Rides or Training 10019 102 SHM Thrust bearing and coated pivot <BYTE value> washer/ spring sleeve for smooth action. Slotted levers with soft gum hoods. Two-tone paint treatment. Set includes calipers, levers, and cables. Thrust-Bearing and Spring-Sleeve Brake Set Guarantees Smooth Action 10020 102 PRC Computer-aided design with low-profile pads. Cold-forged alloy calipers and beefy caliper bushing. Aero levers. Set includes calipers, levers, and cables. <BYTE value> Computer Design Delivers Rigid Yet Vibration-Free Brakes 付録 A. データベース stores_demo 255 catalog _num stock _num manu _code cat_descr cat_picture cat_advert 10021 103 PRC Compact leading-action design enhances shifting. Deep cage for super-small granny gears. Extra strong construction to resist off-road abuse. <BYTE value> Climb Any Mountain: ProCycle’s Front Derailleur Adds Finesse to Your ATB 10022 104 PRC Floating trapezoid geometry with extra thick parallelogram arms. 100-tooth capacity. Optimum alignment with any freewheel. <BYTE value> Computer-Aided Design Engineers 100-Tooth Capacity Into ProCycle’s Rear Derailleur 10023 105 PRC Front wheels laced with 15g spokes in a 3-cross pattern. Rear wheels laced with 14g spikes in a 3-cross pattern. <BYTE value> Durable Training Wheels That Hold True Under Toughest Conditions 10024 105 SHM <BYTE Polished alloy. Sealed-bearing, value> quick-release hubs. Double-butted. Front wheels are laced 15g/2-cross. Rear wheels are laced 15g/3-cross. Extra Lightweight Wheels for Training or High-Performance Touring 10025 106 PRC Hard anodized alloy with pearl <BYTE finish. 6mm hex bolt hardware. value> Available in lengths of 90-140mm in 10mm increments. ProCycle Stem with Pearl Finish 10026 107 PRC Available in three styles: Men’s <BYTE value> racing; Men’s touring; and Women’s. Anatomical gel construction with lycra cover. Black or black/hot pink. The Ultimate In Riding Comfort, Lightweight With Anatomical Support 10027 108 SHM Double or triple crankset with choice of chainrings. For double crankset, chainrings from 38-54 teeth. For triple crankset, chainrings from 24-48 teeth. 10028 109 PRC Steel toe clips with nylon strap. <BYTE Extra wide at buckle to reduce value> pressure. 256 IBM Informix SQL ガイド: 参照 <BYTE value> Customize Your Mountain Bike With Extra-Durable Crankset Classic Toeclip Improved to Prevent Soreness at Clip Buckle catalog _num stock _num manu _code cat_descr cat_picture cat_advert 10029 109 SHM Ingenious new design combines <BYTE value> button on sole of shoe with slot on a pedal plate to give riders new options in riding efficiency. Choose full or partial locking. Four plates mean both top and bottom of pedals are slotted―no fishing around when you want to engage full power. Fast unlocking ensures safety when maneuverability is paramount. 10030 110 PRC Super-lightweight. Meets both ANSI and Snell standards for impact protection. 7.5 oz. Quick-release shadow buckle. 10031 110 ANZ <BYTE No buckle so no plastic touches your chin. Meets both value> ANSI and Snell standards for impact protection. 7.5 oz. Lycra cover. 10032 110 SHM Dense outer layer combines with softer inner layer to eliminate the mesh cover, no snagging on brush. Meets both ANSI and Snell standards for impact protection. 8.0 oz. <BYTE value> Mountain Bike Helmet: Smooth Cover Eliminates the Worry of Brush Snags But Delivers Maximum Protection 10033 110 HRO Newest ultralight helmet uses plastic shell. Largest ventilation channels of any helmet on the market. 8.5 oz. <BYTE value> Lightweight Plastic with Vents Assures Cool Comfort Without Sacrificing Protection 10034 110 HSK Aerodynamic (teardrop) helmet covered with anti-drag fabric. Credited with shaving 2 seconds/mile from winner’s time in Tour de France time-trial. 7.5 oz. <BYTE value> Teardrop Design Used by Yellow Jerseys, You Can Time the Difference <BYTE value> Ingenious Pedal/Clip Design Delivers Maximum Power and Fast Unlocking Feather-Light, Quick-Release, Maximum Protection Helmet Minimum Chin Contact, Feather-Light, Maximum Protection Helmet 付録 A. データベース stores_demo 257 catalog _num stock _num manu _code cat_descr cat_picture cat_advert 10035 111 SHM <BYTE Light-action shifting 10 speed. Designed for the city commuter value> with shock-absorbing front fork and drilled eyelets for carry-all racks or bicycle trailers. Internal wiring for generator lights. 33 lbs. 10036 112 SHM Created for the beginner enthusiast. Ideal for club rides and light touring. Sophisticated triple-butted frame construction. Precise index shifting. 28 lbs. <BYTE value> We Selected the Ideal Combination of Touring Bike Equipment, then Turned It Into This Package Deal: High-Performance on the Roads, Maximum Pleasure Everywhere 10037 113 SHM Ultra-lightweight. Racing frame geometry built for aerodynamic handlebars. Cantilever brakes. Index shifting. High-performance gearing. Quick-release hubs. Disk wheels. Bladed spokes. <BYTE value> Designed for the Serious Competitor, The Complete Racing Machine 10038 114 PRC Padded leather palm and stretch <BYTE value> mesh merged with terry back; Available in tan, black, and cream. Sizes S, M, L, XL. 10039 201 NKL Designed for comfort and stability. Available in white & blue or white & brown. Specify size. <BYTE value> Full-Comfort, Long-Wearing Golf Shoes for Men and Women 10040 201 ANZ Guaranteed waterproof. Full leather upper. Available in white, bone, brown, green, and blue. Specify size. <BYTE value> Waterproof Protection Ensures Maximum Comfort and Durability In All Climates 258 IBM Informix SQL ガイド: 参照 Fully Equipped Bicycle Designed for the Serious Commuter Who Mixes Business With Pleasure Riding Gloves for Comfort and Protection catalog _num stock _num manu _code cat_descr cat_picture cat_advert 10041 201 KAR Leather and leather mesh for maximum ventilation. Waterproof lining to keep feet dry. Available in white and gray or white and ivory. Specify size. <BYTE value> Karsten’s Top Quality Shoe Combines Leather and Leather Mesh 10042 202 NKL Complete starter set utilizes gold shafts. Balanced for power. <BYTE value> Starter Set of Woods, Ideal for High School and Collegiate Classes 10043 202 KAR Full set of woods designed for precision control and power performance. <BYTE value> High-Quality Woods Appropriate for High School Competitions or Serious Amateurs 10044 203 NKL Set of eight irons includes 3 through 9 irons and pitching wedge Originally priced at $489.00. <BYTE value> Set of Irons Available From Factory at Tremendous Savings: Discontinued Line 10045 204 KAR Ideally balanced for optimum control. Nylon-covered shaft. <BYTE value> High-Quality Beginning Set of Irons Appropriate for High School Competitions 10046 205 NKL Fluorescent yellow. <BYTE value> Long Drive Golf Balls: Fluorescent Yellow 10047 205 ANZ White only. <BYTE value> Long Drive Golf Balls: White 10048 205 HRO Combination fluorescent yellow and standard white. <BYTE value> HiFlier Golf Balls: Case Includes Fluorescent Yellow and Standard White 10049 301 NKL Super shock-absorbing gel pads <BYTE value> disperse vertical energy into a horizontal plane for extraordinary cushioned comfort. Great motion control. Men’s only. Specify size. 10050 301 HRO Engineered for serious training with exceptional stability. Fabulous shock absorption. Great durability. Specify men’s/women’s, size. <BYTE value> Maximum Protection For High-Mileage Runners Pronators and Supinators Take Heart: A Serious Training Shoe For Runners Who Need Motion Control 付録 A. データベース stores_demo 259 catalog _num stock _num manu _code cat_descr cat_picture cat_advert 10051 301 SHM For runners who log heavy miles and need a durable, supportive, stable platform. Mesh/synthetic upper gives excellent moisture dissipation. Stability system uses rear antipronation platform and forefoot control plate for extended protection during high-intensity training. Specify men’s/women’s size. <BYTE value> The Training Shoe Engineered for Marathoners and Ultra-Distance Runners 10052 301 PRC Supportive, stable racing flat. Plenty of forefoot cushioning with added motion control. Women’s only. D widths available. Specify size. <BYTE value> A Woman’s Racing Flat That Combines Extra Forefoot Protection With a Slender Heel 10053 301 KAR Anatomical last holds your foot <BYTE firmly in place. Feather-weight value> cushioning delivers the responsiveness of a racing flat. Specify men’s/women’s size. Durable Training Flat That Can Carry You Through Marathon Miles 10054 301 ANZ Cantilever sole provides shock <BYTE absorption and energy rebound. value> Positive traction shoe with ample toe box. Ideal for runners who need a wide shoe. Available in men’s and women’s. Specify size. Motion Control, Protection, and Extra Toebox Room 10055 302 KAR <BYTE Reusable ice pack with velcro value> strap. For general use. Velcro strap allows easy application to arms or legs. Finally, an Ice Pack for Achilles Injuries and Shin Splints That You Can Take to the Office 10056 303 PRC Neon nylon. Perfect for running <BYTE value> or aerobics. Indicate color: Fluorescent pink, yellow, green, and orange. Knock Their Socks Off With YOUR Socks 260 IBM Informix SQL ガイド: 参照 catalog _num stock _num manu _code cat_descr cat_picture cat_advert 10057 303 KAR 100% nylon blend for optimal wicking and comfort. We’ve taken out the cotton to eliminate the risk of blisters and reduce the opportunity for infection. Specify men’s or women’s. <BYTE value> 100% Nylon Blend Socks No Cotton 10058 304 ANZ Provides time, date, dual display of lap/cumulative splits, 4-lap memory, 10 hr count-down timer, event timer, alarm, hour chime, waterproof to 50m, velcro band. <BYTE value> Athletic Watch w/4-Lap Memory 10059 304 HRO Split timer, waterproof to 50m. Indicate color: Hot pink, mint green, space black. <BYTE value> Waterproof Triathlete Watch In Competition Colors 10060 305 HRO Contains ace bandage, anti-bacterial cream, alcohol cleansing pads, adhesive bandages of assorted sizes, and instant-cold pack. <BYTE value> Comprehensive First-Aid Kit Essential for Team Practices, Team Traveling 10061 306 PRC Converts a standard tandem bike into an adult/child bike. User-tested assembly instructions <BYTE value> Enjoy Bicycling With Your Child on a Tandem; Make Your Family Outing Safer 10062 306 SHM Converts a standard tandem bike into an adult/child bike. Lightweight model. <BYTE value> Consider a Touring Vacation for the Entire Family: A Lightweight, Touring Tandem for Parent and Child 10063 307 PRC Allows mom or dad to take the baby out too. Fits children up to 21 pounds. Navy blue with black trim. <BYTE value> Infant Jogger Keeps A Running Family Together 10064 308 PRC Allows mom or dad to take both children! Rated for children up to 18 pounds. <BYTE value> As Your Family Grows, Infant Jogger Grows With You 付録 A. データベース stores_demo 261 catalog _num stock _num manu _code cat_descr cat_picture cat_advert 10065 309 HRO Prevents swimmer’s ear. <BYTE value> Swimmers Can Prevent Ear Infection All Season Long 10066 309 SHM Extra-gentle formula. Can be used every day for prevention or treatment of swimmer’s ear. <BYTE value> Swimmer’s Ear Drops Specially Formulated for Children 10067 310 SHM Blue heavy-duty foam board with Shimara or team logo. <BYTE value> Exceptionally Durable, Compact Kickboard for Team Practice 10068 310 ANZ White. Standard size. <BYTE value> High-Quality Kickboard 10069 311 SHM Swim gloves. Webbing between <BYTE value> fingers promotes strengthening of arms. Cannot be used in competition. 10070 312 SHM Hydrodynamic egg-shaped lens. Ground-in anti-fog elements; Available in blue or smoke. <BYTE value> Anti-Fog Swimmer’s Goggles: Quantity Discount 10071 312 HRO Durable competition-style goggles. Available in blue, grey, or white. <BYTE value> Swim Goggles: Traditional Rounded Lens For Greater Comfort 10072 313 SHM Silicone swim cap. One size. Available in white, silver, or navy. Team Logo Imprinting Available. <BYTE value> Team Logo Silicone Swim Cap 10073 314 ANZ Silicone swim cap. Squared-off top. One size. White <BYTE value> Durable Squared-off Silicone Swim Cap 10074 315 HRO Re-usable ice pack. Store in the freezer for instant first-aid. Extra capacity to accommodate water and ice. <BYTE value> Water Compartment Combines With Ice to Provide Optimal Orthopedic Treatment 262 IBM Informix SQL ガイド: 参照 Hot Training Tool - Webbed Swim Gloves Build Arm Strength and Endurance 表 cust_calls customer _num call_ dtime user_id 106 1998-06-12 8:20 maryj 110 1998-07-07 10:24 119 call_ code call_descr res_dtime res_descr D Order was received, but two of the cans of ANZ tennis balls within the case were empty. 1998-06-12 8:25 Authorized credit for two cans to customer, issued apology. Called ANZ buyer to report the QA problem. richc L Order placed one month ago (6/7) not received. 1998-07-07 10:30 Checked with shipping (Ed Smith). Order sent yesterday- we were waiting for goods from ANZ. Next time will call with delay if necessary. 1998-07-01 15:00 richc B Bill does not reflect credit from previous order. 1998-07-02 8:21 Spoke with Jane Akant in Finance. She found the error and is sending new bill to customer. 121 1998-07-10 14:05 maryj O 1998-07-10 Customer likes our merchandise. Requests 14:06 that we stock more types of infant joggers. Will call back to place order. Sent note to marketing group of interest in infant joggers. 127 1998-07-31 14:30 maryj I Received Hero watches (item # 304) instead of ANZ watches. Sent memo to shipping to send ANZ item 304 to customer and pickup HRO watches. Should be done tomorrow, 8/1. 116 1997-11-28 13:34 mannyn I Received plain white 1997-11-28 16:47 swim caps (313 ANZ) instead of navy with team logo (313 SHM). Shipping found correct case in warehouse and express mailed it in time for swim meet. 付録 A. データベース stores_demo 263 customer _num call_ dtime user_id 116 1997-12-21 11:24 mannyn call_ code I call_descr res_dtime 1997-12-27 Second complaint 08:19 from this customer! Received two cases right-handed outfielder gloves (1 HRO) instead of one case lefties. res_descr Memo to shipping (Ava Brown) to send case of left-handed gloves, pick up wrong case; memo to billing requesting 5% discount to placate customer due to second offense and lateness of resolution because of holiday. 表 manufact manu_code manu_name lead_time ANZ Anza 5 HSK Husky 5 HRO Hero 4 NRG Norge 7 SMT Smith 3 SHM Shimara 30 KAR Karsten 21 NKL Nikolus 8 PRC ProCycle 9 264 IBM Informix SQL ガイド: 参照 表 state code sname code sname AK Alaska MT Montana AL Alabama NE Nebraska AR Arkansas NC North Carolina AZ Arizona ND North Dakota CA California NH New Hampshire CT Connecticut NJ New Jersey CO Colorado NM New Mexico DC Washington, D.C. NV Nevada DE Delaware NY New York FL Florida OH Ohio GA Georgia OK Oklahoma HI Hawaii OR Oregon IA Iowa PA Pennsylvania ID Idaho PR Puerto Rico IL Illinois RI Rhode Island IN Indiana SC South Carolina KY Kentucky TN Tennessee LA Louisiana TX Texas MA Massachusetts UT Utah MD Maryland VA Virginia ME Maine VT Vermont MI Michigan WA Washington MN Minnesota WI Wisconsin MO Missouri WV West Virginia MS Mississippi WY Wyoming 付録 A. データベース stores_demo 265 266 IBM Informix SQL ガイド: 参照 付録 B. データベース sales_demo と superstores_demo 付録 A で説明されているデータベース stores_demo の他に、IBM Informix 製品には次 のデモンストレーション データベースが含まれています。 Extended Parallel Server v データベース sales_demo により、データ ウェアハウス アプリケーションの次元スキーマを説明しま す。 Extended Parallel Server の終り Dynamic Server v データベース superstores_demo では、オブジェクト リレーショナル スキーマについて説明します。 Dynamic Server の終り この付録では、これら 2 つのデモンストレーション データベースの構造について説明します。 関連する SQL ファイルも含め、デモンストレーション データベースの構築方法については、 「IBM Informix: DB-Access ユーザーズ ガイド」を参照してください。 デモンストレーション データベ ースの概念的な情報については、「IBM Informix: データベース設計および実装 ガイド」を参照してくだ さい。 データベース sales_demo (XPS) データベース サーバ製品は、次元データベース sales_demo のための SQL スクリプト を含みます。データベース sales_demo は、単純なデータ ウェアハウス環境の例を提供 し、データベース stores_demo と連携して動作します。データベース sales_demo のス クリプトは新規の表を作成し、さらにデータベース stores_demo の表 items と表 orders に行を追加します。 データベース sales_demo を作成するには、最初にログ オプション付きでデータベース stores_demo を作成しなければなりません。データベース stores_demo が作成できた ら、DB–Access からデータベース sales_demo を作成およびロードするスクリプトを実 行できます。ファイル名は、createdw.sql と loaddw.sql です。 © Copyright IBM Corp. 1996, 2004 267 データベース sales_demo の次元モデル 図 15は、データベース sales_demo 内の表の概要を示しています。 図 15. sales_demo の次元データ モデル データベース sales_demo の構築方法については、「IBM Informix: DB-Access ユーザー ズ ガイド」を参照してください。次元データベースの設計および実装方法については、 「IBM Informix: データベース設計および実装 ガイド」を参照してください。データベ ース stores_demo の情報については、付録 A を参照してください。 次のセクションでは、これら 5 つの表のスキーマについて説明し、各次元表をファクト 表に論理的に関連付けるファクト表内の列を識別します。 表 sales_demo の構造 データベース sales_demo は、次の表で構成されています。 v customer v geography v product v sales v time 表は、アルファベット順で表示されています。作成順ではありません。表 customer、 geography、product、および time は、ファクト表 sales の次元です。 268 IBM Informix SQL ガイド: 参照 データベース sales_demo は、ANSI 標準準拠ではありません。 次のセクションで、各表の列名、データ型、および列の説明を示します。シリアル (SERIAL) 型フィールドは、表 geography の列 district_code に対する主キーとして機 能します。ただし、データベース サーバが制約確認をしない場合、データのロード時の パフォーマンスが大幅に向上するため、ファクト表 (sales) とその次元表の間にある、 主キーと外部キーの関係は定義されません。 表 customer 表 customer には、販売顧客についての情報が含まれています。表 25 は、表 customer の列を示しています。 表 25. 表 customer 名前 データ型 説明 customer_code 整数 (INTEGER) 型 顧客コード customer_name CHAR(31) 型 顧客名 company_name CHAR(20) 型 会社名 表 geography 表 geography には、販売地区と地域に関する情報が含まれています。表 26 は、表 geography の列を示しています。 表 26. 表 geography 名前 データ型 説明 district_code シリアル (SERIAL) 型 地区コード district_name CHAR(15) 型 地区名 state_code CHAR(2) 型 州コード state_name CHAR(18) 型 州名 region 小桁整数 (SMALLINT) 型 地域名 表 product 表 product には、データ ウェアハウスを通じて販売される製品に関する情報が含まれ ています。 270 ページの表 27 は、表 product の列を示しています。 付録 B. データベース sales_demo と superstores_demo 269 表 27. 表 product 名前 データ型 説明 product_code 整数 (INTEGER) 型 製品コード product_name CHAR(31) 型 製品名 vendor_code CHAR(3) 型 ベンダ コード vendor_name CHAR(15) 型 ベンダ名 product_line_code 小桁整数 (SMALLINT) 型 製品ライン コード product_line_name CHAR(15) 型 製品ライン名 表 sales ファクト表 sales には、 製品販売に関する情報と、各次元表へのポインタが含まれてい ます。例えば、列 customer_code は表 customer を参照し、列 district_code は表 geography を参照します。sales には、販売個数、収益、コスト、および純利益のメジャ ーも含まれています。表 28 は、表 sales の列を示しています。 表 28. 表 sales 名前 データ型 説明 customer_code 整数 (INTEGER) 型 顧客コード (customer を参照) district_code 小桁整数 (SMALLINT) 型 地区コード (geography を参照) time_code 整数 (INTEGER) 型 時間コード (time を参照) product_code 整数 (INTEGER) 型 製品コード (product を参照) units_sold 小桁整数 (SMALLINT) 型 販売個数 revenue MONEY(8,2) 型 販売収益額 cost MONEY(8,2) 型 販売コスト net_profit MONEY(8,2) 型 販売純利益 表 time time には、販売に関する時間情報が含まれています。 271 ページの表 29 は、表 time の列を示しています。 270 IBM Informix SQL ガイド: 参照 表 29. 表 time 名前 データ型 説明 time_code 整数 (INTEGER) 型 時間コード order_date 日付 (DATE) 型 受注日 month_code 小桁整数 (SMALLINT) 型 月コード month_name CHAR(10) 型 月名 quarter_code 小桁整数 (SMALLINT) 型 四半期コード quarter_name CHAR(10) 型 四半期名 year 整数 (INTEGER) 型 年 データベース superstores_demo (IDS) DB–Access で提供される、SQL ファイルおよびユーザ定義ルーチン (UDR) により、オ ブジェクト リレーショナル データベース superstores_demo を扱います。 データベース superstores_demo は、デフォルトのロケールを使用し、ANSI 標準準拠で はありません。 このセクションでは、superstores_demo に関する次の情報を提供します。 v superstores_demo のすべての表の構造 v superstores_demo が使用する拡張データ型のリストと定義 v 表の階層構造のマップ v データベース表の列間の主キーと外部キーの関係 データベース superstores_demo の構築方法については、「IBM Informix: DB-Access ユ ーザーズ ガイド」を参照してください。オブジェクト リレーショナル データベースの 作業方法については、「IBM Informix: データベース設計および実装 ガイド」を参照し てください。superstores_demo の基になるデータベース stores_demo については、付録 Aを参照してください。 表 superstores_demo の構造 データベース superstores_demo は、次の表で構成されています。多くの表は stores_demo の表と同名ですが、異なるものです。表は、アルファベット順で表示され ています。作成順ではありません。 v call_type v catalog v cust_calls v customer 付録 B. データベース sales_demo と superstores_demo 271 – retail_customer (新規) – whlsale_customer (新規) v items v location (新規) – location_non_us (新規) – location_us (新規) v manufact v orders v region (新規) v sales_rep (新規) v state v stock v stock_discount (新規) v units (新規) このセクションでは、データベース superstores_demo の各表の列名、列のデータ型、 および列の説明をリストします。各表の固有の識別子 (主キー) には網掛けをしていま す。拡張データ型を表す列については、282 ページの『ユーザ定義ルーチンと拡張デー タ型』で説明します。表間の主キーと外部キーの関係については、285 ページの『参照 関係』で概要を示します。 表 call_type 顧客問合せに関連付ける問合せコードは、表 call_type に格納されます。表 30 は、表 call_type の列を示しています。 表 30. 表 call_type 名前 データ型 説明 call_code CHAR(1) 型 問合せコード codel_descr CHAR(30) 型 問合せコードの説明 表 catalog 表 catalog には、各在庫品目に関する情報が格納されています。卸売り業者に発注する 場合、小売店はこの表を使用します。 273 ページの表 31 は、表 catalog の列を示して います。 272 IBM Informix SQL ガイド: 参照 表 31. 表 catalog 名前 データ型 説明 catalog_num SERIAL(1001) 型 システムが生成するカタログ番号 stock_num 小桁整数 (SMALLINT) 型 卸売り業者の取扱品目番号 (表 stock に対 する外部キー) manu_code CHAR(3) 型 メーカー コード (表 stock に対する外部キ ー) unit CHAR(4) 型 品目の注文単位 (表 stock に対する外部キ ー) advert 品目のピクチャとキャプション 行 (ROW) 型 (BLOB 型ピクチャ、ラージ可 変長文字 (LVARCHAR) 型キャプション) advert_descr CLOB 型 ピクチャの下に表示する宣伝文句 表 cust_calls 注文、出荷、苦情など、顧客からの問合せに関するすべての情報が記録されます。表 cust_calls には、これら顧客からの問合せに関する情報が含まれています。表 32 は、表 cust_calls の列を示しています。 表 32. 表 cust_calls 名前 データ型 説明 customer_num 整数 (INTEGER) 型 顧客番号 (表 customer に対する外部キー) call_dtime DATETIME YEAR TO MINUTE 型 問合せを受けた日時 user_id CHAR(18) 型 問合せを記録した担当者の名前 (デフォル トは、ユーザ ログイン名) call_code CHAR(1) 型 問合せの種類 (表 call_type に対する外部 キー) call_descr CHAR(240) 型 問合せの説明 res_dtime DATETIME YEAR TO MINUTE 型 問合せを解決した日時 res_descr CHAR(240) 型 問合せの解決方法に関する説明 表 customer、retail_customer、および whlsale_customer 285 ページの図 16 で示すように、この階層の retail_customer と whlsale_customer は、上位表 customer の下に作成される副表です。 付録 B. データベース sales_demo と superstores_demo 273 表階層については、「IBM Informix: データベース設計および実装 ガイド」を参照して ください。 表 customer: 表 customer には、卸売り業者に注文を出す小売り店の情報が含まれて います。表 33 は、表 customer の列を示しています。 表 33. 表 customer 名前 データ型 説明 customer_num シリアル (SERIAL) 型 固有の顧客識別子 customer_type CHAR(1) 型 顧客の種別を示すコード R = 小売り W = 卸売り customer_name name_t 型 顧客名 customer_loc 整数 (INTEGER) 型 顧客所在地 (表 location に対する外部キ ー) contact_dates 顧客と連絡を取った日付 リスト (LIST) 型 (DATETIME YEAR TO DAY NOT NULL) cust_discount パーセント 顧客値引き credit_status CHAR(1) 型 顧客の信用状態 D = 回収不能 L = 失効 N = 新規 P = 優先 R = 通常 表 retail_customer: 表 retail_customer には、小売り顧客についての一般情報が含ま れています。 275 ページの表 34 は、表 retail_customer の列を示しています。 274 IBM Informix SQL ガイド: 参照 表 34. 表 retail_customer 名前 データ型 説明 customer_num シリアル (SERIAL) 型 固有の顧客識別子 customer_type CHAR(1) 型 顧客の種別を示すコード R = 小売り W = 卸売り customer_name name_t 型 顧客名 customer_loc 整数 (INTEGER) 型 顧客所在地 contact_dates リスト (LIST) 型 顧客と連絡を取った日付 (DATETIME YEAR TO DAY NOT NULL) cust_discount パーセント 顧客値引き credit_status CHAR(1) 型 顧客の信用状態 D = 回収不能 L = 失効 N = 新規 P = 優先 R = 通常 credit_num CHAR(19) 型 クレジット カード番号 expiration 日付 (DATE) 型 クレジット カードの有効期限 表 whlsale_customer: 表 whlsale_customer には、卸売り顧客についての一般情報が 含まれています。 276 ページの表 35 は、表 whlsale_customer の列を示しています。 付録 B. データベース sales_demo と superstores_demo 275 表 35. 表 whlsale_customer 名前 データ型 説明 customer_num シリアル (SERIAL) 型 固有の顧客識別子 customer_type CHAR(1) 型 顧客の種別を示すコード R = 小売り W = 卸売り customer_name name_t 型 顧客名 customer_loc 整数 (INTEGER) 型 顧客所在地 contact_dates リスト (LIST) 型 顧客と連絡を取った日付 (DATETIME YEAR TO DAY NOT NULL) cust_discount パーセント 顧客値引き credit_status CHAR(1) 型 顧客の信用状態 D = 回収不能 L = 失効 N = 新規 P = 優先 R = 通常 resale_license CHAR(15) 型 再販ライセンス番号 terms_net 小桁整数 (SMALLINT) 型 支払い期限の日数 表 items 1 件の注文には 1 つ以上の品目があります。表 items には、注文の品目 1 つにつき 1 行存在します。 277 ページの表 36 は、表 items の列を示しています。 276 IBM Informix SQL ガイド: 参照 表 36. 表 items 名前 データ型 説明 item_num 小桁整数 (SMALLINT) 型 注文ごとに連続して割り当てられる品目番 号 order_num 8 バイト整数 (INT8) 注文番号 (表 orders に対する外部キー) 型 stock_num 小桁整数 (SMALLINT) 型 取扱品目番号 (表 stock に対する外部キ ー) manu_code CHAR(3) 型 注文された品目のメーカー コード (表 stock に対する外部キー) unit CHAR(4) 型 品目の注文単位 (表 stock に対する外部キ ー) quantity 小桁整数 (SMALLINT) 型 注文数 (値 > 1 であること) item_subtotal MONEY(8,2) 型 注文数 * 単価 = 品目の総額 表 location、location_non_us、および location_us 284 ページの『表階層』のダイアグラムで示すように、この階層の表 location_non_us と表 location_us は、上位表 location の下に作成される副表です。表階層については、 「IBM Informix: データベース設計および実装 ガイド」を参照してください。 表 location 表 location には、データベースが追跡する所在地 (住所) に関する一般情報が含まれて います。表 37 は、表 location の列を示しています。 表 37. 表 location 名前 データ型 説明 location_id シリアル (SERIAL) 型 所在地の固有の識別子 loc_type CHAR(2) 型 所在地の種類を示すコード company VARCHAR(20) 型 会社名 street_addr リスト (LIST) 型 (VARCHAR(25) NOT NULL) 町名 city VARCHAR(25) 型 市名 country VARCHAR(25) 型 国名 付録 B. データベース sales_demo と superstores_demo 277 表 location_non_us 表 location_non_us には、米国以外の所在地 (住所) に特有の住所情報が含まれていま す。表 38 は、表 location_non_us の列を示しています。 表 38. 表 location_non_us 名前 データ型 説明 location_id シリアル (SERIAL) 型 所在地の固有の識別子 loc_type CHAR(2) 型 所在地の種類を示すコード company VARCHAR(20) 型 会社名 street_addr リスト (LIST) 型 (VARCHAR(25) NOT NULL) 町名 city VARCHAR(25) 型 市名 country VARCHAR(25) 型 国名 province_code CHAR(2) 型 行政区分コード zipcode CHAR(9) 型 郵便番号 phone CHAR(15) 型 電話番号 表 location_us 表 location_us には、米国の所在地 (住所) に特有の住所情報が含まれています。表 39 は、表 location_us の列を示しています。 表 39. 表 location_us 278 名前 データ型 説明 location_id シリアル (SERIAL) 型 所在地の固有の識別子 loc_type CHAR(2) 型 所在地の種類を示すコード company VARCHAR(20) 型 会社名 street_addr リスト (LIST) 型 (VARCHAR(25) NOT NULL) 町名 city VARCHAR(25) 型 市名 country VARCHAR(25) 型 国名 state_code CHAR(2) 型 州コード (表 state に対する外部キー) zip CHAR(9) 型 郵便番号 phone CHAR(15) 型 電話番号 IBM Informix SQL ガイド: 参照 表 manufact 表 manufact には、この卸売り業者が扱っているスポーツ用品のメーカーについての情 報が格納されます。表 40 は、表 manufact の列を示しています。 表 40. 表 manufact 名前 データ型 説明 manu_code CHAR(3) 型 メーカー コード manu_name VARCHAR(15) 型 メーカー名 lead_time INTERVAL DAY(3) TO DAY 型 注文から出荷までにかかる時間 manu_loc 整数 (INTEGER) 型 メーカー所在地 (表 location に対する 外部キー) manu_account CHAR(32) 型 卸売り業者が管理するメーカーのアカ ウント番号 account_status CHAR(1) 型 メーカーのアカウント状態 terms_net 小桁整数 (SMALLINT) 型 卸売り業者からメーカーへの支払い期 限 (日数) discount パーセント メーカーが卸売り業者に適用するボリ ューム ディスカウント 表 orders 表 orders には、卸売り業者の顧客が出した注文に関する情報が含まれています。表 41 は、表 orders の列を示しています。 表 41. 表 orders 名前 データ型 説明 order_num SERIAL8(1001) 型 システムが生成する注文番号 order_date 日付 (DATE) 型 注文が入力された日付 customer_num 整数 (INTEGER) 型 顧客番号 (表 customer に対する外部キー) shipping ship_t 型 特別な出荷指示 backlog ブール (BOOLEAN) 型 品目に受注残があるため、注文に応じられ ないことを示す指標 po_num CHAR(10) 型 顧客の発注書番号 paid_date 日付 (DATE) 型 支払い日付 付録 B. データベース sales_demo と superstores_demo 279 表 region 表 region には、卸売り業者に対する販売地域の情報が含まれています。表 42 は、表 region の列を示しています。 表 42. 表 region 名前 データ型 説明 region_num シリアル (SERIAL) 型 システムが生成する地域番号 region_name VARCHAR(20) UNIQUE 型 販売地域名 region_loc 整数 (INTEGER) 型 地域担当オフィスの所在地 (表 location に対する外部キー) 表 sales_rep 表 sales_rep には、卸売り業者に対する販売代理店の情報が含まれています。表 43 は、表 sales_rep の列を示しています。 表 43. 表 sales_rep 名前 データ型 説明 rep_num SERIAL(101) 型 システムが生成する販売代理店番号 name name_t 型 販売代理店の名前 region_num 整数 (INTEGER) 型 その販売代理店が担当する地域 (表 region に対する外部キー) home_office ブール (BOOLEAN) 型 販売代理店の本店所在地 sales 代理店の月別売上高 セット (SET) 型 (ROW (month DATETIME YEAR TO MONTH、amount MONEY) NOT NULL) commission パーセント 販売代理店の手数料の割合 表 state 表 state には、消費税の情報とともに、米国の 50 州の名前と郵便省略形が含まれてい ます。 281 ページの表 44 は、表 state の列を示しています。 280 IBM Informix SQL ガイド: 参照 表 44. 表 state 名前 データ型 説明 code CHAR(2) 型 州コード sname CHAR(15) 型 州名 sales_tax パーセント 州の消費税 表 stock 表 stock は、卸売り業者が販売する品目のカタログです。表 45 は、表 stock の列を示 しています。 表 45. 表 stock 名前 データ型 説明 stock_num 小桁整数 (SMALLINT) 型 品目の種類を識別する取扱品目番号 manu_code CHAR(3) 型 メーカー コード (表 manufact に対す る外部キー) unit CHAR(4) 型 品目の注文単位 description VARCHAR(15) 型 品目の説明 unit_price MONEY(6,2) 型 単価 min_reord_qty 小桁整数 (SMALLINT) 型 再注文数の下限 min_inv_qty 小桁整数 (SMALLINT) 型 品目の再注文が必要になる最低在庫数 manu_item_num CHAR(20) 型 メーカーの品目番号 unit_cost MONEY(6,2) 型 卸売り業者がメーカーから品目を仕入 れる場合の単位あたりコスト status CHAR(1) 型 品目の状態 A = 生産中 D = 生産中止 N = 注文不可 bin_num 整数 (INTEGER) 型 棚番号 qty_on_hand 小桁整数 (SMALLINT) 型 在庫数 bigger_unit CHAR(4) 型 stock_num と manu_code が同じ場 合、次に大きい単位にする在庫単位 per_bigger_unit 小桁整数 (SMALLINT) 型 bigger_unit あたりの単位数 付録 B. データベース sales_demo と superstores_demo 281 表 stock_discount 表 stock_discount には、在庫値引きに関する情報が含まれています。(主キーはありま せん)。表 46 は、表 stock_discount の列を示しています。 表 46. 表 stock_discount 名前 データ型 説明 discount_id シリアル (SERIAL) 型 システムが生成する値引き識別子 stock_num 小桁整数 (SMALLINT) 型 卸売り業者の取扱品目番号 (表 stock に対す る外部キーの一部) manu_code CHAR(3) 型 メーカー コード (表 stock に対する外部キー の一部) unit CHAR(4) 型 個、組、ケースなど、品目の注文単位 (表 units に対する外部キーで、表 stock に対す る外部キーの一部) unit_discount パーセント セール期間内のユニット ディスカウント start_date 日付 (DATE) 型 値引き開始日付 end_date 日付 (DATE) 型 値引き終了日付 表 units 表 units には、在庫品目を注文できる単位に関する情報が含まれています。表 stock の 各品目は、1 つ以上の種類のコンテナで利用できます。表 47 は、表 units の列を示し ています。 表 47. 表 units 名前 データ型 説明 unit_name CHAR(4) 型 品目を注文できる単位 (個、組、ケース、箱) unit_descr VARCHAR(15) 型 単位の説明 ユーザ定義ルーチンと拡張データ型 データベース superstores_demo では、ユーザ定義ルーチン (UDR) と拡張データ型を使 用します。 UDR は、SQL 文または他の UDR で起動できる、ユーザ定義のルーチンです。UDR には、値を戻すものと戻さないものがあります。 Dynamic Server のデータ型システムは、拡張性と柔軟性のあるシステムです。次の種類 のデータ型をサポートします。 282 IBM Informix SQL ガイド: 参照 v データベース サーバが提供するデータ型の動作の一部を再定義することによる、既 存のデータ型の拡張 v ユーザによってカスタマイズされるデータ型の定義 このセクションでは、データベース superstores_demo のために作成された拡張データ 型と UDR をリストします。UDR と拡張データ型の作成および使用については、 「IBM Informix: ユーザ定義ルーチンおよびデータ タイプ 開発者ガイド」を参照してく ださい。 データベース superstores_demo は、次のようにディスティンクト (DISTINCT) 型 percent を UDR に作成します。 CREATE DISTINCT TYPE percent AS DECIMAL(5,5); DROP CAST (DECIMAL(5,5) AS percent); CREATE IMPLICIT CAST (DECIMAL(5,5) AS percent); The superstores_demo database creates the following named row types: v location 階層 – location_t – loc_us_t – loc_non_us_t v customer 階層 – name_t – customer_t – retail_t – whlsale_t v 表 orders – ship_t location_t の定義 location_id loc_type company street_addr city country SERIAL CHAR(2) VARCHAR(20) LIST(VARCHAR(25) NOT NULL) VARCHAR(25) VARCHAR(25) loc_us_t の定義 state_code zip phone CHAR(2) ROW(code INTEGER, suffix SMALLINT) CHAR(18) 付録 B. データベース sales_demo と superstores_demo 283 loc_non_us_t の定義 province_code zipcode phone CHAR(2) CHAR(9) CHAR(15) name_t の定義 first last VARCHAR(15) VARCHAR(15) customer_t の定義 customer_num customer_type customer_name customer_loc contact_dates cust_discount credit_status SERIAL CHAR(1) name_t INTEGER LIST(DATETIME YEAR TO DAY NOT NULL) percent CHAR(1) retail_t の定義 credit_num expiration CHAR(19) DATE whlsale_t の定義 resale_license terms_net CHAR(15) SMALLINT ship_t の定義 date weight charge instruct DATE DECIMAL(8,2) MONEY(6,2) VARCHAR(40) 表階層 285 ページの図 16 に、データベース superstores_demo の階層表の関係を示します。以 下のダイアグラムにおいて、customer.custnum 列および customer.loc 列から location.location_id 列を指している網掛けの矢印によって示されているような、2 つの 表の間の外部キーと主キーとの関係についての説明は、 286 ページの『表 customer と 表 location』 を参照してください。 284 IBM Informix SQL ガイド: 参照 図 16. 表 superstores_demo の階層 参照関係 データベース superstores_demo の表は、このセクションで説明する主キーと外部キー の関係でリンクされています。この関係は、ある表の外部キーが他の表の主キーを参照 するため、参照制約 と呼ばれます。 表 customer と表 orders 表 customer には、顧客を識別する番号を保持する列 customer_num があります。表 orders にも、注文のあった顧客の顧客番号を格納する列 customer_num があります。 表 orders では、列 customer_num は、表 customer の列 customer_num を参照する外 部キーです。 表 orders と表 items 表 orders と表 items は、各注文の注文番号を含んでいる列 order_num によって結合 されています。1 件の注文に複数の品目が含まれる場合、表 items の複数の行に同じ注 文番号が現れます。表 items では、列 order_num は、表 orders の列 order_num を 参照する外部キーです。 表 items と表 stock 表 items と表 stock は、3 列で結合されています。取扱品目番号を格納する列 stock_num、メーカーを識別するコードを格納する列 manu_code、および品目を注文で きる単位の種類を識別する列 units です。品目を一意に識別するには、取扱品目番号、 メーカー コード、および単位が必要です。同じ品目が別々の注文に属している場合、同 じ取扱品目番号とメーカー コードが表 items の複数の行に現れる可能性があります。 表 items の列 stock_num、manu_code、および unit は、表 stock の列 stock_num、 manu_code、および unit を参照する外部キーです。 付録 B. データベース sales_demo と superstores_demo 285 表 stock と表 catalog 表 stock と表 catalog は、3 列で結合されています。取扱品目番号を格納する列 stock_num、メーカーを識別するコードを格納する列 manu_code、および品目を注文で きる単位の種類を識別する列 unit です。品目を一意に識別するには、3 つの列すべて が必要です。表 catalog の列 stock_num、manu_code、および unit は、表 stock の列 stock_num、manu_code、および unit を参照する外部キーです。 表 stock と表 manufact 表 stock と表 manufact は、列 manu_code によって結合されています。メーカーが複 数の品目を製造している場合、そのメーカー コードが表 stock の複数の行に現れま す。表 stock では、列 manu_code が表 manufact の列 manu_code を参照する外部キ ーです。 表 cust_calls と表 customer 表 cust_calls と表 customer は、列 customer_num によって結合されています。同じ顧 客から、問題や質問の問合せが複数回あった場合、その顧客番号が表 cust_calls の複数 の行に現れます。表 cust_calls では、列 customer_num は、表 customer の列 customer_num を参照する外部キーです。 表 call_type と表 cust_calls 表 call_type と表 cust_calls は、列 call_code によって結合されています。多くの顧客 が同じ種類の問題を経験することが考えられるため、同じ問合せコードが表 cust_calls の複数行に現れる場合があります。表 cust_calls では、列 call_code は、表 call_type の列 call_code を参照する外部キーです。 表 state と表 customer 表 state と表 customer は、州コードを格納している列によって結合されています。こ の列は、表 state では code、表 customer では state になります。複数の顧客が同じ州 に住んでいる場合、同じ州コードが表の中の複数の行に現れます。表 customer では、 列 state は、表 state の列 code を参照する外部キーです。 表 customer と表 location 表 customer では、列 customer_loc は、表 location の列 location_id を参照する外部 キーです。列 customer_loc と location_id は、顧客所在地をそれぞれ一意に識別しま す。 表 manufact と表 location 表 manufact の列 manu_loc は、表 location の主キーである列 location_id を参照する 外部キーです。manu_loc と location_id は両方とも、メーカー所在地を一意に識別しま す。 286 IBM Informix SQL ガイド: 参照 表 state と表 location_us 表 state と表 location_us は、州コードを格納している列によって結合されています。 表 location_us の列 state_code は、表 state の列 code を参照する外部キーです。 表 sales_rep と表 region 列 region_num は、表 region の主キーです。これは、システムが生成する地域番号で す。表 sales_rep の列 region_num は、表 region の列 region_num を参照し、結合す る外部キーです。 表 region と表 location 表 region の列 region_loc は、地域担当オフィスの所在地を識別します。これは、所在 地の固有の識別子である、表 location の列 location_id を参照する外部キーです。 表 stock と表 stock_discount 表 stock と表 stock_discount は、3 つの列で結合されています。stock_num、 manu_code、および unit です。これらの列は、表 stock の主キーを形成します。表 stock_discount に主キーはなく、表 stock を参照します。 表 stock と表 units 表 units の列 unit_name は、ケース、組、箱など、注文できる単位の種類を識別する 主キーです。表 stock の列 unit は、表 units の列 unit_name と結合されています。 付録 B. データベース sales_demo と superstores_demo 287 288 IBM Informix SQL ガイド: 参照 付録 C. アクセシビリティ このマニュアルの HTML バージョンの構文ダイアグラムは、小数点付き 10 進数構文 フォーマットに従っています。このフォーマットは、スクリーン リーダ (読上げソフト ウェア) を使用している場合に限り利用できるフォーマットです。 小数点付き 10 進数構文ダイアグラム 小数点付き 10 進数フォーマットでは、構文要素はそれぞれ別の行に書き込まれます。2 つ以上の構文要素が、まとめて使用される (またはどちらも使用されない) 場合、単一 の複合構文要素と見なすことができるため、それらの要素が同じ行に表示される場合が あります。 各行は小数点付き 10 進数値で開始されます。例えば、3、3.1 または 3.1.1 などで す。これらの数字を正確に聞き取るために、必ずスクリーン リーダ (読上げソフトウェ ア) が句読点を読み取るように設定してください。同じ小数点付き 10 進数値を持つす べての構文要素 (例えば、数値 3.1 を含むすべての構文要素) は相互に排他的な選択肢 です。行 3.1 USERID および行 3.1 SYSTEMID を聞き取った場合、構文に USERID また は SYSTEMID のいずれかを記述できますが、両方を組み込むことはできません。 小数点付き 10 進数の番号付けレベルにより、ネストのレベルが示されます。例えば、 小数点付き 10 進数値 3 の構文要素の後に、小数点付き 10 進数値 3.1 の構文要素が 続く場合、3.1 と番号付けされている構文要素はすべて、3 と番号付けされている構文 要素に従属します。 構文要素についての情報を追加するために、小数点付き 10 進数値の横に特定の単語お よび記号が付加されます。場合により、これらの単語および記号が要素の先頭で使用さ れることがあります。識別を容易にするため、該当する単語または記号が構文要素の一 部である場合には、その単語または記号の前に円記号 (¥) を付加します。* 記号を小数 点付き 10 進数値の横に付加して、その構文要素が反復することを示すことができま す。例えば、小数点付き 10 進数値 3 の構文要素 *FILE は、読取り時に 3 ¥* FILE と 示されます。フォーマット 3* FILE は、構文要素 FILE が反復することを示します。フ ォーマット 3* ¥* FILE は、構文要素 * FILE が反復することを示します。 構文要素文字列の分離に使用されるコンマなどの文字は、構文では分離する項目の直前 に表示されます。これらの文字は、各項目と同じ行に表示される場合と、関連項目と同 じ小数点付き 10 進数値を持つ別の行に表示される場合があります。行には構文要素に ついての情報を提供する別の記号も表示される場合があります。例えば、5.1*、5.1 LASTRUN、5.1 DELETE などの行は、LASTRUN および DELETE 構文要素を複数使用する場 © Copyright IBM Corp. 1996, 2004 289 合に、これらの要素をコンマで分離する必要があることを意味します。分離文字を指定 しない場合、各構文要素の分離には空白が使用されるものと想定します。 構文要素の前に % 記号がある場合、別の場所で定義されている参照を示します。% 記号 に続く文字列はリテラルではなく、構文フラグメントの名前です。例えば、行 2.1 %OP1 は、別の構文フラグメント OP1 を参照する必要があることを意味します。 小数点付き 10 進数値の横に次の単語および記号が付加されます。 290 ? オプションの構文要素を指定します。後ろに ? 記号が続く小数点付き 10 進数 値は、対応する小数点付き 10 進数値の構文要素すべて、およびそれに従属す る構文要素がオプションであることを示します。ある小数点付き 10 進数値に 構文要素が 1 つのみ含まれる場合、? 記号はその構文要素と同じ行に表示され ます (例えば、5? NOTIFY)。ある小数点付き 10 進数値に構文要素が複数含ま れる場合、? 記号は行に単独で表示され、以下オプションの構文要素が続きま す。例えば、5 ?、5 NOTIFY、5 UPDATE などの行を聞き取った場合、構文要素 NOTIFY と UPDATE がオプションであることが分かります。つまり、それらをい ずれも選択しないか、1 つのみ選択します。? 記号は、レールロード構文ダイ アグラムでのバイパス線に相当します。 ! デフォルトの構文要素を指定します。小数点付き 10 進数値とそれに続く ! 記 号および構文要素は、同じ小数点付き 10 進数値を共用するすべての構文要素 に対し、構文要素がデフォルト オプションであることを示します。同じ小数点 付き 10 進数値を共用する構文要素のうちの 1 つのみで ! 記号を指定できま す。例えば、2? FILE、2.1! (KEEP)、2.1 (DELETE) などの行を聞き取った場合 は、(KEEP) が FILE キーワードに対するデフォルト オプションであることが 分かります。この例では、オプションを指定せずに FILE キーワードを組み込 んだ場合、デフォルト オプション KEEP が適用されます。デフォルト オプシ ョンは 1 レベル上の小数点付き 10 進数値にも適用します。この例では、FILE キーワードが省略されるとデフォルトの FILE(KEEP) が使用されます。しか し、2? FILE、2.1、2.1.1! (KEEP)、および 2.1.1 (DELETE) などの行を聞き取 った場合は、デフォルト オプション KEEP は 1 レベル上の小数点付き 10 進 数値 2.1 (関連キーワードなし) のみに適用し、2? FILE には適用しません。 キーワード FILE が省略されると、いずれも使用されません。 * ゼロ回以上の反復が可能な構文要素を指定します。後ろに * 記号が続く小数点 付き 10 進数値は、この構文要素をゼロ回以上使用できることを示します。つ まり、これはオプションであり、かつ反復可能です。例えば、行 5.1* data-area を聞き取った場合、複数の data-area を記述するか、または 1 つも 記述しないことが可能であると分かります。 3*、3 HOST、3 STATE などの行を 聞き取った場合は、HOST、STATE 両方を記述するか、またはいずれも記述しな いことが可能であると分かります。 IBM Informix SQL ガイド: 参照 注: 1. 小数点付き 10 進数値の横にアスタリスク (*) があり、その小数点付き 10 進数値が指定された項目が 1 つのみである場合は、その同じ項目を複数回 反復できます。 2. 小数点付き 10 進数値の横にアスタリスクがあり、その小数点付き 10 進数 値がいくつかの項目で指定されている場合は、そのリストから複数の項目を 使用できますが、各項目を複数回使用することはできません。前の例では、 HOST STATE と記述することはできますが、HOST HOST とは記述できませ ん。 3. * 記号は、レールロード構文ダイアグラムでのループバック線に相当しま す。 + 1 回以上組み込む必要がある構文要素を指定します。後ろに + 記号が続く小 数点付き 10 進数値は、この構文要素を 1 回以上組み込む必要があることを示 します。例えば、行 6.1+ data-area を聞き取った場合、少なくとも 1 つの data-area を記述する必要があります。 2+、2 HOST、2 STATE などの行を聞き 取った場合、HOST または STATE、もしくはその両方を記述する必要があると分 かります。 * 記号の場合と同様、その小数点付き 10 進数値が指定された唯一 の項目である場合に限り、特定の項目を反復できます。+ 記号は、* 記号と同 様に、レールロード構文ダイアグラムでのループバック線に相当します。 付録 C. アクセシビリティ 291 292 IBM Informix SQL ガイド: 参照 用語集 ヒント: 特殊用語の用語集は、「IBM Informix: Storage Manager 管理者ガイド」、 「IBM Informix: SNMP Subagent Guide」、および IBM Informix マニュア ル セットのその他のマニュアルに含まれ ています。各製品固有の追加情報につい ては、そちらを参照してください。 [ア行] アーカイブ. データベースを格納しているデバイ スから別の物理デバイスに、データベースのデー タとインデックスをすべてコピーすること。アー カイブされたデータは、データベース管理者が障 害からの復旧のために使用できる。「バックアッ プ」を参照。 アクセス権. データベース、表、表フラグメン ト、または列の内容の使用や変更ができる権利。 「アクセス権 (access privilege)」を参照。 アクセス権. 特定のデータベースやデータベース オブジェクトにおいてユーザが実行可能な操作の 種類。Informix のデータベース、表、表フラグメ ント、インデックス、および列のアクセス権は、 オペレーティング システムのアクセス権限から 独立している。 アクセス方法. 表やインデックスへのアクセスや 操作を行うルーチンのグループ。SET EXPLAIN 文の出力において、アクセス方法 は、問合せの 表アクセスの種類を参照する (INDEX PATH に 対する SEQUENTIAL SCAN など)。「主アクセ ス方法」と「副アクセス方法」を参照。 アクティブ セット. カーソルを使用する問合せ 条件で満たす行の集まり。 © Copyright IBM Corp. 1996, 2004 アジア言語サポート (ALS). 特定の東アジア言語 のマルチバイト コード セットをサポートするレ ガシー テクノロジー。ALS の機能は、現在の IBM Informix 製品では Global Language Support (GLS) である。ALS と GLS の詳細については、 「IBM Informix: 移行ガイド」を参照。 圧縮ビットマップ. フラグメント識別子やレコー ド識別子を使用してレコードを識別するインデッ クス作成方法。 アプリケーション プログラム. 実行可能ファイ ル、または論理的に関連したファイル セット。 アプリケーション プログラム インターフェイス (API). IBM から提供されているような、関連す るソフトウェア コンポーネントのグループ。開 発者が、サード パーティ製品と通信するアプリ ケーションを作成するために使用する。API に は、関数のライブラリ、ヘッダ ファイル、グラ フィック インターフェイス、およびアプリケー ション プログラムを組み込める。「SQL API」 と「DataBlade API」を参照。 アプリケーション プロセス. ESQL や他のプロ グラム実行時に管理するプロセス。プログラム ロジックを実行し、SQL 要求を開始する。プログ ラム変数、プログラム データ、フェッチ バッフ ァに割り当てられるメモリは、このプロセスの一 部である。「データベース サーバ プロセス」を 参照。 アプリケーション プロダクティビティ ツール. アプリケーション プログラムの作成に使用する ソフトウェア ツール。 アプリケーション開発支援ツール. IBM Informix 4GL など、データベースの作成と管理に使用でき るソフトウェア。このようなソフトウェアを使用 293 すると、ユーザはデータベース サーバに指示や データを送信、またはデータベース サーバから 情報を受信できる。 安全保護監査. Informix データベース サーバの 機能の 1 つで、データベース システム セキュ リティ担当者 (DSSO) が、ユーザの異常活動や障 害となる可能性がある活動を追跡できる。イベン トの監査を有効にして監査マスクを作成するに は、onaudit ユーティリティを使用する。分析用 の監査イベント情報を抽出するには、 onshowaudit ユーティリティを使用する (安全保 護監査の詳細については、「IBM Informix: Trusted Facility Guide」を参照)。 暗黙的キャスト. データ型変換のために、データ ベースが自動的に起動する組込み またはユーザ 定義キャスト。「明示的キャスト」を参照。 暗黙的射影リスト. SELECT 文で、問合せが表の すべての列から値を戻すように、アスタリスク (*) ワイルドカード記号を使用する。射影リスト は、SELECT キーワードに即時に反応するため、 「選択リスト」と呼ばれる場合がある。 暗黙的な接続. DATABASE、CREATE DATABASE、START DATABASE、または DROP DATABASE 文を使用して作成される接 続。「明示的な接続」を参照。 暗黙的なトランザクション. COMMIT WORK ま たは ROLLBACK WORK 文で暗黙的に開始する トランザクション。これは、ANSI 標準準拠デー タベースがサポートする唯一のトランザクション の種類であるが、ロギングをサポートする他のデ ータベースでも使用可能である。「明示的なトラ ンザクション」と「単一の暗黙的なトランザクシ ョン」を参照。 アンロード ジョブ. HPL を使用して、リレーシ ョナル データベースからデータをアンロードす るために必要な情報。この情報には、形式、マッ プ、問合せ、データベース配列、プロジェクト、 および特殊オプションが含まれている。 294 IBM Informix SQL ガイド: 参照 異機種間コミット. データベース サーバのグル ープを管理するプロトコル。データベース サー バの少なくとも 1 つはゲートウェイ 関係先であ る。異機種間環境で、分散トランザクションの完 全性を保証する。「2 相コミット」を参照。 意思決定支援アプリケーション. 戦略計画、意思 決定、およびレポートに使用する情報を提供する アプリケーション。通常、順次走査方式のバッチ 環境で実行され、走査した行の大部分を戻す。ま た、意思決定支援問合せはデータベース全体を走 査する。「オンライン トランザクション処理ア プリケーション」を参照。 意思決定支援問合せ. 意思決定支援アプリケーシ ョンが生成する問合せ。複数の結合、一時表、大 量の計算などが必要な場合が多いため、PDQ が 非常に有用である。「オンライン トランザクシ ョン処理問合せ」を参照。 一意キー. 「主キー」を参照。 一意性インデックス. インデックス付けされた列 内において、重複値の発生を防ぐインデックス。 一意性制約. 列または列セットの各エントリが一 意の値を持つことを指定する。 一時. 単一セッションでのみ使用されるファイ ル、インデックス、または表の属性。一般に、一 時ファイルや一時リソースは、プログラム実行や オンライン セッションが終了する場合に削除ま たは解放される。 一般化キー (GK) インデックス. Extended Parallel Server の静的表のインデックスの一種 で、式の結果を B+ ツリーまたはビットマップ インデックスのキーとして格納することにより、 ある種の問合せを高速化できる。GK インデック スには、選択、仮想列、および結合 の 3 種類が ある。 違反表. 基本表上でのデータ処理操作中に要求さ れる、制約や一意性インデックスの条件を満たさ なかった行を収める特殊な表。START VIOLATIONS TABLE 文を使用して違反表を作成 し、基本表に関連付ける。 インストール. 媒体 (テープ、カートリッジ、リ ムーバブル ディスク、CD など) からコンピュー タへソフトウェアをロードし、使用準備をするこ と。 インデックス. 値と、表またはスマート ラージ オブジェクトの中の対応する場所へのポインタが 含まれているエントリの構造体。インデックスを 使用して、キー列に従って表を順序付けたり、ラ ージ オブジェクトの中のデータにアクセスする ことにより、データベース問合せのパフォーマン スを向上できる。 インデックス フラグメント. グループ化された 0 以上のインデックス項目から構成され、関連付 けられた表フラグメントと同じ DB 領域、または 別の DB 領域に格納できる。インデックス フラ グメントは、SB 領域または EXT 領域 に置くこ とも可能。 インデックスのクラスタ化. 特定のインデックス に従い、表の物理データを配列し直すこと。 ウィンドウ. バックグラウンド プログラムのコ ンテキストを変更せずに操作できる、画面上の長 方形の領域。 埋込み SQL. 他の一部のホスト言語内に置かれ た SQL 文。例えば、Informix は C における埋 込み SQL をサポートする。 エクステント. データベース サーバが表領域 (表) に割り当てたディスク領域の連続セグメン ト。ユーザは、表の初期のエクステント サイズ とデータベース サーバが表に割り当てるすべて の後続のエクステントのサイズの両方を指定でき る。 エスケープ キー. キーボードにある実際のキー で、通常 ESC と書かれている。ほとんどの UNIX と DOS システムにおいて、1 つのモード を終了し、別のモードを開始するのに使用され る。 エスケープ文字. 次に来る文字が、通常のように プログラムにより特別な意味を持つと解釈される 代わりに、リテラル文字として処理されることを 示す文字。エスケープ文字は、その特別な意味を 「エスケープ」(つまり無視) するために、特殊文 字 (ワイルドカードや区切り記号など) の前にく る。 エラー トラッピング. 「例外処理」を参照。 エラー メッセージ. ある数値 (通常は負の値) に 関連したメッセージ。IBM Informix アプリケーシ ョンは、エラー メッセージを画面に表示させる か、ファイルに書き込む。 エラー ログ. プログラムが実行する場合に、必 ずエラー情報を受信するファイル。 演算子. SQL 文において、演算関数 を呼び出す キーワード (UNITS や UNION など) または記号 (=、>、<、+、-、* など)。演算子へのオペランド は、演算関数 への引数である。 演算子関数. 1 つ以上の引数 (そのオペランド) を処理し、値を戻す関数。多くの演算子関数に は、plus() と + のように、対応する演算子があ る。演算子関数は、ユーザ定義データ型 を処理 するようにオーバーロードできる。「ルーチン オーバーロード」を参照。 演算子クラス. 演算子クラス関数 と副アクセス 方法 の関連。データベース サーバは、演算子ク ラスを使用して問合せを最適化し、副アクセス方 法のインデックスを作成する。 演算子クラス サポート関数. インデックス を作 成、検索するために副 アクセス方法で使用す る、演算子クラス関数。演算子クラス サポート 関数を CREATE OPCLASS 文の SUPPORT 節に 登録する。 用語集 295 演算子クラス ストラテジ関数. 問合せでフィル タ として現れる演算子クラス関数。問合せオプ ティマイザはストラテジ関数を使用して、フィル タ処理をするのに特定の副アクセス方法 のイン デックス が使用可能か判断する。演算子クラス ストラテジ関数を CREATE OPCLASS 文の STRATEGIES 節に登録する。 演算子クラス関数. 演算子クラス サポート関数 の 1 つ、または演算子クラス を構成する演算子 クラス ストラテジ関数。ユーザ定義演算子クラ スの場合、演算子クラス関数はユーザ定義関数 である。 演算子バインド. 演算子 が SQL 文で使用され る場合の、演算子関数 の暗黙的な呼出し。 エンド ユーザ フォーマット. クライアント ア プリケーション内にリテラル ストリングまたは 文字変数としてデータが現れる形式。データ型の データベース形式が、ユーザが慣れている形式と 違う場合に、エンド ユーザ フォーマットが有用 である。 エンド ユーザ ルーチン. 既存の組込み ルーチ ンが実行しない SQL 文内のタスクを実行するユ ーザ定義ルーチン (UDR)。タスクの例は、複数の SQL 文のカプセル化、トリガ アクションの作 成、およびデータベース オブジェクト へのアク セスの制限を含む。 オーバーロード. を参照。 「ルーチン オーバーロード」 オープン. アクセスのためのファイル作成、列の 起動、ウィンドウの開始など、リソースを使用可 能にするプロセス。 大文字と小文字の区別. 大文字と小文字を区別す る条件。大文字と小文字を区別するコマンドとコ マンド オプションは、入力された文字が大文字 か小文字かによって、異なる動作をする。ロケー ル ファイルは、コード セットにおけるどの文字 が大文字または小文字なのか指定する。 296 IBM Informix SQL ガイド: 参照 オブジェクト. 「データベース オブジェクト」 を参照。 オブジェクト モード. システム カタログ表 sysobjstate に記録されたデータベース オブジェ クトの状態。制約インデックスと一意性インデッ クスは、有効、無効またはフィルタのいずれかの モードを指定できる。トリガ インデックスと重 複インデックスは、有効または無効のいずれかの モードにできる。オブジェクトのモードを変更す るには、SET 文を使用する。 オブジェクト リレーショナル データベース. ユ ーザ定義データ型、ユーザ定義ルーチン、ユーザ 定義キャスト、ユーザ定義アクセス方法、および 継承 のサポートを含む、リレーショナル データ ベース へオブジェクト指向の機能を追加するデ ータベース。 オプティカル文. 光クラスタの制御に使用する SQL 文。 親子関係. 親表. 照。 「参照制約」を参照。 参照制約で参照される表。「子表」を参 オンライン トランザクション処理アプリケーシ ョン. 少数のデータ項目への迅速なインデックス アクセスを特徴とする。アプリケーションは、通 常マルチユーザであり、応答時間は秒単位で測定 される。「意思決定支援アプリケーション」を参 照。 オンライン トランザクション処理問合せ. OLTP アプリケーション処理が、単純で事前定義である トランザクション。一般の OLTP システムは、 限定された数の行のみが単一トランザクションに より何回もアクセスされるオーダー エントリ シ ステムである。「意思決定支援問合せ」を参照。 [カ行] カーソル. SQL において、行 (ROW) 型または コレクション (COLLECTION) 型のグループに関 連付けられた識別子。概念的には、行 (ROW) 型 またはコレクション (COLLECTION) 型の現在の 要素へのポインタである。カーソルを SELECT 文に使用、または EXECUTE PROCEDURE 文 (問合せによって戻される行にカーソルを関連付け る) や INSERT 文 (カーソルをバッファに関連付 けて複数の行をグループとして挿入する) に使用 できる。SELECT カーソルが宣言されるのは、行 の抽出が順次のみの場合 (通常のカーソル)、また は非順次の場合 (スクロール カーソル)。さら に、更新 (更新または削除された行に対するロッ ク制御の開始) または WITH HOLD (現在のトラ ンザクションが完了してもカーソルをクローズし ない) に SELECT カーソルを宣言できる。 ESQL/C では、カーソルを動的にできる。つま り、識別子や文字変数による参照が可能。 カーソル安定性. Informix の排他レベルの 1 つ で、SET ISOLATION 文で使用できる。この排他 レベルでは、データベース サーバは行を参照す る前に、取り出した行の共有ロックをロックする 必要がある。データベース サーバは、新規の行 を取り出す要求を受け取るまでそのロックを維持 する。「排他」を参照。 カーソル関数. ユーザ定義ルーチン (UDR) は、 1 つ以上のデータの行を戻す。そのため、実行す るカーソルが必要。SPL ルーチン は、RETURN 文が WITH RESUME キーワードを含む場合、カ ーソル関数である。外部関数 は、反復関数とし て定義される場合、カーソル関数である。「非カ ーソル関数」を参照。 カーソル操作文. カーソルを制御する SQL 文。 特に、 CLOSE、DECLARE、FETCH、FLUSH、OPEN、 および PUT 文のこと。 カーソルをクローズする. 問合せの結果として生 じる、カーソルと行のアクティブ セットとの関 連付けを解除すること。 カーネル. プロセスとリソース割振りを制御す る、オペレーティング システム コンポーネン ト。 階層. ツリーのようなデータ構造。1 つのグルー プのみ (ルートと呼ばれる) が最も高いレベルで 存在し、ルートを除く各グループが、より高いレ ベルの 1 つの親グループにのみ関連するよう に、複数のグループのデータは他のグループに従 属する。 外部関数. 単一値を戻す外部ルーチン。 外部キー. 表の一意キーや主キーを参照する列、 または列のセット。NULL 値以外の値のみ含む外 部キー列の各エントリに対し、一意列または主列 に一致したエントリが存在する必要がある。 外部結合. 問合せでの、主表 (外側の 表) と 1 つ以上の「従表」の非対称な結合。外部表の値 は、従表に一致する行が存在しない場合も保存さ れる。結果セットにおいて、従表に一致する行が ない任意の外部表の行は、従表から選択した 列 に NULL 値を持つ。 外部表. 現在のデータベースにはないデータベー ス表。同じデータベース サーバが管理するデー タベースに存在する場合と、しない場合がある。 外部プロシジャ. 値を戻さない外部ルーチン。 外部への移行. 光ディスク記憶サブシステムが、 テキスト (TEXT) 型またはバイト (BYTE) 型デ ータを Dynamic Server 環境から光ディスク記憶 サブシステムへと移行するプロセス。 外部領域. データベース サーバではなく、ユー ザ定義アクセス方法が管理する格納領域。 CREATE TABLE と CREATE INDEX 文の IN 節で、DB 領域の代わりに外部領域名を指定でき る。 外部ルーチン. データベースがサポートする外部 言語で書き込まれたユーザ定義ルーチン。外部言 語には、C 言語と Java 言語がある。ルーチン 用語集 297 名、パラメータなどの情報は、データベースのシ ステム カタログ表に登録される。ただし、外部 ルーチンの実行可能コードは、データベースの外 に格納される。外部ルーチンには、外部関数 ま たは外部プロシジャ がある。 拡大. 処理時間が増えないよう、必要な量のコン ピュータ リソースを追加して問合せサイズの増 大を補う機能。 拡張データ型. 組込みデータ型ではないデータ型 のことを指す。つまり、複合データ型、不透明 (OPAQUE) 型、ディスティンクト (DISTINCT) 型。 確定読込み. SET TRANSACTION 文で指定でき る排他レベルの 1 つで、ユーザは、問合せ要求 した場合に現在確定されている行のみを表示でき る。つまりユーザは、現在確定されていないトラ ンザクションの一部として変更された行は表示で きない。このレベルは、ANSI 標準準拠ではない データベースにおけるデフォルトの排他レベルで ある。「確定読込み」を参照。 確定読込み. Informix の排他レベルの 1 つで、 ユーザは、問合せ要求した場合に現在確定されて いる行のみを表示できる。つまり、ユーザは、現 在確定されていないトランザクションの一部とし て変更された行を表示できない。確定読込みはデ ータベース サーバを介して使用でき、SET ISOLATION 文で設定する。ANSI 標準準拠では ないデータベースのデフォルトの排他レベル。 「確定読込み」を参照。 仮数. 浮動小数点数の有効数字。 カスケード削除. 親表の行が削除されると、その 行に外部キーで関連付けられていた子表の行が削 除される。ある表の主キー列の行を削除する場 合、カスケード削除が有効であると、その表に関 連付けられている表の外部キーの列にある同一の 情報が削除される。 仮想テーブル. 作成するデータが、外部ファイ ル、外部 DBMS、スマート ラージ オブジェク 298 IBM Informix SQL ガイド: 参照 ト、または問合せの反復関数の結果セット デー タにアクセスする表。データベース サーバが外 部データを管理、またはスマート ラージ オブジ ェクト内のデータを直接操作することはない。仮 想テーブル インターフェイスにより、SQL DML 文を使用した仮想テーブルの外部データへのアク セスや、外部データと Dynamic Server 表データ の結合が可能。 仮想プロセッサ. データベース サーバを構成す る、コンピュータのハードウェア プロセッサと 類似したマルチスレッド プロセス。複数のクラ イアントにサービスを提供できる。また必要に応 じて、単一問合せに対して複数のスレッドを実行 し、並列処理できる。 仮想列. SQL 文で作成する、データベースに格 納されていない情報の派生列。 例えば、既存の 値を定数と掛け合わせるなど、単一列を数学的に 操作、または 2 つの列の値を加えるなど、複数 の列を組み合わせることで SELECT 文内に仮想 列を作成できる。 仮想列インデックス. 一般化キー インデックス の一種で、含まれるキーは、式の結果である。 型階層. 名前付き行型 間で定義する関係。副型 が、上位表 の表現 (データ フィールド) と動作 (ルーチン) を継承する。副型は、フィールドとル ーチンを追加できる。 型継承. 名前付き行型 または型付き表 が、型階 層 で上にある名前付き行型の表現 (データ フィ ールド、列) と動作 (ルーチン、演算子、ルール) を継承できるようにするプロパティ。 型コンストラクタ. データベース サーバに、作 成する複合データ型の種類 (リスト (LIST) 型、マ ルチセット (MULTISET) 型、行 (ROW) 型、セッ ト (SET) 型 など) を指示する SQL キーワー ド。 型代用性. 上位型のインスタンスである場合に、 副型のインスタンスが使用できること。 型付きコレクション (COLLECTION) 型変数. 関連付けられた定義済みコレクション (COLLECTION) 型 がある ESQL/C コレクション (COLLECTION) 型変数 または SPL 変数。保持で きるのは、定義された型のコレクション のみ。 「型なしコレクション (COLLECTION) 型変数」 を参照。 型付き表. 名前付き行型 で構成された表で、行 にはその行 (ROW) 型のインスタンスが含まれ る。型付き表は、表階層 の一部として使用でき る。型付き表の列は、名前付き行型のフィールド に対応する。 型なしコレクション (COLLECTION) 型変数. 一般的な ESQL/C コレクション (COLLECTION) 型変数 または SPL 変数。任意のコレクション (COLLECTION) 型 のコレクション を保持でき、 最後に割り当てられたコレクションのデータ型に なる。「型付きコレクション (COLLECTION) 型 変数」を参照。 各国語サポート (NLS). 各国語文字 (NCHAR) 型および各国語可変長文字 (NVARCHAR) 型列を 使用して非英語文字列を格納する、1 バイト コ ード セットをサポートする機能。このテクノロ ジーは、IBM Informix データベースでは広域言語 サポート (GLS) である。 各国語のサプリメント. ロケール ファイルおよ びエラー メッセージを提供し、1 つ以上の言語 をサポートする IBM Informix 製品。各国語サプ リメントは、複数のヨーロッパ言語をサポートす る。IBM Informix において、一部のアジア言語に は、個別の各国語のサプリメントが提供される。 各国語文字. 「各国語文字」を参照。 各国語文字. 各国語サポート (NLS) における、 各国語文字 (NCHAR) 型または各国語可変長文字 (NCHAR) 型列に格納される自然言語の書込み形 式の文字。ネイティブ文字 と呼ばれる場合もあ る。 環境変数. ユーザごとにオペレーティング シス テムによって管理され、ユーザが実行するすべて のプログラムに使用可能にされる変数。 関係. 「表」を参照。 監査イベント. 潜在的にデータにアクセスまたは データを変更することができる、データベース サーバの動作または操作。監査イベントは、デー タベースの安全保護監査 機能によって記録およ びモニタすることができる。監査イベントの例 は、表アクセス、インデックス変更、チャンクの 削除、データベース アクセスの付与、現在行の 更新、データベース ユーティリティの実行など (監査イベントの完全リストについては、 「IBM Informix: Trusted Facility Guide」を参 照)。 監査ファイル. 監査イベントのレコードを含むフ ァイルで、指定の監査ディレクトリに置かれる。 監査ファイル内には情報の監査記録が作成され、 データベース システム セキュリティ担当者 (DSSO) はデータベースの安全保護監査 機能を使 用して、そのような情報を抽出して解析できる。 監査マスク. データベースの安全保護監査機能 によるロギングの対象にする監査イベント、また はロギングの対象から除外する監査イベントを指 定する構造体である。 関数. 1 つ以上の値を戻すルーチン。「ユーザ定 義関数」を参照。 関数オーバーロード. 「ルーチン オーバーロー ド」を参照。 関数カーソル. 値を戻すルーチンを実行する EXECUTE FUNCTION 文に関連付けられたカー ソル。「カーソル関数」を参照。 関与コサーバ. Extended Parallel Server がアクセ スする 1 つ以上の表のフラグメントを制御する コサーバ。「コサーバ」と「接続コサーバ」を参 照。 用語集 299 関連名. トリガ アクションで、トリガ文の前の 古い列値。または、トリガ文の後の新規の列値を 表すために列名と共に使用されるプレフィック ス。関連付けられる列は、トリガ表にある必要が ある。「トリガ」を参照。 キー. 1 行のデータを検索する場合に使用する 情報の項目。キーは検索する情報の部分と、表中 の情報を処理する順序を定義する。例えば、表 customer の列 last_name をインデックス化する と、last_name がキーになる顧客の名で、特定の 顧客の検索や、アルファベット順またはアルファ ベットの逆順での顧客の処理が可能になる。 キーワード. プログラム言語において、事前定義 の意味を持つ単語。例えば、単語 SELECT は SQL におけるキーワードである。 記述子. 割り当てられたシステム記述子領域や sqlda 構造を識別する、引用符付きストリングま たは変数。Informix SQL API で使用される。 「識別子」を参照。 基本型. 「不透明 (OPAQUE) 型」を参照。 基本表. (1) ビューの定義内で参照される表で、 ビューに表示するデータが含まれる。複数表ビュ ー には、複数の基本表がある。 (2) Dynamic Server の表階層内で、そのスキーマから他の表 (子表) が派生する親表。「表階層」を参照。 キャスト. あるデータ型を別のデータ型へ変換す るデータベース オブジェクト。組込みデータ型 の多くは、互換データ型への組込みキャスト (つ まりシステム定義キャスト) を持っている。「ユ ーザ定義キャスト」、「明示的キャスト」、およ び「暗黙的キャスト」を参照。 キャスト関数. キャストを実装するユーザ定義関 数。関数は、使用する前に CREATE CAST 文で 登録する必要がある。 キャラクタ スペシャル デバイス. 「バッファな しディスク入出力 (I/O)」を参照。 300 IBM Informix SQL ガイド: 参照 行. データベースの表内のすべての列で、1 つの エンティティについて関連項目の情報を集めたも の。例えば、顧客情報の表では、1 人の顧客につ いての情報が 1 行に格納されている。行は、レ コード またはタプル と呼ばれる場合がある。オ ブジェクト リレーショナル モデルでは、表の行 はそれぞれ、表のサブジェクトの 1 つのインス タンス、つまりそのエンティティの 1 つの特定 の例を表す。スクリーン形式では、行は画面の 1 行に対応する。 行 ID. 非フラグメント表では、行の物理格納位 置を定義する整数を行 ID と呼ぶ。フラグメント 表で使用するには行 ID を明示的に作成する必要 があり、この場合は行の物理格納位置を定義しな い。フラグメント表の行 ID には、行 ID を作成 する場合に作成されたインデックスがアクセスす る。このアクセス方法は低速なため、新規のアプ リケーションを作成する場合、行の識別には、行 ID ではなく主キーの使用を推奨。 行 (ROW) 型. 複合データ型 で、1 つ以上の関 連データ フィールド を含む。フィールドのデー タ型 は任意で、レコードのテンプレートを形成 する。行 (ROW) 型のデータは、行または列に格 納できる。「名前付き行型」と「名前なし行型」 を参照。 行 (ROW) 型変数. 行 (ROW) 型 全体を保持 し、行の各フィールド にアクセスできる IBM Informix ESQL/C ホスト変数 または SPL 変数。 共有オブジェクト ファイル. コンパイル時には アプリケーションにリンクされず、必要に応じて オペレーティング システムがメモリにロードす るライブラリ。ロードされた共有オブジェクト ファイルへのアクセスは、複数のアプリケーショ ンで共有できる。「ダイナミック リンク ライブ ラリ (DLL)」と「共有ライブラリ」を参照。 共有メモリ. 複数のプロセスがアクセスできるメ イン メモリの一部。共有メモリを使用すると、 複数のプロセスがメモリ内の共通のデータ領域に アクセスできる。プロセスごとに共通のデータを ディスクから再読取りする必要がないため、ディ スク入出力 (I/O) を減少させることでパフォーマ ンスが向上する。同じコンピュータ上で動作して いる 2 つのプロセス間で通信するためのプロセ ス間通信 (IPC) 機能にも使用される。 子、または識別子に設定されるデフォルトの SQL 文字以外の文字や空白を含む識別子をサポートす る。 共有ライブラリ. UNIX システムにおける共有オ ブジェクト ファイル。「ダイナミック リンク ライブラリ (DLL)」を参照。 組込み. ユーザが定義するのではなく、データベ ース サーバが提供するもの。通常、システム カ タログにある。 共有ロック. 複数のスレッドが同じオブジェクト 上で取得できるロック。共有ロックにより、複数 のユーザとの並行性が高くなる。2 人のユーザが 1 つの行に共有ロックを持っている場合、(最初の ユーザだけでなく) 両方のユーザがそのロックを 解除するまで、他のユーザはその行の内容を変更 できない。共有ロック ストラテジは、Informix の単純読込みと ANSI 標準準拠の未確定読込み以 外の、すべての排他レベルで使用される。 組込みデータ型. データベース サーバがサポー トする、事前定義のデータ型。例えば、整数 (INTEGER) 型、文字 (CHAR) 型、またはシリア ル (SERIAL) 型など。 局所変数. 定義されるルーチン 内にのみ参照範 囲が存在する変数 または識別子。「広域変数」 を参照。 空白. 一連のスペースのこと。スペースとして使 用される文字は、GLS ロケールで定義される。例 えば、あるロケールではタブと空白が両方ともス ペースに定義されるが、別のロケールでは、CTRL キーと別の文字の組合せが、スペースに定義され る。 区切り記号. フィールドの境界や、列または行の 終端記号として使用される文字。ファイル、また は PREPARE 文で処理されたオブジェクトによっ ては、セミコロン (;)、コンマ (,)、空白 ( )、ま たはタブによる区切り記号が文の間に必要なもの がある。一部のプログラミング コンテキストで は、SQL 文にセミコロン (;) または他の区切り記 号を使用できる。 区切り識別子. DELIMIDENT 環境変数が設定さ れた場合、これは二重引用符 (″) で囲まれた SQL 識別子である。SQL 予約キーワードの識別 クックド ファイル. 「バッファ付きディスク入 出力 (I/O)」を参照。 クライアント アプリケーション. ファイル サー バやデータベース サーバなど、サーバ プログラ ムからのサービスを要求するプログラム。GLS 機 能では、用語クライアント アプリケーション は データベース サーバ ユーティリティを含む。 クライアント コンピュータ. クライアント アプ リケーションを実行するコンピュータ。 クライアント ロケール. クライアント アプリケ ーションが、クライアント コンピュータで読込 み操作および書込み操作を実行するために使用す るロケール。CLIENT_LOCALE 変数は、デフォ ルト以外のロケールを指定できる。「サーバ ロ ケール」を参照。 クライアント/サーバ アーキテクチャ. ユーザ インターフェイスとデータベース サーバが、1 台のコンピュータ上で、またはネットワークを介 して、別々のノードやプラットフォームに存在で きるようにしたハードウェアおよびソフトウェア の設計。「ASF」、「クライアント アプリケーシ ョン」、「サーバ プロセス ロケール」を参照。 クライアント/サーバの接続文. データベースに 接続できる SQL 文。これらの文は、 CONNECT、DISCONNECT、および SET CONNECTION を含む。 用語集 301 クラスタ キー. 光クラスタに格納されたシンプ ル ラージ オブジェクトまたはスマート ラージ オブジェクトのグループに、論理的に関連付けら れた表の列。 クラスタ サイズ. KB 数で指定する、オプティ カル ボリューム上のオプティカル クラスタに割 り当てられる領域。 繰返し可能読込み. Informix と ANSI の排他レ ベル。Informix の SET ISOLATION 文または ANSI 標準準拠の SET TRANSACTION 文で使用 可能。トランザクション中に読み取られたすべて のデータが、トランザクション全体を通じて変更 されないことを保証する。ANSI の繰返し可能読 込みによるトランザクションは、直列化可能とも 呼ばれる。Informix の繰返し可能読込みは、ANSI 標準準拠データベースのデフォルトの排他レベル である。「排他」と「直列化可能」を参照。 グローバルな分離インデックス. Extended Parallel Server のインデックスの一種で、表フラ グメントから独立したフラグメント化ストラテジ を保持する。データベース サーバは、インデッ クス行が、参照するデータ行と同じコサーバに存 在するか検証できない。式、システム定義のハッ シュ、またはハイブリッド分散スキームを使用し て、任意の表に広域分離インデックスを作成でき る。「ローカルな分離インデックス」を参照。 クロス サーバ問合せ. 「分散問合せ」を参照。 継承. あるオブジェクトが別のオブジェクトのプ ロパティを取得できるプロセス。継承により、オ ブジェクトは一般的なプロパティのセットを継承 して、特有のプロパティを追加する差分変更がで きる。「型継承」と「表継承」を参照。 結合. 情報の共通ドメインに基づく 2 つ以上の 表からの情報を組み合わせるプロセス。対応する 行の情報が結合基準に整合する場合、1 つの表か らの行は別の表からの行とペアにされる。例え ば、列 customer_num が表 customer と表 orders に存在する場合、それぞれの行 customer を共通の customer_num に基づくすべての関連行 orders とペアにする問合せを作成できる。「デカ ルト積」と「外部結合」を参照。 結合インデックス. 一般化キー (GK) インデック スの一種。含まれるキーは、複数のインデックス を結合する問合せの結果。 幻行. トランザクションで修正または挿入された 後にロールバックされた表の行。排他レベルが Informix の単純読込みまたは ANSI 標準準拠の未 確定読込みの場合、別のユーザは幻行を見ること ができる。その他の排他レベルでは、変更済みで 確定されていない行が、ユーザに見えることはな い。 権限. 一部のオペレーティング システムで、フ ァイルとディレクトリにアクセスできる権利のこ と。 ゲートウェイ. ネットワーク間のデータ通信を確 立するデバイス。 現在行. 問合せのアクティブ セットのうちで、 最後に抽出された行。 警告. ソフトウェア (データベース サーバやコ ンパイラなど) が検出した状態に関するメッセー ジ、またはその他のインディケータ。警告を発生 させる状態が、コードの実行に影響を与えるとは 限らない。「コンパイル時エラー」と「ランタイ ム エラー」を参照。 コード セット. 文字セットの表現。文字セット の文字と固有のコード ポイントをマップする方 法を指定する。例えば、 ASCII、 ISO8859-1、 Microsoft 1252、および EBCDIC は、英語を表す コード セットである。コード セットはロケール 名で指定する。 形式. データ ファイルの構成の記述。「コンポ ーネント」を参照。 コード セット順序. コード セット内の文字の直 列化された順序。例えば ASCII コード セットで 302 IBM Informix SQL ガイド: 参照 は、大文字 (A から Z) は、小文字 (a から z) の 前に順序付けされる。「照合順序」と「ローカラ イズ順序」を参照。 コード セット変換. 文字データを、あるコード セット (ソース コード セット) から別のコード セット (ターゲット コード セット) に変換する 処理。コード セット変換は、クライアント コン ピュータとサーバ コンピュータが、同じ文字デ ータを表すのに異なるコード セットを使用して いる場合に有用である。 コード ポイント. コード セットの 1 文字を表 すビット パターン。例えば ASCII コード セッ トでは、大文字の A は 0x41 のコード ポイント を持つ。 広域言語サポート (GLS). Informix API やデー タベース サーバが、他の言語、国/地域別情報、 およびコード セットをサポート可能にする機 能。GLS 機能については、「IBM Informix: GLS ユーザーズ ガイド」を参照。 広域変数. 参照範囲がプログラムのすべてのモジ ュールである変数 または識別子。「局所変数」 を参照。 高可用性. 障害やデータの消失が発生しても停止 させないようにするシステムの能力。高可用性に は、高速復旧やミラーリングなどの機能がある。 フォールト トレランス (耐故障性) と呼ばれる場 合がある。 更新. 表の 1 つ以上の既存の行にある 1 つ以上 の列の内容を変更する操作。 更新可能ビュー. 値を挿入することで、基礎表が 変更できるビュー。INSTEAD OF トリガのみ、 複数表のビューを更新できる。 更新前イメージ. 行、ページなどの項目を変更す る前のイメージ。 更新ロック. SELECT...FOR UPDATE で設定さ れる増進可能なロック。更新ロックは、実際に更 新が行われるまでは共有ロックと同様に動作し、 その後排他ロックになる。共有ロックとの違い は、一度に 1 つのオブジェクトに設定できる更 新ロックが 1 つという点である。 構成ファイル. データベース サーバのディスク または共有メモリの初期化中に読み取るファイル で、構成できる動作の値を指定するパラメータが 含まれる。データベース サーバとデータベース サーバのアーカイブ ツールが構成ファイルを使 用する。 高速化. 指定されたボリュームの OLTP 動作 や、DSS 問合せの速度を向上させるためにコンピ ューティング ハードウェアを追加する能力。 高速モード. ライト アペンドを使用する Extended Parallel Server のデータのロードまたは アンロード方法の 1 つ。 構築データ型. 「複合データ型」を参照。 互換データ型. データベースに存在するキャスト の 2 つのデータ型。「暗黙的キャスト」も参 照。 国際化. IBM Informix 製品を、さまざまな文化 や自然言語の規則に容易に適合させるためのプロ セス。各国対応のソフトウェアは、その他の機能 に加えて、文化的差異に基づいた照合、日付、時 間、金額の形式をサポートする。「IBM Informix Guide to GLS Functionality」を参照。 コグループ. コサーバの名前付きグループ。初期 化の際にデータベース サーバは、すべての構成 済みコサーバ から cogroup_all というコグルー プを作成する。 コサーバ. 機能上はデータベース サーバに相当 するもので、1 つのノード上で動作する。「接続 コサーバ」と「関与コサーバ」を参照。 固定小数点数. 値に関係なく特定の位置に小数点 が固定される数。 用語集 303 固定長文字. ESQL/C プログラムの文字データ 型。(必要な場合) 後続の空白文字でパッドされ、 NULL 終端子なしである固定長文字列のためのも の。 子表. 参照制約内の参照表。「親表」を参照。 コマンド ファイル. SQL 文など、文やコマンド が 1 つ以上入っているシステム ファイル。 コメント. プログラム ファイル内の情報で、コ ンピュータが処理するものではなく、プログラム を文章化するもの。シャープ (#)、中括弧 ({ })、 アスタリスクが続くスラッシュ (/ *)、または二重 ハイフン (--) などの特殊文字は、プログラミング コンテキストによって、コメントを識別するのに 使用できる。 固有名. ユーザ定義ルーチンの特定のシグニチャ を一意に識別するために、オーバーロードされる ユーザ定義ルーチン に割り当てられる名前。 「ルーチン オーバーロード」と「ルーチン シグ ニチャ」を参照。 コレクション. コレクション (COLLECTION) 型 のインスタンス。セット (SET) 型、マルチセット (MULTISET) 型、またはリスト (LIST) 型に格納 された同じデータ型 の要素 のグループである。 コレクション カーソル. 関連した IBM Informix ESQL/C コレクション (COLLECTION) 型変数 を 持ち、データ型がコレクション (COLLECTION) 型 である個々の列の要素 へアクセスできるデー タベース カーソル。 コレクション (COLLECTION) 型. インスタン スが、同じデータ型 (不透明 (OPAQUE) 型、デ ィスティンクト (DISTINCT) 型、組込みデータ 型、コレクション (COLLECTION) 型、または行 (ROW) 型 が可能) の 要素 のグループである複 合データ型。 コレクション (COLLECTION) 型導出表. IBM Informix ESQL/C または SPL が、 INSERT、DELETE、UPDATE、または SELECT 304 IBM Informix SQL ガイド: 参照 文で TABLE キーワードを実行する場合、コレク ション列のために作成する表。ESQL/C と SPL は、この表をコレクション (COLLECTION) 型変 数に格納し、コレクション (COLLECTION) 型導 出表としてコレクションの要素 にアクセスす る。 コレクション (COLLECTION) 型変数. 全コレ クション を保持し、コレクション カーソル を 通じてコレクションの個々の要素 にアクセスで きる、IBM Informix ESQL/C ホスト変数 または SPL 変数。 コレクションの副問合せ. 副問合せの結果をと り、MULTISET キーワードを使用して戻り値をマ ルチセット (MULTISET) 型コレクションに変換 する式に行う問合せ。 コロケーテッド結合. データが常駐するコサーバ 上でローカルに発生する結合。結合が完了する と、ローカル コサーバは、他のコサーバにデー タを送信する。 コンストラクタ. 「型コンストラクタ」を参照。 コンパイル. 高水準言語のソース コードを、実 行可能なコードに翻訳すること。「実行」、「リ ンク」、「ソース ファイル」を参照。 コンパイル時エラー. プログラム ソース コード をコンパイル する際に発生するエラー。この種 類のエラーは、ソース コードの構文エラーを示 す。「ランタイム エラー」を参照。 コンポーネント. ハイパフォーマンス ローダ (HPL) において、データのロードとアンロードに 必要な情報は、複数のコンポーネント で編成さ れる。そのコンポーネントは、形式、マップ、フ ィルタ、問合せ、プロジェクト、デバイス配列、 ロード ジョブ、およびアンロード ジョブであ る。 [サ行] サーバ プロセス ロケール. クライアント アプ リケーションとデータベースの特定の接続に対し て、データベース サーバが動的に決定するロケ ール。「ロケール」を参照。 サーバ ロケール. データベース サーバが、独自 に読込み操作および書込み操作を実行する場合に 使用するロケール。SERVER_LOCALE 変数は、 デフォルト以外のロケールを指定できる。「クラ イアント ロケール」と「ロケール」を参照。 サーバ番号. データベース サーバを初期化する 場合にデータベース サーバ管理者が割り当て る、0 から 255 の固有の数字。0 と 255 も含 む。 サーバ名. データベース サーバ管理者が割り当 てる、データベース サーバの固有の名前で、ア プリケーションがデータベース サーバを選択す るために使用する。 最上位型. 型階層 の最上位にある名前付き行 型。最上位型の上に上位型 は存在しない。 削除. DELETE 文で、1 つの行または複数の行 の組合せを取り除くこと。 サブスクリプト. 配列に付ける整数値オフセット のこと。サブスクリプトを使用すると、文字 (CHAR) 型変数の開始位置と終了位置を示せる。 サブ文字列. 文字列の一部分。 差分アーカイブ. 最後のアーカイブが作成されて から変化したデータの部分のみを、オプションが アーカイブすることを許容するアーカイブのシス テム。 サポート ルーチン. 「サポート関数」を参照。 サポート関数. 「集計サポート関数」、「不透明 (OPAQUE) 型サポート関数」、および「演算子ク ラス サポート関数」 を参照。 参照制約. 表内での列や、表同士の関係のこと。 親子関係 とも呼ばれる。参照列は、外部キー と も呼ばれる。 参照範囲. ルーチン または識別子 にアクセスで きるアプリケーション プログラムの一部。これ には 3 つの範囲があり、局所 (単一文ブロックの みに適用)、モジュール (単一モジュール全体に適 用)、および広域 (プログラム全体に適用) であ る。「局所変数」と「広域変数」を参照。 シーケンス. 8 バイト整数 (INT8) 型の範囲で固 有の整数値を生成できるデータベース オブジェ クト。シーケンス生成プログラム と呼ばれる場 合もある。 シェルフ. 光ディスク ドライブ上やジュークボ ックス スロット内に存在しない光ディスクの格 納場所。 式. データベース サーバが実行できる指定のこ と。リテラル値、定数、列値、関数、引用符付き ストリング、演算子、および (区切り記号として の) 括弧を含むことができる。ブール式は、 TRUE、 FALSE、 UNKNOWN を判断できる。算 術式は、算術演算子 (+、-、¥、/ など) を含み、 数値を戻す。 式ベースのフラグメント化. SQL 文の WHERE 節で定義するユーザ指定の式によって、行をフラ グメントに分散する分散スキーム。 識別子. デフォルト ロケールではデータベー ス、記憶域、またはプログラム オブジェクトの 非修飾名である文字、数字、およびアンダスコア (_) のシーケンス (別のロケール、または DELIMIDENT 変数が設定される場合、他の文字 も有効になる)。 シグナル. 2 つのプロセス間の非同期式通信の手 段。例えば、ユーザまたはプログラムがプロセス の実行に割り込んだり実行を一時停止する場合、 シグナルが送信される。 シグニチャ. 「ルーチン シグニチャ」を参照。 用語集 305 指数. ある値が累乗される数。 システム呼出し. オペレーティング システムか ら情報を得るためにプログラムが呼び出すオペレ ーティング システム ライブラリ のルーチン。 システム インデックス. データベース サーバが 一意性制約 または参照制約 を実装するために作 成するインデックス。システム インデックス は、ユーザが明示的に作成するユーザ インデッ クス とは異なる。 実行. 文、プログラム、ルーチン、または命令の セットを実行すること。「実行可能ファイル」を 参照。 システム カタログ. データベース内の表名や列 名、表の行数などのデータベースそのものに関す る情報、インデックス、データベース アクセス 権などに関する情報を格納するデータベース表の グループ。「データ ディクショナリ」を参照。 実行可能ファイル. 直接実行できるコードが含ま れているファイル。C 言語のオブジェクト ファ イルは、実行可能ファイルになる。このファイル には、C 言語のソース ファイル に対応するマシ ン レベルの命令が含まれる。 システム監視インターフェイス. データベース sysmaster の表と疑似表のコレクションで、デー タベース サーバの操作に関する最新情報を動的 に管理する。表はメモリ上に構築されるが、ディ スクに記録されない。SQL の SELECT 文を使用 して、SMI 表に問合せできる。 実行環境. プログラムの実行時に使用できるハー ドウェアとオペレーティング システムのサービ ス。 システム記述子領域. 動的 SQL 文で使用される データベース列またはホスト変数の情報を格納す るために、 ALLOCATE DESCRIPTOR、 DEALLOCATE DESCRIPTOR、 DESCRIBE、 GET DESCRIPTOR、および SET DESCRIPTOR 文で使用できる動的 SQL 管理構造。この構造に は、列ごとに 1 つの項目記述子が入っている。 それぞれの項目記述子は、名前、データ型、列の 長さ、小数点以下桁数、精度など、列についての 情報を提供する。システム記述子領域は、動的な 列を処理するための X/Open 標準である。「記述 子」と「sqlda」を参照。 システム定義キャスト. データベース サーバに 組み込まれている、事前定義のキャスト。組込み キャストは、異なる 2 つの組込みデータ型 間の 変換を自動的に実行する。 システム定義ハッシュ フラグメント化. Extended Parallel Server 定義の分散スキーム。表 の各行を整数のセットにマップし、システム定義 のアルゴリズムを使って指定のキーをハッシング することにより、データを均等に分散する。 306 IBM Informix SQL ガイド: 参照 シノニム. 表、ビュー、シーケンスに割り当てら れた名前で、元の名前の代わりに使用される。シ ノニムは元の名前を置き換えるわけではなく、そ の表、ビュー、シーケンスの別名として使用され る。 射影. 表の列のサブセットを取り出すこと。射影 は、SELECT 文の Projection 節を使用して実装さ れ、一部の列と表のすべての修飾行を戻す。 Projection 節における列セットは、「選択リス ト」と呼ばれる場合がある。「選択」と「結合」 を参照。 ジャグ行. 行に含まれる列の数と型が異なる問合 せ結果。表階層の複数の表に問合せが適用される 場合に発生する。 シャッフル. データベース サーバがフラグメン ト間で行やキー値を移動する場合に発生するプロ セス。フラグメントを確保、分離、または削除す る場合など、シャッフルはさまざまな状況で発生 する。 ジュークボックス. 1 つ以上の光ディスク ドラ イブ、光ディスクを格納するスロット、およびス ロットとドライブの間でディスクを移動するロボ ット アームから構成される物理記憶装置。オー トチェンジャー としても知られる。 主アクセス方法. ルーチン が表 にアクセスし て、挿入、削除、更新、走査などの操作をする場 合に使用するアクセス方法。「副アクセス方法」 を参照。 集計関数. 問合せまたはレポートの式の、頻度、 合計、平均、最大、最小など、問合せ行のグルー プに対して 1 つの値を戻す SQL 関数。「ユーザ 定義集計関数」を参照。 集計サポート関数. ユーザ定義集計関数を計算す るために、データベース サーバが使用するユー ザ定義関数 のグループの 1 つ。 従属サーバ. 問合せを開始しなかった分散問合せ の、任意のデータベース サーバ。リモート サー バと呼ばれる場合もある。「調整サーバ」を参 照。 従属表. 「外部結合」を参照。 主キー. 表内の各行を、一意に識別する列または 列セットからの情報。主キーは、一意キー と呼 ばれる場合がある。 主キー制約. 列または列セット内の各エントリ が、NULL 以外の固有の値を持つことを指定す る。 述部. 「フィルタ」を参照。 述部ロック. 述部を修飾するインデックス キー で保持されるロック。述部ロックでは、排他的述 部は単一キー値で構成され、共有述部は問合せ四 角形と包含や重複などの走査操作で構成される。 主表. 「外部結合」を参照。 順カーソル. シーケンスの次の行のみ取り出せる カーソル。順カーソルは、オープンされるごとに 1 回だけ、表全体を読み込める。 上位型. 型階層 で、下にある副型 に表現 (デー タ フィールド) と動作 (ルーチン) が継承される 名前付き行型。 上位表. 表階層 で、下にある副表 にプロパティ (制約、格納オプション、トリガ) が継承される型 付き表。上位表に対する問合せの範囲は、上位表 とその副表である。 照合. ある順序に従って文字列をソートするプロ セス。この用語は、照合順序またはローカライズ 順序のシノニムとして使用される場合がある。 照合シーケンス. 「照合順序」、「コード セッ ト順序」、「ローカライズ順序」を参照。 照合順序. データベース内の文字列値が、ソート またはインデックス付けされる論理順序。これ は、コード セットまたはロケール固有のいずれ かの順序に基づく。照合順序は、照合シーケンス としても知られる。 小数点以下桁数. 10 進数 (DECIMAL) 型表記 で、小数点の右側の桁数。14.2350 の小数点以下 桁数は 4 桁 (小数点の右側に 4 桁ある)。「精 度」を参照。 状態変数. プログラム実行のある側面の状態を示 すプログラム変数。状態変数は多くの場合、エラ ー番号を格納、またはエラーの発生を示すフラグ として機能する。 出力. 問合せやレポート要求に対してコンピュー タが生成する結果。 初期化. 実行の準備をすること。変数 を初期化 するには、開始値を割り当てる。データベース サーバを初期化するには、操作を開始する。 出力可能文字. 端末、画面、またはプリンタに出 力できる文字。出力可能文字は、A から Z、a か ら z、0 から 9、および句読記号である。「制御 文字」を参照。 書式制御文字. XPS で、文字 (c、n、o、または r) の前に付いたパーセント記号 (%)。コマンド行 で使用する場合、Extended Parallel Server では書 式制御文字が拡張され、複数のコサーバ数 (%c)、 用語集 307 複数のノード (%n)、DB 領域を示す複数の序数 (%d)、または DB 領域の範囲 (%r) が示せるよう になる。 スクロール カーソル. SCROLL キーワードを使 用して作成するカーソルで、複数行のアクティブ セットを任意の順序で取り出せる。 所有者アクセス権付き. SPL ルーチンのクラス で、リソース データベース アクセス権を持つす べてのユーザが作成できる。 スタック演算子. スタック上の値をプログラムが 操作するための演算子。 処理確定. トランザクション開始以降のデータベ ースへの変更をすべて受入れて、トランザクショ ンを終了させること。「ロールバック」を参照。 シングルバイト文字. 1 バイトの格納領域を使用 する文字。1 バイトには 0 から 255 の範囲の値 が格納できるため、256 文字を一意に識別でき る。アプリケーションは、このコード セットに おいて、1 文字は常に 1 バイトで格納されると 想定できる。「8 ビット文字」と「マルチバイト 文字」を参照。 診断表. 違反表の各行により引き起こされる、整 合性違反に関する情報を保持する特別な表。 START VIOLATIONS TABLE 文を使用して、違 反表と診断表を作成し、これらと基本表を関連付 ける。 診断領域. 実行された SQL 文の診断情報を格納 するデータ構造 (sqlda と呼ばれる場合がある)。 シンプル ラージ オブジェクト. BLOB 領域 ま たは DB 領域 に格納されるラージ オブジェク ト。復旧不可能で、トランザクション排他モード に従わない。シンプル ラージ オブジェクトに は、テキスト (TEXT) 型とバイト (BYTE) 型が ある。Extended Parallel Server は、BLOB 領域に 格納されるシンプル ラージ オブジェクトをサポ ートしない。 スキーマ. データベースまたは表の構造。表のス キーマには列の名前、列のデータ型、(該当する場 合には) 長さ、インデックス機能、表の構造につ いての他の情報を記載する。 308 IBM Informix SQL ガイド: 参照 ステージング領域 BLOB 領域. Extended Parallel Server には適用されない。光ディスク記憶サブシ ステムに移行されるテキスト (TEXT) 型またはバ イト (BYTE) 型データを、データベース サーバ が一時的に格納する BLOB 領域。 ストアド プロシジャ. 表していた用語。 以前に SPL ルーチン を ストアド プロシジャ言語 (SPL). 順序付け、分 岐、ループなどのフロー制御機能を提供する、 Informix の SQL 拡張機能。「SPL ルーチン」を 参照。 ストラテジ関数. 数」を参照。 「演算子クラス ストラテジ関 スマート ラージ オブジェクト. SB 領域 に格納 されるラージ オブジェクト。UNIX ファイルと 類似した読取りプロパティ、書込みプロパティ、 およびシーク プロパティを持ち、復旧可能で、 トランザクション排他モードに従う。また、アプ リケーションにより、セグメント単位で抽出でき る。スマート ラージ オブジェクトには、BLOB 型と CLOB 型がある。 スレッド. 仮想プロセッサ の作業またはタスク の単位。同様に、仮想プロセッサは CPU のタス クである。仮想プロセッサは、オペレーティング システムが CPU での実行をスケジューリングす るタスクのことで、データベース サーバ スレッ ドは、仮想プロセッサが処理を内部的にスケジュ ーリングするタスクのことである。スレッドはプ ロセスと類似しているが、オペレーティング シ ステムに対する要求は少ないため、軽量プロセス と呼ばれる場合もある。「マルチスレッド」と 「ユーザ スレッド」を参照。 制御文字. 特定の状況で使用すると、制御機能の 開始、変更、または停止を実行する文字。制御機 能とは、ビジュアル カーソルの移動やデータの 読取りなどに使用する、デバイスの制御の操作で ある。プログラムでは、CTRL キーを他のキーと 共に使用してプログラムの動作を実行する操作を 定義できる。例えば、CTRL キーを押しながら W キーを押すと、IBM Informix 製品のオンライ ン ヘルプが表示される。制御文字は、コントロ ール キー とも呼ばれる。「出力可能文字」を参 照。 精細モード. 通常の挿入を使用する、データのロ ードまたはアンロードの方法の 1 つ。 静的表. 読取り専用のログなし永続表。 精度. 小数点の右側と左側の桁数を合計した実数 の桁数。例えば 1437.2305 の精度は 8 である。 「小数点以下桁数」を参照。 制約. 表に挿入、または更新するデータの種類の 制限。「チェック制約」、「主キー制約」、「参 照制約」、「NOT NULL 制約」、「一意性制 約」を参照。 セッション. データベース サーバを使用し、ア プリケーションに対して作成する構造体。 接続. 2 つのアプリケーション間、またはアプリ ケーションとデータベース環境の間の論理的な関 係。CONNECT または DATABASE 文で作成す る。データベース サーバ同士もお互いに接続で きる。「明示的な接続」、「暗黙的な接続」、 「多重接続」を参照。 接続コサーバ. クライアントが直接接続されてい るコサーバ。「コサーバ」と「関与コサーバ」を 参照。 接続リダイレクタ. sqlhosts ファイル内の設定に よって有効にされる Extended Parallel Server の機 能の 1 つ。データベース サーバは、接続が正常 に完了するまで、データベース サーバ グループ 内のそれぞれのコサーバとクライアント接続を確 立しようとする。 セット (SET) 型. 要素 が順序付けられず、重複 値の挿入が可能なセット (SET) 型コンストラクタ で作成されるコレクション (COLLECTION) 型。 セマフォ. プロセスのスリープ状態を解除するオ ペレーティング システムの通信デバイス。 セルフ結合. 表とその表自身との結合。セルフ結 合は、異なる別名を使用して SELECT 文で表を 複数回使用し、自身に結合すると発生する。 宣言文. プログラム変数の定義など、オブジェク トを記述、定義するプログラム言語文。「プロシ ジャ」を参照。また、「データ定義文」を参照。 選択. 1 つの表内で、指定された条件を満たす水 平方向の行のサブセット。選択は SELECT 文の WHERE 節で実装され、表内のすべての列と、一 部の行を戻す。「射影」と「結合」を参照。 選択インデックス. 一般化キー インデックス の 一種で、表のサブセットのキーのみを含む。 選択の水準. 行の比率。 表の中で、問合せフィルタが渡せる ソース ファイル. C など、高水準言語の命令を 含むテキスト ファイル。C のソース ファイル は、オブジェクト ファイルという実行可能ファ イル にコンパイル される。SPL ソース ファイ ルは、独自の実行可能な形式にコンパイルされ る。「コンパイル」を参照。 ソース型. ディスティンクト (DISTINCT) 型が 派生するデータ型。 ゾーン 10 進数. (1) 各バイトの下位 4 ビットで 10 進数 (0 から 9) を表し、上位 4 ビットで符 号を表すデータ表現。 (2) 相関副問合せ. 包含関係にある外部の SELECT 文から得られる値に依存する副問合せ (内側の 用語集 309 SELECT 文)。または、WHERE 節が外部の SELECT で宣言された属性を指す、入れ子になっ た副問合せ。相関副問合せは、親問合せの 1 つ 以上の表の、1 つ以上の列を参照する。また、親 問合せの行ごとに評価する必要がある。「独立副 問合せ」と「副問合せ」を参照。 走査スレッド. 表から行を読み取るタスクを割り 当てられた、データベース サーバ スレッド。問 合せが並行実行される場合、データベース サー バは、問合せを並行に実行するために複数の走査 スレッドを割り当てる。 操作表. 高速な更新操作のために、ライト アペ ンドを使用するログをとる永続表。操作表はレコ ードごとのログはとらない。 増進可能なロック. 共有ロックから排他ロックに 変更できるロック。「更新ロック」を参照。 [タ行] ターゲット表. 違反表と診断表が関連付けられる 基本表。ターゲット表と違反表および診断表との 関連付けを行うには、START VIOLATIONS TABLE 文を使用する。 対称型多重処理システム. 1 つの高速通信サブシ ステムに接続された複数のコンピュータで構成さ れるシステム。SMP のコンピュータ数は MPP より少なく、複数のノードに分割できない。「超 並列処理システム」を参照。 ダイナミック リンク ライブラリ (DLL). Windows システムにおける共有オブジェクト フ ァイル。「共有ライブラリ」を参照。 タプル. 「行」を参照。 単一暗黙的トランザクション. BEGIN WORK 文 も COMMIT WORK 文も必要としない、単一文 トランザクション。この種類のトランザクション は、ANSI 標準準拠ではないがトランザクション ログ機能をサポートするデータベースで発生す る。「明示的なトランザクション」と「暗黙的な トランザクション」を参照。 単一選択. 単一行を戻す SELECT 文。 単純述部. 次の形式の 1 つに当てはまる、 WHERE 節の検索条件。f がブール値 (TRUE、FALSE、または UNKNOWN) を戻す二 項関数または単項関数の場合、f(列、定数)、f(定 数、列)、または f(列)。 単純内部結合. 結合の一種で、2 つ以上の表の情 報を、各表の 1 つの列の関係に基づいて結合す る。結合基準を満たさない行は、結果から排除さ れる。「複合結合」を参照。 単純読込み. SET ISOLATION 文で設定される Informix の排他レベルの 1 つ。ロックに関係な く、未確定トランザクションで現在変更される可 能性のある行も含めて、既存の行をすべて表示で きる。単純読込みは最も低い排他レベルで、排他 処理を行わないため、最も効率的である。「未確 定読込み」を参照。 チェック制約. INSERT または UPDATE 文中 で、データベース表の列へ値が入力される前に満 たされる必要がある論理的条件。 対話型. ユーザから入力を受け取って処理し、画 面やファイル、またはプリンタに出力を生成する プログラムの性質。 チェックポイント. データベース サーバの運用 中に、ディスクのページを共有メモリ バッファ プールのページと同期させるポイント。フル チ ェックポイント またはファジー チェックポイン ト である。 多重接続. クライアントからの複数のデータベー ス接続を処理する、データベース サーバとクラ イアント アプリケーションの間の単一ネットワ ーク接続。 チャンク. データベース サーバで使用できる、 最大の連続的なディスク領域。指定されたチャン クのセットは、DB 領域 または BLOB 領域 を定 義する。データベース サーバ管理者は、DB 領域 310 IBM Informix SQL ガイド: 参照 または BLOB 領域が埋まりそうになると、それ ぞれの領域にチャンクを割り当てる。チャンクに は、一定数のページが含まれる (Extended Parallel Server は BLOB 領域チャンクをサポートしな い)。 調整サーバ. 複数のデータベースに渡る問合せに おいて、問合せが開始されるサーバを調整元 ま たは調整サーバ と呼ぶ。クライアントに対し て、問合せを開始するローカル サーバでもある ため、ローカル サーバ と呼ばれる場合もある。 問合せに応答するために、調整サーバは問合せで 呼び出された他のサーバ上でセッションを開始す る。「分散問合せ」、「従属サーバ」、「リモー ト サーバ」を参照。 重複インデックス. インデックス付けされた列 で、重複する値を許容するインデックス。 超並列処理システム (MPP). 1 つの高速通信サ ブシステムに接続された複数のコンピュータで構 成されるシステム。MPP コンピュータは、ノー ドに分割できる。「対称型多重処理システム」を 参照。 直列化可能. ANSI 標準準拠の排他レベルの 1 つで、SET TRANSACTION 文で設定する。トラ ンザクションの間に読み取られたすべてのデータ が、トランザクション全体で変更されないことを 保証する。「排他」と「繰返し可能読込み」を参 照。 データ アクセス文. 権限の付与、取消し、およ び表のロックに使用できる SQL 文のサブセッ ト。 データ ディクショナリ. データベース構造とデ ータベース オブジェクトの在庫を追跡し続ける 表集合。システム カタログとも呼ばれる。サポ ートする各データベースは、それぞれのシステム カタログを持つ。 データ レプリケーション. データベース オブジ ェクトが、複数の個別のサイトで、複数の表現を 持てること。 データ型. 表またはプログラム変数の各列に割り 当てられる記述子で、列やプログラム変数が保持 するよう意図されたデータ型を示す。Informix の データ型は、第 2 章のデータ型に関する説明を 参照。広域言語サポートのための Informix のデ ータ型は、「IBM Informix: GLS ユーザーズ ガイ ド」で説明している。「組込みデータ型」、「複 合データ型」、「ディスティンクト (DISTINCT) 型」、「不透明 (OPAQUE) 型」、「ユーザ定義 データ型」を参照。 データ区画化. 「表のフラグメント化」を参照。 データ整合性. 複数のユーザが同時に同じデータ を変更しようとした場合、データの破損が起こら ないことを保証するプロセス。データ整合性の制 御には、ロック、制約、トランザクション ログ 機能が使用される。 データ整合性文. トランザクションと監査の制御 に使用する SQL 文。データ整合性文には、表を 修復して復元するための文も含まれる。 データ操作文. 表への挿入、削除、表の問合せ、 更新、などが行える SQL 文 (SELECT、INSERT、DELETE、UPDATE)。ロー ドとアンロード ユーティリティも、データ操作 文と呼ばれる場合がある。 データ定義文. データベース、表、ビュー、シノ ニム、トリガ、シーケンス、ユーザ定義ルーチン などのデータ オブジェクトの作成、変更、削 除、名前変更に使用する SQL 文のサブセット (データ定義言語 または DDL と呼ばれる場合が ある)。 データの制限. 制約 のシノニム。 データ配分. 列内からカテゴリのセットへのデー タ値のマッピング。ヒストグラムまたは度数分布 に相当する。UPDATE STATISTICS 文 (MEDIUM または HIGH キーワードを指定) を使 用し、データ配分を作成できる。 用語集 311 データベース. 特定の目的に使用される、(表に 格納された) 情報のコレクション。「リレーショ ナル データベース」を参照。 データベース アプリケーション. データベース の管理手法を使用して、特定のデータ処理と報告 業務を実施するプログラム。 データベース オブジェクト. システム カタログ 表に記録される SQL エンティティ。表、列、制 約、アクセス方法、デフォルト値、キャスト、イ ンデックス、演算子クラス、PREPARE 文で処理 された文、アクセス権、ロール、シーケンス、シ ノニム、トリガ、ユーザ定義集計関数、ユーザ定 義キャスト、ユーザ定義データ型、ユーザ定義ル ーチン、ビュー など。 データベース サーバ. 1 つ以上のクライアント アプリケーションの、1 つ以上のデータベースへ のアクセスを管理するソフトウェア パッケー ジ。「リレーショナル データベース サーバ」を 参照。 データベース サーバ グループ. sqlhosts ファイ ル内のエントリによって定義、命名されるコサー バのコレクション。データベース サーバ グルー プは、クライアント/サーバ接続を確立または変更 するために、複数のコサーバを 1 つの論理エン ティティに編成する。 データベース サーバ ユーティリティ. 特定のタ スクを実行するプログラム。例えば DB–Access では、dbexport と onmode がデータベース サー バ ユーティリティである。 データベース サーバのプロセス. コンピュータ の CPU と同じように機能する仮想プロセッサ。 「アプリケーション プロセス」を参照。 データベース ロケール. コード セット、照合、 日付、時刻、数値、およびデータベース サーバ の現行の表示規則を定義するロケール。 DB_LOCALE 環境変数は、このロケールを指定 できる。 312 IBM Informix SQL ガイド: 参照 データベース sysmaster. 各データベース サー バのデータベースで、カタログ表 ON–Archive と、データベース サーバの状態に関する情報を 含むシステム監視インターフェイス (SMI) 表を保 持する。データベース サーバは、ディスク領域 を初期化する場合に、データベース sysmaster を 作成する。 データベース環境. ユーザが接続するデータベー ス サーバ、またはデータベース サーバとデータ ベース。CONNECT 文で使用される。 データベース管理システム. 「DBMS」を参照。 データベース管理者. 「DBA」を参照。 データベースの復元. 参照。 「データベースの復旧」を データベースの復旧. システム障害などの破壊的 イベントの後に、データベースを以前の状態に戻 すこと。復旧は、データベースをクラッシュの直 前の状態に復元する。 データベースをクローズする. クライアント ア プリケーションとデータベース間の接続を活動停 止にすること。同時に 1 つのデータベースのみ アクティブであることが可能。 定義済み不透明 (OPAQUE) 型. データベース サーバがデータ型定義を提供する不透明 (OPAQUE) 型。「BLOB 型」、「ブール (BOOLEAN) 型」、「CLOB 型」、「ラージ可変 長文字 (LVARCHAR) 型」、および「ポインタ」 を参照。 停止モード. データベース オブジェクトが中止 された状態のオブジェクト モード。制約、イン デックス、またはトリガが停止モードの場合、デ ータベース サーバは、オブジェクトが存在せ ず、データ操作文の実行中オブジェクトを考慮し ていないかのように動作する。 定数. プログラムまたはコマンドの実行中に、変 更できない値。一部のプログラム言語では、定数 には参照できる名前がある。「変数」を参照。 「リテラル」を参照。 デバイス配列. 入出力デバイスのリスト。「コン ポーネント」を参照。 デバッグ ファイル. デバッグに使用される出力 を受信するファイル。 ディスク構成. ディスク上のデータの構成。デー タを格納するためにディスクを準備するプロセス も意味する。 デフォルト. ユーザが明示的に他の値や動作を指 定しない限り、有効である値または動作。 ディスク入出力 (I/O). メモリとディスクの間で データを転送するプロセス。I/O は入力/出力を意 味する。 デフォルト ロケール. 別の (デフォルト以外の) ロケールをユーザが指定しない場合、製品が使用 するロケール。IBM Informix 製品では、米国英語 (U.S. English) がデフォルト ロケールである。 ディスティンクト (DISTINCT) 型. CREATE DISTINCT TYPE 文で宣言できるデータ型。 デ ィスティンクト (DISTINCT) 型は、そのソース型 (既存の不透明 (OPAQUE) 型、組込みデータ型、 名前付き行型、ディスティンクト (DISTINCT) 型) と同じ内部記憶域表記を持つが、名前は異な り、別のキャストやルーチンを保持できる。ディ スティンクト (DISTINCT) 型をソース型と比較す るには 明示的キャスト が必要。ディスティンク ト (DISTINCT) 型は、ソース型に定義されたルー チンをすべて継承する。 デカルト積. ある集合のすべてのメンバを他の集 合のすべてのメンバとペアにした結果の集合。デ カルト積は、表の結合条件を指定せずに複数表の 問合せを実行した場合に得られる。「結合」を参 照。 テキスト (TEXT) 型. テキストを格納するシン プル ラージ オブジェクト のデータ型 で、最大 231 バイト。「バイト (BYTE) 型」を参照。 デッドロック. 2 つ以上のスレッドがある場合、 各スレッドが他のスレッドによってロックされて いるデータを待機しているために、いずれのスレ ッドも続行できない状況のこと。要求するロック によってデッドロックが発生する可能性がある場 合、アプリケーションに対してエラー メッセー ジを送信することで、デッドロックを監視して防 止する。 デフォルト値. 明示的な値が指定されない場合に 使用される値。例えば ALTER TABLE と CREATE TABLE 文で列に、また SPL ルーチン で変数に、デフォルト値を割り当てることが可 能。 問合せ. 特定の条件を満たすデータの検索要求 で、通常は SELECT 文で実行する。 問合せ間並列化. 複数の問合せを同時に処理でき るため、複数の独立した問合せが同じ表にアクセ スする場合のパフォーマンスの遅延を防げる。 「問合せ内並列化」を参照。 問合せ最適化情報文. 問合せのパフォーマンスの 最適化に使用する SQL 文。この文には、SET EXPLAIN、SET OPTIMIZATION、および UPDATE STATISTICS がある。 問合せ内並列化. データベース サーバが PDQ を使って単一問合せを副問合せに分割し、次に副 問合せを並列処理すること。この種類の並列処理 は、各副問合せが表のフラグメントからデータを 抽出する場合に、重要な意味を持つ。それぞれの 部分的な問合せは少量のデータで作動するため、 抽出時間は著しく減少し、パフォーマンスが向上 する。「問合せ間並列化」を参照。 問合せの非入れ子. 入れ子になった SQL 副問合 せ。Extended Parallel Server は、反復メカニズム ではなく、変更された結合を使用するように副問 用語集 313 合せを書き直す。sqexplain.out ファイルは、副問 合せの非入れ子が発生した後に選択された問合せ 予定を反映する。 動的 SQL. 文の一部をユーザ入力で決定するた めに、プログラムが実行時に SQL 文を形成でき るようにする文および構造。 動的管理文. 他の文を記述、実行、作成する SQL 文。 動的文. プログラムのコンパイル時ではなく、プ ログラムの実行時に指定される SQL 文。 PREPARE 文を使用して、動的 SQL 文を作成で きる。 動的ルーチン名指定. EXECUTE PROCEDURE、EXECUTE ROUTINE、または EXECUTE FUNCTION 文の SPL 変数 を通じ、 実行時に指定される名前のユーザ定義ルーチン を実行すること。 トランザクション モード. トランザクション中 に制約をチェックする方法のこと。SET 文を使用 して、各データ操作文の終わりに制約をチェック するか、トランザクションを確定した後に制約を チェックするかを指定する。 トランザクション ログ. トランザクションを記 録するプロセス。「論理ログ」を参照。 トランザクション ロック. R ツリー インデック ス のロックで、トランザクションの開始時に取 得され、トランザクションの終了まで保持され る。 トリガ. DML イベントが、指定された表を操作 する場合、アクションのセットを実行するデータ ベース オブジェクト。INSTEAD OF トリガは、 指定されたビューを操作しようとする DML イベ ントの、アクション セットの代わりになる。 トレース. プログラムや SPL ルーチン内のプロ グラム変数値、引数値、式値などの実行リストを 保持すること。 登録. データベースのシステム カタログ表 にお ける、データベース オブジェクト の情報を格納 するプロセス。多くの SQL データ定義文は、あ る種類の登録を実行する。例えば、CREATE FUNCTION と CREATE PROCEDURE 文は、デ ータベースにユーザ定義ルーチン を登録する。 [ナ行] 独立副問合せ. 親問合せとの関係や依存性がない 副問合せ。評価が必要なのは 1 回のみで、結果 はそれ以降で使用できる。独立副問合せでは、親 問合せと副問合せは並行処理される。「相関副問 合せ」と「副問合せ」を参照。 内部への移行. 光ディスク記憶サブシステムが、 テキスト (TEXT) 型とバイト (BYTE) 型データ を光ディスク記憶サブシステムから Dynamic Server 環境へと移行するプロセス。 トランザクション. 1 つ以上の SQL 文で構成さ れ、作業の 1 単位を表す。トランザクションの 1 つの文が失敗した場合、トランザクション全体 をロールバックする (取り消す) ことができる。 トランザクションが成功すると、作業が確定 さ れ、トランザクションがデータベースに実行した すべての変更が受け付けられる。「明示的なトラ ンザクション」、「暗黙的なトランザクショ ン」、および「単一の暗黙的なトランザクショ ン」 を参照。 314 IBM Informix SQL ガイド: 参照 内部結合. 2 つ以上の表から行を対称的に結合す る問合せ。「単純内部結合」も参照。 名前付き行型. 宣言された名前と継承 プロパテ ィを持ち、型付き表 の構築に使用できる CREATE ROW TYPE 文によって作成される行 (ROW) 型。 名前なし行型. 行 (ROW) 型コンストラクタで作 成する行 (ROW) 型。定義名と継承プロパティを 持たない。フィールド の数が同じで、対応する フィールドが同じデータ型 であれば、フィール ド名が異なる場合も、2 つの名前なし行型は等し い。 入力. 外部ソースから (例えば、キーボード、フ ァイルまたは他のプログラムから) 受信され、プ ログラムにより処理される情報。 入力パラメータ. PREPARE 文で処理された SQL 文で、「?」位置指定子によって表される 値。PREPARE 文で処理された文が実行される場 合、これが必要である。 任意ルール. フラグメント化ストラテジを定義す る式。範囲ルール とは異なり、任意ルールで は、SQL の任意の関係演算子および論理演算子を 使用して式を定義できる (グループ データに対す る OR 演算子など)。 ノード. (1) データベース用のインデックスのコ ンテキスト内では、ノードは固定された数の要素 を持つキー値の順序付けられたグループ (キーは データ レコードからの値)。例えば B ツリー は、階層に配列されたキーとポインタを持つノー ドのセットである。「ブランチ ノード」、「リ ーフ ノード」、「ルート ノード」を参照。 (2) MPP システムのコンテキスト内では、ノードは 個々のコンピュータである。「超並列処理システ ム」を参照。 (3) SMP システムのコンテキスト 内では、ノードは SMP コンピュータ全体、また はその SMP システムのハードウェア リソース の一部を使用する完全に機能するサブシステムの どちらかである。「対称型多重処理システム」を 参照。 (4) Extended Parallel Server では、ノード は、並列処理プラットフォームでオペレーティン グ システムの単一インスタンスを実行する 1 つ 以上の CPU を持つ個々のコンピュータである。 ノードは、単一プロセッサ、スタンドアロン コ ンピュータのクラスタ、SMP コンピュータ、ま たは SMP コンピュータの中に構成された独立サ ブシステムである。 [ハ行] バージョン管理 (CM) コサーバ. CM ソフトウ ェアを実行し、CM データを格納するよう指定さ れたコサーバ。 パーティション. 「表フラグメント」を参照。 排他. 読取り専用 SQL 要求に対するロック機能 ストラテジに特に関連付けられた共通のデータ に、複数のユーザがアクセスしようとした場合の 独立性のレベル。さまざまな排他レベルが存在 し、主に、共有ロックを獲得して保持する (保持 できる) 時間の長さで区別する。SET ISOLATION または SET TRANSACTION 文で排他レベルを設 定できる。 排他アクセス. ユーザによる、データベースまた は表への独占的アクセス。他のユーザは、そのデ ータベースまたは表を使用できない。 排他レベル. 「排他」を参照。 排他ロック. 単一スレッドが所有するオブジェク ト (行、ページ、表、データベース) のロック。 他のプロセスは、同じオブジェクトにいかなるロ ックも実行できない。 バイト. 8 ビットの物理的コンピュータ記憶域単 位。1 文字は必ずしも 1 バイトではない。マル チバイト コード セットでは、1 文字で複数バイ ト必要である。 バイト (BYTE) 型. あらゆる種類のバイナリ形 式のデータを格納し、231 バイトまで格納可能な シンプル ラージ オブジェクトのデータ型。「テ キスト (TEXT) 型」を参照。 ハイパフォーマンス ローダ (HPL). ハイパフォ ーマンス ローダ (HPL) ユーティリティは Dynamic Server の一部。HPL は、デバイスへの 並列アクセスを使用してデータをロード、アンロ ードする。「外部表」を参照。 ハイブリッド フラグメント化. 2 つのフラグメ ント化方法を指定できる分散スキーム。通常、1 つはグローバルに、1 つはローカルに使用され る。 用語集 315 配列. 同じデータ型の項目の順序付きセット。配 列の個々のメンバは要素として参照され、通常、 配列内の要素を位置付けする整数インデックスに よって識別される。 破損インデックス. 表内のデータに、正確に対応 しないインデックス。 破損データベース. 不完全、不整合、または無効 データを含む表かインデックスを持つデータベー ス。 パターン. 同一または繰返し可能な一連の文字ま たは記号。 パック 10 進数. 1 バイトで 2 つの 10 進数、 または 1 つの 10 進数と 1 つの符号を表す記憶 形式。 バックアップ. コンピュータの障害などに備えて 現行の作業を保存しておくために、コンピュータ のファイルを他のデバイスやテープにコピーした もの。バックアップ は論理ログ ファイルのコピ ーを指し、アーカイブ はデータのコピーを指 す。 ハッシュ フラグメント化. 「システム定義のハ ッシュ フラグメント化」を参照。 ハッシュ ルール. 表の行をハッシュ値のセット にマップし、どの行のフラグメントを格納するか を決めるのに使用するユーザ定義のアルゴリズ ム。 パッドする. 一般に、入力がフィールドよりも短 い場合に、行、文字列、またはフィールドの先頭 または末尾の空き領域を空白で埋めること。 バッファ. プログラムがデータを一時的に格納す るコンピュータ メモリの領域。通常、データは バッファからディスクに読み込まれたり書き出さ れたりする。 バッファ付きディスク入出力 (I/O). アプリケー ションの代わりにオペレーティング システムに よって制御されるディスク入出力 (I/O)。バッフ 316 IBM Informix SQL ガイド: 参照 ァ付きディスク入出力 (I/O) では、オペレーティ ング システムは、メモリのカーネル部にデータ を格納してから、そのデータを周期的にディスク に書き込む。「バッファなしディスク入出力 (I/O)」と「ディスク入出力 (I/O)」を参照。 バッファ付きログ. トランザクションの確定やロ ールバックとは無関係に、バッファが埋まるまで メモリ バッファにトランザクションを保持する ログの一種。Informix データベース サーバは、 ディスク書込みの回数を減らすことによって操作 を高速化するために、このオプションを提供す る。 バッファなしディスク入出力 (I/O). オペレーテ ィング システムではなく、データベース サーバ によって直接制御されるディスク入出力 (I/O)。 直接制御することによって、データを更新する場 合のパフォーマンスと信頼性が向上する。バッフ ァなし入出力は、UNIX のキャラクタ スペシャ ル ファイルや、Windows のバッファなしファイ ルとロウ ディスク インターフェイスでサポート される。 パラメータ. 指定のアプリケーションに値を与え る変数。ユーザ定義ルーチンのシグニチャでは、 パラメータは引数の位置指定子として機能する。 パラメータは、関連付けられた引数を実行時に受 け取る場合に、ユーザ定義ルーチンが期待する値 のデータ型 を指定する。「構成ファイル」、 「入力パラメータ」、「ルーチン シグニチャ」 を参照。 バリアント関数. 同じ引数が渡された場合、異な る値を戻す可能性のあるユーザ定義関数。バリア ント関数は、SQL 文を含むことができる。「非バ リアント関数」を参照。 範囲規則. 式ベースのフラグメント化 で使用す るユーザ定義アルゴリズム。SQL の関係演算子お よび論理演算子を使用し、表の各フラグメントの 境界を定義する。範囲規則の式で使用できる演算 子は、>、<、>=、<=、および論理演算子 AND である。 範囲フラグメント化. データを、指定のキー範囲 を含む表フラグメントに分散する分散スキーム。 この技法により、要求された行を含まない表フラ グメントの走査を排除できるため、問合せを高速 化できる。 反転表示. 画面上の場所をマーキングする長方形 の逆転表示領域。反転表示は、メニュー上の現行 オプションや編集セッションの現在の文字を示 す。端末が反転表示を表示できない場合、現行オ プションは山括弧 (< >) 付きで表示され、現在の 文字には下線が付く。 反復関数. 連続した呼出しによってデータ セッ トを戻すカーソル関数。C または Java で記述可 能で、RETURN WITH RESUME を含む SPL ル ーチンになることができる。 非 ASCII 文字. ASCII 文字セットにおける 128 コード ポイントと一致しない文字。非 ASCII 文 字は、8 ビット文字とマルチバイト文字を含む。 非カーソル関数. 値の単一グループ (1 つのデー タの行) を戻すため、実行する場合にカーソルを 必要としないユーザ定義関数。「カーソル関数」 を参照。 非確定読込み. 「未確定読込み」を参照。 光クラスタ. 論理的に関連するシンプル ラージ オブジェクトやスマート ラージ オブジェクトの グループを格納するために予約されている、光デ ィスクの大規模領域。 光ディスク. 光ディスク記憶サブシステムにデー タを格納するリムーバブル光ディスク。 光ファミリ. 光ディスクのグループで、理論的に は数に制限はない。 光ボリューム. リムーバブル WORM (Write-Once-Read-Many) 光ディスクの片面。 引数. ルーチン またはコマンドに渡される値。 「パラメータ」を参照。 非相関副問合せ. 「独立副問合せ」を参照。 ビッグ エンディアン. ハードウェアにより決定 される記憶方法。マルチバイトの最上位バイトが 下端のアドレスに記憶される。「リトル エンデ ィアン」を参照。 ビットマップ インデックス. 頻繁に重複するキ ー値のビットマップを格納するインデックスの一 種。ビットマップは、キー値が重複している行を 示す。CREATE INDEX 文の USING BITMAP キ ーワードで、ビットマップ インデックスを作成 する。「B ツリー インデックス」を参照。 非バリアント関数. 同じ引数が渡された場合、常 に同じ値を戻すユーザ定義関数。非バリアント関 数は、SQL 文を含んでいてはならない。「バリア ント関数」を参照。 ビュー. 1 つ以上のデータベース表の列の、動的 に制御されるサブセット。プログラマはビューを 使用することで、ユーザによる情報閲覧や操作を 制御し、指定された SELECT 文の結果を保持す る仮想テーブルを表す。 表. それぞれ単一のエントリを記述する行と記述 の各カテゴリの値を含む列から成る、データの長 方形配列。例えば、表には顧客の名前と住所を格 納できる。各行は 1 名の顧客に対応し、その行 の各列はその顧客の名前や住所を示す。表は、基 礎となる表や関連した表で定義される、ビュー、 インデックス、またはその他のオブジェクトと区 別するために基本表 と呼ばれる場合もある。 表階層. 型付き表 の間に定義できる関係。副表 が、上位表 の動作 (制約、トリガ、格納オプショ ン) を継承する。副表は、制約定義、格納オプシ ョン、およびトリガを追加できる。 表継承. 型付き表 が、表階層 で上にある型付き 表 の動作 (制約、格納オプション、トリガ) を継 承できるようにするプロパティ。 表示ラベル. 問合せの列または式の一時的な名 前。 用語集 317 表フラグメント. フラグメントの作成時に指定し た DB 領域に、グループ化後に格納される ゼロ 個以上の行。仮想テーブル フラグメントが、SB 領域 または EXT 領域 に置かれる場合がある。 表フラグメント化. 表を潜在的に平衡化されたフ ラグメントに分割する方法で、負荷を分散してデ ータベース操作の効率を最適化する。データ区画 化とも言う。分散スキームとも呼ばれる表フラグ メント化方法には、式ベース、ハイブリッド、範 囲、ラウンドロビン、およびシステム定義ハッシ ュ がある。 表領域. 表に割り当てられたエクステント の論 理コレクション。指定の表または表フラグメント に割り当てられたすべてのディスク領域が含まれ る。また、データおよびインデックスに割り当て られたページ、DB 領域のテキスト (TEXT) 型、 バイト (BYTE) 型データを格納するページ、およ びエクステント内のページ使用を追跡するビット マップ ページが含まれる。 ブール. 論理値 TRUE (1)、FALSE (0)、または UNKNOWN (NULL 値を含む場合) になる、変数 または式。 ブール (BOOLEAN) 型. 1 バイトの真と偽の値 をサポートする組込みデータ型。真は内部的には 0、外部的には t で表される。偽は内部的には 1、外部的には f で表される。NULL 値は NULL として表される。 ブール関数. ブール値 (真か偽) を戻す関数。 ブ ール関数はフィルタ としても機能できる。 ファイル. 手紙やレポート内の複数の単語、コン ピュータ プログラム、またはデータのリストな どの、システムにまとめて格納された関連情報の コレクション。 ファイル サーバ. ディスクのセットを管理し、 格納サービスをネットワークのコンピュータに提 供するネットワーク ノード。 318 IBM Informix SQL ガイド: 参照 ファイル名の拡張子. ピリオドに続くファイル名 の部分。例えば DB–Access は、コマンド ファイ ルに .sql という拡張子を付加する。 ファイルをクローズする. ファイルとプログラム 間の関連付けを活動停止すること。 ファジー チェックポイント. チェックポイント の一種で、ディスクの特定のページのみを共有メ モリ バッファ プールのページと同期する。残り のページは、論理ログを使って高速復旧の間に同 期する。 ファミリ名. 光ファミリのファミリ名を指定する 引用符付き文字列定数。「光ファミリ」を参照。 フィールド. 名前とデータ型 を含む、名前付き 行型 または名前なし行型 のコンポーネント。 row type name.field name の形式でピリオド表記 を使用することで、SQL 文内でアクセスできる。 「列」を参照。 フィルタ. 行やレコードを選択する条件のセット (述部 と呼ばれる場合がある)。SQL 問合せにお ける WHERE 節の条件式は、問合せのアクティ ブ セットを制御するフィルタである。ハイパフ ォーマンス ローダ (HPL) はフィルタ コンポー ネントを使用し、データベースへロードする前に データを選別する。 フィルタ モード. DML 操作中に不正な行を違 反表へ書き込む、データベース オブジェクトの オブジェクト モード。DML 操作中に、データベ ース サーバは、制約またはこのモードの一意性 インデックスの要件を確認、要件に違反する可能 性のある行を識別する。 フェッチ. カーソル を新規の行に移動し、行値 をメモリに抽出する動作。 フェッチ バッファ. データベース サーバが、テ キスト (TEXT) 型とバイト (BYTE) 型データ以 外の取出し行データを、アプリケーションに送信 するために使用する、アプリケーション プロセ スのバッファ。 フォールト トレランス (耐故障性). 性」を参照。 「高可用 副アクセス方法. ルーチン がインデックス にア クセスし、挿入、削除、更新、走査などを行う場 合に使用するアクセス方法。「演算子クラス」と 「主アクセス方法」を参照。 副型. 型階層 で、上にある上位型 のすべての表 現 (データ フィールド) と動作 (ルーチン) を継 承する名前付き行型 で、フィールドとルーチン の追加もできる。副型のフィールド数は、常に上 位型のフィールド数以上である。 複合インデックス. 列の 2 つ以上の列に構築さ れたインデックス。複合インデックスによって指 定されるソート順序は、最初に指定した列で回数 が最も少なく、また最後に指定した列で回数が最 も多くなる。 複合結合. 2 つ以上の表の結合。各表で 2 つ以 上の列の関係に基づく。「単純結合」を参照。 複合データ型. 「行 (ROW) 型」を参照。 複合データ型. SQL 型コンストラクタを使用し て、他のデータ型の組合せから作成されるデータ 型 で、そのコンポーネントには SQL 文でアクセ スできる。「行 (ROW) 型」と「コレクション (COLLECTION) 型」を参照。 副問合せ. 別の SQL 文の一部として埋込まれた 問合せ。例えば INSERT 文には、VALUES 節の 代わりに SELECT 文が挿入値を与える副問合せ を指定できる。UPDATE 文には、SELECT 文が 更新値を与える副問合せを指定できる。SELECT 文には、2 つ目の SELECT 文が最初の SELECT 文に WHERE 節の修飾条件を与える副問合せを 指定できる。CREATE VIEW 文または共用体を 参照している場合以外は、括弧で副問合せを区切 る。副問合せは、常に並列処理される。「相関副 問合せ」と「独立副問合せ」を参照。 副表. 表階層 で、上にある上位表 のプロパティ (列 定義、制約、トリガ) を継承する型付き表 で、プロパティの追加もできる。 物理スライス. 物理ログを含む DB スライス。 「DB スライス」、「ログ スライス」、および 「ルートスライス」を参照。 物理ログ. データベース サーバが変更したペー ジを記録する前に、ページの未変更コピー (更新 前イメージ) を格納する共有メモリにある連続的 なディスク ページのセット。物理ログのページ は、BLOB 領域の BLOB ページ以外であれば、 どのデータベース サーバ ページでも構わない。 浮動小数点数. 固定精度 (桁の総数) と未定義の スケール (10 進小数点の右の桁数) を持つ数。小 数点が、割り当てられた値を表すために適切な位 置へ浮動する。 不透明 (OPAQUE) 型. 内部構造がデータベース サーバには見えないデータ型。組込みデータ型で はない不透明 (OPAQUE) 型には、ユーザ定義ル ーチン とユーザ定義演算子 が必要である。基本 型 とユーザ定義基本型 のシノニム。 不透明 (OPAQUE) 型サポート関数. ユーザ定義 関数 のグループの 1 つで、データベース サー バが、その型の内部表記と外部表記の間の変換な ど、不透明 (OPAQUE) 型 の操作をするのに使用 する。 部分使用済みページ. 後続の長いデータ行のバイ トを供給できるページ。データ行の後続部分がペ ージ全体より小さい場合、使用済みページに格納 される。データベース サーバは、長い行のため に使用済みページを作成した後、ページの残った 領域を使用して他の行を格納できる。ホーム ペ ージに続くいっぱいになったページを、全体使用 済みページと言う。 フラグ. コマンド行オプション。UNIX システム では、通常マイナス (-) 記号で示される。例えば DB–Access では、-e フラグは入力を画面にエコ ーイングする。 用語集 319 フラグメント. 「インデックス フラグメント」 と「表フラグメント」を参照。 フラグメント化. 表内で、あるルールに基づいて 行のグループを定義し、表またはインデックス フラグメント化ストラテジを作成する場合に指定 する別の DB 領域に、これらのグループまたはフ ラグメントを格納するプロセス。 フラグメント除去. フィルタ述部を、表またはイ ンデックスのフラグメント化ストラテジに適用し て、操作に適用されないフラグメントを除去する プロセス。 ブランチ ノード. リーフ ノードまたは他のブラ ンチ ノードへのポインタを含むインデックス ペ ージ。ルート ノードと後続のリーフ ノードが埋 まった場合、データベース サーバはブランチ ノ ードを作成する。 プリプロセッサ. 高水準プログラムから、C 言語 などの標準言語コンパイラがコンパイルできるコ ードを生成するプログラム。 フル チェックポイント. チェックポイントの一 種で、ディスクのページを共有メモリ バッファ プールのページと同期化する。 フレキシブルな一時表. Extended Parallel Server が、ラウンドロビン方式の分散スキームを使用し て自動的にフラグメント化する明示的な一時表。 プロジェクト. ハイパフォーマンス ローダ (HPL) が使用する関連したコンポーネントのグル ープ。「コンポーネント」を参照。 プロシジャ. 値を戻さないルーチン。「ユーザ定 義プロシジャ」を参照。 プロシジャ オーバーロード. ーロード」を参照。 「ルーチン オーバ プロセス. オペレーティング システムが実行す る個別のタスク (通常はプログラム)。 320 IBM Informix SQL ガイド: 参照 プロトコル. コンピュータ間の通信を制御する規 則。これらの規則は、形式、タイミング、配列、 およびエラーを制御する。 文. 1 つの動作を記述する、1 行または複数行の プログラム コード。例えば、SELECT 文や UPDATE 文がある。 分散. 「データ配分」を参照。 分散スキーム. 「表のフラグメント化」を参照。 分散問合せ. 現行のデータベース以外のデータベ ースからデータにアクセスする問合せ。 文識別子. PREPARE 文で定義されたデータ構造 を表す、埋込み変数名または SQL 文識別子。 Informix SQL API の、動的 SQL 文の管理に使用 される。 文ブロック. SPL プログラム コードの単位。特 定のタスクを実行し、通常、キーワード BEGIN と END でマークされる。SPL ルーチン の文ブ ロックは、プログラム変数の最も小さい参照範囲 である。 分離インデックス. CREATE INDEX または ALTER FRAGMENT ON INDEX 文の、分散スキ ーム (FRAGMENT BY 節で指定) と格納オプシ ョン (IN 節で指定) が、基礎表の分散スキームと 異なるインデックス。インデックス ページは、 対応するデータ ページとは別の DB 領域に常駐 する。「連結インデックス」を参照。 ページ. データベース サーバが Informix データ ベースの読込みと書込みに使用する、ディスク装 置の物理単位とメモリ領域の基本単位。ページ サイズは、特定のオペレーティング システムお よびプラットフォームごとに固定。常に、ページ 全体がチャンクの中に含まれる。「ホーム ペー ジ」と「部分使用済みページ」を参照。 並行性. 2 つ以上のプロセスが、同じデータベー スに並行してアクセスできること。 並列処理. タスクを副タスクに分割し、副タスク を同時に処理することにより、並列にタスクを処 理できる Informix データベース サーバの機能。 これにより、パフォーマンスが向上する。 並列処理プラットフォーム. 並列処理プラットフ ォームは並列に動作し、高速のネットワーク、バ ス、または相互接続経由で通信する、独立したコ ンピュータのセット。「対称型多重処理システ ム」と「超並列処理システム (MPP)」を参照。 並列データベース問合せ. 順次ではなく、並列で の SQL 問合せの実行。問合せが必要とするタス クは、複数のプロセッサに分散される。この種の 分散により、データベースのパフォーマンスが向 上する。 ヘッダ ファイル. モジュールやプログラムの特 定のグループが共用する変数、定数、マクロの宣 言 を含むソース ファイル。 別名. SQL 問合せまたはフォーム仕様ファイル において、別名 は、修飾のある表名の代わりに 使用される一時的な単語代替名 (owner.table_name の別名として t1 など)。別名は、複雑な副問合せ でよく使用され、セルフ結合に必要である。 ヘルプ メッセージ. 対話型プログラムでユーザ を支援するために、自動的またはユーザの要請に 基づいて表示されるオンライン テキスト。この ようなメッセージはヘルプ ファイルに格納され ている。 変数. プログラム オブジェクトの値を格納する メモリ位置の識別子。プログラム オブジェクト の値は、プログラム実行中に変化する。「定 数」、「マクロ」、および「ポインタ」を参照。 ホーム ページ. 行 ID で指定されたデータ行の 最初のバイトを含むページ。データ行が元の格納 域より大きくなった場合も、ホーム ページは変 化しない。ホーム ページには、データ行の新規 の格納場所を指す正方向ポインタが含まれる。 「部分使用済みページ」を参照。 ポインタ. データまたは変数の内容ではなく、デ ータまたは変数 のメモリ上のアドレスを指定す る値。 補助文. データベースに関する情報を表示するこ とができる、INFO、OUTPUT、および GET DIAGNOSTICS などの文を含む SQL 文の残余カ テゴリ。 ホスト変数. 組込み文で使用して SQL API プロ グラムとデータベース間でデータを転送する、 SQL API プログラム変数。 ポリモーフィズム. 「ルーチン オーバーロー ド」と「型代用性」を参照。 [マ行] マクロ. 名前の付いた命令のセット。コンピュー タは、ソース コードの中にこの名前が出現する と、対応する命令に置き換える。 マップ. データ ファイルのレコードと、リレー ショナル データベースの列との間の関係を記述 したもの。「コンポーネント」を参照。 マルチスレッド. 同じプロセスの複数のスレッド の実行。「スレッド」を参照。 マルチセット (MULTISET) 型. 要素 が順序付 けられず、重複値が許容されるマルチセット (MULTISET) 型コンストラクタで作成されるコレ クション (COLLECTION) 型。 マルチバイト文字. 2 バイトから 4 バイトの格 納領域が必要な文字。256 を超える文字が含まれ る言語の場合、マルチバイト文字を含むコード セットが必要である。マルチバイト コード セッ トでは、アプリケーションは、1 つの文字が必要 とする格納領域が 1 バイトのみとは想定できな い。「シングルバイト文字」を参照。 未確定読込み. SET TRANSACTION 文で設定さ れる ANSI 標準準拠の排他レベルで、ロックに影 響されない。これによりユーザは、現在未確定の 用語集 321 トランザクションで変更される可能性のある行も 含めて、既存の行をすべて表示できる。未確定読 込みは最も低い排他レベルで、排他処理を行わな いため、最も効率的である。「単純読込み」を参 照。 ミラーリング. 同じデータを 2 つのチャンクに 同時に格納すること。これにより、一方のチャン クが失敗しても、データ値はミラー化されたペア の他方のチャンクで利用できる。このデータ格納 オプションは、データベース サーバ管理者が処 理する。 明示的キャスト. CAST AS キーワードまたはキ ャスト演算子 (::) を使用して、ユーザが明示的に 起動するユーザ定義キャスト。「暗黙的キャス ト」を参照。 明示的射影リスト. SELECT 文における、アスタ リスク (*) 表記をしない射影リスト。問合せに値 を戻される列の名前は、明示的にリストする (射 影リストは、選択リスト と呼ばれる場合があ る)。 び空白を表す追加の記号を組合わせたもの (自然 言語 とは、人間がコミュニケーションのために 使用する、英語、中国語、ドイツ語などの言語の こと)。「コード セット」を参照。 文字列. 1 つの単位として処理される文字 (通常 は英数字) の配列。文字列は、単語 (Smith な ど)、数値 (19543 など)、またはその他の文字の コレクションで構成される。文字列は一般に、一 重引用符で区切る。文字列 は、IBM Informix ESQL/C プログラムで使用可能な文字データ型で もあり、この場合には後続の空白が削除されて NULL で終了する。 モノクロ. 1 つの色のみを表示できるモニタにつ いて記述する用語。 [ヤ行] 役割分担. Extended Parallel Server には適用され ない。データベース サーバのインストール オプ ションの 1 つで、別々のユーザが別々の管理タ スクを実行できる。 明示的な接続. CONNECT 文を使用し、データ ベース環境に対して構成される接続。「暗黙的な 接続」を参照。 ユーザ インデックス. CREATE INDEX 文を使 用してユーザが明示的に作成するインデックス。 「システム インデックス」を参照。 明示的なトランザクション. BEGIN WORK 文に よって開始されるトランザクション。この種類の トランザクションは、ロギングをサポートする ANSI 準拠ではないデータベースでのみ使用でき る。「暗黙的なトランザクション」と「単一の暗 黙的なトランザクション」を参照。 ユーザ スレッド. ユーザ スレッドには、sqlexec スレッドと呼ばれるセッション スレッドが含ま れる。これは、データベース サーバがクライア ント アプリケーションにサービスするために実 行する主スレッドである。ユーザ スレッドに は、onmode ユーティリティからの要求を保守す るするスレッド、復旧用スレッド、およびページ クリーナ スレッドも含まれる。「スレッド」を 参照。 メニュー. コンピュータに実行させるコマンドを 選択するための画面表示。 文字. コード ポイントを格納する論理単位。1 文字は 1 バイト以上で、数字、英字、または出 力不可能文字 (制御文字など) 。「マルチバイト 文字」と「シングルバイト文字」を参照。 文字セット. 1 つ以上の自然言語のアルファベッ トと、数字、句読点、合字、発音区別記号、およ 322 IBM Informix SQL ガイド: 参照 ユーザ パスワード. ド」を参照。 「Informix ユーザ パスワー ユーザ ID. 認証識別子 とも言う。「Informix ユ ーザ ID」を参照。 ユーザ ID パスワード. ワード」を参照。 「Informix ユーザ パス ユーザ定義関数. 少なくとも 1 つの値を戻すユ ーザ定義ルーチン。ユーザ定義関数は、SPL (SPL 関数) またはデータベース サーバがサポートする 外部言語 (外部関数) で作成できる。 ユーザ定義基本型. 参照。 「不透明 (OPAQUE) 型」を ユーザ定義キャスト. ユーザが CREATE CAST 文で作成するキャスト。ユーザ定義キャストは、 通常、キャスト関数 を必要とする。ユーザ定義 キャストは、明示的キャスト にも暗黙的キャス ト にもできる。 ユーザ定義集計関数. データベース サーバが提 供するもの (組込み) 以外の集計関数。組込み集 計の拡張と、新規定義の集計がある。データベー ス サーバは、すべての集計を管理する。 ユーザ定義データ型. リレーショナル データベ ースで使用するために定義するデータ型。不透明 (OPAQUE) 型とディスティンクト (DISTINCT) 型 を定義できる。 ユーザ定義プロシジャ. 値を戻さないユーザ定義 ルーチン。ユーザ定義プロシジャは、SPL (SPL プロシジャ) またはデータベース サーバがサポー トする外部言語 (外部プロシジャ) で作成でき る。 ユーザ定義ルーチン. ユーザが作成し、データベ ースのシステム カタログ表に登録したルーチ ン。登録後、SQL 文または別のルーチンから起動 できる。ユーザ定義ルーチンは、SPL (SPL ルー チン) またはデータベース サーバがサポートする 外部言語 (外部ルーチン) で作成できる。 ユーザ名. 「Informix ユーザ ID」を参照。 有効モード. データベース オブジェクトのオブ ジェクト モードのデフォルト値。制約、インデ ックス、またはトリガがこのモードの場合、デー タベース サーバはそのオブジェクトの存在を認 識し、データ操作文の実行中にそのオブジェクト を考慮する。「オブジェクト モード」を参照。 要素. コレクション のメンバ。リスト (LIST) 型、マルチセット (MULTISET) 型、セット (SET) 型など。要素は、組込みデータ型、不透明 (OPAQUE) 型、ディスティンクト (DISTINCT) 型、名前付き行型、名前なし行型、コレクション (COLLECTION) 型 のいずれの値も可能。 要素型. コレクション における要素 のデータ 型。 予約語. 言語やプログラムの、その他のコンテキ ストでは使用できない文またはコマンド内の語。 使用しようとすると、警告やエラー メッセージ が表示される。 予約ページ. ルート DB 領域の初期チャンクの 最初の 12 ページ。各予約ページには、データベ ース サーバが使用する特定の制御情報および追 跡情報が格納される。 [ラ行] ラージ オブジェクト. サイズが大きいために、 論理的には表の列に格納されているが、物理的に は列から独立して格納されているデータ オブジ ェクト。ラージ オブジェクトは、シンプル ラー ジ オブジェクト (テキスト (TEXT) 型、バイト (BYTE) 型) またはスマート ラージ オブジェク ト (BLOB 型、CLOB 型) になることが可能。 ラージ可変長文字 (LVARCHAR) 型. 32KB ま での可変長文字データを格納する組込みデータ 型。 ライト アペンド. 入操作。 バッファなし、ログなしの挿 ライブラリ. 特定の種類のアプリケーションに共 通のタスクを実行するよう指定された、コンパイ ル済みルーチン のグループ。アプリケーション プログラム インターフェイス (API) は、アプリ 用語集 323 ケーション プログラムからの呼出しが可能なル ーチンのライブラリを含むことができる。「ダイ ナミック リンク ライブラリ (DLL)」、「共有ラ イブラリ」、「共有オブジェクト ファイル」を 参照。 ラウンドロビン分散. データベース サーバが、 指定の DB 領域に行を連続的に均等に分散する分 散スキーム。 ランタイム エラー. プログラムの実行時に発生 するエラー。「コンパイル時エラー」を参照。 リーフ ノード. インデックス項目と、他のリー フ ノードへの水平ポインタを含むインデックス ページ。データベース サーバは、ルート ノード がフルになると、リーフ ノードを作成する。 リアル ユーザ ID. 照。 「Informix ユーザ ID」を参 リスト (LIST) 型. 要素 が順序付けられ、重複 値が許容されるリスト (LIST) 型コンストラクタ で作成される コレクション (COLLECTION) 型。 リテラル. データ入力操作でデータベース サー バが受け付ける形式による、データ型値の表現。 例えば、234 はリテラル整数で、abcd はリテラル 文字である。 リトル エンディアン. 複数バイト数の最下位バ イトが最も低いアドレスを持つ、ハードウェア決 定格納方法。「ビッグ エンディアン」を参照。 リモート サーバ. 「従属サーバ」を参照。 リモート ルーチン. リモート サーバのデータベ ース内のルーチン。「従属サーバ」を参照。 リモート接続. ネットワークを必要とする接続。 リモート表. 分散問合せにおける、ローカル デ ータベース サーバではないサーバのデータベー スの表。「調整サーバ」と「従属サーバ」を参 照。 324 IBM Informix SQL ガイド: 参照 領域. データの保持に使用される、DB 領域、 BLOB 領域、または SB 領域。 両方向. ロケール の、RTL (右から左へ入力す る) テキストと LTR (左から右へ入力する) テキ ストの両方をサポートする。 リレーショナル データベース. データの格納に 表構造を使用するデータベース。リレーショナル データベース内のデータは、情報を失わずにデー タの追加や変更を行える方法で表全体に分割され ている。 リレーショナル データベース サーバ. 列と行に 格納されたデータを管理するデータベース サー バ。 リンク. 別々にコンパイルされたプログラム モ ジュールを結合する方法。通常、実行可能プログ ラムになる。「コンパイル」と「実行」を参照。 ルーチン. 特定のタスクを実行するプログラム文 のグループ。ルーチンには、関数 とプロシジャ がある。すべてのルーチンは、引数を受け取れ る。「組込み」と「ユーザ定義ルーチン」を参 照。 ルーチン オーバーロード. 複数のユーザ定義ル ーチン に 1 つの名前を割り当て、それぞれのル ーチンが操作可能な、異なるデータ型のパラメー タ を指定できる機能。オーバーロードされたル ーチンは、ルーチン シグニチャ によって一意に 定義される。 ルーチン シグニチャ. データベース サーバが、 ユーザ定義ルーチン を一意に識別するために使 用する情報。シグニチャには、ルーチンの型 (関 数またはプロシジャ)、ルーチン名、パラメータの 数、順序、およびデータ型が含まれる。「ルーチ ン オーバーロード」と「固有名」を参照。 ルーチン解決. ルーチン シグニチャ に基づき、 実行するユーザ定義ルーチン を決定するため に、データベースが使用するプロセス。「ルーチ ン オーバーロード」を参照。 ルーチン修飾子. CREATE FUNCTION、CREATE PROCEDURE、ALTER FUNCTION、ALTER PROCEDURE、ALTER ROUTINE 文の WITH 節のキーワード。ユーザ 定義ルーチン の特定の属性や使用方法を指定す る。 ルート ノード. ブランチ ノード へのノード ポ インタを含む単一インデックス ページ。空の表 に対してインデックスを作成する場合に、データ ベース サーバはルート ノードを割り当てる。 ルート DB 領域. データベース サーバが作成す る、初期の DB 領域。予約ページと、他の DB 領域、BLOB 領域、SB 領域、表領域、チャン ク、およびデータベースのすべてを記述し、追跡 する内部表が含まれる。 ルートスライス. Extended Parallel Server の、す べてのコサーバのルート DB 領域を含む DB ス ライス。「DB スライス」、「ログ スライス」、 「物理スライス」 を参照。 ルール. フラグメント行を配置する場合の規則 で、データベース サーバまたはユーザが決め る。データベース サーバは、ラウンドロビン フ ラグメント化 とシステム定義ハッシュ フラグメ ント化 のルールを決定する。ユーザは、式ベー スのフラグメント化 とハイブリッド フラグメン ト化 を決定する。「任意のルール」と「範囲規 則」を参照。 例外. データベース サーバが戻すエラーや警 告。または、SPL 文が発生させる状態。 例外処理. 実行時エラーや警告を予想して、それ に対処するプログラム内のコード。エラー処理、 またはエラー トラッピングとも言う。 レコード. 「行」を参照。 レコード ID. フラグメント内のレコードの論理 部分を記述する 4 バイトの RSAM エンティテ ィ。RID とも言う。行 ID とは異なる。 列. 表の各行に現れる、指定された種類の情報を 含むデータ要素。表示ラベル またはフィールド とも呼ばれる。「行」を参照。 列サブスクリプト. 列式のサブスクリプト (大括 弧で囲まれた整数) で、列値内のバイトの順序付 けされた位置を示す。col2[3,9] のようにコンマ で分けられた 2 つの整数が、列サブ文字列 を定 義する。 列サブ文字列. 文字カラムのサブ文字列。例え ば、列式 col2[3,9] は、3 番目のバイトで始まる col2 の 7 バイトのサブ文字列を指定する。 列式. 列名を含み、オプションで列サブスクリプ ト を使用して列サブ文字列 を定義する式。 連結インデックス. 表と同じ分散スキームを持つ インデックス。連結インデックスを作成するに は、CREATE INDEX または ALTER FRAGMENT ON INDEX 文において、分散スキ ームを指定せず (FRAGMENT BY 節なし)、格納 オプションも指定しない (IN 節なし) か、格納オ プションとして IN TABLE を指定する。Dynamic Server の場合、ユーザ インデックスのインデッ クス ページは、表領域ではそのインデックス ペ ージが参照するデータ ページと異なる領域に常 駐するが、DB 領域では同じ領域に常駐する。シ ステム インデックスのみが、対応するデータ ペ ージと同じ表領域に常駐する。Extended Parallel Server の場合、ユーザ インデックス ページとシ ステム インデックス ページの両方とも、対応す るデータ ページとは別の表領域、同じ DB 領域 に置かれる。「分離インデックス」、「システム インデックス」、「ユーザ インデックス」を参 照。 連結演算子. 2 つのパイプ記号 (||) で表記する演 算子。式の中で使用し、2 つの文字列の結合を示 す。 連結する. 2 つ目の文字列を 1 つ目の文字列の 末尾に追加すること。 用語集 325 ローカライズ順序. ロケールに定義されている場 合のコード セット順序以外の照合順序。各国語 文字 (NCHAR) 型および各国語可変長文字 (NVARCHAR) 型データ値のみ、ローカライズ順 序で照合される。データベース オブジェクト は、これが実行時順序ではない場合、作成日時順 序で照合する。 ローカル コピー. Extended Parallel Server で は、複数のコサーバにコピーされるローカル コ サーバの表のレプリカ。これにより、コサーバ間 の通信リンクにデータを送信する必要がなくなる ため、コサーバに接続された OLTP トランザク ションのデータ アクセスを高速化できる。 ローカル ループバック. クライアント アプリケ ーションとデータベース サーバの間での接続 で、クライアント アプリケーションとデータベ ース サーバが同じコンピュータにある場合で も、ネットワーク接続を使用する接続。 ローカル分離インデックス. Extended Parallel Server のインデックスの一種で、表フラグメント から独立したフラグメント化ストラテジを持って いるが、データベース サーバは、インデックス 行が参照するデータ行と同じコサーバにあること を認識する。式、システム定義のハッシュ、また はハイブリッド分散スキームを使用して、任意の 表に対してローカル分離インデックスを作成でき る。「広域分離インデックス」を参照。 ロード ジョブ. HPL を使用してデータをリレー ショナル データベースにロードするために要求 される情報。この情報には、形式、マップ、フィ ルタ、デバイス配列、プロジェクト、および特別 なオプションが含まれる。 ロール. DBA が割り当てる分類や作業タスク (ペイ ロールなど)。ロールを割り当てると、アク セス権を管理しやすくなる。 ロールバック. データベースに対する操作 (また は一連の操作) を元に戻す処理。データベース 326 IBM Informix SQL ガイド: 参照 は、操作を実行する前の状態に戻る。「トランザ クション」と「処理確定」を参照。 ロウ ディスク. 「バッファなしディスク入出力 (I/O)」を参照。 ロウ デバイス. 「バッファなしディスク入出力 (I/O)」を参照。 ロウ表. ライト アペンド を使用する、ログをと らない永続表。 ログ スライス. その内容が論理ログ ファイルの みから成る DB スライス。ログ スライスの論理 ログ ファイルは、複数のコサーバが DB 領域当 たり 1 つのログ ファイルの割合で所有できる。 「DB スライス」を参照。 ログイン. コンピュータに対し、その使用者を識 別させるプロセス。 ログイン パスワード. 「Informix ユーザ パスワ ード」を参照。 ログイン ユーザ ID. 「Informix ユーザ ID」を 参照。 ロケール. 国、地域、文化、言語などによる言語 規則を指定する、Informix ファイルのセット。 IBM Informix 製品は、ユーザには変更できない、 事前定義のロケールを提供する。ロケールは、ア プリケーション データが使うコード セット名、 文字データに使う照合順序、およびエンド ユー ザ フォーマットを提供する。「クライアント ロ ケール」、「データベース ロケール」、「デフ ォルト ロケール」、「サーバ ロケール」、およ び「サーバ プロセス ロケール」 を参照。 ロック. あるオブジェクト (データベース、表、 ページ、または行) へのアクセスを一時的に制限 して、並行プロセス間の対話型処理の競合を避け る並行性機能。排他ロックは、読取りと書込みの アクセスを 1 人のユーザのみに制限する。共有 ロックは、他のユーザの読取り専用アクセスを認 める。更新ロックは共有ロックとして開始する が、行が変更されると排他ロックにアップグレー ドされる。 ロック カップリング. R ツリー インデックスを 更新する場合に、上方向への移動中、親ノードの ロックを取得するまで子ノードのロックを保持す るロック方法。ロック カップリングは、リーフ ノードのバウンディング ボックスが変更されて いる場合に使用される。変更する必要のない親ノ ードに達するまでツリーを上方向に移動し、変更 を親ノードに伝播する必要がある。 ロック モード. 既にロックされているオブジェ クトにロックを要求したユーザが、オブジェクト が解放されてロックを受け取るまで待つか、即時 にエラーを受け取るか、一定時間待ってからエラ ーを受け取るかを決めるオプション。 ロックの解除. ロックされているオブジェクト (データベース、表、ページ、または行) を解放す ること。例えば、表がロックされていると、他の ユーザはその表の行を追加、削除、更新、または 表示 (排他ロックの場合) できない。ユーザやプ ログラムが表のロックを解除すると、他のユーザ がアクセス可能になる。 システムがサポートする最も大きい文字以上で、 C コンパイラが評価できる整数データ型のサイズ と同じである必要がある。C コンパイラが評価で きる整数データ型の例としては、短整数型、整数 (INT) 型、長整数型がある。 ワイルドカード. ゼロ個以上の文字列や、任意の 1 文字を表す特殊記号。例えば SQL では、アス タリスク (*)、疑問符 (?)、パーセント記号 (%)、 およびアンダスコア (_) をワイルドカードとして 使用できる (アスタリスクと疑問符は、UNIX で もワイルドカードとして使用できる)。 割込み. 現在のプロセスを一時的または永続的に 停止できる、ユーザまたは他のプロセスからのシ グナル。「シグナル」を参照。 割込みキー. プログラムのキャンセルや放棄、ま たは現在のメニューを離れて 1 レベル上のメニ ューに戻るために使用するキー。多くのシステム では、割込みキーは CONTROL-C。割込みキーが DEL または CONTROL-Break のシステムもあ る。 [数字] ロック範囲. ロックされるオブジェクトのサイ ズ。サイズには、データベース、表、ページ、行 がある。 16 ビット コード セット. 各文字を 2 バイトで 表すコード セット で、約 65,000 文字を符号化 できる。2 バイト文字セット とも言う。例え ば、JIS X0208 など。 論理ログ. ログがアクティブである間にデータベ ースで実行された、すべての変更のレコードを持 つデータベース サーバによって管理されるディ スク領域の割当て。トランザクションをロールバ ックし、システム故障から回復し、アーカイブか らデータベースを復元するために使用される。 「物理ログ」を参照。 2 相コミット. 複数のデータベース サーバで、 トランザクションが一様に確定またはロールバッ クされることを保証するプロトコル。確定トラン ザクションを実行する順序を管理し、トランザク ションが実行されない場合の復旧メカニズムを提 供する。「異機種間コミット」を参照。 [ワ行] ワイド文字. 各文字が同じサイズになるように、 マルチバイト文字のサイズを正規化したコード セット形式。このサイズは、オペレーティング 8 ビット透過. 8 ビット文字 を含む文字データ を処理できるソフトウェアの属性。オペレーティ ング システムやデータベース サーバは、8 ビッ ト目をコード値の一部として読み取る。つまり、 8 ビット目を無視、または 8 ビット目を独自に 解釈などは行わない。 用語集 327 8 ビット文字. 8 ビットで構成されるシングルバ イト文字で、コード ポイントは 128 から 255 の範囲内。ISO8859-1 コード セットを例にとる と、非英語の文字 é、ñ、ö が含まれる。これらの 文字は、8 ビット透過 のソフトウェアによって のみ正しく解釈される。「非 ASCII 文字」を参 照。 ASF. Associated Services Facility の略語。 IBM Informix 製品の ASF コードは、クライアン ト アプリケーションとデータベース サーバ間の 接続を制御する。この用語は、ソフトウェア設計 者が使用する。IBM Informix 製品のユーザは、エ ラー メッセージ内で見かける場合がある。 B A ALS. 以前使用されていた Asian Language Support (ALS) の略語で、マルチバイトの東アジ ア ロケールのための機能。現在は広域言語サポ ート (GLS) がこれに代わって使用される。 ANSI. American National Standards Institute (米 国規格協会) の略語。ANSI は、情報技術業界や SQL 言語を含む、多くの領域の標準を設定してい る。一部の ANSI 標準は、国際標準化機構 (ISO) の標準でもある。 ANSI 標準準拠. SQL 言語の ANSI/ISO 標準に 準拠するデータベース。IBM Informix データベー スは、ANSI 標準準拠、ANSI 標準非準拠のいず れとしても作成可能である。ANSI 標準準拠のデ ータベースは、暗黙的トランザクション、所有者 の明示的な命名、パブリック シノニムなし、バ ッファなしログなどの ANSI 要件を備えている が、ANSI 標準準拠ではないデータベースは上記 を備えていない。 API. 「アプリケーション プログラム インター フェイス (API)」を参照。 ASCII. American Standards Committee for Information Interchange の略語で、コンピュータ や電気通信で使用される文字、数字、句読記号、 および他の特定の出力可能 (不可能) 文字のコー ド セット。128 文字が含まれ、それぞれ 7 ビッ トの情報で表せる。各 Informix ロケールのコー ド セットは、サブセットとして ASCII 文字を含 む。「シングルバイト文字」を参照。 328 IBM Informix SQL ガイド: 参照 B ツリー. インデックスの論理構造を定義するた めの (「単純グラフ」トポロジを持つ) モデル。 B ツリー インデックス. 平衡ツリー構造体を使 用して効率的にレコードを抽出するインデックス の一種。B ツリー インデックスは、リーフ ノー ドがすべてルート ノードから同じレベルにある 場合に、平衡化される。B ツリー インデックス は、重複したキー値データの行 ID のリストを昇 順または降順に格納する。「ビットマップ イン デックス」と「R ツリー インデックス」を参 照。 blob. シンプル ラージ オブジェクトとして知ら れるラージ オブジェクトの用語で、テキスト (TEXT) 型またはバイト (BYTE) 型を組み込んで いる。これらのデータ オブジェクトのサイズ は、実際上、無制限である。理論的には、231 バ イトが上限。「シンプル ラージ オブジェクト」 を参照。 BLOB 型. binary large object (バイナリ ラージ オブジェクト) の略語。イメージなど、あらゆる 種類のバイナリ形式のデータを格納するスマート ラージ オブジェクト のデータ型である。分割し て格納および抽出でき、復旧やトランザクション ロールバックなどのデータベース プロパティを 持つ。「CLOB 型」を参照。 BLOB ページ. Extended Parallel Server には適 用されない。BLOB 領域内のディスク割当て単 位。データベース サーバ管理者が、BLOB ペー ジのサイズを決定する。ユーザが挿入するテキス ト (TEXT) 型またはバイト (BYTE) 型によっ て、サイズは変更できる。 BLOB 領域. Extended Parallel Server には適用 されない。テキスト (TEXT) 型とバイト (BYTE) 型データ格納に使用されるチャンク の論理的コ レクション。 C CLOB 型. character large object (文字ラージ オ ブジェクト) の略語。PostScript や HTML など、 ラージ テキスト項目を格納するスマート ラージ オブジェクトのデータ型である。分割して格納お よび抽出でき、復旧やトランザクション ロール バックなどのデータベース プロパティを持つ。 「BLOB 型」を参照。 D DataBlade API. クライアント アプリケーショ ンに対して、C のユーザ定義ルーチン のアクセ スを許可するアプリケーション プログラム イン ターフェイス (API)。 DataBlade モジュール. データベース オブジェ クト と支援コードのグループ。これにより、オ ブジェクト リレーショナル データベースを拡張 し、新規の種類のデータの管理または新規の機能 の追加ができる。DataBlade モジュールは、新規 のデータ型、ルーチン、キャスト、集計関数、ア クセス方法、SQL コード、クライアント コー ド、およびインストール プログラムを含む。 DB スライス. 複数のコサーバに渡ることが可能 な DB 領域の名前付きのコレクション。1 つの DB スライスは、1 つの記憶域オブジェクトとし て管理される。「ログ スライス」、「物理スラ イス」、「ルートスライス」を参照。 DB 領域. 1 つ以上のチャンクの論理的なコレク ション。チャンクはディスク領域の特定の場所を 表す。そのため、データベースと表の作成者は、 特定の DB 領域にデータベースや表を置くこと で、データを配置する物理的な場所を制御でき る。DB 領域 は、格納領域の論理的単位 (表な ど) と物理的単位 (チャンクなど) をリンクす る。「ルート DB 領域」を参照。 DBA. Database Administrator (データベース管理 者) の略語。DBA は、データベースの内容と使用 の責任者である。これに対し、データベース サ ーバ管理者 (DBSA) は、1 つ以上のデータベース サーバの管理責任者である。また、一般的に、ほ とんどのユーザは実行許可されないアクセス権レ ベルのこと。 DBA アクセス権付き. DBA データベース アク セス権のあるユーザのみ作成する SPL ルーチン のクラス。 DBMS. database management system (データベー ス管理システム) の略語。アプリケーション開発 支援ツールやデータベース サーバなど、データ ベースの作成と管理に必要なコンポーネントすべ てを指す。 DDL. data definition language (データ定義言語) の略語。データベース オブジェクト (表、制約、 インデックスなど) を宣言、変更、削除するため の、構造化問合せ言語 (SQL) のサブセット。 「データ定義文」を参照。 DLL. 「ダイナミック リンク ライブラリ (DLL)」を参照。 DML. Data Manipulation Language (データ操作 言語) の略語。「データ操作文」を参照。 DRDA. Distributed Relational Database Architecture (分散リレーショナル データベース アーキテクチャ) の略語。DRDA は、IBM によ って定義されたプロトコルのセット。ソフトウェ ア製造者はこれに従うことで、リレーショナル データベース管理における異機種環境間での接続 の問題を解決できる。 DSS. Decision Support System (意思決定支援シ ステム) の略語。「意思決定支援アプリケーショ ン」を参照。 用語集 329 Dynamic Server インスタンス. プロセス、格納 領域、共有メモリのセット。これらが一緒になっ て完全なデータベース サーバを構成する。単一 Dynamic Server インスタンスは、複数のデータベ ースをサポートできる。 E EBCDIC. Extended Binary Coded Decimal Interchange Code (拡張 2 進化 10 進コード) の 略語。256 要素の 8 ビット文字セットで、IBM メインフレーム コンピュータのために設計され た。 ESQL/C スマート ラージ オブジェクト API. IBM Informix ESQL/C クライアント アプリケー ションが、オペレーティング システム ファイル のようにスマート ラージ オブジェクト へアク セスするために使用できる、C ルーチンの API。ESQL/C スマート ラージ オブジェクト API は、IBM Informix ESQL/C SQL API の一部 である。DataBlade API の関数のセットでも、ス マート ラージ オブジェクトにアクセスできる。 EXT 領域. Extended Parallel Server には適用さ れない。外部データの場所を示す任意の文字列に 関連付けられた論理名のこと。内容には、ユーザ 定義アクセス方法でアクセスする。 G GB (ギガバイト). 1024MB (10243 バイト) に等 しい格納単位。 GLS. 「広域言語サポート」を参照。 GLS API. IBM Informix GLS の略語。C 言語 の外部ルーチン で使用し、IBM Informix GLS ロ ケール にアクセスできる、C ルーチンの API。 この API は、文化的差異に基づいた照合、時 刻、日付、数字、通貨形式、およびロケールが LTR (左から右へ入力する) か両方向か、また、 サポートするのがシングルバイト文字 かマルチ 330 IBM Informix SQL ガイド: 参照 バイト文字 かにかかわらず、文字データへ一定 のアクセス方法を提供する関数も含む。 H HOLD カーソル. WITH HOLD キーワードを使 用して作成されるカーソル。HOLD カーソルは、 トランザクションが終了するまでオープンのまま になる。これにより、複数のトランザクションに 渡る 1 セットの行に割込みなしでアクセスでき る。 HPL. 「ハイパフォーマンス ローダ (HPL)」を 参照。 I Informix ユーザ パスワード. クライアントのデ ータベース アクセスに関わるすべてのコンピュ ータ システム (オペレーティング システム) 上 で、有効である必要があるユーザ ID パスワー ド。クライアントが明示的なユーザ ID を指定し た場合、ほとんどのコンピュータ システムで Informix ユーザ パスワードが必要である。 Informix ユーザ ID. クライアントのデータベー ス アクセスに関わるすべてのコンピュータ シス テム (オペレーティング システム) 上で、有効で ある必要があるログイン ユーザ ID (ログイン ユ ーザ名 または認証識別子)。クライアントのユー ザ ID と呼ばれることもある。これは、コンピュ ータ システムの完全に機能的なユーザ アカウン トを参照する必要がない。ユーザ アカウント情 報のユーザ ID コンポーネントのみが、Informix データベース サーバに意味を持つ。通常、どの ユーザも、データベース アクセスに関わるすべ てのネットワーク化されたコンピュータ システ ムで同じ ID を持っている。認証識別子 informix は、一部のデータベース オブジェクトと操作に 必要である。 INSERT カーソル. INSERT 文と関連付けられ た、挿入操作のためのカーソル。大量の挿入デー タをメモリに入れてバッファ処理を行い、ディス クに書き込める。 IPX/SPX. Internetwork Packet Exchange (ネット ワーク間パケット交換)/Sequenced Packet Exchange (逐次パケット交換) の略語。これは、 Novell 社の NetWare ネットワーク プロトコルを 意味する。 ISAM. Indexed Sequential Access Method (インデ ックス シーケンシャル アクセス方式) の略語。 これにより、特定順序での情報項目の検索、特定 の情報のインデックスを介した迅速な検索などを 行える。「アクセス方法」を参照。 ISAM エラー. オペレーティング システムまた はファイル アクセス エラー。 ISO. International Standards Organization (国際 標準化機構) の略語。ISO は、文字の入力と操 作、コード セット、および SQL 構文についての 標準を含む、コンピュータ業界の世界的標準を設 定する。 ISO8859-1. 256 文字のシングルバイト文字を含 むコード セット。0 から 127 までの文字は、 ASCII 文字である。128 から 255 までの文字 は、é、ñ、ö など、主にヨーロッパ言語の文字で ある。 K KB (キロバイト). 1024 バイトの格納単位。 M MB (メガバイト). 1024KB、つまり 10242 バイ トに等しい格納単位。 Memory Grant Manager (MGM). Extended Parallel Server には適用されない。メモリの使用 と、意思決定支援問合せに対する入出力の帯域幅 を調整するデータベース サーバ コンポーネン ト。MGM は、 DS_MAX_QUERIES、 DS_TOTAL_MEMORY、 DS_MAX_SCANS、およ び PDQPRIORITY 構成パラメータを使用し、意 思決定支援問合せに認可できるリソースを決定す る。 MGM. Memory Grant Manager (MGM) の略語。 MODE ANSI. CREATE DATABASE または START DATABASE 文で指定され、データベー スを ANSI 標準準拠にするためのキーワード。 MPP. massively parallel processing (超並列処理) システム の略語。 N NLS. 各国語サポート (NLS) を参照。 NOT NULL 制約. 列内に NULL 値を含むこと ができないことを指定する列の制約。 NULL. SQL のキーワード。不明、欠落、または 不適応である値を示す (NULL 値は、ゼロや空白 とは異なる)。 O OLTP. Online Transaction Processing (オンライ ン トランザクション処理) の略語。「オンライン トランザクション処理アプリケーション」を参 照。 P PDQ. parallel database query (並列データベース 問合せ) の略語。 PDQ 優先順位. 問合せを並列処理するためにデ ータベース サーバが割り当てるリソースの量を 決定する。これらのリソースには、メモリ、スレ ッド (走査スレッドなど)、およびソート領域が含 まれる。並列処理のレベルは、PDQPRIORITY 用語集 331 環境変数、さまざまなデータベース サーバ構成 パラメータ (PDQPRIORITY と MAX_PDQPRIORITY を含む) を使用して、また は動的に SET PDQPRIORITY 文を通じて確立さ れる。 PREPARE 文で処理された文. 文字列または文 字列を含む変数から PREPARE 文を使用して作成 される SQL 文。この機能により、プログラムを 実行中に修正、または再コンパイルせずに要求を 作成できる。 R R ツリー インデックス. Extended Parallel Server には適用されない。インデックスの一種で、重複 バウンディング四角形に基づくツリー構造を使用 し、スペーシャル (地理空間) および多次元デー タ型へのアクセスを高速化する。「ビットマップ インデックス」と「B ツリー インデックス」を 参照。 S SB 領域. Extended Parallel Server には適用され ない。BLOB 型と CLOB 型データのみ格納す る、1 つ以上のチャンクを含んだ論理ストレージ 域。 SELECT. SMI. system-monitoring interface (システム監視 インターフェイス) の略語。 SMP. 「対称型多重処理システム」を参照。 SPL. 照。 「ストアド プロシジャ言語 (SPL)」を参 332 値を戻さない SPL ルーチン。 SPL 変数. DEFINE 文で宣言され、SPL ルーチ ン で使用される変数。 SPL ルーチン. ストアド プロシジャ言語 (SPL) で書き込まれるユーザ定義ルーチン。名前、パラ メータ、実行可能形式、およびその他の情報は、 データベースのシステム カタログ表に格納され る。SPL ルーチンには、SPL プロシジャ と SPL 関数 がある。 SQL. Structured Query Language (構造化問合せ 言語) の略語。SQL は IBM が開発し、ANSI が 標準化したデータベース問合せ言語。Informix の リレーショナル データベース管理製品は、ANSI 標準 SQL の拡張実装に基づいている。 SQL API. SQL 文を直接アプリケーションに埋 め込めるようにする、アプリケーション プログ ラム インターフェイス (API)。埋込み言語製品 IBM Informix ESQL/C は、SQL API の一例であ る。「ホスト変数」を参照。 SQLCA. SQL Communications Area (SQL 通信 域) の略語。 SQLCA は、最後に実行された SQL 文についての情報を格納するデータ構造。デ ータベース サーバが SQLCA に戻す結果コード は、Informix SQL API のエラー処理に使用され る。 「問合せ」を参照。 SELECT カーソル. SELECT 文に関連付けられ たカーソルで、受け取る変数のセットに 1 行ず つデータを移動しながら、複数のデータ行を走査 できる。 SPL 関数. SPL プロシジャ. 1 つ以上の値を戻す SPL ルーチン。 IBM Informix SQL ガイド: 参照 sqlda. SQL descriptor area (SQL 記述子領域) の 略語。動的 SQL 文で使用されるデータベース列 またはホスト変数の情報を格納するために、 DESCRIBE 文で使用できる動的 SQL 管理構造。 sqlda 構造は、動的列を処理するための Informix 特有の構造である。IBM Informix ESQL/C プログ ラムの中でのみ利用できる。「記述子」と「シス テム記述子領域」を参照。 sqlhosts. データベース サーバがサポートする接 続の種類を識別するファイル。 T X TB (テラバイト). しい格納単位。 1024GB (10244 バイト) に等 TCP/IP. ある標準トランスポート層プロトコル (TCP) とネットワーク層プロトコル (IP) の固有 名。DOS、UNIX などの環境で使用される、一般 的なプロトコル。 TLI. Transport Layer Interface (トランスポート 層インターフェイス) の略語。ネットワーク プロ トコルに依存しないアプリケーション プログラ ムで使用するために作成されたインターフェイ ス。 X/Open. 動的 SQL など、オープン システム製 品や技術の仕様の、規格作成や開発を行う独立団 体。 X/Open 移植性ガイド (XPG). 移植性があるソフ トウェアを作成する場合に、ベンダやユーザが使 用できる仕様を集めたもの。XPG ブランドをソ フトウェア製品に付けているベンダは、ソフトウ ェアが X/Open Common Applications Environment (CAE) 仕様に準拠していることを保証している。 CAE 仕様の対象には、SQL、XA、ISAM、RDA などがある。 U UDA. 「ユーザ定義集計関数」を参照。 UDF. 「ユーザ定義関数」を参照。 UDR. 「ユーザ定義ルーチン」を参照。 UDT. 「ユーザ定義データ型」を参照。 UNIX リアル ユーザ ID. ID」を参照。 「Informix ユーザ V VLDB. very large database (超大型データベース) の略語。 W WORM. Write-Once-Read-Many 光メディアの略 語。1 ビットのデータを WORM 光ディスクに書 き込むと、その光ディスク上に永久的なマーク付 けがされる。 用語集 333 334 IBM Informix SQL ガイド: 参照 特記事項 本書に記載の製品、サービス、または機能が日本においては提供されていない場合があ ります。日本で利用可能な製品、サービス、および機能については、日本 IBM の営業 担当員にお尋ねください。本書で IBM 製品、プログラム、またはサービスに言及して いても、その IBM 製品、プログラム、またはサービスのみが使用可能であることを意 味するものではありません。これらに代えて、IBM の知的所有権を侵害することのな い、機能的に同等の製品、プログラム、またはサービスを使用することができます。た だし、IBM 以外の製品とプログラムの操作またはサービスの評価および検証は、お客様 の責任で行っていただきます。 IBM は、本書に記載されている内容に関して特許権 (特許出願中のものを含む) を保有 している場合があります。本書の提供は、お客様にこれらの特許権について実施権を許 諾することを意味するものではありません。実施権についてのお問い合わせは、書面に て下記宛先にお送りください。 〒106-0032 東京都港区六本木 3-2-31 IBM World Trade Asia Corporation Licensing 以下の保証は、国または地域の法律に沿わない場合は、適用されません。IBM およびそ の直接または間接の子会社は、本書を特定物として現存するままの状態で提供し、商品 性の保証、特定目的適合性の保証および法律上の瑕疵担保責任を含むすべての明示もし くは黙示の保証責任を負わないものとします。国または地域によっては、法律の強行規 定により、保証責任の制限が禁じられる場合、強行規定の制限を受けるものとします。 この情報には、技術的に不適切な記述や誤植を含む場合があります。本書は定期的に見 直され、必要な変更は本書の次版に組み込まれます。IBM は予告なしに、随時、この文 書に記載されている製品またはプログラムに対して、改良または変更を行うことがあり ます。 本書において IBM 以外の Web サイトに言及している場合がありますが、便宜のため 記載しただけであり、決してそれらの Web サイトを推奨するものではありません。そ れらの Web サイトにある資料は、この IBM 製品の資料の一部ではありません。それ らの Web サイトは、お客様の責任でご使用ください。 IBM は、お客様が提供するいかなる情報も、お客様に対してなんら義務も負うことのな い、自ら適切と信ずる方法で、使用もしくは配布することができるものとします。 © Copyright IBM Corp. 1996, 2004 335 本プログラムのライセンス保持者で、(i) 独自に作成したプログラムとその他のプログラ ム (本プログラムを含む) との間での情報交換、および (ii) 交換された情報の相互利用 を可能にすることを目的として、本プログラムに関する情報を必要とする方は、下記に 連絡してください。 IBM Corporation J46A/G4 555 Bailey Avenue San Jose, CA 95141-1003 U.S.A. 本プログラムに関する上記の情報は、適切な使用条件の下で使用することができます が、有償の場合もあります。 本書で説明されているライセンス・プログラムまたはその他のライセンス資料は、IBM 所定のプログラム契約の契約条項、IBM プログラムのご使用条件、またはそれと同等の 条項に基づいて、IBM より提供されます。 この文書に含まれるいかなるパフォーマンス・データも、管理環境下で決定されたもの です。そのため、他の操作環境で得られた結果は、異なる可能性があります。一部の測 定が、開発レベルのシステムで行われた可能性がありますが、その測定値が、一般に利 用可能なシステムのものと同じである保証はありません。さらに、一部の測定値が、推 定値である可能性があります。実際の結果は、異なる可能性があります。お客様は、お 客様の特定の環境に適したデータを確かめる必要があります。 IBM 以外の製品に関する情報は、その製品の供給者、出版物、もしくはその他の公に利 用可能なソースから入手したものです。IBM は、それらの製品のテストは行っておりま せん。したがって、他社製品に関する実行性、互換性、またはその他の要求については 確証できません。IBM 以外の製品の性能に関する質問は、それらの製品の供給者にお願 いします。 IBM の将来の方向または意向に関する記述については、予告なしに変更または撤回され る場合があり、単に目標を示しているものです。 表示されている IBM の価格は IBM が小売り価格として提示しているもので、現行価 格であり、通知なしに変更されるものです。卸価格は、異なる場合があります。 本書には、日常の業務処理で用いられるデータや報告書の例が含まれています。より具 体性を与えるために、それらの例には、個人、企業、ブランド、あるいは製品などの名 前が含まれている場合があります。これらの名称はすべて架空のものであり、名称や住 所が類似する企業が実在しているとしても、それは偶然にすぎません。 著作権使用許諾: 本書には、様々なオペレーティング・プラットフォームでのプログラミング手法を例示 するサンプル・アプリケーション・プログラムがソース言語で掲載されています。お客 336 IBM Informix SQL ガイド: 参照 様は、サンプル・プログラムが書かれているオペレーティング・プラットフォームのア プリケーション・プログラミング・インターフェースに準拠したアプリケーション・プ ログラムの開発、使用、販売、配布を目的として、いかなる形式においても、IBM に対 価を支払うことなくこれを複製し、改変し、配布することができます。このサンプル・ プログラムは、あらゆる条件下における完全なテストを経ていません。従って IBM は、これらのサンプル・プログラムについて信頼性、利便性もしくは機能性があること をほのめかしたり、保証することはできません。お客様は、IBM のアプリケーション・ プログラミング・インターフェースに準拠したアプリケーション・プログラムの開発、 使用、販売、配布を目的として、いかなる形式においても、IBM に対価を支払うことな くこれを複製し、改変し、配布することができます。 それぞれの複製物、サンプル・プログラムのいかなる部分、またはすべての派生的創作 物にも、次のように、著作権表示を入れていただく必要があります。 © (お客様の会社名) (西暦年). このコードの一部は、IBM Corp. のサンプル・プログ ラムから取られています。© Copyright IBM Corp. (年を入れる).All rights reserved. この情報をソフトコピーでご覧になっている場合は、写真やカラーの図表は表示されな い場合があります。 特記事項 337 商標 AIX; DB2; DB2 Universal Database; Distributed Relational Database Architecture; NUMA-Q; OS/2、OS/390、および OS/400; IBM Informix®; C-ISAM®; Foundation.2000™; IBM Informix ® 4GL; IBM Informix®DataBlade®Module; Client SDK™; Cloudscape™; Cloudsync™; IBM Informix®Connect; IBM Informix®Driver for JDBC; Dynamic Connect™; IBM Informix®Dynamic Scalable Architecture™(DSA); IBM Informix®Dynamic Server™; IBM Informix®Enterprise Gateway Manager (Enterprise Gateway Manager); IBM Informix®Extended Parallel Server™; i.Financial Services™; J/Foundation™; MaxConnect™; Object Translator™; Red Brick™; IBM Informix® SE; IBM Informix® SQL; InformiXML™; RedBack®; SystemBuilder™; U2™; UniData®; UniVerse®; wintegrate® は、 IBM Corporation の商標です。 Java およびすべての Java 関連の商標およびロゴは、Sun Microsystems, Inc. の米国およ びその他の国における商標または登録商標です。 Windows、Windows NT および Excel は、Microsoft Corporation の米国およびその他の 国における商標です。 UNIX は、The Open Group の米国およびその他の国における登録商標です。 本書で言及しているその他の会社名、製品名およびサービス名はそれぞれ各社の商標ま たは登録商標です。 338 IBM Informix SQL ガイド: 参照 索引 日本語, 数字, 英字, 特殊文字の順に配列されてい ます。なお, 濁音と半濁音は清音と同等に扱われ ています。 一時表 179 DBSPACETEMP で DB 領域を指定 179 SE 内、DBTEMP でディレクトリを指定 181 一時ファイル [ア行] アーカイブ DBREMOTECMD の設定 181 DBSPACETEMP の設定 179 PSORT_DBTEMP の設定 218 SE 内、DBTEMP でディレクトリを指定 178 アクセシビリティ xxi 構文ダイアグラム、スクリーン リーダ (読上げソフ トウェア) による読取り 289 小数点付き 10 進数フォーマットの構文ダイアグラ ム 289 アクセス権 データベース上 (sysusers 表) 違反 sysobjstate データ 47 インストール ガイド xviii インストール ディレクトリ 37 プロシジャおよび関数上 (sysfragauth 表) 50 列 (syscolauth 表) 21 UDT および名前付き行型上 (sysxtdtypeauth) 参照: アクセス権 アクセス方法 組込み 12, 15 主 14, 60 副 12, 27, 44, 108 B ツリー 15, 42, 185 R ツリー 185 sysams データ 12 sysindices データ 44 sysopclasses データ 47 systabamdata データ 61 アラビア語ロケール 89 暗号化 208 暗黙的キャスト 18, 137 暗黙的な一時表 180 暗黙的な接続 203 一意キー 13 一意性インデックス 41, 112 一意性制約 112, 113 一時 DB 領域 179 © Copyright IBM Corp. 1996, 2004 sysrepository データ 57 一般的な B ツリー 42 sysviolations データ 70 入れ子ピリオド表記 131 入れ子ループ結合 212 68 デフォルトの表アクセス権 211 表上 (systabauth 表) 61 表フラグメント上 (表 sysfragauth) 181 一般化キー インデックス sysindexes データ 41 sysnewdepend データ 46 71 インデックス 一般化キー 201 41, 46, 57 環境変数の 224 関数 42, 132 切り離された 185 クラスタ化 41, 43 グローバルに切り離された 降順 42 固有の 28, 41, 112, 113 システム カタログの 10 ソート用スレッド 219 データ型の 84 デフォルト値、添付 219 非フラグメント 185 複合 41, 42 フラグメント化 38 分散 スキーム 185 連結 40, 168, 185, 219 B ツリー 42, 185 R ツリー 185 sysindexes データ 40 sysindices データ 43 39, 187 339 インデックス (続き) 外部ビュー sysobjstate データ 46 インデックス キー構造 43 外部表 sysextcols データ 時間隔 (INTERVAL) 型リテラル 日付 (DATE) 型と日時 (DATETIME) 型リテラル 127 ラージ可変長文字 (LVARCHAR) 型 DELIMIDENT 設定 186 105 ウィンドウ枠 205 エクステント、サイズ変更 9 エクスポート ユーティリティ 149 エディタ、DBEDIT 設定 63 書込み可能 gcc オプション 199 拡張検査 (DBANSIWARN) 164 拡張データ型 72, 129, 283 確定読込み 79 加算 (+) 演算子 124, 140 仮想プロセッサ 219 仮想マシン 161, 209 型なし表 64 172 下段シフトコード 54 各国語可変長文字 (NVARCHAR) 型 演算子クラス sysams データ 13 sysindices データ 44 照合順序 定義済み 47 エンタープライズ レプリケーション オーバーフロー エラー 97 3 大文字アクセス権コード 7, 21, 37, 62, 71 オブジェクト リレーショナル スキーマ 267 オプティマイザ IFX_DIRECTIVES 設定 192 IFX_EXTDIRECTIVES の 設定 193 OPTCOMPIND の設定 212 OPTOFC の設定 213 OPT_GOAL の設定 214 sysdistrib データ 31 オプティマイザ ディレクティブ sysdirectives の データ 30 オンライン トランザクション処理 (OLTP) 40 オンライン ノート xviii, xix オンライン ヘルプ xxi オンライン マニュアル xxi [カ行] 外部キー 240, 269 外部データベース 60 外部データベース サーバ systables データ 外部ルーチン 53 カスケード削除 56 仮精度数 76, 97 171 エラー メッセージ xx エラー メッセージ ファイル 円記号 (¥) 171 35 sysexternal データ 36 syssyntable データ 60 103 テキスト (TEXT) 型無効 117 バイト (BYTE) 型無効 89 340 34 sysextdfiles データ 引用符付きストリング sysopclasses データ 演算子優先順位 140 60 60 IBM Informix SQL ガイド: 参照 108 108 長さ (syscolumns) 25 マルチバイト文字 108 VARCHAR への変換 175 各国語文字 (NCHAR) 型 照合順序 107 定義済み 107 マルチバイト文字 107 文字 (CHAR) 型への変換 175 各国対応トレース メッセージ 66 可変長 パケット 196 可変長 UDT 73 可変長文字 (CHARACTER VARYING) 型 定義済み 90 長さ (syscolumns) 25 参照: 可変長文字 (VARCHAR) 型 可変長文字 (VARCHAR) 型 各国語可変長文字 (NVARCHAR) 型への変換 175 出力不可能文字 119 照合 119 数値の格納 119 定義済み 118 長さ (syscolumns) 25 マルチバイト文字 119 参照: 可変長文字 (CHARACTER VARYING) 型 画面のカラー属性と強調属性 空のセット 131 カルテシアン結合 環境変数 (続き) 205 DBCENTURY 165 DBDATE 92, 168 189 環境 変数 DBDELIMITER ANSIOWNER 161 DBEDIT GLOBAL_DETACH_INFORM IFX_EXTDIRECTIVES 30 TOBIGINT 157 DBFLTMASK 172 DBLANG 172 222 DBMONEY 環境構成ファイル chkenv でのデバッグ 151 UNIX での環境変数の設定 環境変数 xii アルファベット順にリスト 型の 146 現在の設定を表示 146, 148 DBPRINT 178 DBREMOTECMD 178 DBSPACETEMP 179 156 DBTEMP 153 構成ファイル内 146 コマンド行で 146 コマンド行ユーティリティで ログイン ファイル内 147 Windows 環境で 147 設定解除 150, 154, 186 設定する場所 149 設定の上書き 148, 186 設定の修正 150 設定方法 Bourne シェル内 149 C シェル内 149 Korn シェル内 149 トピックによるリスト 224 AC_CONFIG 160 AFDEBUG 161 autoexec.bat での設定 154 Bourne シェルでの設定方法 149 C8BITLEVEL 156 CLIENT_LOCALE 157, 170 CPFIRST 162 DBACCNOIGN 163 DBANSIWARN 164 DBBLOBBUF 164 181 DBTIME 96, 181 DBUPSPACE 184 DB_LOCALE 157 DEFAULT_ATTACH DELIMIDENT 185 ENVIGNORE 186 153 固有 Windows アプリケーションに対する シェル ファイル内 149 システム アプリケーションで レジストリ エディタで 152 106, 173 DBNLS 174 DBONPLOAD 176 DBPATH 176 150, 154 コマンド行ユーティリティ 参照範囲 153 設定 171 171 153 152 ESQLMF 157 FET_BUF_SIZE 185 161, 187 GLOBAL_DETACH_INFORM GLS8BITSYS 157 187 GL_DATE 92, 168 GL_DATETIME 96, 168 IBM_XPS_PARAMS 188 IFMX_CART_ALRM 189 IFMX_OPT_NON_DIM_TABS 190 IFX_DEF_TABLE_LOCKMODE 191 IFX_DIRECTIVES 192 IFX_EXTDIRECTIVES 192 IFX_LONGID 193 IFX_NETBUF_PVTPOOL_SIZE 194 IFX_NETBUF_SIZE 195 IFX_NO_TIMELIMIT_WARNING 195 IFX_OPT_FACT_TABS 190 IFX_PAD_VARCHAR 195 IFX_UPDDESC 196 IFX_XASTDCOMPLIANCE_XAEND 196 IMCADMIN 197 IMCCONFIG 197 IMCSERVER 198 INFORMIXC 198 INFORMIXCONCSMCFG 199 索引 341 環境変数 (続き) 環境変数 (続き) INFORMIXCONRETRY 199 INFORMIXCONTIME 199 TERMINFO 222 THREADLIB 222 INFORMIXCPPMAP UNIX での優先順位のルール INFORMIXDIR 201 UNIX 標準システム 201 152 146 INFORMIXKEYTAB 201 INFORMIXOPCACHE 202 USETABLENAME 223 Windows 環境での取り扱い INFORMIXSERVER Windows での優先順位のルール 202 INFORMIXSHMBASE 203 INFORMIXSQLHOSTS 204 INFORMIXSTACKSIZE 204 XFER_CONFIG 環境変数の設定 UNIX で 148 INFORMIXTERM 205 INF_ROLE_SEP 206 INTERACTIVE_DESKTOP_OFF Windows で 152 環境変数の設定解除 150 関係演算子 90, 140 ISM_COMPRESSION 206 監査 分析オフィサ 参照: AAO 関数 207 ISM_DEBUG_FILE 207 ISM_DEBUG_LEVEL 207 ISM_ENCRYPTION 208 206 107 BLOB 型列 87 CLOB 型列 91 関数インデックス 42, 132 JAVA_COMPILER 209 JVM_MAX_HEAP_SIZE 209 間接的な型指定 112, 113 管理リスナ ポート キー 一般化 46, 57 Korn シェルでの設定方法 149 LD_LIBRARY_PATH 210 342 155 223 複合データ型のサポート 130 マルチセット (MULTISET) 型列 ISM_MAXLOGSIZE 208 ISM_MAXLOGVERS 208 JAR_TEMP_PATH 209 LIBERAL_MATCH 210 LIBPATH 210 NODEFDAC 211 ONCONFIG 211 OPTCOMPIND 212 OPTMSG 213 OPTOFC 213 OPT_GOAL 214 PATH 214 PDQPRIORITY 215 PLCONFIG 216 PLOAD_LO_PATH 217 PLOAD_SHMBASE 217 PSORT_DBTEMP 218 PSORT_NPROCS 218 RTREE_COST_ADJUST_VALUE SERVER_LOCALE 159 SHLIB_PATH 220 STMT_CACHE 220 TERM 221 TERMCAP 221 152 219 IBM Informix SQL ガイド: 参照 197 外部 240, 269 主 27, 56, 70, 240, 272 キー走査 13 キータブ ファイル 201 キー表 201 キーボード入出力 INFORMIXTERM 設定 205 TERM 設定 221 TERMCAP 設定 221 TERMINFO 設定 222 キーワード 構文ダイアグラム内 xvi 記憶域識別子 186 規格準拠 業界標準 xxv 期限付きライセンス (IFX_NO_TIMELIMIT_WARNING) 記号表 52, 53 規則 構文記法 xiii 195 規則 (続き) 空白 (続き) 構文ダイアグラム コマンド行 xv サンプル コード 表記 xiii xvii 区切り記号 時間隔 (INTERVAL) 型値 xii 表記上 xii キャスト 133, 139 暗黙的 時間隔 (INTERVAL) 型区切り記号 102 日時 (DATETIME) 型区切り記号 94 識別子用 185 日時 (DATETIME) 型値 フィールド用 18, 137 102 94 36, 171 組込み 18, 134, 137 ディスティンクト (DISTINCT) 型 138 テキスト (TEXT) 型から CLOB 型へ 117 区切り識別子 185 組込みアクセス方法 13, 15 組込みキャスト 17, 134 バイト (BYTE) 型から BLOB 型へ 89 明示的 18, 137 優先順位のルール 137 組込み集計関数 12, 104, 107, 115 組込みデータ型 キャスト 134, 139 syscasts データ キャストの許可 継承 44, 110 等価性 110 名前付き 名前なし リスト 17 キャスト (::) 演算子 行 (ROW) 型 132 値の挿入 111 137, 140 139 109, 132 110, 132 フィールド 15, 132 sysattrtypes データ 15 sysxtddesc データ 71 sysxtdtypes データ 71, 72 行 (ROW) 型のフィールド 132 業界標準 参照: 準拠 業界標準、準拠 xxv, 78 強調属性 205 共有メモリ INFORMIXSHMBASE 203 PLOAD_SHMBASE 217 共有ライブラリ 194 共用環境構成ファイル 151 切捨て 89 金額 (MONEY) 型 各国対応金額書式 106 組込みキャスト 135 定義済み 105 長さ (syscolumns) 26 表示形式 173 空間の問合せ 220 空白 210 120 syscolumns.coltype コード sysdistrib.type コード 32 sysxtdtypes データ 73 23 クライアント/サーバ 共有メモリ通信セグメント 203 クライアント セッション用のスタック サイズ デフォルトのデータベース Datablade API 123 204 202 INFORMIXSQLHOSTS 環境変数 クラスタ化 13, 39, 43 204 繰返し可能読込み 212 クリデンシャル 202 グリニッジ 標準時 (GMT) 188 グループ Informix 173 グローバル ネットワーク バッファ プール 195 グローバルな分離インデックス 39 警告メッセージ 33, 164 形式 DBDATE での日付 (DATE) 型値 169 DBFLTMASK での DECIMAL(p) の値 172 DBFLTMASK での小桁実数 (SMALLFLOAT) 型 172 DBFLTMASK での実数 (FLOAT) 型値 172 DBMONEY での金額 (MONEY) 型値 173 DBTIME での日時 (DATETIME) 型値 181 GL_DATE での日付 (DATE) 型値 184 GL_DATETIME での日時 (DATETIME) 型値 184 形式マスク DBDATE で 168 DBFLTMASK で 172 DBMONEY で 173 索引 343 形式マスク (続き) 構成パラメータ (続き) DBTIME で 182 GL_DATE で 184 DEF_TABLE_LOCKMODE DIRECTIVES 192 GL_DATETIME で 継承階層構造 DISABLE_B162428_XA_FIX 44, 111 結合、カルテシアン 結合関数 12 結合操作 184 END 189 9, 180 結合方法 212 結合列 238, 285 権限 148, 173 196 212 MITRACE_OFF NODE 212 65, 66 OPCACHEMAX 202 OPTCOMPIND 212 OPT_GOAL 214 STACKSIZE 205 言語 情報スキーマ ビュー sql_languages 77 ストアド プロシジャ言語 (SPL) 131, 167, 170 C 191 STMT_CACHE 220 USEOSTIME 96 構成ファイル 接続用 58, 162, 198 CLIENT_LOCALE 設定 C++ 201 DBLANG 設定 172 153, 170 198, 202, 204 端末入出力用 205, 221 通信サポート モジュール用 199, 201 データベース サーバ用 186, 211 Extensible Markup Language (XML) 91 Hypertext Markup Language (HTML) 91 Informix ESQL/C 123, 131, 222 ハイパフォーマンス ローダ用 216 MaxConnect 用 197 onxfer ユーティリティ用 223 Java 161, 209 syslangauth データ ON-Bar ユーティリティ用 .cshrc ファイル 149 45 sysroutinelangs データ 参照: ロケール 現在日付 29, 166 58 コード セット 照合順序 119 東アジア 90, 119, 184 変換 225 ASCII 36 EBCDIC 36, 79 ISO 8859-1 xi, 33 コード、サンプル、の規則 xvii コード例の表記規則 xvii 広域言語サポート (GLS) x, 174 交換子関数 53 降順インデックス 42 更新トリガ 68 更新表示 196 構成 パラメータ EXT_DIRECTIVES 30, 193 TABLESPACE 180 構成パラメータ COSERVER 212 DBSPACETEMP 180 344 IBM Informix SQL ガイド: 参照 160 .informix 148, 151, 186, 192 .login ファイル 149 .profile ファイル 149 構造化問合せ言語 (SQL) 164 参照: SQL 文 構文セグメント xv 構文ダイアグラム キーワード xvi スクリーン リーダ (読上げソフトウェア)での読取り 289 の規則 xiii 変数 xvii コサーバ sysexternal データ 36 sysviolations データ 70 固定小数点 97, 105, 173 固定長 UDT 73 コマンド行の表記規則 サンプル ダイアグラム xv 読み方 xv コメント インディケータ 148 コメント行 148 小文字アクセス権コード 7, 21, 37, 62, 71 算術計算 (続き) 固有の数値 シリアル (SERIAL) 型 112 8 バイト シリアル (SERIAL8) 型 113 参照: 順次整数 日付 (DATE) 型オペランド 文字列オペランド 90 参照制約 コレクション (COLLECTION) 型 空 131 キャスト マトリックス syssequences データ 59 syssynonyms データ 59 139 syssyntable データ 103 日時 (DATETIME) 型区切り記号 60 systabauth データ 62 systables データ 63 シェル sysattrtypes データ 15 sysxtddesc データ 71 sysxtdtypes データ 71, 72 コロン (:) キャスト (::) 演算子 137 時間隔 (INTERVAL) 型区切り記号 28, 56, 70, 240, 285 シーケンス セット (SET) 型 114 定義済み 130 マルチセット (MULTISET) 型 106 リスト (LIST) 型 92, 126 検索パス 214 ファイル内での環境変数の設定 リモート 178 149 DBREMOTECMD でサブディレクト リを指定 視覚障害 構文ダイアグラムの読取り 時間値 102 94 パス名分離文字 210 コンストラクタ 115, 131 「コントロール パネル」の「システム」 289 DBCENTURY 設定 165 DBDATE 設定 168 DBTIME 設定 181 155 コンパイル マルチスレッド ESQL/C アプリケーション ESQL/C プログラム 162 178 222 時間隔 (INTERVAL) 型 式 123, 128, 129 INFORMIXC 設定 198 JAVA_COMPILER 設定 209 [サ行] 削除トリガ 68 サブスクリプト 89, 117 サポート関数 ディスティンクト (DISTINCT) 型 132 不透明 (OPAQUE) 型 108, 130 ルーチン識別子 52 サマリ 環境変数の、サーバの種類による 156 環境変数の、トピックによる 224 システム カタログ表の、サーバの種類による データ型の 84 算術計算 演算子 140 時間隔 (INTERVAL) 型オペランド 101, 125 時刻型オペランド 123 整数オペランド 100, 114, 116 日時 (DATETIME) 型オペランド 125 GL_DATETIME 設定 184 USEOSTIME パラメータ 96 10 定義済み 100 長さ (syscolumns) 26 フィールド区切り記号 102 磁気記憶装置媒体 17 式ベースのフラグメント化 38, 167, 170 識別子内の空白 185 次元表、プッシュダウン ハッシュ 結合内の 時刻データ型 算術計算 123 長さ (syscolumns) 26 リスト 120 指数 98 指数表記 96 システム アプリケーション 153 システム カタログ sysaggregates 12 sysams 12 sysattrtypes 15 sysblobs 16 syscasts 17 syschecks 18 190 索引 345 システム カタログ (続き) システム カタログ (続き) syscheckudrdep 19 syscolattribs 20 sysviews 69 sysviolations 70 syscolauth sysxtddesc 21 syscoldepend 21 syscolumns 23 sysconstraints 27 sysdefaults 29 71 sysxtdtypeauth 71 sysxtdtypes 72 システム カタログ表 アクセス 9 sysdepend 30 sysdirectives 30 sysdistrib 31 アクセス権 21, 37, 61, 68, 71 アクセス方法 12, 60 依存性 30, 46 sysdomains 32 syserrors 32 sysextcols 34 インデックス 40, 43, 57 演算子クラス 47 外部表 34, 35, 36 sysextdfiles キャスト 35 17 sysexternal 36 sysfragauth 37 sysfragments 38 継承 44 更新 9, 10 参照制約 27, 56, 70 sysindexes 40 sysindices 43 sysinherits 44 シーケンス オブジェクト 59 シノニム 59, 60 シンプル ラージ オブジェクト syslangauth 45 syslogmap 45 スマート ラージ オブジェクト 制約 18, 21, 27 sysnewdepend 46 sysobjstate 46 制約違反 70 データ配分 31 sysopclasses 47 sysopclstr 48 sysprocauth 50 sysprocbody 51 sysprocedures 52 sysprocplan 55 sysreferences 56 sysrepository 57 sysroleauth 57 sysroutinelangs 58 syssequences 59 syssynonyms 59 syssyntable 60 systabamdata 60 systabauth 61 systables 63 systraceclasses 65 systracemsgs 66 systrigbody 66 systriggers 68 sysusers 68 データベース サーバが使用 4 データベース表 63 定義済み 2 デフォルト値 29 トリガ 66, 68 トレース クラス 65 トレース メッセージ 66 内容の変更 9 認証識別子 69 光クラスタ 48 ビュー 63, 69 表のリスト 10 複合データ型 15, 72 フラグメント化 37, 38 プログラム言語 45, 58 メッセージ 32, 66 ユーザ定義集計関数 12 ユーザ定義データ型 71, 72 ルーチン 50, 51, 52, 55 例 syscolauth 7 346 IBM Informix SQL ガイド: 参照 16 20 システム カタログ表 (続き) 例 (続き) システム カタログ表 sysroleauth syscolumns 5 sysindexes 7 systabauth systables 57 システム カタログ表 sysroutinelangs 58 システム カタログ表 syssequences 59 システム カタログ表 syssynonyms 59 システム カタログ表 syssyntable 60 システム カタログ表 systabamdata 60 6 4 列 23 ロール 58 参照: システム カタログ システム カタログ表 sysaggregates システム カタログ表 systabauth 12 61 システム カタログ表 systables 63 システム カタログ表 systraceclasses 65 システム カタログ表 systracemsgs 66 システム カタログ表 sysams 12 システム カタログ表 sysattrtypes 15 システム カタログ表 systrigbody 66 システム カタログ表 systriggers 68 システム カタログ表 sysblobs 16 システム カタログ表 syscasts 17, 133 システム カタログ表 sysusers 68 システム カタログ表 sysviews 69 システム カタログ表 syschecks 18 システム カタログ表 syscheckudrdep 19 システム カタログ表 syscolattribs 20 システム カタログ表 sysviolations 70 システム カタログ表 sysxtddesc 71 システム カタログ表 sysxtdtypeauth 71 システム カタログ表 syscolauth 21 システム カタログ表 syscoldepend 21 システム カタログ表 syscolumns 23 システム カタログ表 sysxtdtypes システム環境変数 156 システム管理者 (DBA) 3 システム カタログ表 sysconstraints システム要件 27 72, 108, 109 システム カタログ表 sysdefaults 29 システム カタログ表 sysdepend 30 システム カタログ表 sysdistrib 31 ソフトウェア x データベース x 私設ネットワーク バッファ プール システム システム システム システム システム システム システム システム システム システム システム システム システム システム システム システム システム システム システム システム システム システム 実行可能プログラム 214 実行時 警告 (DBANSIWARN) 164 実数 (DOUBLE PRECISION) 型 参照: 実数 (FLOAT) 型 実数 (FLOAT) 型 組込みキャスト 135 定義済み 99 表示形式 172, 173 シノニム syssynonyms データ 59 syssyntable データ 60 systables データ 63 USETABLENAME 設定 223 主アクセス方法 13, 60 集計関数 組込み 104, 107, 115 コレクション引数なし 104, 107, 115 テキスト (TEXT) 型引数なし 117 バイト (BYTE) 型引数なし 88 ユーザ定義 12 sysaggregates データ 12 カタログ表 カタログ表 カタログ表 カタログ表 カタログ表 カタログ表 カタログ表 カタログ表 カタログ表 カタログ表 カタログ表 カタログ表 カタログ表 カタログ表 カタログ表 カタログ表 カタログ表 カタログ表 カタログ表 カタログ表 カタログ表 カタログ表 sysdomains 32 syserrors 32 sysextcols 34 sysextdfiles 35 sysexternal 36 sysfragauth 37 sysfragments 38 sysindexes 40 sysindices 43 sysinherits 44 syslangauth 45 syslogmap 45 sysnewdepend 46 sysobjstate 46 sysopclasses 47 sysopclstr 48 sysprocauth 50 sysprocbody 51 sysprocedures 52 sysprocplan 55 sysreferences 56 sysrepository 57 194, 195 索引 347 順次整数 (続き) 修飾子 CLASS 54 COSTFUNC trigid コード 68 udr_id コード 19 54 HANDLESNULLS INTERNAL 順序付けされた位置 53 上位型 54 NEGATOR 54 NOT VARIANT 上位表 44, 277, 284 小桁実数 (REAL) 型 参照: 小桁実数 (SMALLFLOAT) 型 小桁実数 (SMALLFLOAT) 型 53 PARALLELIZABLE 54 SELCONST 54 STACK 54 VARIANT 53 組込みキャスト 定義済み 115 主キー 28, 56, 70, 112, 113, 234, 272 主スレッド 205 出力サポート関数 105 出力不可能文字 可変長文字 (VARCHAR) 型 119 テキスト (TEXT) 型 117 文字 (CHAR) 型 90 準拠 SQL の ANSI/ISO 標準 74, 164 sql_languages.conformance 78 XPG4 標準 76 X/Open CAE 規格 74 順次整数 シリアル (SERIAL) 型 112 8 バイト シリアル (SERIAL8) 型 113 aggid コード 12 am_id コード 13 classid コード 65 constrid コード 28 extended_id コード 73 id コード 30, 32 langid コード 58 msgid コード 66 opclassid コード 47 planid コード 55 procid コード 52, 53 seqid コード 59 tabid コード 5, 59, 63 348 定義済み 128 UNITS 128 修正された問題と既知の問題についてのファイル 終了関数 12 IBM Informix SQL ガイド: 参照 135 表示形式 172, 173 小桁整数 (SMALLINT) 型 組込みキャスト 135 修飾子フィールド 時間隔 (INTERVAL) 型 101 日時 (DATETIME) 型 93 EXTEND 103 44, 110 xix 116 長さ (syscolumns) 25 照合 各国語文字 (NCHAR) 型 107 可変長文字 (VARCHAR) 型 テキスト (TEXT) 型 117 文字 (CHAR) 型 89, 90 CLOB 型 119 92 GL_COLLATE 表 65 server_attribute データ 79 小数桁数、表示 172 小数点 10 進基数 97 DBFLTMASK 設定 172 DBMONEY 設定 173 小数点以下桁数 77, 97, 172 小数点記号 173 小数点付き 10 進数フォーマットの構文ダイアグラム 289 上段シフト モード コード 54 情報スキーマ ビュー アクセス 75 生成 74 定義済み 74 列 76 server_info 78 sql_languages 77 tables 75 初期化関数 12, 58 所有者ルーチン 54, 211 シリアル (SERIAL) 型 値の挿入 112 シリアル (SERIAL) 型 (続き) 制約 (続き) 値のリセット 112 定義済み 112 長さ (syscolumns) 主キー 固有の 8 バイト シリアル (SERIAL8) 型値 固有のシリアル (SERIAL) 型値 25 身体障害、視覚 構文ダイアグラムの読取り 診断表 70 289 sysconstraints データ 27 sysreferences データ チェック 56 シンプル ラージ オブジェクト 作成日時の値 格納場所 (sysblobs) 定義済み 121 数値データ型 ロード時のパフォーマンス syschecks データ 18 syscheckudrdep データ 19 16 間のキャスト 134 文字型へのキャスト 135 リスト 120 参照: 10 進数 (DECIMAL) 型 スクリーン リーダ (読上げソフトウェア) 構文ダイアグラムの読取り スタック サイズ 54, 204 整数 (INTEGER) 型 組込みキャスト 135 定義済み 100 長さ (syscolumns) 25 整数 (INT) 型 参照: 整数 (INTEGER) 型 精度 回数 76, 96, 99, 100, 115 時間値の 92, 101, 125, 128 通貨額 105 制約 違反 70 オブジェクト モード 46 固有の sysconstraints データ 27 参照 stores_demo、データ 240 superstores_demo、データ 285 sysconstraints データ 27 sysreferences データ 56 syscoldepend データ 21 sysconstraints データ 27 269 列 sysconstraints データ 27 NOT NULL コレクション (COLLECTION) 型 ステージング領域 BLOB 領域 202 ストアド プロシジャ言語 (SPL) 52, 131, 167 syscolattribs データ 20 参照: SB 領域 スマート ラージ オブジェクト ハンドル 170 表 289 すべてのマニュアルのマニュアル セット スマート ラージ オブジェクト 定義済み 122 113 112 104, 107, 115, 131 syscoldepend データ 21 syscolumns データ 24 xxii sysconstraints データ 27 接続 コサーバ 203 認証 201 217 INFORMIXCONRETRY 環境変数 199 INFORMIXCONTIME 環境変数 199 INFORMIXSERVER 環境変数 202 接続情報 197, 204 絶対数値データ型 77 設定解除ユーティリティ 150 セット (SET) 型、定義された 114 セルフ結合 6 ゼロ (0) 終端記号としての C NULL 119 整数の小数点以下桁数 77, 96 1 桁の年の埋込み 166 10 進数 (DECIMAL) 型、小数点以下桁数 16 進数字 171 DBDATE 区切り記号 169 DBFLTMASK による埋込み 172 DBTIME による埋込み 183 IFX_DIRECTIVES 設定 192 IFX_LONGID 設定 194 IFX_NETBUF_PVTPOOL_SIZE 設定 195 INFORMIXOPCACHE 設定 202 96 索引 349 ゼロ (0) (続き) ISM_DEBUG_LEVEL 設定 208 OPTCOMPIND 設定 212 チャンク 121, 179 中括弧 ({ }) 記号 131 OPTMSG 設定 213 直列化可能トランザクション 通貨記号 106, 174 OPTOFC 設定 213 通信サポート モジュール PDQPRIORITY 設定 215 PSORT_NPROCS 設定 219 STMT_CACHE 設定 220 sysams 値 13, 14 sysfragments.hybdpos sysindices.nrows 43 39 systables.type_xid 64 sysxdtypes 値 73 線形コード 66 選択トリガ データ圧縮 207 データ暗号化 208 データ依存性 sysnewdepend データ 151, 186 走査コスト 14 送受信 (SENDRECV) 型 138 x [タ行] 帯域幅 196 大括弧 ([ ] ) 記号 117 タイムゾーン、指定 188, 189 単項算術演算子 140 単精度浮動小数点数 109, 115 端末処理 INFORMIXTERM の設定 205 TERM の設定 221 TERMCAP の設定 221 TERMINFO の設定 222 チェック制約 作成日時の値 167, 170 syschecks データ 18 syscheckudrdep データ 19 syscoldepend データ 21 sysconstraints データ 28 350 データ ウェアハウジング 267 データ ディクショナリ 2 データ ページ 20, 42, 64 19 syscoldepend データ 21 sysdepend データ 30 DBSPACETEMP 環境変数 179 PSORT_DBTEMP 環境変数 218 PSORT_NPROCS 環境変数 218 参照: 照合 ソート マージ結合 212 挿入トリガ 68 ソフトウェア要件 199, 202 32 syscheckudrdep データ 68 選択の水準定数 54 専用環境変数ファイル ソート 通知メッセージ 79 IBM Informix SQL ガイド: 参照 46 データ型 概算 76 拡張 129 各国語可変長文字 (NVARCHAR) 型 各国語文字 (NCHAR) 型 107 108 カテゴリによる分類 82 可変長文字 (CHARACTER VARYING) 型 キャスト 133, 139 行 (ROW) 型 109, 110 金額 (MONEY) 型 105 継承 110 固定小数点 97 固有の数値 113 コレクション 130 サマリ リスト 84 時間隔 (INTERVAL) 型 100 実数 (DOUBLE PRECISION) 型 99 実数 (FLOAT) 型 99 順次整数 113 小桁実数 (REAL) 型 109 小桁実数 (SMALLFLOAT) 型 115 小桁整数 (SMALLINT) 型 116 シリアル (SERIAL) 型 112 シンプル ラージ オブジェクト 121 数値データ型 108 スマート ラージ オブジェクト 122 整数 (INTEGER) 型 100 整数 (INT) 型 100 絶対数値 76 セット (SET) 型 114 90 データ型 (続き) データベース (続き) ディスティンクト (DISTINCT) 型 テキスト (TEXT) 型 116 内部の 98, 132 stores_demo 内の結合 86 名前付き行型 sales_demo 267 stores_demo 233 109 superstores_demo 名前なし行型 110 日時 (DATETIME) 型 バイト (BYTE) 型 日付 (DATE) 型 ブール 87 複合 129 239 269, 271 syscrd 3 sysmaster 3 92 88 sysutils 92 3 sysuuid 3 データベース オブジェクトのオブジェクト モード データベース サーバ 浮動小数点 96, 100, 115 不透明 (OPAQUE) 型 108, 133 変換 133 コード セット 79 コサーバ名 203 サーバ名 29, 177 マルチセット (MULTISET) 型 106 情報スキーマ ビューの属性 文字 (CHARACTER) 型 86, 90 文字 (CHAR) 型 89 ラージ可変長文字 (LVARCHAR) 型 デフォルト接続 202 デフォルト排他レベル 問合せの最適化 214 105 リスト (LIST) 型 103 10 進数 (DECIMAL) 型 96 10 進数 (DEC) 型 96 78 79 に対するパス名 176 役割分担 206 リモート 162, 187 8 バイト シリアル (SERIAL8) 型 113 8 バイト整数 (INT8) 型 100 データベース サーバ グループ 203 データベース サーバ管理者 (DBSA) 206 BLOB 型 87 CLOB 型 91 データベース システム管理者 (DBSA) データベース sales_demo VARCHAR 118 データ型揃え 18, 73 データ型の変換 可変長文字 (VARCHAR) 型と各国語可変長文字 (NVARCHAR) 型 175 数値型から数値型へ 134 数値型と文字列 135 整数 (INTEGER) 型と日付 (DATE) 型 136 日付 (DATE) 型と日時 (DATETIME) 型 136 文字 (CHAR) 型と各国語文字 (NCHAR) 型 175 列の再入力 133 データ整合性 78 データの破損 9, 20 データ配分 9, 31, 184 データベース アクセス権 68 オブジェクト リレーショナル 267 オブジェクト、sysobjectstate データ 46 次元 268 データ型 82 ID 185 46 3 定義済み 269 表 customer、列 269 表 geography、列 269 表 product、列 269 表 sales、列 270 表 time、列 270 データベース sales_demo の表 customer 269 データベース sales_demo の表 geography 269 データベース sales_demo の表 product 269 データベース sales_demo の表 sales 270 データベース sales_demo の表 time 270 データベース stores_demo の 表 cust_calls 237 データベース stores_demo の 表 stock 236 データベース stores_demo の表 call_type 237 データベース stores_demo の表 customer 234 データベース stores_demo の表 items 235 データベース stores_demo の表 state 238 データベース superstores_demo 主キーと外部キーの関係 285, 287 定義済み 271 表 call_type、列 272 索引 351 データベース superstores_demo (続き) テキスト (TEXT) 型 (続き) 表 catalog、列 272 表 customer、列 274, 275 照合 117 制御文字 117 表 cust_calls、列 制限 表 items、列 273 ブール式 276 117 表 manufact、列 279 表 orders、列 277, 278, 279 GROUP BY の使用 117 LIKE または MATCHES の使用 表 sales_rep、列 ORDER BY の使用 280 表 stock、列 281 表 stock_discount、列 表の構造 271 定義済み 116 問合せ 117 長さ (syscolumns) 282 26 データベース superstores_demo の表 call_type 272 データベース superstores_demo の表 customer 274, 275 データベース superstores_demo の表 cust_calls 273 バッファ サイズの設定 164 バッファ サイズの増加 164 CLOB 型へのキャスト 117 データベース superstores_demo の表 items sysblobs データ 276 データベース superstores_demo の表 manufact 279 データベース superstores_demo の表 orders 277, 278, 279 16 sysfragments データ 38 デフォルト 一時 DB 領域 181 データベース superstores_demo の表 region 280 データベース superstores_demo の表 sales_rep 280 データベース superstores_demo の表 state 280 印刷プログラム 178 演算子クラス 13, 48 金額 (MONEY) 型の小数点以下桁数 データベース superstores_demo の表 stock 281 データベース superstores_demo の表 stock_discount 結合方法 212 構成ファイル 212 データベース superstores_demo の表 units データベース sysmaster 3 初期化 146, 203 対システム カタログ表 3 データベース sysutils 3 データベース sysuuid 3 データベース識別子 186 テープ管理 DBREMOTECMD の設定 178 ディスク領域 一時データ用 180 データ配分用 184 ディスティンクト (DISTINCT) 型 キャスト 138 定義済み 98 sysxtdtypes データ 99 ディスティンクト (Distinct) 型 sysxtddesc データ 71 sysxtdtypes データ 72, 74 テキスト エディタ 171 テキスト (TEXT) 型 値の挿入 117 出力不可能文字 117 352 IBM Informix SQL ガイド: 参照 282 282 117 117 106 コンパイル順序 162 詳細レベル 208 世紀 166, 183 接続 203 ソート用ディスク領域 184 データ型 111 データベース サーバ 177, 202 テキスト エディタ 171 問合せ オプティマイザ ゴール 214 日時 (DATETIME) 型表示フォーマット 排他レベル 79 ヒープ サイズ 209 日付 (DATE) 型区切り記号 169 日付 (DATE) 型表示フォーマット 92 表アクセス権 211 フェッチ バッファ サイズ 187 分離インデックス 185 並列処理のレベル 216 メッセージ ディレクトリ 172 文字 (CHAR) 型の長さ 89 ロック モード 191 10 進数 (DECIMAL) 型精度 96 C コンパイラ 198 96 デフォルト (続き) SQL 識別子用の文字セット sysdefaults.default 29 termcap ファイル デフォルト ロケール 日時 (DATETIME) 型 拡張精度 125 185 221 xi 年の値の省略形 190 EXTEND 関数 認証識別子 systriggers データ 68 ドル記号 ($) 106, 173 トレース クラス 65 トレース文 66 [ナ行] 名前付き 行型 定義済み 109 名前付き行型 型付き表 110 キャストの許可 139 継承 44, 110 定義 109 等価性 110 参照: 行 (ROW) 型 名前なし行型 値の挿入 111 宣言 111 定義済み 110 参照: 行 (ROW) 型 136 93 リテラル値 95 2 桁 year 値と DBDATE 変数 ドキュメント ノート xix トランザクション ログ 20, 79, 267 トランザクション排他レベル 79, 212 sysobjstate データ 46 systrigbody データ 66 94 165 フィールド修飾子 日本元号 167, 170 26 日付 (DATE) 型への変換 表示形式 181 統計 (STAT) 型 31 等号演算子 (=) 91 動作ログ ファイル 208 トリガ 作成日時の値 127 年から小数部までの例 sysprocplan データ 55 問合せ最適化のための 外部ディレクティブ 192 問合せ最適化用のディレクティブ 192, 212, 214 174 93 定義済み 92 長さ (syscolumns) 問合せオプティマイザ ドイツ マルク (DM) 通貨記号 94, 96, 102 式 123, 128 精度とサイズ ソース データ デモンストレーション データベース 表 234, 238, 271 定義済み 9 ディレクティブ 192 プッシュダウン ハッシュ結合プラン 各国対応形式 95 126 184 入出力オーバーヘッド 220 入力サポート関数 105 68, 79 認証情報ファイル 201 ネットワーク バッファ 195 ネットワーク環境変数、DBPATH 176 年の値、2 桁と 4 桁 95, 165, 169, 183 年の値の省略形 95, 165, 167, 169, 183 [ハ行] パーセント (%) 記号 182 倍精度浮動小数点数 99 倍精度浮動小数点数 (DOUBLE) 型、C 99 排他レベル 79, 212 バイト (BYTE) 型 値の挿入 88 制限 ブール式 88 GROUP BY の使用 88 LIKE または MATCHES の使用 88 ORDER BY の使用 88 systables.npused 65 定義済み 88 バイト (BYTE) 型列から選択 89 バッファ サイズの設定 164 バッファ サイズの増加 164 BLOB 型へのキャスト 89 sysblobs データ 16 索引 353 バイト (BYTE) 型 (続き) 非確定読込み syscolumns データ 26 sysfragments データ 38 sysopclstr データ 48 sysblobs.type ハイパフォーマンス ローダ 時間隔 (INTERVAL) 型区切り記号 日時 (DATETIME) 型区切り記号 バインド スタイル 78 パス名 39 各国対応日付書式 102 一時 .jar ファイル用 209 インストール用 201 環境変数ファイルへの 151 92 式 123, 126 整数 (INTEGER) へのキャスト ソース データ 126 136 定義済み 92 日時 (DATETIME) 型への変換 年の値の省略形 165 136 表示形式 202 210 48 ヒストグラム 31 日付 (DATE) 型 94 区切り記号 214 クライアントまたは共有ライブラリ用 実行可能プログラム用 214 168 否定素子関数 54 ビュー 情報スキーマ 74 スマート ラージ オブジェクト ハンドル用 217 接続情報用 204 ダイナミック リンク ライブラリ用 210, 220 columns ビュー 76 server_info ビュー 78 sql_languages ビュー 77 データベース サーバ用 並列ソート用 218 sysdepend データ 30 sysindexes ビュー 44 176 メッセージ ファイル用 172 リモート シェル用 178 C コンパイラ用 198 concsm.cfg ファイル用 199 C++ マップ ファイル用 201 termcap ファイル用 221 terminfo ディレクトリへの 222 XBSA メッセージ用 207 xfer_config ファイル用 223 ハッシュ結合 190, 212 ハッシュされた列 39 ハッシング引数パラメータ 60 バッファ 私設ネットワーク バッファ プール 194 ネットワーク バッファ (IFX_NETBUF_SIZE) 195 バイト (BYTE) 型またはテキスト (TEXT) 型ストレ ージ (DBBLOBBUF) 165 フェッチ バッファ (FET_BUFFER_SIZE) 161, 187 浮動小数点表示 (DBFLTMASK) 172 パブリック シノニム 60, 63 パブリック ユーザ名 75 反復関数 12 ヒープ サイズ 209 354 IBM Informix SQL ガイド: 参照 202 17 sysopclstr データ 176, 216 ハイブリッド フラグメント化ストラテジ ハイフン (-) キータブ ファイル用 79 光クラスタ INFORMIXOPCACHE 設定 syssynonyms データ 59 syssyntable データ 60 systabauth データ 61 systables データ 63 sysviews データ 69 tables ビュー 75 表 依存性、sysdepend における 30 一時 179, 181 階層 38, 44, 110, 284 型付き、名前付き行型 110 型なし、名前なし行型 111 継承、sysinherits データ 44 システム カタログ表 12, 72 データベース superstores_demo 内の構造 271 ハッシング引数パラメータ 60 非フラグメント 185 フラグメント化 38 ラージ オブジェクト記憶からの分離 120 列のデータ型の変更 133 ロック モード 191 SE 内で一時 181 syssyntable 内のシノニム 59 表の別名 フィールド修飾子 6 表ベースのフラグメント化 表レベルのアクセス権 PUBLIC 時間隔 (INTERVAL) 型値 101 日時 (DATETIME) 型値 93 38 EXTEND 関数 75 sysfragauth データ systabauth データ ピリオド フィルタ モード 37 フェッチ バッファ 187 フェッチ バッファ サイズ 7, 61 時間隔 (INTERVAL) 型区切り記号 102 日時 (DATETIME) 型区切り記号 94 日付 (DATE) 型区切り記号 169 ビン サブディレクトリ 150 ブール (BOOLEAN) 型 定義済み 87 coltype コード 24 副アクセス方法 162, 187 13, 27, 44, 47, 108 副型 44, 110 複合インデックス 42 複合データ型 129, 132 行 (ROW) 型 132 コレクション (COLLECTION) 型 sysattrtypes データ 15 ブール式 副表 テキスト (TEXT) 型 117 バイト (BYTE) 型の使用 88 ブール (BOOLEAN) 型で 88 38, 44, 277, 284 浮動小数点、10 進数値 不透明 (OPAQUE) 型 記憶域 105 インストール ディレクトリ 環境構成ファイル 151 130 プッシュダウン ハッシュ 結合 次元表 190 ファクト表 190 ファイル アクセス権設定 148 一時 179, 181, 218 シェル 149 SE 用一時ファイル 126 47, 70 キャスト マトリックス 139 スマート ラージ オブジェクト 201 122 定義済み 108 比較 138 181 termcap、terminfo 205, 221, 222 ファイル拡張子 .a 194 .cfg 199 .cmd 155 .ec 162 .ecp 162 .iem 173 .jar 209 .rc 148, 152, 186, 192 .so 194 .sql 74, 176, 186, 267, 271 .std 160, 211, 220 .xps 212 ファクト表 次元の例 268 プッシュダウン ハッシュ結合内の ファンクション キー 205 フィールド区切り記号 DBDELIMITER 171 96, 99, 116, 172 190 sysxtddesc データ 71 sysxtdtypes データ 72 太文字 xii 部分文字 89 プライベート シノニム 63 フラグメント化 式 39, 167, 170 分散ストラテジ 38 ラウンドロビン 38 リスト 39 PDQ の設定優先順位 215 PDQPRIORITY 環境変数 216 PSORT_NPROCS 環境変数 219 sysfragauth データ 37 sysfragments データ 38 プロセス間通信 (IPC) 203 文キャッシュ 220 分散コンピューティング環境 (DCE) 分散問合せ 129, 162, 187 分離インデックス 185 ペーパー マニュアル xxi 222 索引 355 並列ソート、PSORT_NPROCS での設定 文字 (CHARACTER) 型 218 間のキャスト 134 データ ストリング 並列データベース問合せ 参照: PDQ 並列分散問合せ、PDQPRIORITY での設定 ヘブライ語ロケール 89 ペルシア語ロケール ブール比較 215 リスト 25 参照: 文字 (CHAR) 型 文字 (CHAR) 型 各国語文字 (NCHAR) 型への変換 107, 175 組込みキャスト 135 出力不可能文字 90 照合 89, 90, 120 数値の格納 90 定義済み 89 文字の表記規則 xii 文字ベースのアプリケーション 205, 221 文字列 各国語可変長文字 (NVARCHAR) 型 108 各国語文字 (NCHAR) 型 107 可変長文字 (CHARACTER VARYING) 型 91 可変長文字 (VARCHAR) 型 118 時間隔 (INTERVAL) 型リテラル 103 テキスト (TEXT) 型 116 日時 (DATETIME) 型リテラル 95, 127, 183 文字 (CHAR) 型 89 ラージ可変長文字 (LVARCHAR) 型 105 CLOB 型 91 DELIMIDENT セットでの 186 「文字列の編集」ダイアログ ボックス 153 元号ベースの日付 184 xvii ホスト言語 78 ホスト変数 本書の規則 87, 89, 117, 131 xii [マ行] マシン ノート xix, 205 末尾の空白 210 マニュアル、タイプ xviii オンライン マニュアル xxi ペーパー マニュアル xxi マシン ノート xix マルチセット (MULTISET) 型 コンストラクタ 131 定義済み 106 マルチバイト文字 可変長文字 (VARCHAR) 型 119 CLOB 型 91 未確定読込み 79 右から左へのロケール 89 無効オブジェクト 70 明示的キャスト 17, 137 明示的な一時表 180 明示的なパス名 155, 177 メッセージ 最適化された転送 213 チェーニング 213 トレース メッセージ テンプレート 66 要求の削減 213 syserrors 内のエラー 32 syserrors 内の警告 32 メッセージ ファイル DBLANG でサブディレクトリを指定 172 XBSA 207 メモリ キャッシュ、BLOB 領域ステージング用 メンバシップ演算子 140 目的関数 13 356 120 syscolumns データ 89 ヘルプ xxi 変数、構文ダイアグラム内 保護ルーチン 55 85 119 IBM Informix SQL ガイド: 参照 [ヤ行] 202 役割分担 206 ユーザ informix 9, 18, 134 ユーザ環境変数 155 ユーザ定義キャスト 18, 136 ユーザ定義集計関数 12 ユーザ定義データ型 キャスト 136 組込みデータ型へのキャスト 不透明 (OPAQUE) 型 133 sysxtddesc データ 71 sysxtdtypes データ 71, 72 ユーザ定義ルーチン アクセス権 50, 211 133 ユーザ定義ルーチン (続き) ユーティリティ (続き) エラー メッセージ (syserrors) 関数インデックス 185 キャスト (syscasts) 32 17 許可言語 (syslangauth) printenv 45 チェック制約 (syscheckudrdep) 副アクセス方法 27 putenv 19 不透明 (OPAQUE) 型 108 保護 54 sysprocedures データ ユーザ特権 52 syscolauth データ 21 sysfragauth データ 37 syslangauth データ 45 sysprocauth データ 50 systabauth データ 61 sysusers データ 68 sysxtdtypeauth データ 71 ユーザ名 79 ユーティリティ エクスポート onxfer 223 ON-Bar 207, 208 151 147 regedt32.exe set 154 setenv 152 150 Setnet32 148 unsetenv 150, 186 vi 171 優先順位のルール キャストのため 137 固有の Windows アプリケーションに対する ロック モード用 SQL 演算子 140 UNIX 環境変数に対する 152 Windows 環境変数に対する 155 要件、ソフトウェア 149 設定解除 150 ソース 149 archecker 160 chkenv 148, 151 dbexport ユーティリティ 171 dbload 87, 89, 117 dbschema ユーティリティ 34, 35, 36, 55, 223 DB-Access 9, 74, 147, 164, 172, 202, 267 dce_login 202 env 151 gcc 199 getenv 147 ifx_getenv 148 ifx_putenv 148 imcadmin 197 LOAD 文 36 lp 178 lpr 178 MaxConnect 198 oninit 192 onload 87, 89, 117 onpload 176, 217 onstat 189 onutil 189 onutils 188 156 191 x [ラ行] ラージ オブジェクト データ型 定義済み 120 リスト 120 ラージ可変長文字 (LVARCHAR) 型 定義済み 105 不透明 (OPAQUE) 型のキャスト 138 coltype コード 24 ラウンドロビン分散 38 リーフ ページ 39 リジェクト ファイル 36 リスト 環境変数の 156 環境変数の、トピックによる 224 システム カタログ表の 10 データ型の 84 リスト (LIST) 型、定義された 103 リソース競合 215 リモート シェル 178 リモート データベース サーバ 162, 187 リモート テープ デバイス 179 リリース ノート xix ルーチン アクセス権 50 識別子 52 索引 357 ルーチン (続き) ロケール (続き) 所有者 52 ストアド プロシジャ言語 (SPL) 日時 (DATETIME) 型書式 保護 トレース メッセージの マルチバイト 90 131 右から左 181 55 syslangauth データ 65 193 情報スキーマ ビュー 75 IFX_LONGID 設定 193 sysprocplan データ 55 sysroutinelangs データ 58 systraceclasses データ 65 [数字] systracemsgs データ 66 参照: ユーザ定義ルーチン レジストリ エディタ 152 10 進数 (DECIMAL) 型 組込みキャスト 135 固定小数点 97 定義済み 96 列 ディスク記憶装置 97 長さ (syscolumns) 26 27 参照制約 (sysreferences) 56 制約 (sysconstraints) 27 データ型の変更 83, 133 269, 270 データベース stores_demo 234, 238 データベース superstores_demo 272, 282 デフォルト値 (sysdefaults) 29 ハッシュ 39 BLOB 型データの挿入 87 syscolumns データ 23 列レベルのアクセス権 systabauth データ 7 systabauth 表 62 レプリケーション識別子 38 連結 (||) 演算子 140 連結インデックス 40, 168, 219 ロール デフォルト ロール 69 INF_ROLE_SEP 設定 206 sysroleauth データ 57 sysusers データ 69 ロウ UNIX デバイス 179 ロギング モード 20 ロケール x 指定 225, 228 照合順序 65, 120 デフォルト xi 358 192 クライ アント バージョン 45 データベース sales_demo xi ロック表オーバーフロー ロング識別子 sysprocauth データ 50 sysprocbody データ 51 sysprocedures データ 52 値の範囲 89 en_us.8859-1 DataBlade API ルーチン syserrors データ 32 66 IBM Informix SQL ガイド: 参照 表示形式 172, 173 浮動小数点 96 10 進数 (DEC) 型 参照: 10 進数 (DECIMAL) 型 16 進数字 171 2000 年 165 3 桁区切り記号 106 8 バイト シリアル (SERIAL8) 型 値の挿入 114 値のリセット 113 開始値の割当て 113 定義済み 113 長さ (syscolumns) 25 8 バイト整数 (INT8) 型の使用 114 8 バイト整数 (INT8) 型 組込みキャスト 135 定義済み 100 8 バイト シリアル (SERIAL8) 型の使用 A ACCESS キーワード 12, 122 AC_CONFIG 環境変数 160 ac_config.std ファイル 160 AFCRASH 構成パラメータ 161 AFDEBUG 環境変数 161 AIX オペレーティング システム 210 114 ALL 演算子 BLOB 領域 140 ALTER OPTICAL CLUSTER 文 50 ALTER SEQUENCE 文 223 ステージング用メモリ キャッシュ ALTER TABLE 文 名前 186 sysblobs データ キャスト効果 134 追加エクステント サイズ 202 121 17 Borland C コンパイラ シノニム 223 シリアル (SERIAL) 型列 112 198 Bourne シェル 149 BY キーワード 88, 117 9 データ型の変更 83 ロック モード 191 8 バイト シリアル (SERIAL8) 型列 113 systables.version 64 Alter アクセス権 7, 62, 76 am_beginscan( ) 関数 15 am_close( ) 関数 定義済み B+ ツリー インデックス C C コンパイラ スレッド パッケージ 14 39 222 デフォルトの名前 198 INFORMIXC 設定 198 am_getnext( ) 関数 13 am_insert( ) 関数 14 am_open( ) 関数 14 C シェル 149 .cshrc ファイル AND 演算子 19, 140 ANSI 標準準拠 情報スキーマ ビュー .login ファイル 149 CARDINALITY( ) 関数 104, 107, 115 CAST AS キーワード 137 74 日時 (DATETIME) 型リテラル 排他レベル 79 183 パブリック シノニム 60, 63 10 進数 (DECIMAL) 型範囲 97 DBANSIWARN 環境変数 164 DECIMAL(p) 96 -ansi フラグ 164 ANSIOWNER 環境変数 161 ANY 演算子 140 archecker ユーティリティ 160 AS キーワード 137 ASCII コード セット 36 assign( ) サポート関数 130 AT キーワード 104 B B ツリー アクセス方法 15, 42, 185 BETWEEN 演算子 140 BLOB 型 キャスト使用不可 87 データの挿入 87 定義済み 87 coltype コード 24 syscolattribs データ 20 149 chkenv ユーティリティ 148 エラー メッセージ 151 構文 151 CLIENT_LOCALE 環境変数 170 CLOB 型 キャスト使用不可 91 コード セット変換 92 照合 92 データの挿入 91 定義済み 91 マルチバイト文字 91 coltype コード 24 syscolattribs データ 20 CLOSE 文 213 concsm.cfg ファイル 199 CONNECT DEFAULT 文 203 Connect アクセス権 8, 69 CONNECT 文 176, 199, 203 COSERVER 構成パラメータ 203, 212 CPFIRST 環境変数 162 CPU コスト 220 CREATE ACCESS METHOD 文 12 CREATE CAST 文 18, 136 CREATE DATABASE 文 176 CREATE DISTINCT TYPE 文 73, 99, 283 索引 359 CREATE DUPLICATE 文 DB 領域 (続き) 40 CREATE EXTERNAL TABLE 文 34, 36 CREATE FUNCTION 文 58 CREATE IMPLICIT CAST 文 CREATE INDEX 文 して 283 40, 43, 46, 57, 64, 185 格納オプション 185 CREATE OPAQUE TYPE 文 17 表フラグメント用 37 DBA アクセス権 33, 65, 66, 69 DBA ルーチン 54 108 CREATE OPERATOR CLASS 文 名前 186 バイト (BYTE) 型またはテキスト (TEXT) 型値に対 DBACCNOIGN 環境変数 48 CREATE OPTICAL CLUSTER 文 50 CREATE PROCEDURE 文 58, 211 CREATE ROLE 文 57 CREATE ROUTINE FROM 文 58, 211 CREATE ROW TYPE 文 24, 110 CREATE SCHEMA 文 3 163 DBANSIWARN 環境変数 164 DBBLOBBUF 環境変数 164 DBCENTURY 環境変数 定義済み 165 年の省略形の拡張 95, 166 DBDATE の機能に効果 169 CREATE SEQUENCE 文 59 DBDATE 環境変数 CREATE SYNONYM 文 CREATE TABLE 文 型付き表 110 59, 60 DBDELIMITER 環境変数 171 DBEDIT 環境変数 171 dbexport ユーティリティ 171 セット (SET) 型コンストラクタ データ型の設定 83 デフォルトのアクセス権 211 115 92, 168 DBFLTMASK 環境変数 172 DBLANG 環境変数 172 dbload ユーティリティ 87, 89, 117, 171 デフォルトのロック モード 191 CREATE TEMP TABLE 文 180 DBMONEY 環境変数 106, 173 DBNLS 環境変数 174 CREATE TRIGGER 文 68 CREATE VIEW 文 6, 69 DBONPLOAD 環境変数 176 DBPATH 環境変数 176 CURRENT キーワード 124, 188 C++ プログラムのマップ ファイル C++ マップ ファイル 201 201 D DATABASE 文 176 DataBlade モジュール クライアント サーバ API 123 データ型 (sysbuiltintypes) 3 トレース メッセージ (systracemsgs) 65, 66 ユーザ メッセージ (syserrors) 32 DATE( ) 関数 127, 170 DAY キーワード 時間隔 (INTERVAL) 型修飾子 101 日時 (DATETIME) 型修飾子 93 UNITS 演算子 92, 127 DB スライス 39 DB 領域 一時表用 179 システム カタログ用 3 360 IBM Informix SQL ガイド: 参照 DBPRINT 環境変数 178 DBPRINT での印刷 178 DBREMOTECMD 環境変数 178 dbschema ユーティリティ 223 DBSERVERNAME 構成パラメータ 203 dbservername.cmd バッチ ファイル 155 DBSPACE キーワード 38 DBSPACETEMP 環境変数 179 DBSPACETEMP 構成パラメータ 179 DBTEMP 環境変数 181 DBTIME 環境変数 96, 181 DBUPSPACE 環境変数 184 DB-Access ユーティリティ 9, 74, 147, 172, 176, 181, 202 DCE-GSS 通信サポート モジュール (CSM) 201 DECLARE 文 213 DECRYPT_BINARY 関数 91 DECRYPT_CHAR 関数 91 DEFAULT_ATTACH 環境変数 185 DEF_TABLE_LOCKMODE 構成パラメータ 191 Delete アクセス権 37, 62, 211 DELETE 文 EXTEND 関数 9, 70 DELIMIDENT 環境変数 185 DELIMITED ファイル 34, 36 DESCRIBE 文 130 DIRECTIVES 構成パラメータ DROP CAST 文 283 192 DROP DATABASE 文 176 DROP FUNCTION 文 54 DROP INDEX 文 64 DROP OPTICAL CLUSTER 文 50 DROP PROCEDURE 文 54 DROP ROUTINE 文 54 DROP ROW TYPE 文 109 DROP SEQUENCE 文 10, 156, 267 Extensible Markup Language (XML) 91 EXT_DIRECTIVES 構成 パラメータ 30, 193 196 destroy( ) サポート関数 126 Extended Parallel Server (XPS) FALSE 設定 ブール 値 88 CPFIRST 163 ISM_COMPRESSION FETCH 文 213 FET_BUF_SIZE 環境変数 207 161, 187 FILETOBLOB 関数 87 FILETOCLOB 関数 91 FIXED 列形式 34, 36 223 DROP TABLE 文 223 DROP TYPE 文 99, 108 DROP VIEW 文 75, 223 FRACTION キーワード 時間隔 (INTERVAL) 型修飾子 101 日時 (DATETIME) 型修飾子 93 E EBCDIC 照合 36, 79 EMACS テキスト エディタ F 171 ENCRYPT_DES 関数 91 ENCRYPT_TDES 関数 91 END 構成パラメータ 212 env ユーティリティ 151 ENVIGNORE 環境変数 定義済み 148, 186 chkenv ユーティリティとの関係 151 Environment レジストリ キー 153 en_us.8859-1 ロケール xi esql コマンド 162, 198 ESQL/C 日時 (DATETIME) 型ルーチン 182 プログラム コンパイル順序 162 マルチスレッド アプリケーション 222 メッセージ チェーニング 213 ロング識別子 194 esqlc コマンド 162 ESQL/C のスレッド フラグ 222 ESQL/C の静的オプション 193 Execute アクセス権 50, 211 export( ) サポート関数 130 export_binary( ) サポート関数 130 EXT 領域 13 FRAGMENT BY 節 180 FROM キーワード 9, 19 G gcc コンパイラ 199 gcc の文字列オプション 199 GET DIAGNOSTICS 文 33 getenv ユーティリティ 147 GLOBAL_DETACH_INFORM 環境変数 GLS 環境変数 152 GL_COLLATE 表 65 GL_CTYPE 表 65 GL_DATE 環境変数 92, 168, 170 GL_DATETIME 環境変数 96, 168 GNU C コンパイラ 198 GRANT 文 58 GRAPHIC 文字 205 GROUP BY 節 88, 117, 180 187 H HIGH INTEG キーワード ALTER TABLE 文 122 CREATE TABLE 文 122 HIGH キーワード PDQPRIORITY 215 索引 361 HIGH キーワード (続き) Informix の拡張機能検査 (DBANSIWARN) UPDATE STATISTICS 9, 31 HKEY_LOCAL_MACHINE ウィンドウ INFORMIXC 環境変数 198 INFORMIXCONCSMCFG 環境変数 152 INFORMIXCONRETRY 環境変数 HOUR キーワード 時間隔 (INTERVAL) 型修飾子 INFORMIXDIR 環境変数 IBM Informix Dynamic Server (IDS) 10 IBM Informix ESQL/C 162, 169, 182, 194, 213 IBM Informix Extended Parallel Server (XPS) 10, 156 IBM Informix 格納域マネージャ (ISM) 207, 208 IBM_XPS_PARAMS 環境 変数 188 IDS (Informix Dynamic Server) 10 IFMX_CART_ALRM 環境 変数 189 190 IFX_EXTDIRECTIVES 環境 変数 192 IFX_EXTDIRECTIVES 環境変数 30 IFX_LONGID 環境変数 193 IBM Informix SQL ガイド: 参照 INFORMIXSTACKSIZE 環境変数 INFORMIXTERM 環境変数 205 204 informix.rc ファイル 148, 152, 192 INF_ROLE_SEP 環境変数 206 input( ) サポート関数 130 37, 62, 211 INSERT 文 65, 70, 95, 131, 163, 170 INSTEAD OF トリガ 68 INTEG キーワード 122 INTERACTIVE_DESKTOP_OFF 環境変数 ipcshm プロトコル 203 IS NULL 演算子 88, 117 ISM_COMPRESSION 環境変数 194 IFX_NETBUF_SIZE 環境変数 195 IFX_NO_TIMELIMIT_WARNING 環境変数 195 IFX_PAD_VARCHAR 環境 変数 195 IFX_UPDDESC 環境変数 196 IFX_XASTDCOMPLIANCE_XAEND 環境変数 196 IMCADMIN 環境変数 197 imcadmin 管理ツール 197 IMCCONFIG 環境変数 197 IMCSERVER 環境変数 198 IMPEX 型 138 IMPEXBIN 型 138 import( ) サポート関数 130 import_binary( ) サポート関数 130 IN TABLE 格納オプション 185 IN キーワード 38, 88, 107, 111, 115, 117, 140 IN 節 180 Index アクセス権 62 Informix Dynamic Server マニュアル セット xxii Informix サブキー 152 informix 所有者名 9, 18, 31, 40, 43, 63, 173, 206 362 INFORMIXOPCACHE 環境変数 202 INFORMIXSERVER 環境変数 202 INFORMIXSHMBASE、環境変数 203 Insert アクセス権 IFMX_OPT_NON_DIM_TABS 環境変数 190 IFX_DEF_TABLE_LOCKMODE 環境変数 191 IFX_DIRECTIVES 環境変数 192 IFX_NETBUF_PVTPOOL_SIZE 環境変数 201 INFORMIXDIR/bin ディレクトリ xii INFORMIXKEYTAB 環境変数 201 91 I IFMX_OPT_FACT_TABS 環境変数 199 199 INFORMIXCONTIME 環境変数 199 INFORMIXCPPMAP 環境変数 201 101 日時 (DATETIME) 型修飾子 93 HP-UX オペレーティング システム 220 HTML (Hypertext Markup Language) 164 207 ISM_DEBUG_FILE 環境変数 207 ISM_DEBUG_LEVEL 環境変数 207 ISM_ENCRYPTION 環境変数 208 ISM_MAXLOGSIZE 環境変数 208 ISM_MAXLOGVERS 環境変数 208 ISO 8859-1 コード セット xi, 79 J Jar 管理プロシジャ 209 JAR_TEMP_PATH 環境変数 209 Java 仮想マシン (JVM) 161, 209 JAVA_COMPILER 環境変数 209 JIT コンパイラ 209 JVM_MAX_HEAP_SIZE 環境変数 209 K KEEP ACCESS TIME キーワード ALTER TABLE 文 122 CREATE TABLE 文 122 206 Korn シェル NO KEEP ACCESS TIME キーワード 149 ALTER TABLE 文 122 CREATE TABLE 文 122 L NODE 構成パラメータ LD_LIBRARY_PATH 環境変数 NODEFDAC 環境変数 211 NODEFDAC の no 設定 211 LIBERAL_MATCH 環境変数 libos.a ライブラリ 193 LIBPATH 環境変数 210 210 210 NOLOG キーワード ALTER TABLE 文 212 122 LIKE 演算子 88, 117, 140, 210 LOAD 文 87, 89, 117, 171 LOCKMODE キーワード 191 CREATE TABLE 文 122 NONE 設定 ISM_ENCRYPTION 208 LOCOPY 関数 JAVA_COMPILER 209 NOT NULL キーワード 88, 104, 117 87, 91 LOG キーワード ALTER TABLE 文 122 CREATE TABLE 文 122 LOTOFILE 関数 87, 91 LOW キーワード PDQPRIORITY 215 UPDATE STATISTICS NOT NULL 制約 コレクション要素 104, 107, 115, 131 syscoldepend データ 21 sysconstraints データ NOT 演算子 140 31 NULL 値 使用可または使用不可 28 12, 24 テキスト (TEXT) 型 117 バイト (BYTE) 型 88 ブール (BOOLEAN) 型リテラル M MATCHES 演算子 88, 117, 120, 140, 210 MaxConnect 197, 198 88 MEDIUM キーワード 9, 27, 31 Microsoft C コンパイラ 198 O MINUTE キーワード 時間隔 (INTERVAL) 型修飾子 101 日時 (DATETIME) 型修飾子 93 MITRACE_OFF 構成パラメータ 65, 66 mi_collection_card( ) 関数 104, 107, 115 mi_db_error_raise() 関数 32 mkdir ユーティリティ 172 MODERATE INTEG キーワード ALTER TABLE 文 122 CREATE TABLE 文 122 MODIFY NEXT SIZE キーワード 9 MONTH キーワード 時間隔 (INTERVAL) 型修飾子 101 日時 (DATETIME) 型修飾子 93 ODBC ドライバ 210, 220 OFF 設定 IFX_DIRECTIVES 192 PDQPRIORITY 215 ON 設定 IFX_DIRECTIVES 192 ONCONFIG 環境変数 211 onconfig.std ファイル 212, 220 onconfig.xps ファイル 212 oninit コマンド 192 onload ユーティリティ 87, 89, 117 onpload ユーティリティ 176, 217 onstat ユーティリティ 146, 189 onutils ユーティリティ 188 ON-Bar 207 OPCACHEMAX 構成パラメータ 202 OPEN 文 213 OPTCOMPIND 環境変数 212 OPTCOMPIND 構成パラメータ 212 OPTMSG 環境変数 213 N N 設定 sysroleauth.is_grantable NFS ディレクトリ 181 57 索引 363 OPTOFC 環境変数 SB 領域 213 OPT_GOAL 環境変数 214 OPT_GOAL 構成パラメータ OR 演算子 定義済み 名前 214 sysams データ 13 syscolattribs データ 140 ORDER BY 節 88, 117, 180 output( ) サポート関数 systabamdata データ 130 20 61 Schema Tools 148 SECOND キーワード P 時間隔 (INTERVAL) 型修飾子 101 日時 (DATETIME) 型修飾子 93 PAGE ロック モード 63, 191 PATH 環境変数 214 PDQ OPTCOMPIND 環境変数 SELECT INTO TEMP 文 180 Select アクセス権 21, 62, 75, 211 SELECT 文 9, 31 212 send( ) サポート関数 130 SET ALL_MUTABLES 文 216 PDQPRIORITY 環境変数 215 PDQPRIORITY 構成パラメータ 216 PLCONFIG 環境変数 216 plconfig ファイル SET ENVIRONMENT 文 147, 212, 216 SET OPTIMIZATION 文 214 SET PDQPRIORITY 文 215 216 PLOAD_LO_PATH 環境変数 217 PLOAD_SHMBASE 環境変数 217 PostScript 91 SET SESSION AUTHORIZATION 文 SET STMT_CACHE 文 220, 221 SET TEMP TABLE_SPACE 文 set ユーティリティ 154 PREPARE 文 65 PREPARE 文で処理された文 65 printenv ユーティリティ 151 Pseudo-machine コード (p-code) R R ツリー インデックス 185, 219 recv( ) サポート関数 130 References アクセス権 21, 62 regedt32.exe レジストリ エディタ 152 RENAME SEQUENCE 文 223 Resource Grant Manager (RGM) 40 Resource アクセス権 8, 69 REVOKE 文 61 ROW ロック モード 63, 191 Rowids 13 RTNPARAMTYPES 53 RTREE_COST_ADJUST_VALUE 環境変数 S SAVE EXTERNAL DIRECTIVES 文 193 IBM Informix SQL ガイド: 参照 55 180 setenv ユーティリティ 150 Setnet32 ユーティリティ 148 SGML (Standard Graphic Markup Language) 51 PSORT_DBTEMP 環境変数 218 PSORT_NPROCS 環境変数 218 putenv ユーティリティ 147 364 91, 122 186 219 SHLIB_PATH 環境変数 220 SOFTWARE レジストリ キー 152 SOME 演算子 140 SPL の DEFINE 文 112, 113 SPL の LIKE キーワード 112, 113 SPL 変数 131 SPL ルーチン 52, 131, 167, 170 SQL コード xvii SQL (構造化問合せ言語) 164 SQL 通信領域 (SQLCA) 164 SQL 文 ALTER OPTICAL CLUSTER 50 ALTER SEQUENCE 223 ALTER TABLE 9, 64, 223 CLOSE 213 CONNECT 176, 177, 200, 203 CREATE ACCESS METHOD 12 CREATE AGGREGATE 12 CREATE CAST 17, 136 CREATE DATABASE 176 CREATE DISTINCT TYPE 72, 99, 283 91 SQL 文 (続き) SQL 文 (続き) CREATE EXTERNAL TABLE 34, 36 CREATE FUNCTION 58, 211 SET ENVIRONMENT 212, 216 SET ENVIRONMENT CLIENT_TZ CREATE IMPLICIT CAST SET OPTIMIZATION CREATE INDEX 283 4, 40, 43, 46, 57, 64, 185 SET PDQPRIORITY 215 CREATE OPAQUE TYPE 72, 108 CREATE OPERATOR CLASS 47 SET SESSION AUTHORIZATION SET STMT_CACHE 220 CREATE OPTICAL CLUSTER SET TEMP TABLE_SPACE 48, 50 CREATE PROCEDURE 51, 58 CREATE ROLE 57, 69 CREATE ROUTINE FROM 58, 59 CREATE ROW TYPE 72, 110 CREATE SCHEMA AUTHORIZATION CREATE SEQUENCE 59 188, 189 214 55 180 START DATABASE 177 UNLOAD 文 164, 171 UPDATE 88, 116 3 UPDATE STATISTICS 9, 184 UPDATE STATISTICS FOR PROCEDURE UPDATE 文 163 CREATE SYNONYM 文 60 SQL 文字セット CREATE TABLE 文 29, 56, 60 CREATE TRIGGER 68 CREATE VIEW 文 69 SQLHOSTS サブキー 204 sqlhosts ファイル 197, 203, 204 SQLSTATE 値 33 DATABASE 文 177 DECLARE 文 213 DELETE 文 9, 56, 70 sqlwarn 配列 164 STACKSIZE 構成パラメータ 204 Standard Graphic Markup Language (SGML) DESCRIBE 196 DROP CAST 283 START DATABASE 文 176 STMT_CACHE 環境変数 220 DROP DATABASE 177 DROP FUNCTION 54 STMT_CACHE キーワード 220 STMT_CACHE 構成パラメータ 220 DROP INDEX 文 64 DROP OPTICAL CLUSTER 50 DROP PROCEDURE 54 DROP ROUTINE 54 DROP ROW TYPE 109 DROP SEQUENCE 223 DROP TABLE 223 DROP TYPE 99, 108 DROP VIEW 75, 223 FETCH 213 GET DIAGNOSTICS 33 GRANT 文 37, 58, 62, 75 INSERT 文 70, 131, 163, 170 LOAD 文 89, 117, 164, 171 OPEN 213 PREPARE 65 RENAME SEQUENCE 223 RENAME TABLE 文 223 REVOKE 文 61, 68 SELECT 9, 31, 55, 180 SET ALL_MUTABLES 216 stores_demo データベース xi 結合列 239 主キーと外部キーの関係 240 データ値 245 定義済み 233 表 call_type、列 237 表 catalog、列 236 表 customer、列 234 表 cust_calls、列 237 表 items、列 235 表 manufact、列 237 表 stock、列 236 表の構造 233 SUBSTRING 関数 9 superstores_demo データベース xi sysbuiltintypes 表 3 syscrd データベース 3 sysdbclose() ルーチン 147 sysdbopen() ルーチン 147 sysdirectives システム カタログ表 30 SYSTEM() コマンド、NT 上の 206 56 186 91 索引 365 UNIX (続き) T tabid TERM 環境変数 221 TERMCAP 環境変数 221 5, 64 TERM 環境変数 221 TERMCAP 環境変数 221 TERMINFO 環境変数 UNLOAD 文 termcap ファイル INFORMIXTERM の設定 unsetenv ユーティリティ 150 UPDATE STATISTICS FOR PROCEDURE 文 205 TERMCAP の設定 221 TERMINFO 環境変数 222 terminfo ディレクトリ 日時 (DATETIME) 型修飾子 EXTEND 関数 126 TOBIGINT 環境変数 222 TOC (目次) ノート UPDATE STATISTICS 文 43, 184 システム カタログ更新 9 と DBUPSPACE 環境変数 184 sysdistrib 表に効果 31 205, 222 THREADLIB 環境変数 222 TO キーワード 時間隔 (INTERVAL) 型修飾子 222 164, 171 101 93 xix TODAY 演算子 29, 188 TRUE 設定 ブール値 88 CPFIRST 163 ISM_COMPRESSION 207 ISM_ENCRYPTION 208 sysams 表 13, 14 TYPE キーワード 111 sysindices (インデックス統計) 50 sysindices データ 44 Update アクセス権 21, 37, 62, 211 UPDATE 文 70, 88, 116, 196 Usage アクセス権 71 USEOSTIME 構成パラメータ 96 USETABLENAME 環境変数 223 V VARIANT ルーチン 53 vi テキスト エディタ 171 W U UDA 参照: ユーザ定義集計関数 UDR 参照: ユーザ定義ルーチン UDT 参照: ユーザ定義データ型 UDT インデックス 220 Under アクセス権 62 UNITS 演算子 92, 124, 127, 140 UNIX 一時ファイル 218 環境変数 146 デフォルト ロケール xi BSD、デフォルトの印刷ユーティリティ 178 PATH 環境変数 214 System V デフォルトの印刷ユーティリティ 178 terminfo ライブラリ 205, 222 366 IBM Informix SQL ガイド: 参照 WHERE キーワード 9, 19, 117 Windows NT デフォルト ロケール xi Windows 環境 環境変数の設定 147 環境変数の取り扱い 152 Windows レジストリ 152 X X 設定 sysams.am_sptype 13 systabauth.tabauth 62 XBSA 共有ライブラリ 207 デバッグ レコード 208 メッセージ ログ ファイル 207 XFER_CONFIG 環境変数 223 xfer_config ファイル 223 XML (Extensible Markup Language) 91 56 XOR 設定 ($)、ドル記号 208 XPG4 標準 76, 77 XPS (Extended Parallel Server) 10, 156, 267 160, 214 (’)、一重引用符 X/Open 準拠 通貨記号 106, 173 パス名インディケータ ストリング区切り文字 78 情報スキーマ ビュー 74 server_info ビュー 78 乗算演算子 114, 124, 128, 140 ワイルドカード記号 19, 75 systabauth 値 7, 62 (+)、正符号 加法演算子 124, 140 Y Y 設定 DBDATE 174, 186 (*)、アスタリスク 切捨て 169 DBTIME 183 sysroleauth.is_grantable 58 YEAR キーワード 時間隔 (INTERVAL) 型修飾子 日時 (DATETIME) 型修飾子 EXTEND 関数 126 YES 設定 小数点 101 93 columns.is_nullable 77 sql_languages.integrity 78 yes 設定 NODEFDAC 194 単項演算子 (,)、コンマ 211 Z zip 列 278 zipcode 列 234, 278 [特殊文字] ( )、空白 可変長文字 (VARCHAR) 型値の埋込み 119 時間隔 (INTERVAL) 型区切り記号 102 日時 (DATETIME) 型区切り記号 94 文字 (CHAR) 型値の埋込み 90 (( ))、括弧 式の区切り記号 128 (!=)、等しくない 関係演算子 140 (″)、二重引用符 区切り記号付き SQL 識別子 186 ストリング区切り文字 81, 104, 107, 115 (#)、シャープ コメント インディケータ 148 140 174 リスト区切り記号 107, 110, 179 3 桁区切り記号 106 (-)、ハイフン 減法演算子 124, 140 時間隔 (INTERVAL) 型区切り記号 単項演算子 125, 140 日時 (DATETIME) 型区切り記号 102 94 日付 (DATE) 型区切り記号 168 syscolauth で表示される記号 7, 21 sysfragauth で表示される記号 37 systabauth で表示される記号 (.)、ピリオド 62 入れ子ピリオド表記 131 時間隔 (INTERVAL) 型区切り記号 102 実行記号 149 小数点 97, 106, 174 日時 (DATETIME) 型区切り記号 94 日付 (DATE) 型区切り記号 169 メンバシップ演算子 140 (/)、スラッシュ 除法演算子 124, 140 パス名区切り記号 152, 176, 210 日付 (DATE) 型区切り記号 92, 128, 169 (:)、コロン キャスト (::) 演算子 137, 140 時間隔 (INTERVAL) 型区切り記号 102 日時 (DATETIME) 型区切り記号 94 リスト区切り記号 179, 186, 201, 210, 214 (;)、セミコロン リスト区切り記号 201, 214 索引 367 (=)、等号 関係演算子 代入演算子 19, 87, 91, 140 154 ([ ])、大括弧 サブ文字列演算子 89, 117, 140 MATCHES、範囲区切り記号 (>)、より大 関係演算子 120 9, 140 不等号 (< >) 大括弧 (<)、より 小 関係演算子 140 (<)、より小 関係演算子 170 不等号 (< >) 大括弧 89, 254 89, 254 (|)、縦線 絶対値区切り記号 100 フィールド区切り記号 171 連結 (||) 演算子 140 (%)、パーセント パス名インディケータ 160, 180 DBTIME エスケープ記号 182 (_)、アンダスコア SQL 識別子 内 185 ({ })、中括弧 コレクション区切り記号 104, 107, 115, 131 パス名区切り記号 150 (~)、波形記号 パス名インディケータ 152 (¥)、円記号 区切り記号として無効 171 パス名区切り記号 154, 204 368 IBM Informix SQL ガイド: 参照 Printed in Japan GB88-8671-00