●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

Accessのテーブル設計の基本:正規化(Normalization)とは?

正規化(Normalization)とは、Accessなどのリレーショナルデータベースでデータの重複をなくし、整合性を保つためにテーブルを整理・分割する設計手法です。
正規化によって無駄なデータの繰り返しや更新時の不整合を防ぎ、効率的で管理しやすいデータベースを構築できます。

正規化の目的

  • データの重複を最小限に抑える
  • データの整合性・一貫性を保つ
  • 更新・削除・追加時の不整合(異常)を防ぐ
  • 検索や集計の効率を高める

正規化のステップ(第1〜第3正規形)

■ 第1正規形(1NF)

  • 1つのフィールドに1つの値のみ(繰り返しの排除)
  • 例:注文商品1、注文商品2、… → 商品を別テーブルに分離

■ 第2正規形(2NF)

  • 主キーの一部にしか依存しない項目を分離
  • 複合主キーがある場合、そのすべてに関係しない項目を別テーブルへ

■ 第3正規形(3NF)

  • 主キーに依存しない情報(推移的関数従属)を排除
  • 例:社員テーブルに所属部署名→部署マスタを別テーブルに

正規化の具体例

正規化前(1つのテーブルにすべて)

注文ID顧客名商品名数量
001田中りんご3
002田中みかん5

正規化後(3つのテーブルに分離)

  • 顧客テーブル: 顧客ID・顧客名
  • 商品テーブル: 商品ID・商品名
  • 注文テーブル: 注文ID・顧客ID・商品ID・数量

注意点

  • 正規化しすぎるとテーブル数が増えて複雑になる
  • Accessの小規模なアプリでは第3正規形程度までが一般的
  • 分析用には逆に「非正規化(まとめる)」することもある

まとめ

  • 正規化: テーブルを分けてデータの重複と不整合を防ぐ手法
  • 第1〜第3正規形までが基本
  • Accessでのテーブル設計の基礎となる重要な概念

正規化は、Accessで堅牢なデータベースを設計するうえで不可欠な考え方です。
システム構築の初期段階で正しく設計することで、保守性・拡張性・信頼性の高いデータベースが実現します。

 

Access関連用語集

−−−−−  Access  −−−−−

Accessの基本構造:テーブルとは?

Accessの基本要素:フィールドとは?

Accessの基本単位:レコードとは?

Accessの基本概念:主キー(Primary Key)とは?

Accessのリレーションの核:外部キー(Foreign Key)とは?

Accessの構造設計:リレーションシップ(関係)とは?

Accessの分析機能:クエリ(Query)とは?

Accessの基本クエリ:選択クエリとは?

Accessのデータ更新機能:アクションクエリとは?

Accessの一括修正機能:更新クエリとは?

Accessの一括削除機能:削除クエリとは?

Accessの集計機能:集計クエリ(Totals Query)とは?

Accessの表形式集計:クロス集計クエリとは?

データベース言語の基本:SQL(Structured Query Language)とは?

Accessの入力・表示画面:フォーム(Form)とは?

Accessのフォーム連携:サブフォーム(Subform)とは?

Accessの帳票出力機能:レポート(Report)とは?

Accessの自動化機能:マクロ(Macro)とは?

AccessのVBAコード格納場所:モジュール(Module)とは?

Accessの自動化・拡張機能:VBA(Visual Basic for Applications)とは?

Accessの自動採番機能:オートナンバー型(AutoNumber)とは?

Accessの入力支援機能:ルックアップフィールド(Lookup Field)とは?

Accessの基礎設計:データ型とは?

Accessの検索・並べ替え高速化機能:インデックス(Index)とは?

Accessのデータ品質維持機能:入力規則(Validation Rule)とは?

Accessのテーブル設計の基本:正規化(Normalization)とは?

Accessのリレーション保護機能:参照整合性(Referential Integrity)とは?

Accessのオブジェクト管理画面:データベースウィンドウとは?

Accessの操作画面をまとめる:ナビゲーションフォーム(Navigation Form)とは?

Accessのメニュー画面作成ツール:スイッチボード(Switchboard)とは?