Amanjackのブログ

プログラミング初心者、FX初心者の成長日記

書評「Oracleの基本 データベース入門から設計/運用の初歩まで」

Oracleの基本 データベース入門から設計/運用の初歩まで」を読みましたので、復習もかねて書評をします。

 

Oracleの基本 ~データベース入門から設計/運用の初歩まで

Oracleの基本 ~データベース入門から設計/運用の初歩まで

 

 

第1章 データベースを知る

 1.1 なぜデータベースは必要なのか
 1.2 リレーショナルデータベースの基礎

第2章 Oracleを使ってみる

 2.1 データベースを構築する
 2.2 データベースに接続する
 2.3 データベースを起動/停止する
 2.4 学習用ユーザーを作成する
 2.5 テーブルとデータ操作の基本

第3章 より高度なデータ操作を学ぶ

 3.1 データを複雑な条件で検索する
 3.2 データを加工/集計する
 3.3 NULLとIS NOT NULL 条件
 3.4 SELECT文とSELECT文を組み合わせる
 3.5 テーブルを結合する
 3.6 データの表示画面にこだわる
 3.7 トランザクションでデータを安全に更新する

第4章 データをより高速に/安全に扱うしくみ

 4.1 検索処理を高速化するインデックス
 4.2 SELECT文をシンプルにまとめるビュー
 4.3 不正なデータの混入を防ぐ制約
 4.3 連番を振り出すシーケンス
 4.4 セキュリティ機構の基礎となるユーザー機能
 4.5 ユーザー権限を制御する

第5章 テーブル設計の基本を知る

 5.1 テーブル設計とは
 5.2 第1ステップ - 概念設計
 5.3 第2ステップ - 論理設計
 5.3 第3ステップ - 物理設計

第6章 データベース運用/管理のポイントを押さえる

 6.1 データベースにおける/管理の重要性
 6.2 バックアップを取ってデータを守る
 6.3 データベースのメンテナンス
 6.4 データベースを監視する
 6.5 ネットワーク環境/本番環境でOracleに接続する
 6.6 トラブルに立ち向かうためには 

 

第1章 データベースを知る

この章ではデータベースの必要性、重要性、仕組みの話があります。データベースはシステムで扱うデータを管理するためのシステムです。データベースに障害が発生するとシステムが運用できなくなってしまったり停止したりするため、サービスに多大な影響を与える恐れがあります。Oracleの特徴として、商用のRDBMSの分野ではNo.1のシェアを誇ります。企業向けシステムではOracleのシェアが高く、WEB系のシステムではMySQLのシェアが広いです。

 

第2章 Oracleを使ってみる

Oracleデータベースの開発環境の構築から始まり、ユーザーの作成、接続、停止、起動までの説明と、本格的にOracleを扱うまでの基本的な説明になります。データベースの開発環境はOracle社からダウンロードするのですが、この本ではWindowsのOSを利用します。Macでは無料の開発環境は提供されておらず、この本では説明は一切ありませんのでご注意ください。Oracleを利用する際はSQL*Plusと呼ばれるツールを使用しますが、SQL*PlusとOracleSQLは別物なので、同じ画面でSQL*Plusのコマンドを打ったり、OracleSQLのコマンドを打ったりとややこしかったです。列に対してデータ型がありますが、javaに出てきたりSQLに出てきたりとややこしくて覚えるのが大変です。

 

第3章 より高度なデータ操作を学ぶ

データベースを検索する際の条件付きの検索方法を学びます。タイトルは高度な操作方法となっていますが、まだまだ基本の話です。トランザクションとはデータを更新する際、障害が発生してもデータの整合性を保つための仕組みです。「All or Nothing」と呼ばれ、更新途中に一部だけ更新が保持されないように、全ての更新処理を済ますか、全てに更新処理を行わないかのどちらかを維持します。

 

第4章 データをより高速に/安全に扱うしくみ

この章は知らない話が多く難しかったです。インデックスは大量にあるデータに検索をかける際、効率的に検索結果を得るための仕組みです。インデックスの仕組みにも種類はあるのですが、基本的には索引のようなもので、データをグループ化して索引に記載し、全てのデータを検索せずとも該当のデータに効率的にたどり着きます。ビューとは、複雑な検索をする際に長くなったSELECT文をまとめるための仕組みです。他に列に対してルールを設ける”制約”、連番を振る事ができる”シーケンス”、”権限譲渡の方法”を学びます。

 

第5章 テーブル設計の基本を知る

この章では新たにシステムを開発する際のテーブル設計の作り方を学びます。ウォーターフォールモデルの要件定義→基本設計→詳細設計のようなもので、マクロな視点からミクロな視点に落とし込んでいきます。概念設計と論理設計はシステム開発の上流に行かないと関わらないと思いますが、物理設計に関しては実務でも使いそうです。

 

第6章データベース運用/管理のポイントを押さえる

この章では主にバックアップやメンテナンスの方法を学びます。エラーが起きたときのヒアリングの内容から対処の方法、バックアップの仕組みや日々のメンテナンスの方法などです。ネットワーク環境での環境構築の説明もあります。

 

読後感想

会社で使うための勉強として読みましたが、時間がかかるためパソコンは使わずにただ読んだだけですが、今まで会社で理解がないまま検索したところが理解しながら検索できるようになり検索が楽しくなりました。ただ、データベースはシステムの根幹だけあって、仕組みはシンプルなのですが、とても奥が深く、機能も多く勉強することがたくさんありそうです。データベースはプログラマーでいる限りずっと付き合って行くものなので、これからも精進あるのみです。