世界でいちばん簡単なOracleのe本 [最新版] Oracleの基本と考え方がわかる本

概 要

データベースソフトOracleの基本と考え方をオールカラーの可愛いイラストを交えながら解説した入門書です。Oracleを使いこなすには、データベースの知識と共に、SQLと呼ばれるデータベースを操作する言語の知識が必要です。本書は、データベースの概要から、Oracleはどのようなソフトなのか、SQLを利用したデータベース操作とプログラミングなど、Oracleの基本から少しずつステップアップしながら、図解でわかりやすく解説します。テーブルの作成、データの登録、削除、登録するデータの自動チェック、検索、集計、さらにはOracle独自の拡張SQL言語である「PL/SQL」まで、Oracleデータベースの使い方がわかります。サンプルファイルのダウンロードサービス付き。

著者 金城俊哉
価格 本体1600円(税別)
ISBN 978-4-7980-3857-5
発売日 2013/7/18
判型 A5
色数 4色
ページ数 298
CD/DVD
対象読者 初級
シリーズ
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

※リンク先によっては、販売ページが用意されていないことがあります。あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

サポート情報は以下からご参照下さい。

サポート情報へのリンク

目次

Chapter 1 データベース、Oracle、SQLって何だろう

Section 01 まずはデータベースについて知ろう

そもそもデータベースって何?

リレーショナルデータベース(Relational Database:RDB)

RDBとRDBMSとクライアント・プログラム

Section 02 Oracleの構成を見てみよう

Oracleの構成

クライアント・プログラムはSQL文でRDBMSに処理を依頼する

Section 03 データを登録するテーブルを見てみよう

テーブルの構造

Section 04 Oracleデータベースの内部を見る

Oracleデータベースの物理構造

データファイルの構造

Section 05 SQLって何?

SQLはデータベースを操作するためのプログラミング言語です

実際のSQL文はこうなっている

SQLの基本的な書き方

SQL文の種類は3種類

Chapter 2 ?自分のパソコンにOracleをインストールしよう

Section 01 ?Oracle.comに登録してOracle Databaseをダウンロードしよう

Oracle.comのユーザー登録を行う

「Oracle Database 11g Enterprise/Standard Editions」のダウンロード

Section 02 ?「Oracle Database 11g Enterprise/Standard Editions」のインストール

圧縮ファイルの解凍

インストール

Section 03 Oracleへログインする

コマンドプロンプトからSQLPLUSを起動してログインする

SQLPLUSの終了

Chapter 3 Oracle事始め…テーブルの作成

Section 01 データを登録するためのテーブルを作る

テーブルを作成する――CREATE TABLE

テーブルの削除――DROP TABLE

Section 02 テーブルの構造を画面に表示してみよう

列の構造を見てみよう

Section 03 データは「型」で分別します

登録するデータの種類を列に設定しておく

数値型――NUMBER

文字型(1)――CHAR型

文字列(2)――VERCHAR2型

日付型――DATE型

Section 04 テーブルの構造を変更する

テーブルの内容を変更する――ALTER TABLE

列のデータ型を変更する――ALTER TABLE…MODIFY…

列を追加する――ALTER TABLE…ADD…

列を削除する

Section 05 テーブル名と列名の変更

テーブルの名前を変更する――ALTER TABLE…RENAME TO…

列の名前を変更する――ALTER TABLE…CHANGE…

Chapter 4 データベース構築のキモ…データの登録、更新、削除

Section 01 データを登録しよう

データを登録する――INSERT INTO…VALUES

列を指定してデータを登録する

Section 02 複数のデータをまとめて登録してみよう

一度に複数行のデータを登録する

Section 03 登録したデータを一覧で表示する

テーブルのデータを表示する――SELECT文(1)

特定の列のデータを表示する――SELECT文(2)

Section 04 データの登録を確定する

データの更新を確定するCOMMIT、元の状態に戻すROLLBACK

Section 05 間違えて登録してしまったデータを削除する

特定の行のデータを削除する――DELETE FROM…WHERE…

行データの削除を取り消す

条件を記述する方法――WEHRE以下の記述

すべての行のデータを一括して削除する――DELETE FROM…

Section 06 登録済みのデータを修正する

登録済みのデータを修正する――UPDATE…SET…WEHRE…

すべての行のデータを一括して修正する――UPDATE…SET…

Section 07 確定しているデータだけを登録する

