@kyanny's blog

My thoughts, my life. Views/opinions are my own.

図解入門よくわかる最新Oracleデータベースの基本と仕組み[第4版]

Oracle Database について知りたかったので他の本とあわせて買った。こちらのほうが易しそう(悪くいえば素人っぽい)で、 Oracle 特有の概念だけさらっと読んでおさえれば十分かなと思って読み始めたら意外に読みやすくためになって七割方読んでしまった。 Oracle Database のみならず、 Oracle Database を取り巻く Oracle 社製品についても触れられていて、ためになった。扱う領域が広すぎるせいで多少説明不足気味に感じられたところもあったが、仕方ないと思う。

RDBMS や SQL については知っていて他の RDBMS 製品にも慣れているが、 Oracle Database という製品のことは知らない人に向いている。ただし会社の机の上に置いておくにはちょっと表紙が初心者向けっぽすぎて若干恥ずかしいかもしれないので家でこっそり読むのが良い。読むべき (MUST) 章は 1,3,4,6 で、読むとよい (MAY) 章は 5, 7, 9, 10, 11, 12, 13, 14, 15, 16。

全体的に「Oracle 社すげえな...」と思った。あと名前だけ見かけていた PL/SQL の説明を読んで「SQL を手続き型言語として拡張したものである」と書いてあって戦慄を覚えた(これまで読んできた SQL を多少まともに取り扱う本や文献では SQL がいかに手続きを排して設計されているか(それが良しとされているか)が嫌というほど語られていたので、こりゃあ SQL 作った偉い人たち涙目か怒り心頭のどっちかだわ...と思った)

  • インスタンス =~ mysqld
  • データベース =~ /var/lib/mysql 以下のファイル群(MySQL におけるネームスペース的な database とは全く異なる)
  • 表領域 (tablespace) は OS のファイルシステム上の物理ファイルに対する論理的なモノ
  • スキーマも論理的なモノだが表領域とは直交する概念(無関係ではないが包含関係・親子関係にはない)
  • スキーマはユーザーごとに一つ作られるので実質ユーザー == スキーマ
  • Oracle の世界ではテーブルでもインデックスでも全て「オブジェクト」と呼ぶ
  • オブジェクトは必ずスキーマに属する(オブジェクトには必ずオーナーであるユーザーがいる)
  • マテリアライズドビュー (materialized view) は「実体を持ったビュー / 実体化されたビュー」
  • SID == System Identifier
  • グローバルデータベース名と SID の関係(要暗記)
  • CLI は sqlplus