1. リレーショナルデータベースの基礎
1.1 データベースとDBMS
データベースとは?
- データを蓄積したものにすぎない。
- あらゆる環境で利用される。ex. 航空券の予約、個人の住所録
データベースマネージメントシステム(DBMS : Database Management System)
- データベースとそれを利用するユーザーの間に立ち、データ管理に関する様々な問題を一手に引き受ける。
- アプリケーション開発者は、ユーザーインターフェイスとDBMSとの通信に専念できる。
1.2 データモデル
データの構造を論理的に表したもの。主なデータモデルは以下の3種類。
- 階層型
- ネットワーク型
- リレーショナル(関係)型
階層型、ネットワーク型は、リレーショナル型以前に考案されたデータモデル。ポインタによってデータが関連付けられている。ポインタとは、次のレコードのアドレスを指し示す情報のこと。
ポインタを用いるデータモデルの利点
データのつながりを実現するためにはポインタを格納するだけで良い。
ルートノードからのデータの配置と検索順序が基本的に固定されているため、少しでも異なる順序でデータを検索しようとすると、非常に効率が悪くなる。また、データの物理的なアドレスを直接的に扱うため、拡張が難しく、柔軟性に欠ける。
リレーショナル型のデータモデルは、データの扱いが簡単で、拡張性と柔軟性に富む。
現在、もっとも普及しているデータモデル。
1.3 リレーショナルデータベースの特性
1.3.1 表
リレーショナルデータベースの基本は、全てのデータを2次元の表として表すこと。
表は、行と列から構成される。
表のことをテーブル、行のことをロー、列のことをカラムと呼ぶこともある。
表のことを関係(リレーション)、行のことを組(タプル)、列名のことを属性(アトリビュート)と呼ぶ場合もある。
さらに、列の取りうる値の範囲のことを定義域(ドメイン)と呼ぶ場合もある。
1.3.2 リレーションシップ
リレーションデータベースでは、表を定義することによってデータベースを構成する。
複数の表がつながって1つの表になるようにデータベースを設計する。
1.3.3 キー
表どうしを関連付けるには、キーとなる列を介して表と表を結びつけていく。
・主キー
表の中の行を一意に識別するために使う列のこと。
・候補キー
表によっては、キーとなりうる列が複数あることもある。キーとなりうる列のことを候補キーと呼ぶ。主キー以外の物を代替キーと呼ぶ。
・外部キー
ある表(表A)と別の表(表B)に同じ値を取りうる列がある場合、一方が主キーであって、もう一方が主キーでないときに、主キーではない方の列を指して外部キーという。
・連結キー
複数の列の組み合わせによって構成されるキーのことを連結キーという。
1.4 集合演算と関係演算
リレーショナルデータベースでは、データを物理的なファイルとしてではなく、抽象的な表として扱う。表を集合であると考える。
表に対する演算には、集合演算と関係演算がある。
1.4.1 集合演算
- 和(union)
和は、複数の集合において、両方の集合の全ての要素を集めたもの。ただし、重複する行は除かれる。
- 差(difference)
差は、複数の集合において、元の集合にしか存在しない要素を集めたもの。どちらの表を元にするかによって結果が異なる。
- 積(intersection)
積は、複数の集合において、両方の集合に含まれる要素を集めたもの。
- 直積(cartesian product)
直積は、複数の集合において、両方の集合の全ての要素の全ての組み合わせ。
1.4.2 関係演算
- 選択(selection)
選択は、表の中から条件に合った行を抽出する演算。
- 射影(projection)
射影は、表の中から条件に合った列を抽出する演算。
- 結合(join)
結合は、共通の列を介して複数の表を結び付け、新しい表を作る演算。
- 除算(division)
除算では、まず、割られる方の表から、割る方の表の全ての列の値を対応する列にもつ行を取り出す。次に、その行から、割る方の表の列を取り除く。重複する行は除かれる。
この演算はあまり使われないと考えられているためか、現実のリレーショナルデータベースには実装されないことが多い。
1.5 データの正規化
2. SQLの基礎
3. 演算子
4. 関数
5. SELECT文の句
6. 表の結合
7. サブクエリー
8. データの操作
9. 表の作成と保守
10. ビューとインデックス
11. トランザクション
12. セキュリティ
コメント
最新を表示する
NG表示方式
NGID一覧