51 lines
2.5 KiB
Markdown
51 lines
2.5 KiB
Markdown
# SELECT処理 データ生成規則
|
||
|
||
## 概要
|
||
|
||
DBテーブルから条件付きSELECTでデータを取得し、取得結果に基づいて処理を行うプログラムのテストデータ。入力はDB(SELECT結果)であり、出力はSQL INSERTファイル。
|
||
|
||
本规则定义3组数据,覆盖基本匹配/非匹配、0件、NULL处理。
|
||
|
||
## 输入
|
||
|
||
- 詳細設計書の処理詳細(SELECT文のWHERE条件)
|
||
- DBテーブル定義(テーブル名、カラム、主キー)
|
||
|
||
## 生成データ組
|
||
|
||
| 组 | 用途 | 内容 |
|
||
|----|------|------|
|
||
| 1 | 基本データ | SELECT条件にマッチするデータ + マッチしないデータ + 末尾多keyテスト |
|
||
| 2 | SELECT 0件(DB-N006) | 条件に合うレコードが0件になるデータ + 末尾多keyテスト |
|
||
| 3 | NULL処理(DB-A003) | NULL項目を含むデータ(MOVE/FETCH時のNULL扱い確認)+ 末尾多keyテスト |
|
||
|
||
## 多keyテスト
|
||
|
||
WHERE条件に複数キーが関わる場合、基準データに対し各キー項目のみ異なるN件を生成。マッチするパターンとマッチしないパターンの両方をカバー。
|
||
|
||
需要注意当key为n个项目组合而成时,需要追加n条数据。以基准数据的所有key为准,只有当前第n个key与基准不一致。保证key的比较没有问题。
|
||
|
||
例(n=3,基准 (a001, b001, c001)):
|
||
- 追加1: (a002, b001, c001) → 仅第1个key不同
|
||
- 追加2: (a001, b002, c001) → 仅第2个key不同
|
||
- 追加3: (a001, b001, c002) → 仅第3个key不同
|
||
|
||
n为实际解析出的key项目数(例中n=3仅为示意,追加条数必须等于实际key项目数)。键项目数n=1时不追加多key测试数据。追加的每条记录必须恰好只改变一个key项目,且不得与既有记录完全重复。
|
||
|
||
## データ生成手順
|
||
|
||
1. SELECT文のWHERE条件を抽出
|
||
2. 条件にマッチするレコードを生成(组1)
|
||
3. 条件にマッチしないレコード(境界値)を生成(组1)
|
||
4. 条件に合うレコードが存在しないデータを生成(组2)
|
||
5. NULL項目を含むデータを生成(组3)
|
||
6. 各組末尾に多keyテストデータを追加
|
||
|
||
注:存在しないテーブルへのSELECT(DB-A002)はSQL実行環境で確認する。
|
||
|
||
## 出力
|
||
|
||
每组1个SQL INSERT文件:`{プログラムID}_g{groupId}.sql`
|
||
|
||
组数约束:输出组数必须与本规则定义的3组一致(g1〜g3),组号连续从1开始。禁止添加本规则未定义的组,禁止缺组。
|