データベースの正規化

表に入力し、主キーを指定して関数従属性を宣言すると、第1・第2・第3正規形にどう分割されるかを確認できます。

すべてこのブラウザ内で計算され、サーバーには一切送信されません。

表

3行 × 5列

セルにカンマまたはセミコロンで区切られた値が含まれる場合、多値として扱われます。

主キー

キーを構成する列にチェックを入れます(1つまたは複数)。

関数従属性

従属性とは、決定子の列が従属列の値を決定することを表します。

従属性はまだありません。表に当てはまるものを追加してください。

このツールは、データベースの正規化をステップごとに学べます。テーブルを入力し(最初は3行5列、最大20行10列)、主キーを指定して、成り立つ関数従属性を宣言します。「正規化」を押すと、テーブルが現在どの正規形にあるか(1NF未満、1NF、2NF、3NF)を判定し、1NF、2NF、3NFの各段階で分解された結果のテーブルを表示します。授業や設計の練習に便利で、処理はすべてブラウザー内で行われ、データが送信されることはありません。

使い方

  1. テーブルのデータを入力し、必要に応じて列名を変更します。行と列は追加や削除ができます。
  2. 単一または複合の主キーとなる列にチェックを付けます。
  3. 関数従属性を追加します。それぞれ、決定項と従属項の列を選びます。
  4. 「正規化」を押し、現在の正規形と、1NF、2NF、3NFの各ステップで得られるテーブルを確認します。

よくある質問

複数の値を持つセルとは何ですか?
"ann; luis" のように、カンマまたはセミコロンで区切られた複数の値を含むセルです。複合住所("Street 1, 28000 Madrid" は2つの値として扱われます)や、phone1、phone2 のような繰り返し列など、他の非原子データは検出しません。
データから関数従属性を推測してくれますか?
いいえ。行数が少ないとどの従属性が成り立つか判断できないため、ご自身で宣言します。ツールはデータが宣言と矛盾していないかだけを確認します。
どの正規形に対応していますか?
第1、第2、第3正規形です。BCNF、4NF、5NFには対応せず、主キーは1つのみです。
データをJSONで読み込んだりコピーしたりできますか?
はい。「JSONで編集」ボタンで、テーブル、キー、従属性をJSONとして表示し、変更して反映できます。「例」ボタンでサンプルのテーブルを読み込めます。結果の各テーブルにはJSONコピーボタンがあり、エディターに貼り付けてその段階から続けられます。

関連ツール