ORACLEMASTER備忘録1(1/2)
この備忘録はORACLEMASTER Bronzeの勉強用です。基本は教科書に書いていることを書き手なりに解釈してまとめたものであるため、多少間違っている部分もあるかもしれませんのであしからず。参考書は下記のものを使っております。
【オラクル認定資格試験対策書】ORACLE MASTER Bronze[12c SQL基礎](試験番号:1Z0-061)完全詳解+精選問題集 (オラクルマスタースタディガイド)
デーベースとは
一般的に扱われるデータベースとは“様々なデータを一定の規則に従って格納し、効率良く利用できるようにしたもの”である。要は大きな倉庫のようなものであり、素早く商品を取り出せるような最大限の効率化をされた某大手ネット通販会社のそれを想像するとわかりやすい。
リレーショナルデータベース
この効率化する手順は型と呼ばれるものがいくつかあり、階層型、ネットワーク型、リレーショナル型と、それぞれ分けられる。Oracleデータベースは三つ目の“リレーショナル型”にあたる。この“リレーショナル型”で管理するソフトウェアの総称を“リレーショナルデータベース管理システム”略して「RDBMS」と呼ぶ。ちなみにRelationalとは日本語で“関係のある、相関的な”という意味。
RDBMSの特徴としては、「表(リレーショナル集合)」「表を管理するための一連の演算子」「データの整合性規則」という三つの構成要素できている。といってもわかりづらいので、使いやすいポイントをあげると、
- 表形式でデータを表現するためデータ構造がわかりやすい
- SQLによる倫理演算を指定できるため人間が使いやすい
- さらに整合性規則によってデータの整合性が維持できる
・表(TABLE)
ここでいう“表”とは一般的使用される“行”と“列”で構成された表で間違いはないが、それぞれ呼び名がある。
表=TABLE
行=ROW
列=COLUMN
横軸であるCOLUMNには列名があり、COLUMNごとの縦軸に格納されているデータがROWである。そしてCOLUMNとROWが交差する部分を“フィールド”という。そしてフィールドに値が含まれない状態を“NULL=「何もない」の意”という。
・主キー
TABLEを扱う際に重要な考え方の一つに「主キー」と「外部キー」という考え方がある。「主キー」とは「表の中の行を一意に識別するための列(または、列の組み合わせ)」である。例えば、マイナンバーや社員番号のように絶対に被ってはいけないデータなどは主キーといえる。重複が許されないからこそ、一つの表に一つしか設定できず、NULLも許されない。そして何より一度データを格納したら“変更できない”のがその大きな特徴である。
・外部キー
一方「外部キー」とは、「同じ表または別の表の主キーまたは一意キーを参照する一つの列(またはその組み合わせ)」である。これは例えば「BさんはAさんの部下である」ことをデータとして表すために、COLUMN 名「MGR(上司)」というROWを作り、BさんのMGRフィールドにAさんの主キーである社員番号をいれると「AはBの“MGR(上司)”である」という処理ができる。ここでいう「MGR(上司)」が「外部キー」である。
外部キーは同じ表内でも設定することができる(自己参照型整合性制約)が、別の表とも関連付けができる。例えば「社員を管理するために社員番号を主キーとする社員TABLE」と「部署を管理する部署番号を主キーとする部署TABLE」がある。社員TABLEに部署番号のROWを追加すれば、部署TABLEの主キーを「外部キー」して扱うことができる。これによって二つのTABLEは関連付けられる。ちなみに外部キーはNULL値を含めることができる。