一般利用者が、集計結果の二次加工を目的として、個人のテーブルを使用する場合、作成した個人のテーブルに対して演算項目や複合コード、管理ポイントなどの情報を定義する必要があります。また、管理者により登録済みのテーブルと結合するなど、作成した個人のテーブルをセットアップする必要があります。
管理者により公開されている資源に対しては、以下の操作ができます。ただし、管理者が公開した情報を変更する事はできないので、参照目的で使用する場合に限り、操作ができます。
演算項目の変更メニューの実行。演算式の内容確認ができます。ただし、定義内容を変更する事はできません。
複合コードの変更メニューの実行。複合コードの構成項目、および順序の確認ができます。ただし、定義内容を変更する事はできません。
[ツール]-[セットアップ]メニューをクリックします。
→[セットアップツール]が表示されます。
一般利用者は本機能の使用に際し、以下の制約を受けます。
データソースは辞書データベースとして使用しているデータソースのみが表示されます。辞書データベース以外の参照データベースは参照できません。
項目用途の操作
項目用途の登録は、テーブルを構成する項目の用途を登録します。
項目用途についての詳細は、“項目用途の指定について”を参照してください。
項目を選択します。
メイン画面の項目一覧で選択します。
メイン画面の[編集]-[項目属性の変更]メニューをクリックします。
[項目属性の変更]サブメニューにより、以下のどれかの用途を選択してクリックします。
→項目用途が辞書に登録されます。
用途を設定していない項目は「データ」を設定したとみなされます。
| 用途をプライマリキーに設定します。プライマリキーを設定した場合、そのテーブルの分類はマスタテーブルとなります。 注意 マスタ型管理ポイントの登録について プライマリキーを設定した時点でその項目から、マスタ型管理ポイントを登録することができます。この場合、マスタ型管理ポイントの登録有無を確認するメッセージが表示されます。 メッセージボックスで[OK]ボタンをクリックすることにより、[マスタ型管理ポイントの作成]画面が表示され、マスタ型管理ポイントの詳細を指定することができます。ここで、マスタ型管理ポイントを登録することができます。 なお、すでにその項目からマスタ型管理ポイントが登録されている場合には、メッセージボックスは表示されません。 |
| 用途をユニークコードに設定します。ユニークコードを設定した場合、そのテーブルの分類は実データテーブルになります。 |
| 用途をコードに設定します。 |
| 用途を時間に設定します。 注意 時間型管理ポイントの登録について 時間情報を設定した時点でその項目から、時間型管理ポイントを登録することができます。[時間属性の設定]画面を[OK]ボタンで終了する場合、時間型管理ポイントの登録有無を確認するメッセージが表示されます。 メッセージボックスで[OK]ボタンをクリックすることにより、時間型管理ポイントを登録することができます。 なお、すでにその項目から時間型管理ポイントが登録されている場合には、メッセージボックスは表示されません。 |
| 用途をデータに設定します。 |
時間を設定した場合は、[時間属性の設定]画面が表示されます。
表示形式などを変更して、[OK]ボタンをクリックします。
→時間属性が変更されます。
『備考』
表示形式には、以下があります。
"YYYYMMDD"、"YYYY/MM/DD"、"YYYY-MM-DD" 、"YYYY.MM.DD"
"YYYYMM"、"YYYY/MM"、"YYYY-MM"、"YYYY.MM"
"YYYYMMDDHHMMSS"、"YYYY/MM/DD HH:MM:SS"、"YYYY-MM-DD HH:MM:SS" 、"YYYY.MM.DD HH:MM:SS"
項目の用途の指定について、以下の順に説明します。
項目の用途とテーブル種別の関係
マスタテーブルと実データテーブルの制約
テーブルの結合時に使用する結合キー
項目の用途とテーブル種別の関係
項目の用途に「プライマリキー」を設定すると、その項目を含むテーブルは、「マスタテーブル」として扱われます。
項目の用途に「プライマリキー」を設定している項目の用途を「プライマリキー」から他の用途に設定すると、そのテーブルは「実データテーブル」として扱われます。
マスタテーブルと実データテーブルの制約
マスタテーブルの制約を以下に示します。
用途(種別) | 個数 | 制約 | 備考 |
---|---|---|---|
プライマリキー | 1個だけ | - | 実データテーブル、または他のマスタテーブルとの結合キーに使用。 |
コード | 0~n個 | 設定可能 | 他のマスタテーブルとの結合キーに使用可能。 |
時間 | 0~n個 | 設定可能 |
|
データ | 0~n個 | 設定可能 | 用途を未設定の項目は、「データ」。 |
複合コード | 0~n個 | 設定可能 | 複合コードを結合キーに使用する場合は、用途にプライマリキー、またはコードを設定します。 |
実データテーブルの制約を以下に示します。
用途(種別) | 個数 | 制約 | 備考 |
---|---|---|---|
ユニークコード | 1個だけ | 設定可能 | 他の実データテーブルとの結合キーとして使用するなら指定が必要。 |
コード | 0~n個 | 設定可能 | マスタテーブルとの結合キーに使用可能。 |
時間 | 0~n個 | 設定可能 |
|
データ | 0~n個 | 設定可能 | 用途を未設定の項目は、「データ」。 |
複合コード | 0~n個 | 設定可能 | 複合コードを結合キーに使用する場合は、用途に「ユニークコード」、または「コード」を設定します。 |
『備考』
マスタテーブルと結合する場合にはコードを指定します。
テーブルの結合時に使用する結合キー
結合キーは、テーブル結合の定義で使用します。
マスタテーブルと実データテーブルの結合キー
マスタテーブルのプライマリキーと、実データテーブルのコード項目、または時間属性項目が対応します。
マスタテーブルとマスタテーブルの結合キー
マスタテーブルのプライマリキーと、他方のマスタテーブルのプライマリキー、コード項目、または時間属性項目が対応します。
実データテーブルと実データテーブルの結合キー
実データテーブルのユニークコードと、他方の実データテーブルのユニークコードが対応します。
注意
複合コードを使用して結合する場合は、結合する複合コード同士の「構成項目」の数が同じで、対応する「構成項目の順序」と「構成項目の属性」とがそれぞれ一致している必要があります。
項目には、データ型(データベースにデータ項目を登録する際に決定したデータの格納形式や精度)があります。データ項目は、データ型によってその用途があらかじめ (データベースの設計段階)決定されています。しかし、次の表のように複数の用途となりうるデータ型があり、用途を特定する必要があります。
表中の◎は一般的なケースを示しており、Navigatorでもこれを推奨しています。○は設定ができることを示しています。空欄は設定ができないことを示しています。
Navigatorの | 用途(データ種別)の設定 | |||||
---|---|---|---|---|---|---|
プライマリ | コード | 時間 | データ | ユニーク | ||
SMALLINT | ○ | ○ | ◎ | ○ | ||
INTEGER | ○ | ○ | ◎ | ○ | ||
DECIMAL | ○*1 | ○*1 | ◎ | ○*1 | ||
NUMERIC | ○*1 | ○*1 | ◎ | ○*1 | ||
CHARACTER | ◎*2 | ◎*2 | ○*2 | ○ | ◎*2 | |
VARCHAR | ◎*3 | ◎*3 | ○*3 | ○ | ◎*3 | |
NCHAR | ○*4 | ○*4 | ○ | ○*4 | ||
NVARCHAR | ○*5 | ○*5 | ○ | ○*5 | ||
FLOAT | ◎ | |||||
DATE | 時間として定義 | ◎ | ||||
時間として未定義 | ○ | ○ | ○ | ○ | ||
TIMESTAMP | 時間として定義 | ◎ | ||||
時間として未定義 | ○ | ○ | ○ | ○ |
*1: 小数点以下のけた数がある場合は、対応付けできません。
*2: 80文字を超える場合は、対応付けできません。
*3: 最大文字数が80文字を超える場合は、対応付けできません。
*4: 40文字を超える場合は、対応付けできません。
*5: 最大文字数が40文字を超える場合は、対応付けできません。
複合コードも用途を設定する必要があります。複合コードは、用途に「プライマリキー」、「コード」、「ラベル」、「データ」、「ユニークコード」を設定できます。なお、複合コードの全体のデータ長が80バイトを超える場合、「プライマリキー」、「ユニークコード」、および「コード」の用途は設定できません。
複合コードの操作
複数項目でのテーブルの結合、および複数項目での管理ポイントを作成する場合は、複合コードの登録を行います。(複合コードについての詳細は、“複合コードについて”を参照してください)。
複合コードは、「用途」に"プライマリキー"、"ユニークコード"、"コード"、"ラベル"、または"データ"を設定することができます。用途を設定しないと“データ”を設定したとみなされます。
「用途」に"プライマリキー"、または"ユニークコード"を設定した場合、テーブル間の結合に使用できます。「複合コード」を使用して結合する場合は、結合する「複合コード」同士の「構成項目」の数が同じで、対応する「構成項目の順序」と「構成項目の属性」とがそれぞれ一致している必要があります。
メイン画面のツリービューでテーブルを選択します。
[追加]-[複合コード]メニューをクリックします。
→[複合コード]画面が表示されます。
複合コードの見出しを定義します。
見出しは、[見出し]入力フィールドに入力します。[見出し]入力フィールドの先頭位置をクリックした後、“見出し”を入力します。見出しは、日本語で24文字(英数字混在可能、英数字は2文字で日本語1文字と同じ)まで指定することができます。見出しは必ず指定してください。
複合コードの注釈を定義します。
注釈は、[注釈]入力フィールドに入力します。[注釈]入力フィールドの先頭位置をクリックした後、“注釈”を入力します。注釈は、日本語で127文字(英数字混在可能、英数字は2文字で日本語1文字と同じ)まで指定することができます。注釈の入力は省略することができます。
複合コードの構成項目を登録します。
構成項目は、[項目名]に表示されている項目を、[構成項目一覧]に移動させることにより登録します。[項目名]には、データベースに定義されていて、公開されている項目が表示されます。演算項目は表示されません。
項目の移動は、[項目名]から移動したい項目をクリックして、[追加]ボタンをクリックします。同様にして、構成項目にしたいすべての項目を[項目名]から[構成項目一覧]に移動します。
構成項目の順序は、[構成項目一覧]で移動する項目をクリックし、[上に移動]ボタン、または[下に移動]ボタンをクリックすることにより移動できます。
[OK]ボタンをクリックします。
→複合コードが辞書に登録されます。
参考
複合コードとは、複数の項目をまとめて1つのコードにしたものです。複合コードの各データ項目は、以下の変換規則に従って文字列に変換され、変換された文字列が連結されて1つのコードとなります。
Symfoware/RDB、Oracle、SQL Serverの場合
Navigator | データ長 | Symfoware/RDB | Oracle | SQL Sever |
---|---|---|---|---|
CHAR(n) | n | 実績無し | 実績無し | 実績無し |
VARCHAR(n)*1 | n | n桁のCHAR型に変換 | n桁のCHAR型に変換 | n桁のCHAR型に変換 |
NCHAR(n) | n×2 | 実績無し | - | - |
NVARCHAR(n)*2 | n×2 | n桁のNCHAR型に変換 | - | - |
SMALLINT*3 | 6 | 6桁の右詰前方空白 | - | 6桁の右詰前方空白 |
INTEGER*3 | 11 | 11桁の右詰前方空白 | - | 11桁の右詰前方空白 |
DECIMAL(p、0)*3 | p+1 | p+1桁の右詰前方空白 | p+1桁の右詰前方空白 | p+1桁の右詰前方空白*4 |
NUMERIC(p、0)*3 | p+1 | p+1桁の右詰前方空白 | - | p+1桁の右詰前方空白*4 |
DATE | 10 | 10桁の右詰前方空白 | 10桁の右詰前方空白 | 10桁の右詰前方空白 |
TIMESTAMP | 19 | 19桁の右詰前方空白 | 19桁の右詰前方空白 | 19桁の右詰前方空白 |
ODBC、Postgresの場合
Navigator | データ長 | ODBC | Postgres |
---|---|---|---|
CHAR(n) | n | - | 実績なし |
VARCHAR(n)*1 | n | n桁のCHAR型に変換 | n桁のCHAR型に変換 |
NCHAR(n) | n×2 | - | - |
NVARCHAR(n)*2 | n×2 | - | - |
SMALLINT*3 | 6 | 6桁の右詰前方空白 | 6桁の右詰前方空白 |
INTEGER*3 | 11 | 11桁の右詰前方空白 | 11桁の右詰前方空白 |
DECIMAL(p、0)*3 | p+1 | p+1桁の右詰前方空白*4 | p+1桁の右詰前方空白*4 |
NUMERIC(p、0)*3 | p+1 | p+1桁の右詰前方空白*4 | - |
DATE | 10 | 10桁のCHAR型に変換 | 10桁のCHAR型に変換 |
TIMESTAMP | 19 | 19桁のCHAR型に変換 | 19桁のCHAR型に変換 |
*1:文字型の項目は、左詰めとなります。
*2:日本語文字型の項目は、左詰めとなります。
*3:数値型の項目は、右詰めで前方空白となります。
長さは、桁数+符号部1バイト(+非表示、-左表示、0値表示)となります。
*4:精度15桁の浮動少数点数に丸められるため、pが15を超える場合、変換後の値に誤差が生じることがあります。
*5:データ長とは、複合コードにより各構成項目のデータが、文字データに変換された場合のバイト単位での長さです。複合コードの全体のデータ長は、それぞれの項目のデータ長の合計となります。
注意
日本語文字型と、それ以外のデータ型の連結はできません。
FLOATは、複合コードに使用できません。
DECIMAL(p、0)以外のDECIMALは、複合コードに使用できません。
NUMERIC(p、0)以外のNUMERICは、複合コードに使用できません。
連結する項目にNULL値がある場合、データベースによって扱いが異なります。
Symfoware Serverの場合
項目のどれかがNULL値の場合、連結結果はNULLとなります。
Oracleの場合
すべての項目が空白、またはNULL値の場合、連結結果はNULLとなります。
項目のどれかがNULL値の場合、NULL値の項目は桁数分の空白に置き換わります。
SQL Serverの場合
構成項目にCHAR/VARCHARの項目が含まれる場合で、項目のどれかがNULL値の場合、連結結果はNULLとなります。
構成項目にCHAR/VARCHARの項目が含まれない場合で、項目のどれかがNULL値の場合、NULL値の項目は桁数分の空白に置き換わります。従って、すべての項目がNULL値の場合の連結結果は、すべての項目の桁数分の空白となります。
ODBCの場合
NULLおよび空白の扱いは、利用しているドライバおよび接続先のデータベースの仕様に依存します。
Postgresの場合
すべての項目が空白の場合、連結結果は桁数分の空白に置き換わります。
いずれかの項目にNULL値がある場合、連結結果は NULLとなります。
複合コードの全体のデータ長が80バイトを超える場合、"プライマリキー"、"ユニークコード"、および"コード"の用途は設定できません。
「Unicodeデータ明細表示機能」の場合、NCHAR(n)、およびNVARCHAR(n)のデータ長は、「n×3」となります。
例
項目 | 属性 | データ長 | 値 |
---|---|---|---|
COL1 | CHAR(6) | 6 | `999999' |
COL2 | SMALLINT | 6 | 11111 |
|
|
|
|
結果 | CHAR(12) | 12 | `999999 11111' |
上記の例で、COL2がNULL値のとき
Postgres、またはSymfoware Serverの場合:連結結果はNULLとなります。
Oracle、またはSQL Serverの場合:連結結果は`999999となります。
テーブルの結合関係の操作
「実データテーブル」と「マスタテーブル」、「マスタテーブル」と「マスタテーブル」、および「実データテーブル」と「実データテーブル」の結合関係を登録します。
本操作は、「項目用途の登録」が完了した後に、この操作をすることができます。
テーブル結合は一覧モードから登録する方法と、テーブル結合モードから登録する方法の2つの方法があります。
テーブル結合は一覧モードから登録する方法については、“一覧モードから登録”を参照してください。テーブル結合モードから登録する方法については、“テーブル結合モードからの登録”を参照してください。
参考
テーブルの結合形式
実データテーブルとマスタテーブルを結合する場合
実データテーブルのコード項目、または時間属性項目と、マスタテーブルのプライマリキーが結合できます。
実データテーブルと実データテーブルを結合する場合
結合元の実データテーブルのユニークコードと、結合先の実データテーブルのユニークコードが結合できます。
マスタテーブルとマスタテーブルを結合する場合
結合元のマスタテーブルのプライマリキー、コード項目、または時間属性項目と、結合先のマスタテーブルのプライマリキーが結合できます。
“重複結合”(「テーブル」と「テーブル」の間の複数の結合関係)の登録、変更、削除もできます。
他サイトのOracleのテーブルは接続先のOracleのテーブルと同等に扱うことができます。例えば、他サイトのOracleのテーブルと接続先のOracleのテーブルでの結合関係の登録が可能となります。
ループした結合関係(すでに結合関係にある同じテーブル間にて、「サブテーブル」と「メインテーブル」の関係が逆になるような結合関係)は登録できません。例えば、テーブル1 → テーブル2 → テーブル1となるような結合関係は、登録できません。
参照:“再帰的な結合関係について”
メイン画面でメインテーブルを選択して、[編集]-[結合定義]メニューを選択します。
→[結合定義]画面に、選択したメインテーブルのデータソース中に定義されている結合関係が一覧表示されます。
結合元の「実データテーブル」、または「マスタテーブル」をメインテーブル、結合先の「実データテーブル」、または「マスタテーブル」をサブテーブルと呼びます。
[結合定義]画面で[追加]ボタンをクリックします。
→[サブテーブルの選択]画面が表示されます。
サブテーブルを選択して、[結合関係]ボタンをクリックします。
→[結合関係]画面が表示されます。
結合キーを選択します。
[結合関係]画面で、結合キーを「項目一覧」で確認します。
「実データテーブル」と「マスタテーブル」の結合の場合
「実データテーブル」の結合キーの候補として、「マスタテーブル」のプライマリキーとデータ型が一致する「コード」か、または「時間属性」として定義されているデータ項目が一覧表示されています。
「マスタテーブル」と「マスタテーブル」を結合する場合
結合元となる「マスタテーブル」の結合キーの候補として、結合先となる「マスタテーブル」のプライマリキーとデータ型が一致する「プライマリキー」か「コード」、または「時間属性」として定義されているデータ項目が一覧表示されています。
「実データテーブル」と「実データテーブル」を結合する場合
結合元となる「実データテーブル」の結合キーの候補として、結合先となる「実データテーブル」のユニークコードとデータ型が一致する「ユニークコード」として定義されているデータ項目が表示されています。
結合キーをクリックして、[選択]ボタンをクリックします。これにより、右側の[メインテーブル]に結合キーの名前と見出しが複写表示されます。
[結合先と一致しないレコードを含める]オプションを選択します。
テーブルの結合時に、メインテーブルのレコードと対応するレコードがサブテーブル側に存在しない場合でも、検索結果にメインテーブルのレコードを含める結合方法(アウタジョイン)を採用する場合には、[結合先と一致しないレコードを含める]をチェックします。
チェックした場合には、問い合わせ時にテーブル結合があっても、未分類のデータを集計結果に含めることができます。
結合に対する注釈を指定します。
結合に対する注釈を、必要に応じて入力します。画面の中程の[注釈]入力フィールドをクリックした後、注釈文を入力します。
注釈は、日本語で127文字(英数字混在可能、英数字は2文字で日本語1文字と同じ)まで指定することができます。
[OK]ボタンをクリックします。
→結合情報が辞書に登録されます。
注意
「複合コード」を使用して結合する場合(複数項目での結合)は、結合する「複合コード」同士の「構成項目」の数が同じ、および対応する「構成項目の順序」と「構成項目の属性」とがそれぞれ一致している必要があります。
テーブルの結合の階層は、起点となるテーブルを含めて8階層までです。
[結合先と一致しないレコードを含める]をチェックした時の注意
結合定義時に[結合先と一致しないレコードを含める]チェックボックスをチェックした場合、Navigatorは、データベースに対してアウタジョイン構文を使用して問い合せを行います。アウタジョイン構文は性能上不利になることがありますので、[結合先と一致しないレコードを含める]をチェックする前に、未分類のデータが発生しないようにテーブルのデータをメンテナンスするようにシステム管理者へ依頼してください。
メイン画面の表示モードを「テーブル結合」モードに切り替えます。
→結合定義画面に切り替わります。(以下の画面を参照)
結合定義を表示します。
ツリー表示されている部分から、結合定義を行うテーブルを選択し、[テーブル結合]-[結合定義を開く]メニューをクリックします。
→選択したテーブルに直接結合されているテーブルとの結合関係が表示されます。
結合定義を登録します。
画面上に表示されている結合定義に、結合テーブルを追加し、項目間に結合定義を作成します。
ツリー表示されている部分から、追加する結合テーブルを追加し、[テーブル結合]-[結合テーブルの追加]メニューをクリックします。
→追加したい結合テーブルが表示されます。
[マスタテーブルを結合する]
メインテーブルウィンドウで結合元となるキー項目を選択し、結合先のサブテーブルウィンドウまでドラッグします。ドラッグした位置にサブテーブルがある場合、マウスカーソルの形状がになります。
マウスカーソルの形状が、の状態でドロップすることにより、[プロパティ]画面が表示されます。
[結合関係]タブをクリックします。[種別]の見出しのところにある[結合先と一致しないレコードを含める]をチェックすると、アウタジョイン結合となります。
[結合関係]タブで、種別を確認し、([マスタデータを参照する]が設定されている)[OK]ボタンをクリックします。([キャンセル]ボタンの場合は、結合定義は追加されません)
結合定義が登録され、項目間に結合線が表示されます。
[実データテーブルを結合する]
メインテーブルウィンドウで結合元となるキー項目を選択し、結合先のサブテーブルウィンドウまでCtrlキーを押しながらドラッグします。ドラッグした位置にサブテーブルがある場合、マウスカーソルの形状がになります。
マウスカーソルの形状が、の状態でドロップすることにより、[プロパティ]画面が表示されます。
[結合関係]タブをクリックします。[種別]の見出しのところにある[結合先と一致しないレコードを含める]をチェックすると、アウタジョイン結合となります。
[結合関係]タブで、種別を確認し、([実データを連結する]が設定されている) )[OK]ボタンをクリックします。([キャンセル]ボタンの場合は、結合定義は追加されません)
結合定義が登録され、項目間に結合線が表示されます。
[メニューによる操作]
結合元となるキー項目を選択し、[テーブル結合]-[結合元キーの選択]メニューをクリックします。
結合先のテーブルへ移動して(TABキーで移動可能)結合先のキー項目を選択し、[テーブル結合]-[結合関係の追加]メニューをクリックします。
[プロパティ]画面が表示されます。
[結合関係]タブをクリックします。[種別]の見出しのところにある[結合先と一致しないレコードを含める]をチェックすると、アウタジョイン結合となります。
表示された内容を確認し[OK]ボタンをクリックします。([キャンセル]ボタンの場合は、結合定義は追加されません)
結合定義が登録され、項目間に結合線が表示されます。
結合定義を終了します。
→表示モードを[一覧]モードに切り替えることにより、結合定義を終了します。
テーブル間の結合関係を複数個定義(重複結合)できます。
ループした結合関係となるテーブルの間の結合関係は登録できません。
また、間接的に再帰的な結合関係となる場合も登録できません。
演算項目の操作
演算式により、新たな項目として演算項目が登録できます。
演算項目は、数値型のデータ項目間の四則演算、文字型項目間の部分抽出・結合、時間型項目間の経過時間の演算、データベースの組み込み関数を使用した演算(拡張演算)があります。
演算項目は、情報活用の[レイアウトの指定]画面で、一般のデータ項目と同様に問い合わせレイアウトのデータフィールドや条件フィールドにはり付けることができます。また、管理ポイントを作成することもできます。
メイン画面でテーブルを選択します。
[追加]-[演算項目]メニューをクリックします。
[演算項目]サブメニュー、または[演算項目の追加]のサブツールバーより以下のどれかを選択して、クリックします。
| 数値型項目間の四則演算を定義します。 |
| 文字型項目間の連結、部分抽出を定義します。 |
| 時間型項目間、または基準日からの経過時間の演算を定義します。 |
| データベースの組込み関数を使用した演算を定義します。 |
以下の画面が表示されます。
→表示された画面で「見出し」、「注釈」、「演算式」などを指定して、[OK]ボタンをクリックします。
テーブルに演算項目が追加されます。
数値の演算式とは、数値型のデータ項目間の四則演算のことです。演算には、数値型の「データ項目」と、数値の演算式で定義した「データ項目」が使用できます。
数値型のデータ項目間の四則演算式を定義します。
演算式を[演算式]入力フィールドに入力します。
最初に、入力フィールドの先頭位置をクリックします(カーソル位置の設定)。
2次の操作を組み合わせて演算式を完成させます。
データ項目の引用
[項目一覧]リストの当該位置を選択し、[項目]ボタンをクリックすることにより、[演算式]入力フィールドのカーソル位置に転記することができます。
演算記号と括弧の引用
演算記号ボタンをクリックすることにより、演算記号(+、-、×、÷)と括弧が[演算式]入力フィールドのカーソル位置に転記されます。なお、×は[演算式]入力フィールドでは、*、÷は/で表現されます。
見出し、注釈、および単位を定義します。
演算式の見出し、注釈、および単位を定義します。
見出しは、画面の中段の[見出し]入力フィールドに入力します。見出しは必ず指定してください。[見出し]入力フィールドの先頭位置をクリックした後、見出しを入力します。見出しは、日本語で24文字(英数字混在可能、英数字は2文字で日本語1文字と同じ)まで指定することができます。
注釈は、画面の下段の[注釈]入力フィールドに入力します。[注釈]入力フィールドの先頭位置をクリックした後、注釈を入力します。注釈は、日本語で127文字(英数字混在可能、英数字は2文字で日本語1文字と同じ)まで指定することができます。注釈の入力は省略することができます。
単位は、画面の下段の[単位]入力フィールドに入力します。[単位]入力フィールドの先頭位置をクリックした後、キーボードを使用して単位を示す文字列を入力します。単位は、日本語で8字(英数字混在可能、英数字は2文字で日本語1文字と同じ)まで指定することができます。単位の入力は省略することができます。
[OK]ボタンをクリックします。
[数値演算]画面で、[OK]ボタンをクリックします。
次の演算式を指定します。
複数個の演算式を定義する場合は、1.から3.までの操作を繰り返します。
文字の演算式とは、文字型データの部分抽出・結合のことです。文字の演算には、文字型の「データ項目」が使用できます。日本語文字の演算には、日本語文字型の「データ項目」が使用できます。
文字型のデータ項目間の部分抽出・結合の演算式を定義します。
演算式を[演算式]入力フィールドに入力します。
最初に、[演算式]入力フィールドの先頭位置をクリックします(カーソル位置の設定)。
次の操作を組み合わせて、演算式を完成させます。
すべての文字列の抽出
データ項目のすべての文字列を結合する場合は、該当データ項目をクリックし、次に[すべて抽出]ボタンをクリックします。[すべて抽出]ボタンのクリックにより、[演算式]入力フィールドのカーソル位置に該当データ項目名が転記されます。
特定部分の文字列の抽出
データ項目の特定部分の文字列を結合する場合は、該当データ項目をクリックし、次に[部分抽出]ボタンをクリックします。
[部分抽出]ボタンのクリックにより、[部分抽出]画面が表示されます。[部分抽出]画面では、項目名とデータ型が表示されています。また初期設定で開始位置と文字数を1とした演算式が表示されています。
開始位置と文字数に数値を入力すると演算式に反映されます。開始位置と文字数が定義長を超えないように注意してください。
部分抽出の元となる項目のサンプル値を表示したいときには[サンプル表示]ボタンをクリックします。
[OK]ボタンのクリックにより、[文字演算]画面に戻ります。
[演算式]入力フィールドのカーソル位置に該当データ項目名が[SUBSTRING(該当データ項目名、開始位置、文字数)]の形で転記されます。
演算記号の引用
[||]ボタンをクリックすることにより、連結演算子が[演算式]入力フィールドのカーソル位置に転記されます。
見出しと注釈を定義します。
演算式の見出し、注釈、および単位を定義します。
見出しは、画面の上段の[見出し]入力フィールドに入力します。見出しは必ず指定してください。[見出し]入力フィールドの先頭位置をクリックした後、見出しを入力します。見出しは、日本語で24文字(英数字混在可能、英数字は2文字で日本語1文字と同じ)まで指定することができます。
注釈は、画面の上段の[注釈]入力フィールドに入力します。[注釈]入力フィールドの先頭位置をクリックした後、注釈を入力します。注釈は、日本語で127文字(英数字混在可能、英数字は2文字で日本語1文字と同じ)まで指定することができます。注釈の入力は省略することができます。
単位は、画面の上段の[単位]入力フィールドに入力します。[単位]入力フィールドの先頭位置をクリックした後、キーボードを使用して単位を示す文字列を入力します。単位は、日本語で8字(英数字混在可能、英数字は2文字で日本語1文字と同じ)まで指定することができます。単位の入力は省略することができます。
[OK]ボタンをクリックします。
[文字演算]画面で、[OK]ボタンをクリックします。
次の演算式を指定します。
複数個の演算式を定義する場合は、1.から3.までの操作を繰り返します。
注意
文字の演算定義では、すでに作成されている演算項目を使用して、新たな演算項目を作成することはできません。
文字演算の結合では、結果はデータベースに依存します。以下に、データベースごとの注意点を記述します。
Symfoware Serverの場合
結合した結果の後方空白は削除されません。
Oracleの場合
結合した結果の後方空白は削除されません。
結合した結果が空白で終わる演算は正しく集計できません。
SQL Serverの場合
結合した結果の後方空白は削除されます。
ただし、CHARACTER型項目同士の結合では、後方空白は削除されません。
ODBCの場合
接続先のデータベースの仕様に従います。
Postgresの場合
データベースの仕様に従います。
時間の演算式とは、ある基準日からの年数、月数、日数を算出することです。時間計算の種類は、項目から基準日までの期間、基準日から項目までの期間、および項目から項目までの期間を定義することができます。
基準日は、決まった日付だけでなく、会計年度やレポート作成時点を基準にした相対的な指定を行うことができます。
見出しを定義します。
見出しは、[見出し]入力フィールドに入力します。見出しは必ず指定してください。[見出し]入力フィールドの先頭位置をクリックした後、見出しを入力します。見出しは、日本語で24文字(英数字混在可能、英数字は2文字で日本語1文字と同じ)まで指定することができます。
注釈を定義します。
注釈は、[注釈]入力フィールドに入力します。[注釈]入力フィールドの先頭位置をクリックした後、注釈を入力します。注釈は、日本語で127文字(英数字混在可能、英数字は2文字で日本語1文字と同じ)まで指定することができます。注釈の入力は省略することができます。
単位を定義します。
単位は、日本語で8文字(英数字混在可能、英数字は2文字で日本語1文字と同じ)まで指定することができます。単位が必要ない場合は、この操作を省略することができます。
演算の方法を選択します。
[演算]コンボボックスで、経過時間の演算の方法を選択します。
演算の方法には以下があります。なお、経過時間には、年数、月数、日数の3種類があります。
当月基準日(時間情報で設定)から項目までの経過時間
演算基準日(時間情報で設定)から項目までの経過時間
システム日付から項目までの経過時間
指定した固定日付から項目までの経過時間
項目から当月基準日までの経過時間
項目から演算基準日までの経過時間
項目からシステム日付までの経過時間
項目から固定日付までの経過時間
当月基準日から項目までの経過時間
基準となる項目と対象となる項目までの経過時間
時間の演算で使用する項目を選択します。
[項目一覧]で使用するデータ項目をクリックした後に、[項目]ボタンをクリックして、データ項目を「項目」に複写します。
時間の演算項目で使用する基準日を選択します。
固定の日付を選択した場合は、[固定日]コンボボックスの下に表示される[年月日]フィールドに日付を指定します。
[OK]ボタンをクリックします。
[時間演算]画面で、[OK]ボタンをクリックします。
次の演算項目を定義します。
複数個の演算項目を定義する場合は、1.から7.までの操作を繰り返します。
注意
経過時間の演算定義では、すでに作成されている演算項目を使用して新たな演算項目を作成することはできません。
経過時間の演算定義で使用できるデータ項目は、データベースの項目のデータ型が日時型の項目です。Symfoware/RDBの場合の日時型はDATE型、TIMESTAMP型です。Oracleの場合の日時型はDATE型です。SQL Serverの場合の日時型はdatetime型、smalldatetime型、date型、datetime2型です。Postgresの場合の日付型はdate型、timestamp without time zone型です。Navigator辞書管理ツールで種別を時間に設定した日時型以外のデータ項目は、経過時間の演算項目の定義では使用できません。
経過時間の演算項目は、[合計してから演算]を指定して集計することはできません。
拡張演算は、それぞれのデータベースの組み込み関数を使用した演算です。この拡張演算により、新たなデータ項目を定義します。
演算式を定義します。
演算式を[演算式]入力フィールドに入力します。
演算式には、それぞれのデータベースの組み込み関数を直接記述します。記述形式は、それぞれのデータベースの規約に従います。
演算式に項目名を引用する場合は、表示されている[項目一覧]から選択してください。[項目一覧]に表示されている項目以外は使用できません。項目名は自動的にNavigatorで生成する相関名で修飾されます。自動的に生成する相関名は編集しないでください。
DBMSで二重引用符などの囲み文字をつけて作成した項目名には、二重引用符などの囲み文字をつけてください。例えば、英小文字の項目名を二重引用符で囲む必要がある場合は「"colname"」とします。
演算項目のデータ型を選択します。
[自動設定]を選択した場合は、演算項目のデータ型は[演算式]入力フィールドに入力されている演算式をDBMSが解析した結果の型になります。初期状態では[自動設定]が選択されています。
選択できるデータ型、桁数、小数桁数は、使用するDBMSによって異なります。各DBMSの選択できるデータ型は以下のようになります。
Symfoware Serverの場合
データ型 | 桁数 | 小数桁数 |
---|---|---|
CHARACTER | 1~32000 | - |
VARCHAR | 1~32000 | - |
MCHARACTER | 1~16000 | - |
NVARCHAR | 1~16000 | - |
INTEGER | - | - |
SMALLINT | - | - |
DECIMAL | 1~18 | 0~桁数以下 |
NUMERIC | 1~18 | 0~桁数以下 |
FLOAT | - | - |
-:桁数、または小数桁数の指定は不要です。
指定不可:選択できないデータ型です。[データ型]リストボックスには表示されません。
Oracleの場合
データ型 | 桁数 | 小数桁数 |
---|---|---|
CHARACTER | 1~2000 | - |
VARCHAR | 1~4000 | - |
MCHARACTER | 指定不可 | 指定不可 |
NVARCHAR | 指定不可 | 指定不可 |
INTEGER | 指定不可 | 指定不可 |
SMALLINT | 指定不可 | 指定不可 |
DECIMAL | 1~38 | 0~桁数以下 |
NUMERIC | 指定不可 | 指定不可 |
FLOAT | - | - |
-:桁数、または小数桁数の指定は不要です。
指定不可:選択できないデータ型です。[データ型]リストボックスには表示されません。
SQL Serverの場合
データ型 | 桁数 | 小数桁数 |
---|---|---|
CHARACTER | 1~8000 | - |
VARCHAR | 1~8000 | - |
MCHARACTER | 指定不可 | 指定不可 |
NVARCHAR | 指定不可 | 指定不可 |
INTEGER | - | - |
SMALLINT | - | - |
DECIMAL | 1~38 | 0~桁数以下 |
NUMERIC | 1~38 | 0~桁数以下 |
FLOAT | - | - |
-:桁数、または小数桁数の指定は不要です。
指定不可:選択できないデータ型です。[データ型]リストボックスには表示されません。
ODBCの場合
データ型 | 桁数 | 小数桁数 |
---|---|---|
CHARACTER | 1~32000 | - |
VARCHAR | 1~32000 | - |
MCHARACTER | 指定不可 | 指定不可 |
NVARCHAR | 指定不可 | 指定不可 |
INTEGER | - | - |
SMALLINT | - | - |
DECIMAL | 1~38 | 0~桁数以下 |
NUMERIC | 1~38 | 0~桁数以下 |
FLOAT | - | - |
-:桁数、または小数桁数の指定は不要です。
指定不可:選択できないデータ型です。[データ型]リストボックスには表示されません。
Postgres
データ型 | 桁数 | 小数桁数 |
---|---|---|
CHARACTER | 1~32000 | - |
VARCHAR | 1~32000 | - |
MCHARACTER | 指定不可 | 指定不可 |
NVARCHAR | 指定不可 | 指定不可 |
INTEGER | - | - |
SMALLINT | - | - |
DECIMAL | 1~38 | 0~桁数以下 |
NUMERIC | 1~38 | 0~桁数以下 |
FLOAT | - | - |
-:桁数、または小数桁数の指定は不要です。
指定不可:選択できないデータ型です。[データ型]リストボックスには表示されません。
『備考』
グループ関数(SUM、AVG、MAXなど)は使用できません。また、Navigatorで扱えないデータ型の項目を使用した演算式、および演算結果が、Navigatorで扱えないデータ型になる演算式は定義できません。
データ型に[自動設定]以外を選択する場合、CAST式やSUBSTRING関数などを使用して、演算式の結果が選択したデータ型の範囲に収まるようにしてください。選択したデータ型に収まらないデータが存在する場合、意図しない問い合わせ結果になるため、注意が必要です。
演算式の見出しを定義します。
見出しは、[見出し]入力フィールドに入力します。[見出し]入力フィールドの先頭位置をクリックした後、見出しを入力します。見出しは、日本語で24文字(英数字混在可能、英数字は2文字で日本語1文字と同じ)まで指定することができます。見出しは必ず指定してください。
単位を定義します。
演算項目の単位を入力します。
単位は、日本語で8文字(英数字混在可能、英数字は2文字で日本語1文字と同じ)まで指定することができます。単位が必要ない場合は、この操作を省略することができます。
演算式の注釈を定義します。
注釈は、[注釈]入力フィールドに入力します。[注釈]入力フィールドの先頭位置をクリックした後、注釈を入力します。注釈は、日本語で127文字(英数字混在可能、英数字は2文字で日本語1文字と同じ)まで指定することができます。注釈の入力は省略することができます。
[OK]ボタンをクリックします。
[拡張演算]画面で、[OK]ボタンをクリックします。
次の拡張演算を定義します。
複数個の拡張演算を定義する場合は、1.から5.までの操作を繰り返します。
注意
演算式にグループ関数(SUM、AVG、MAXなど)は使用できません。
拡張演算項目に対して、以下の集計方法は指定できません。
「件数(NULL)」、「分散」、「標準偏差」、「標準誤差」、「尖度」、「歪度」、「合計後の演算」
NCHAR型、およびNVARCHAR型の拡張演算項目は条件に指定できません。
NCHAR型、およびNVARCHAR型の拡張演算項目から管理ポイントを作成して使用することはできません。
Symfoware Serverの日時型の項目を利用する場合、CAST指定によりCHAR型に変換する必要があります。
演算式の結果データ型は、定義時に決定します。演算式を構成する項目のデータ型に変更などがあり、DBMS上での演算式の結果データ型と異なる場合でも、定義されているデータ型を使用して問い合わせを実行します。データ型を変更する場合は、演算項目の変更によりデータ型を再度選択しなおす必要があります。
プロパティの操作
個人のテーブルの情報を表示します。また、公開する個人のテーブルの注釈を設定します。
メイン画面のツリービュー、またはテーブル一覧で個人のテーブルを選択します。
[編集]-[プロパティ]メニューをクリックします。
→[プロパティ]画面が表示されます。
[テーブル]タブをクリックします。
個人のテーブル情報を変更する場合
[注釈]を変更します。
[OK]ボタンをクリックします。
→個人のテーブルの「注釈」が設定されます。
整合性確認
Navigatorを適用した情報活用業務を円滑に運用するためには、サーバ上のデータベースの構造とNavigatorで辞書に定義した情報の整合性を確保する必要があります。
整合性チェックは、辞書の情報と実データベースのデータとの整合性をチェックします。
以下に、整合性チェックの内容とNavigatorの機能を示します。
整合性チェック | 不整合の場合のNavigatorでの対処 |
---|---|
(1)スキーマの存在チェック | |
(2)テーブルの存在チェック | |
(3)テーブルの構成チェック | |
操作の流れは、以下のとおりです。
メイン画面でデータソースを選択して、[ツール]-[整合性チェック]-[スキーマの整合]メニューをクリックします。
→整合性がチェックされて、[スキーマの整合]画面が表示されます。
不整合が生じたスキーマを、[削除]ボタンで削除します。
[戻る]ボタンをクリックします。
→不整合が生じたスキーマが辞書から削除されます。
操作の流れは、以下のとおりです。
メイン画面でスキーマを選択して、[ツール]-[整合性チェック]-[テーブルの整合]メニューをクリックします。
→整合性がチェックされ、[テーブルの整合]画面が表示されます。
不整合が生じたテーブルを、[削除]ボタンで削除、または[名前の訂正]ボタンで名前を訂正します。
[戻る]ボタンをクリックします。
→不整合が生じたテーブルが辞書から削除、または辞書のテーブルの名前が訂正されます。
操作の流れは、以下のとおりです。
メイン画面でテーブルを選択して、[ツール]-[整合性チェック]-[テーブル構成の整合]メニューをクリックします。
→整合性がチェックされて、[テーブル構成の整合]画面が表示されます。
また、[テーブル構成の整合]画面の[項目一覧]に項目ごとに、以下のチェック状態が表示されます。
辞書と実データベース間の整合がとれた項目です。 | |
辞書と実データベース間で項目名は一致しているが、属性(型、けた数、小数けた数)が異なる項目です。 | |
辞書には存在しているが、実データベースに存在しない項目です。 | |
実データベースに存在しているが、辞書には存在しない項目です。 |
各項目に対して、以下のチェックを行います。
| [OK]ボタンにより整合性が確定されます。 |
| [OK]ボタンを押すと、実データベースの情報に置き換わります。 |
| [OK]ボタンを押すと、辞書から削除されます。 |
| [OK]ボタンを押すと、辞書に登録されます。 |
参考
名前の訂正の操作の流れ
[名前の訂正]画面の[項目名]コンボボックスにより、名前の訂正後の項目名を選択します。
[OK]ボタンをクリックします。
→項目の名前が訂正されます。
[項目一覧]のNUMBER(0)の有無に「*」が表示されている項目は、以下の操作を行います。
Oracleのデータベース上の項目で、データ型がNUMBER(0)の場合、Navigatorで使用できるデータ型に変更する必要があります。Oracleの項目属性を確認して、データ型を指定してください。
[NUMBER(0)]ボタンを押します。
→[NUMBER(0)変換]画面が表示されます。
データ型を選択します。
項目がOracleのデータベース上の項目でデータ型がNUMBER(0)の場合に、データ型の設定/変更ができるようになり、本選択ボックスでDECIMAL、またはFLOATが選択できます。
DECIMALを選択した場合、けた数、および小数部けた数の設定ができます。
けた数を入力します。
Oracleのデータベース上の項目でNavigatorで扱うデータ型にDECIMALを指定した場合にけた数を入力するフィールドです。けた数には、1~38まで指定できます。省略すると、18になります。
小数部けた数を入力します。
項目がOracleのデータベース上の項目でNavigatorで扱うデータ型にDECIMALを指定した場合に小数部けた数を入力するフィールドです。小数部けた数には、0~けた数まで指定できます。省略すると0になります。
[OK]ボタンをクリックします。
→整合性チェックされた状態のテーブルの構成情報が辞書に登録されます。