リレーションと関数の主な違いは、リレーションがリレーショナルデータベース内のテーブルであるのに対し、関数はプログラム内の特定のタスクを実行するためのステートメントの集合であることです。
リレーショナルデータベースシステムにおけるテーブルをリレーションと呼ぶ。
ユーザは1つのデータベースで複数のテーブルやリレーションを設計することができる。
また、テーブルの正規化を行い、データの冗長性を最小にすることができる。
さらに、SQLを使用して、リレーションのデータを取得し、操作することができる。
これに対して、関数は、プログラムの中でタスクを実行するステートメントのグループです。
1つのプログラムには1つ以上の関数が存在することがあります。
リレーションとは
データベースとは、関連するデータの集まりで、データを整理するのに役立ちます。
DBMS (データベース管理システム) は、データベースのデータを簡単に管理・検索するためのソフトウェアです。
データベースモデルは、データベースの論理設計と構造を記述したものです。
さらに、DBMSにデータを格納し、アクセスし、更新する方法を定義する。
最も一般的なデータベースモデルは、1970年にE.F.Coddによって発表されたリレーショナルモデルです。
図1: リレーショナルモデル
リレーショナルモデルを採用したDBMSはリレーショナルDBMSと呼ばれる。
RDBMSのデータベースはリレーショナルデータベースです。
RDBMSのデータベースはリレーショナルデータベースであり、データはテーブルに格納される。
これらのテーブルは互いに接続されており、各テーブルは行と列を持つ。
行やタプルはレコードを表し、カラムは属性を表します。
ある会社の販売データベースでは、顧客テーブルには、customer_name、contact_number、city、emailなどのカラムがあります。
顧客の各レコードは行です。
このテーブルは関係です。
同様に、リレーショナル・データベースのテーブルも関係です。
関数とは
関数とは、あるタスクを実行するための一連のステートメントです。
プロシージャやメソッドとも呼ばれます。
プログラマーは、メインプログラムを複数の関数に分割して、必要に応じて呼び出すことができます。
そして、これによってプログラムがより管理しやすくなる。
さらに、コードの再利用性も向上します。
すべての関数には、それを識別するための名前がついています。
しかし、複数の関数が同じ名前を持つことはできません。
関数は、パラメータを受け取らないことも、複数のパラメータを受け取ることもできます。
関数は、戻り値に応じて戻り値の型を持ちます。
もし、何も返さないのであれば、戻り値の型はvoidとなります。
以下のプログラムを参照してください。
メインプログラムでは、Scannerオブジェクトがあります。
10 行目と 11 行目で、ユーザは num1 と num2 という変数に値を与えることができます。
これらの値は、max関数に渡されます。
この関数は、2つの数値の間の最大値を求め、その最大値を返します。
メインプログラムでは、resultという変数に関数の戻り値が格納される。
最後に、結果が画面に表示されます。
出力はプログラムの左側に表示されています。
ユーザが値50と40を入力すると、最大値50がコンソールに表示される。
関係と関数の違い
定義
関係とは、リレーショナル・データベース内のテーブルを指します。
これに対して、関数はコードの単位であり、より大きなコード構造の中での役割によって定義されることが多い。
したがって、これらの定義は、リレーションと関数の主な違いを説明しています。
使用方法
リレーションと関数のもう一つの違いは、リレーションがリレーショナル・データベースにデータを整理して格納するのに役立つのに対し、関数はプログラムの保守性と可読性を高めるのに役立つということである。
結論
関係と関数は、リレーショナルデータベースシステムにおける2つの概念です。
関係と関数の主な違いは、関係はリレーショナルデータベースのテーブルであるのに対し、関数はプログラムの中で特定のタスクを実行するためのステートメントのセットであることです。