列を指定してデータを登録する

何もないことを示すための値――NULL

Chapter 5 テーブルに入力できるデータを規制する…制約

Section 01 データの入力を強制する

空のデータを登録できないようにする

NOT NULL制約の列にデータを登録しないとどうなるのか

NOT NULL制約を解除する――ALTER TABLE

NOT NULL制約に名前を付けて管理する

Section 02 ?同じデータを重複して登録できないようにする…UNIQUE制約

重複したデータの登録を禁止するための設定

UNIQUEキーを設定した列に重複したデータを登録してみる

Section 03 NULLも重複も許さない列を作る…主キー制約

重複するデータとNULLの登録を禁止する――主キーの設定

主キーを設定した列に重複したデータを登録してみる

Section 04 ?登録するデータを自動的にチェックする…CHECK制約

指定したデータ以外の登録を禁止する

CHECK制約を設定した列に制約違反のデータを登録してみる

Section 05 ?何も登録しないときは自動的に「未設定」を入れる…DEFAULTの設定

何も登録しなかったときの列の値を決めておく――デフォルト値の設定

デフォルト値が登録されるか見てみよう

デフォルト値の設定を解除する――ALTER TABLE

Section 06 自動で連続番号を入力する…SEQUENCEの設定

シーケンスで連続番号を割り当てるための手順

テーブルを作成して連続番号を割り振ってみよう

シーケンスの削除

Section 07 ?テーブルの作成時に制約を設定する…表内指定と表外指定

列制約を使ってテーブルを作成する

表制約を使ってテーブルを作成する

Chapter 6 Oracleでデータ検索

Section 01 テーブルの中の特定の列だけを抜き出して表示する

見たい列のデータを取り出す――SELECT…FROM

データを取り出すときに列名を別の名前にする

Section 02 テーブルのデータを検索して抜き出してみよう

条件に一致するデータを検索して抽出する――SELECT…FROM…WHERE

検索結果の列を指定してみよう――SELECT 列名1,列名2…

Section 03 ?「400円以上で800円以下」のデータを検索する…検索範囲の指定

検索する条件の範囲を指定する――BETWEEN…AND…

指定した範囲に一致した商品名だけを表示する

条件の範囲以外のデータを検索する――NOT BETWEEN…AND…

Section 04 ?候補の中のどれかに一致するデータを検索する…検索条件の列挙

検索する候補を並べて記述する――IN()

どれかの値に一致するデータがあるか調べる

すべての値に一致しない値を検索する――NOT IN()

Section 05 ?「オレンジ」の「ン」を含む全データを検索する…あいまい検索

指定した文字を含むデータを検索する――LIKEによるあいまい検索

指定した文字を含まないデータを検索する――NOT LIKE…

Section 06 ?○○かつ△△なデータを検索する…条件の組み合わせ(AND演算子)

複数の条件を指定する――論理演算子

「○○かつ△△」の条件で検索する――AND演算子

Section 07 ?○○または××を検索条件にする…条件の組み合わせ(OR演算子)

「○○または△△」の条件で検索する――OR演算子

Section 08 ?○○または△△、かつ××を条件にする…ANDとORの組み合わせ

「○○または△△、かつ××」の条件で検索する

優先したい処理は()で括る

Section 09 検索結果を並び替えて表示する

検索結果を並べ替える――ORDER BY

Chapter 7 集計作業のツボ

Section 01 列のデータ同士で計算する

列同士の値を計算する――四則演算子

単価と売上数を掛け算して売上額を表示する

消費税を含んだ額にする

Section 02 ?列のデータの合計や平均、最高値を表示する…集約関数

そもそも「関数」って何?

商品ごとの売上を合計した値を表示する――SUM()関数

平均値を表示する――AVG()関数

列の最大値を表示する――MAX()関数

最も低い売上額を表示する――MIN()関数

列の件数を表示する――COUNT()関数

重複するデータを外して集計する――DISTINCT

Section 03 データを判定してコメントを付ける…CASE式(1)

条件によって表示する値を変える――CASE式

売上が高い順に「◎売れ筋」、「△売上良好」、「×売上不振」を表示する

Section 04 ?登録されているデータをわかりやすい表現に変えて表示する…CASE式(2)

「果物」、「野菜」を「くだもの類」、「やさい類」という表現に変更する

検索CASE式と単純CASE式

Section 05 商品カテゴリごとにデータをまとめる…GROUP BY(1)

