【目次】データベース関連(SQL含む)


- SQL92(標準)
 - 制約
  ・参照制約の落とし穴
  ・主キーとユニークインデックスの違い
 - DML
  - SELECTステートメント
   - 選択リスト(項目指定)
    ・シングルクォーテーション(')を含む文字列を扱う
   - 集計関数
    ・集計関数について
    ・関数を利用する場合の注意点
    ・DISTINCT句を記述する位置による実行結果の違い
    ・集計関数に複数の項目を指定する
   - 表結合
    ・表結合
    ・同一テーブルの同一項目を別名で取得する
   - 条件式
    ・該当するレコードが存在するかどうか確認する
    ・CASEステートメント
    ・CASE式でNULLかどうかを判定する
    ・CASEで項目の値によって処理を分岐する
   - GROUP BY句
    ・GROUP BY句に指定する項目について
    ・一般関数を使った項目をGROUP BYに指定する
    ・HAVING句について
   - ORDER BY句
    ・ORDER BY句に指定する項目を条件によって変更する
  - INSERTステートメント
   ・データを登録する(Insertステートメント)
  - UPDATEステートメント
   ・項目を更新する(UPDATEステートメント)
   ・副問合せの結果を使って更新する
   ・更新の条件に別テーブルの項目を利用する

- ストアドプロシージャ(共通)
 - 変数
  ・SQLステートメント内に変数の値を利用する
 - 文字列操作
  ・大文字を小文字(小文字を大文字)に変換する

- ODBC
 ・ODBCデータソースの保存先

- 製品別情報
 - SQL Server
  - データ型
   ・IDENTITYプロパティ列
  - 管理
   - ユーザ
    ・ログインユーザを登録する
    ・システムストアドプロシージャを利用してユーザを追加する
    ・ユーザモードの切り替え
   - CPU
    ・使用するCPUの個数を制限する
   - メモリ
    ・SQL Serverのメモリ使用量について
    ・SQL Serverのメモリの最大使用量を設定する
   - ログ
    ・トランザクションログを操作する
   - パフォーマンス
    ・統計情報を管理してパフォーマンスを最適化する
   - その他
    ・DBCCユーティリティについて【其の壱】
    ・DBCCのヘルプを表示する
    ・Transact-SQLを使ってDBの復旧を行う
   - ロック
    ・ロックしているプロセスを強制的に終了する方法
  - インデックス
   ・クラスタ化インデックス
   ・フルテキストインデックスを利用する
  - Transact-SQL(拡張SQL)
   - SELECTステートメント
    ・取得したデータに行番号を割り当てる
    ・表結合の記述方法
    ・ダミーテーブルを使用する
    ・WHERE条件で全角と半角文字を区別する
    ・WHERE条件で全角と半角文字を区別する(其の弐)
   - INSERTステートメント
    ・データの一括処理を行う
    ・画像ファイルをSQL文でINSERTする
   - FETCHステートメント
    ・繰返処理(Fetch)を利用する
   - 戻り値
    ・Transact-SQLで戻り値を返す
    ・OUTPUT句を使って実行結果をファイルに保存する
   - 例外処理
    ・Transact-SQLで例外処理を行う
    ・例外処理でエラー情報を取得する
   - 文字列操作
    ・文字列を扱う場合の注意点
    ・T-SQLで文字と数値の結合を行う場合の注意点
    ・文字列から指定した文字列の文字位置を取得する
   - サンプル
    ・テーブルの項目名を取得する
    ・SQLを動的に生成する
    ・テンポラリ(一時)テーブルを作成する
    ・共通テーブルを利用する
    ・指定したデータベースのテーブル一覧を取得する
    ・処理した行数を取得する
   - アンドキュメントストアドプロシージャ
    ・インデックスと列情報を取得する
    ・SQL Serverログを確認する
    ・テーブルの使用量を確認する
    ・データ型の一覧を取得する
    ・サブフォルダ名と階層を取得する
  - コマンド
   ・BCPコマンドを利用したデータのインポート/エクスポート
   ・OSQLコマンドを利用する
  - トラブルシューティング
   ・localhostを指定した接続ができない
   ・別名定義を使って「localhost」でアクセスする
   ・トリガが起動できない
  - 教育
   ・Microsoftのバーチャルラボ
   ・SQL Server 2008の自習書

 - ORACLE
  - 無償版
   ・無償版のOracle 10g Express Editionを入手する
  - 関数
   ・指定した値の最大値を返す関数
   ・曜日を取得する
  - 管理
   ・表領域をSQLで操作する方法
   ・ユーザ情報の操作方法
   ・テーブル定義をDESCRIBEコマンドで確認する
   ・セッションを切断する(ロックを解除する)
  - ロック
   ・データのロック(FOR UPDATE)
   ・FOR UPDATE句の使用について
  - トリガ
   ・トリガの作成
  - PL/SQL(拡張SQL)
   - SELECTステートメント
    ・SELECTステートメントの注意点
    ・取得したデータに行番号を割り当てる
    ・グループ毎に連番を割り当てる
    ・【拡張SQL】行番号を割り当てる(其の弐)
    ・表結合の記述方法
    ・SQLのIN演算子に指定できる引数の限界について
    ・SQLで端数処理を行う
   - 日付処理
    ・西暦和暦変換
   - 文字列操作
    ・文字列から指定した文字列の文字位置を取得する
   - サンプル
    ・SQLの実行時間を表示する
    ・ダミーテーブルを使用する
  - コマンド
   ・SQL*Plusで表示幅を変更する

- トラブルシューティング
 - パフォーマンス
  ・インデックスの設定
  ・ワイルドカードの使用について
 - 異種間データベースでの同期
  ・OracleとSQL Serverでデータの同期を取る