Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

操作記述

法政大学

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’])[学生.学籍番号, 学生.学生名]

練習問題

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