制約(a),射影(b),自然結合(c)である。表に登録されたレコード(行)を絞り込む。表を縦に縮めるイメージである。射影は逆に,表の項目を絞り込む。複数の表をつなげる処理が自然結合である。合併(a),差(b),共通部分(c)である。本来合併は和集合,共通部分は積集合と呼ぶ。関係演算と集合演算がRDBの基盤リレーショナル・モデルの理論的基盤として重要なのが,関係演算と集合演算である。これらの概念を導入することにより,表の形で表したデータ集合から,任意のデータ集合を抽出できることが証明されている。平たく言えば,データベースとしてちゃんと使えるということである。逆に言えば,これらの演算を満たしていなければリレーショナル・データベースとしては不備がある,ということになる。関係演算から見ていこう。“リレーショナル・データベースらしい”処理なので,まともなRDBMSであればどれも装備している機能である。「最小関係システム」と呼ばれるのが,最も基本となる三つの関係演算を備えていることだ。(1)制約(選択),(2)射影,(3)結合(自然結合),である注3)。具体的な操作を見ていこう。(1)の制約とは,テーブルのなかから条件に合致する複数のレコードから成るテーブルのサブセットを作り出すこと(図6-a[拡大表示])。ある特定の取引先のレコード集合を作り出すといった操作がこれにあたる。(2)の射影は,制約を縦に変えたようなイメージだ。ある特定のフィールドだけに絞り込んだデータ集合を作成する操作である(図6-b[拡大表示])。これら二つの演算は,単一のテーブルから任意の情報を切り出す操作であることはすぐにお分かりいただけるだろう。(1)と(2)の演算を組み合わせれば,一つのテーブルから任意のサブセットを作成できるからだ。(3)の結合が,リレーショナル・データベースをリレーショナル・データベースたらしめている操作である。二つのテーブル(テーブルA,テーブルBとする)があるときに,テーブルAのフィールドAの値と,テーブルBのフィールドBの値が同じレコードをそれぞれ結合するという操作である(図6-c[拡大表示])。商品コードをキーとして販売明細の内容に商品名と単価を取り込む場合などに使う。これにより,前述の正規化によって分けられたデータを,再び一括して取り扱えるようになる。集合演算があると“関係完備システム”リレーショナル・データベースと言えばその名前からも,関係演算に目が向きがちである。実際の操作では,集合演算も重要な意味を持つ。データを分析したり傾向を導き出したりする際に利用できる。集合演算は三つ定義されている。合併,差,共通部分である(図7[拡大表示])。合併を施すことにより,数カ月間に販売した商品はどれかを知ることができる。逆に差をとれば,特定の月に売れた商品を導き出せる。前述の関係演算と組み合わせることによって,任意のデータ集合を導き出せるのだ。厳密に言えば,集合演算にはもう一つ,「直積」もある。二つのテーブルの各レコードを組み合わせて新しいレコードを作る。実際の場面を考えたとき,直積を使うことは少ない。関連性のない複数のテーブルをつなぐことはないからだ。実質的に結合演算があれば十分だと考えられる。「そういえばクエリーってSQLを使って書くんですよね。「あれはあれで一種のプログラミング作業だから,決して簡単じゃあない。データベースを使うんだったら,絶対に必要だよ。126ページ記事は執筆時の情報に基づいており、現在では異なる場合があります。【第13期】8回のセミナーでリーダーに求められる“コアスキル”を身につけ、180日間に渡り、講師のサポートの...IT法務リーダー養成講座システム開発・運用に関するもめ事、紛争が後を絶ちません。人手不足に悩み、働き方改革の必要性が問われるIT企業。日本初のデジタルバンク「みんなの銀行」誕生の軌跡に学ぶ「みんなの銀行」という日本初のデジタルバンクをつくった人たちの話です。「次の一手」が分かるDXの祭典。2023年6月に大阪で開催します。情報変更・解約6/1開催ウェビナー『ChatGPTは我々の仕事をいかに変えるのか?。