グループ化

「カテゴリ」+「商品名」でグループ化する

Section 06 ?カテゴリや商品ごとの登録件数を調べる…GROUP BY(2)

集計関数はそもそもグループ化の処理を行うための関数

「カテゴリ」でグループ化して登録件数を調べる

「カテゴリ」+「商品名」でグループ化して商品ごとの登録件数を調べる

Section 07 ?カテゴリや商品ごとの集計値を表示する…GROUP BY(3)

カテゴリ」でグループ化して受注額を合計する

「カテゴリ」+「商品名」でグループ化して商品ごとの受注額を合計する

Section 08 ?カテゴリや商品ごとの平均値や最大値を表示する…GROUP BY(4)

「カテゴリ」でグループ化して受注額の平均を表示する

「商品名」でグループ化して商品ごとの最大受注額を調べる

Section 09 ?受注額の合計が4000円以上の商品だけを表示する…条件を付けてグループ化

グループごとの処理に条件を付ける――GROUOP BY+HAVING

HAVING句による処理の流れを見てみよう

Section 10 ?特定のカテゴリに属する各商品のデータを集計する…抽出してからグループ化

特定のカテゴリに属する商品の登録件数を表示する――WHERE句+GROUP BY句(1)

抽出してからグループ化する――WHERE句+GROUP BY句(2)

Section 11 ?売上の平均が多い商品を順に表示する…グループ化してから並べ替え

グループ化したあとで並べ替える――GROUP BY句+ORDERBY句

Section 12 GROUP BY句とWHERE句に関するよくある間違い

SELECT句に集約キー以外の列名を書いてしまう

HAVING句にGROUP BY句とは異なる列名を書いてしまう

Section 13 GROUP BY句とCASEとの違いとは?

カテゴリごとの売上合計を表示する

CASE式にしかできないこと

Chapter 8 複数のテーブルを自在に操作しよう

Section 01 そもそもテーブルの結合って何?

データを別々のテーブルで管理する

リレーショナルデータベースのキモは数多くのテーブルを結び付けること

Section 02 商品情報に在庫情報を結合させる

テーブル同士のデータを結び付ける―INNER JOIN

結合した結果を表示する列を指定する

Section 03 特定の結合データだけを抜き出して表示する

内部結合を行ってから条件を付けて絞り込む

特定の支店の在庫を表示してみよう

Section 04 結合できないデータも含めて表示する

指定したテーブルに存在するデータはすべて表示する―LEFT OUTER JOIN

もう一つの外部結合―RIGHT OUTER JOIN

Section 05 ?単純に2つのテーブルを合算する(集合演算(1))

2つのテーブルのデータを1つにまとめて表示する―集合演算(UNION ALL)

集合演算の注意事項

Section 06 ?重複するデータを除いてテーブルを合算する(集合演算(2))

重複する行を排除する―UNION

重複データを排除するときの注意

Section 07 ?共通して存在するデータだけを表示する(集合演算(3))

2つのテーブルの重複データだけを表示する―INTERSECT

Section 08 ?共通して存在しないデータを表示する(集合演算(4))

レコードの引き算を行う―MINUS

Chapter 9 高度な問い合わせ…サブクエリとビュー

Section 01 ?問い合わせの中に別の問い合わせを埋め込む…サブクエリ

サブクエリによる副問い合わせ

1つの値だけを返すサブクエリ――スカラ・サブクエリ

Section 02 ?列のすべての値と平均値の差を表示する…SELECT句+スカラ・サブクエリ

スカラ・サブクエリを書ける場所

Section 03 ?共通するデータの中から指定したデータを取り出す…相関サブクエリ

2つのテーブルのデータを参照するサブクエリ

相関サブクエリの実体

Section 04 ?2つのテーブルに共通するデータをまとめて取り出す(1)

2つのテーブルに共通する要素を抽出する

サブクエリの結果を1つずつ取り出す――IN

どれにも一致しないデータを抽出する―NOT IN+サブクエリ

Section 05 ?2つのテーブルに共通するデータをまとめて取り出す(2)

サブクエリの結果を行単位で取り出す

特定の商品の売上を表示する

売上がない商品を表示する――NOT EXISTS

Section 06 ?面倒なSQL文を記録しておける便利なツールを使ってみよう…ビュー

SQL文を保存していつでも呼び出せるようにする

ビューの定義

