Skip to article frontmatterSkip to article content

操作記述

法政大学

Young man, in mathematics you don’t understand things. You just get used to them.

John von Neumann

学習目標

リレーショナル代数

リレーショナル代数(relational algebra)はエドガー・F・コッドによって提案された,リレーションとして表現されたデータを操作するための代数的な演算の体系である.それを実装したデータベース言語はSQLである.

リレーション代数は次の基本演算から構成される.

和両立

和集合演算

差集合演算

共通集合演算

直積演算

射影演算

選択演算

結合演算

商演算

リレーショナル代数表現

実リレーション(base relation)はデータベースに実際に格納されているリレーションである.リレーション演算から得られた結果もリレーションである.そのようなリレーションを導出リレーション(derived relation)と呼ぶ.

演習

リレーション学生(学籍番号,学生名,学部),内定(学籍番号法人番号,職種),会社(法人番号,会社名,所在地)があるとする.

問1 すべての学生の全データを求めよ.

学生

問2 理工学部の学生の全データを求めよ.

学生[学部 = ‘理工’]

問3 内定先を決まっている学生の学籍番号を求めよ.

内定[‘学籍番号’]

問4 内定先を決まっていない理工学部の学生の学籍番号を求めよ.

学生[学部 = ‘理工’][‘学籍番号’] - 内定[‘学籍番号’]

問5 理工学部の学生の内定先の法人番号を求めよ.

((学生[‘学籍番号’ = ‘学籍番号’]内定)[学生.学部 = ‘理工’])[内定.法人番号]

問6 法人番号が’0001’の会社の内定を受けた学生の学籍番号と学生名を求めよ.

((学生[‘学籍番号’ = ‘学籍番号’]内定)[内定.法人番号 = ‘0001’])[学生.学籍番号, 学生.学生名]

練習問題

自由に設定したテーマに基づいてリレーショナルデータベースのスキーマを定義し、それを用いてすべての基本的なリレーショナル代数演算を含む例題を作成し、その解答を示しなさい。