Oracle DB ユーザーズガイド ⁠9i&10g対応〉

「Oracle DB ユーザーズガイド 〈⁠9i&10g対応〉」のカバー画像
著者
菅原剛山田精一 著
定価
3,828円(本体3,480円+税10%)
発売日
2004.1.15[在庫なし]
判型
B5変形
頁数
384ページ
ISBN
4-7741-1937-7

概要

Oracleの世界では知らぬ者のない強力な執筆陣が、満を持して書き上げた入門書です。他書には決して載っていないようなことにまで神経を配り、Oracle技術者には何が必要かという徹底したユーザー寄りの立場から、これ以上は望めないほど丁寧に解説しています。まさにユーザー必読の書です。

こんな方にオススメ

  • Oracleデータベース技術者
  • これからOracleデータベースに関わる可能性のある方

著者の一言

本書は、Oracleデータベースを使い始めた方に向けた入門書です。「データを扱う」ということに焦点を置いて、SQLの入門から無理のないようにステップアップできる構成になっています。Oracle9i Databaseでも、最新のOracle10gDatabaseでも、どちらでも使えるハンズオン形式です。初めてOracleを使う人でも理解しやすいように丁寧に解説し、実践で使えるテクニックも例を用いてわかりやすく説明しています。「Oracleの機能を使い切る」ための解説もふんだんに取り入れています。「わかりやすく、納得しながら進められる」Oracle入門書です。

目次

第1章 まずはSELECTで表からデータを取り出してみる

  • リレーショナルデータベースでのデータ表現方法 〜表の構造
  • リレーショナルデータベースでデータを扱うには? 〜SQLとは
  • データを検索する(1)〜一番簡単な検索
  • データを検索する(2)〜データの加工/DISTINCTの使い方
  • 検索するデータにフィルターをかける 〜WHEREの使い方
  • データの検索結果の順序を指定する 〜ORDER BYの使い方
  • データを集計する 〜集計関数とGROUP BYの使い方
  • データの集計結果にフィルターをかける 〜HAVINGの使い方

第2章 知っておかなければならないSQLの常識

  • データベースに用意されているデータ型 〜Oracle9i Datbaseのデータ型
  • 数値データについて 〜NUMBER型
  • 数学で出てくる関数の使い方 〜数値データ用関数の紹介
  • 文字データについて〜CHAR型、VARCHAR2型
  • 文字列を見つける方法 〜LIKE
  • 日時データ、期間データについて(1) 〜DATE型
  • 日時データ、期間データについて(2) 〜TIMESTAMP型、INTERVAL型
  • 数値データと日時データの表示を加工する 〜TO_CHAR
  • データ型の変換 〜TO_DATE、TO_NUMBERなど
  • 何もないというデータの扱い方 〜NULLの扱い方
  • 行のアドレスを示す特別なデータ型 〜ROWIDについて
  • 行の順番を示す特別なデータ型 〜ROWNUMについて
  • 複数の条件を組み合わせる 〜AND、OR、NOT
  • 複数の値をまとめて比較する 〜ANY、ALLの使い方

第3章 1つのSQLで複数の表からデータを取得する

  • 2つの表を1つのSQLで検索する 〜結合、集合演算、副問合せ
  • 2つの表を結合する 〜結合条件の指定
  • 片方の表に対応する行がないデータも結合させる 〜外部結合
  • 1つの表を再帰的に結合する 〜自己結合
  • もっと多くの表を結合する 〜3つ以上の表の結合
  • 2つの検索の結果を足す/2つの表の差分、共通部分を取る 〜UNION ALL、UNION、MINUS、INTERSECT
  • 検索した結果を基にもう一度検索する 〜副問合せ
  • 親子関係にある2つの検索 〜相関副問合せ

第4章 データの入力、変更、削除、コピー

  • データを入力する 〜INSERT
  • データを変更する 〜UPDATE
  • データを削除する 〜DELETE、TRUNCATE
  • トランザクションとは ロックとは 〜COMMIT、ROLLBACK
  • データにロックをかけるには 〜ロックの仕組みとSELECT FOR UPDATE
  • 番号を付けてデータを入力する 〜順序
  • 表から検索したデータを入力する 〜INSERT INTO SELECT
  • 検索した結果を条件に表のデータを変更・削除する 〜UPDATE、DELETEと副問合せの組み合わせ
  • 検索した結果を使ってデータを変更する 〜UPDATEと副問合せの組み合わせ
  • ほかのデータベースからデータをコピーする 〜データベースリンク
  • ダンプファイルを経由してデータをコピーする 〜EXPORT、IMPORT
  • ユーザーが所有しているすべての表をコピーする 〜ユーザー単位のEXP/IMP
  • あるユーザーの表を別のユーザーへコピーする 〜EXPORT/IMPORTの応用
  • テキストファイルからデータを入力する 〜SQL*Loader

第5章 知らないと損する便利な関数

  • 文字列を連結する 〜||、CONCAT
  • 文字列の一部を取り出す/文字列の場所を探す 〜SUBSTR、INSTR
  • 文字列の変換(半角⇔全角、大文字⇔小文字) 〜TO_MULTI_BYTE、TO_SINGLE_BYTE、LOWER、UPPER、INITCAP
  • 文字列の置換 〜REPLACE、TRANSLATE
  • 文字列から空白を取る 〜LTRIM、RTRIM、TRIM
  • 文字列に空白を付けて長さをそろえる 〜LPAD、RPAD
  • 文字列の長さを調べる 〜LENGTH、LENGTHB
  • 文字コードを調べる 〜ASCII、CHR
  • 現在の日付・日時を調べる 〜SYSDATE、CURRENT_DATE、SYSTIMESTAMP、CURRENT_TIMESTAMP、LOCALTIMESTAMP
  • 月末の日付を調べる 〜LAST_DAY
  • 特定の曜日になる日付を調べる 〜NEXT_DAY
  • 月単位で日付の演算をする 〜MONTHS_BETWEEN、ADD_MONTHS
  • 日時データから年、月、日を取り出す 〜TRUNC、ROUND、EXTRACT
  • SQLでIF文のように条件分岐させる 〜DECODE、CASE
  • 複数の値から最大・最小の値を取り出す 〜GREATEST、LEAST

第6章 こんなこともできるんだ!高度な機能の使い方

  • 小計やクロス集計値を1つのSELECT文で求める 〜ROLLUP、CUBE
  • ランキングを表示する 〜RANK、DENSE_RANK(1)
  • グループでのランキングを表示する 〜RANK、DENSE_RANK(2)
  • 上位N位の検索 〜RANK、DENSE_RANK、ROWNUM、副問合せの応用
  • ある値がランキングの何位になるのか調べる 〜RANK、DENSE_RANK(3)
  • ほかの表のデータを基に追加したり変更したりする 〜MERGE
  • INSERTの中でIF文のように条件分岐させる 〜マルチテーブルインサート
  • ほかの表を検索した結果を基にデータを変更する
  • データの階層に従って検索する 〜階層問合せ

第7章 上級者への道 実行計画を理解する

  • オプティマイザの役割を知る
  • コストベースとルールベースとは
  • SQLの実行のされ方
  • EXPLAIN PLANで実行計画を取る
  • AUTOTRACEで実行計画を取る
  • 実行計画とパフォーマンス統計を読む
  • 結合のアルゴリズム
  • ヒントの使い方