ビューを作ってみよう

ビューを呼び出して結果を表示してみよう

ビューの呼び出しパターン

Section 07 独自に計算した結果をビューで表示する

ビューに独自の列を設定する

集計結果だけをビューで表示する

Section 08 2つのテーブルを結合するビューを作る

2つのテーブルを結合するビュー

表結合のビューの結果に対して別の処理を行う

Chapter 10 ?PL/SQLの世界…Oracle専用SQLでプログラミング

Section 01 Oracle専用のプログラミン言語、PL/SQL

PL/SQLは手続き型のプログラミング言語

PL/SQLを使うメリット

PL/SQLの基本はSQL文

PL/SQLの記述方法

PL/SQLプログラムが実行される仕組み

Section 02 画面に「PL/SQLの世界へようこそ」と表示してみよう

プロシージャを呼び出して文字を表示する

関数の処理結果を表示してみよう

Section 03 PL/SQLでテーブルを作成してデータを登録してみよう

PL/SQLプログラムはコンパイルしてから実行される

動的SQLでテーブルを作成してみる

Section 04 Pl/SQLでデータを抽出するには

変数とは

変数を使ったプログラムの作成

PL/SQLでSELECT文を記述する

Section 05 「抽出したデータは○○です。」の形式で表示する

まずは操作対象のテーブルを作成

300円の商品名を「300円の商品は○○です。」と表示する

Section 06 対話形式で入力された値をテーブルに登録する

キーボードから入力された値を変数に代入する方法

キーボードから入力された値を列に登録するプログラム

Section 07 指定した行をコピーして新しい行を作る

商品コードを入力すると対象の行をコピーするプログラム

%ROWTYPE属性でテーブルのデータ型を一気に設定

Section 08 ?SELECT文で返される複数のデータに対処する…カーソルの利用

SELECT…INTOで処理できるのは1行のデータのみ

指定した回数だけ処理を繰り返す

カーソルを使って複数の結果を処理する

テーブルのデータを取り出して順位を付けてみよう

Section 09 指定したデータを抽出するプロシージャを作成する

サーバーに置いていつでも呼び出せるストアドプログラム

プロシージャを作成する

Section 10 データを評価するプログラムを作成する

ストアドファンクションの作成方法

列の値を計算して結果を返すファンクションを作成する

Section 11 あるきっかけで処理を行うプログラムを作成する

イベントに反応して実行されるトリガー

UPDATEすると実行前のデータのコピーを作成するトリガー

Chapter 11 Oracleについてもっと知ろう

Section 01 新しいデータベースを作成する

データベースを作成する

Section 02 接続先のデータベースを変更する

接続中のデータベースを確認する

別のデータベースに接続する

Section 03 競合する処理の衝突を防ぐ…トランザクションの仕組み

トランザクションが必要な状況を考える

トランザクションで同時アクセスを禁止する

Section 04 復元ポイントを作成する…セーブポイントの作成

セーブポイントを利用したロールバック

Section 05 Oracleを操作するユーザーを作成する

ユーザーの種類

ユーザーを作成する

Section 06 作成したユーザーでログインしてみよう

作成したユーザーでログインして操作を行う

コラム

インスタンス

Oracle Technology Network

Oracleのユーザー

大文字と小文字の使い分けについて

テーブルと列の命名規則

指定した桁を超える値を入力した場合

小文字で入力したテーブル名や列名は大文字で保存される

コマンドプロンプトの表示幅を広げる方法

データの入力

そもそも何でCOMMITやROLLBACKを使うのか?

制約名を指定して制約を解除する

CHECK制約の例

シーケンスの詳細を設定する

検索条件に使用する比較演算子

ANDとBETWEEN…AND

論理演算子が実行される順序

ORとIN

データが登録されていない行を抽出する

WEHRE句を使って「サザエ」を除いて集計する

HAVING句とWHERE句は何が違う?

WHERE句にグループ関数は書けない

ASを使ってテーブル名を短くする

内部結合をWHERE句で行う

同じ構造のテーブル同士を集合演算する場合

相関サブクエリの代わりにテーブルの結合を使う

EXISTSの代わりにテーブルの結合を使う

ビューの列名を独自の名前にする

ビューの列名を省略する

ビューの削除

プロシージャの削除

ストアドファンクションの削除

Oracleのサービス停止

データベース用のフォルダーを確認する

ユーザーの削除

PR

秀和システム