INTERACTIVE LAB · データ活用・DB

リレーショナルデータベース

表をつくる。関係をつなぐ。必要なデータが見えてくる。

このブラウザに自動保存します。

1. 定義 — テーブルをつくる

列の名前と型を決めて、行にデータを入れます。

この実験について・試してみよう

まずは:初期サンプルは学生24人・部員36件・部活7つです。S02・S19・S22は部活に入っておらず、文芸部は部員が0人です。基準を「学生」「部活」に切り替えて、残る行の違いを確かめましょう。「定義」で三つの表を見比べ、「結合」で三つの表をつなぎます。「選択」は部活名が将棋部の行に絞る設定です。「射影」で氏名だけを表示すると、兼部する学生の名前が繰り返し現れます。重複除去を切り替えて違いを見てみましょう。

テーブルとカード:テーブルにデータを保存し、関係図にはその表を参照するカード(テーブルオカレンス)を置きます。同じ表のカードを複数置けば、自分自身との関係も作れます。行を編集すると、すべてのカードに反映されます。

主キー:行を区別する列です。設定は任意。複数の列を主キーにすると、組合せ全体が重複せず空欄もないことを確かめます。部員表では学生IDと部活IDの組が主キーです。

結合:同じ型・同じ値の列を対応づける等値結合です。1対多、多対多、複数列の対応に使えます。選んだ基準のテーブルの行を残し、対応するデータがない部分は空欄にします。空欄同士は結合しません。

学習用の範囲:関係は結合の設定で、外部キーの制約にはしません。基準のテーブルとつながらない表は結果に含めません。関係の輪は別のカードを使って表します。数値は有限の小数、文字の比較は大文字・小文字や空白を区別します。テーブル8個、各12列・100行、カード12枚、結果2,000行までです。

作業はこのブラウザに自動保存します。「保存」はJSONファイルを書き出し、「読込」で復元できます。入力したデータをラボから外部へ送信することはありません。

講義ノートでデータベースを読む →

← Interactive Lab の一覧へ

テーブルを定義

主キーは任意です。複数チェックすると複合主キーになります。主キーの列は必須入力です。

列の定義
列名 型 必須 主キー 削除

行を追加

空欄は値なし(NULL)です。必須・主キーの列は空欄にできません。

結合を追加

複数の列を指定すると、すべての値が一致する行を結合します。結合後に、結果の基準となるテーブルを選べます。

カードの名前

元のテーブル名やデータは変わりません。

変更の確認

読み込み

読み込む前に、現在の作業を置き換えるか確認します。