関係 (リレーション)

更新日:

用語解説

関係(リレーション)は、関係モデルで、複数の属性の定義域の直積から選ばれたタプルの集合です。実装上は表に対応し、列見出しが属性、各行がタプル、各セルの値が属性値に当たります。

■ 試験で押さえるポイント

  • 属性A1~Anの定義域をD1~Dnとすると、関係Rは直積D1××DnD_1\times\cdots\times D_nの部分集合です。各タプルは各属性について定義域に属する値を一つ持ちます。

  • 属性数を次数又はdegree、タプル数を濃度又はcardinalityといいます。3列100行の関係なら次数3、濃度100であり、用語を逆にしません。

  • 関係は集合なので同一タプルの重複はなく、行の順序にも列の本質的な順序にも意味はありません。表示順が必要なら問合せで明示します。

  • 関係スキーマは関係名、属性、定義域などの構造、関係インスタンスはある時点のタプル集合です。SQL表は重複やNULLを許し得るため、数学的な関係を近似した実装と捉えます。

■ 選択肢での判断ポイント

表・行・列を関係・タプル・属性へ対応付け、次数と濃度を数えます。『行順に意味がある』『重複タプルを当然許す』という選択肢は純粋な関係の性質に反します。

例: 学生(学生番号, 氏名, 学年)に200件の相異なる行があるなら、この関係の次数は3、濃度は200です。学生番号を候補キーにすれば各タプルを一意に識別できます。

同じ分野の用語