●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

基本情報技術者試験の重要知識:データベース正規化とは?

正規化(Normalization)とは、データベースの表(テーブル)構造を整理し、冗長性を減らしてデータの一貫性と整合性を保つ手法です。
リレーショナルデータベース(RDB)の設計において、更新・挿入・削除などの操作時に矛盾や不整合が起きないようにするために用いられます。

正規化の目的

  • データの重複(冗長性)を排除する
  • データの一貫性を保つ
  • 更新時の不整合(更新異常)を防ぐ
  • 将来的な拡張・管理をしやすくする

主な正規化の段階(正規形)

  • 第1正規形(1NF): 繰り返し項目や複数の値を1つのセルに持たせない(すべての列が単一値)
  • 第2正規形(2NF): 主キーの一部にしか依存しない属性を分離(部分関数従属の排除)
  • 第3正規形(3NF): 主キー以外の項目に依存する属性を分離(推移的関数従属の排除)

例:社員データの非正規表

社員ID | 氏名 | 部署名 | 部署電話番号
-------------------------------------
101    | 田中 | 営業部 | 03-1111-1111
102    | 鈴木 | 営業部 | 03-1111-1111
103    | 佐藤 | 開発部 | 03-2222-2222

このような表は部署ごとに同じ情報が繰り返されており、正規化が必要です。

正規化の後(3NF)

  • 社員テーブル: 社員ID・氏名・部署ID
  • 部署テーブル: 部署ID・部署名・部署電話番号

正規化のメリット

  • データの重複がなくなり、整合性が保たれる
  • 不要な更新・削除のミスを防げる
  • テーブルが論理的に整理され、管理しやすい

注意点(デメリット)

  • テーブルが細かく分かれすぎると、クエリが複雑になる
  • パフォーマンスを考慮して、あえて正規化しない場合(非正規化)もある

基本情報技術者試験での出題ポイント

  • 第1〜第3正規形の違いを理解しているか
  • 非正規表から正規化の過程を読み取れるか
  • 更新異常(挿入・削除・更新)について理解しているか

学習のコツ

  • 例題ベースで、「何が問題なのか」「どう分ければいいか」を整理して考える
  • 関数従属・主キーの関係を図や矢印で書き出して可視化する

まとめ

  • 正規化とは「データの整理整頓」
  • 第1〜第3正規形を理解して、設計の基本を身につける
  • 試験では構造の問題点や改善方法が問われやすい

データベース正規化は、システム開発や運用において非常に重要な設計技術です。
基本情報技術者試験では、表の構造を見て「どこに問題があるか」「どう改善するか」を判断する力が求められます。

 

基本情報試験関連用語集

−−−−−  基本情報技術者試験  −−−−−

基本情報技術者試験の重要分野:アルゴリズムとは?

基本情報技術者試験の基礎知識:フローチャートとは?

基本情報技術者試験の頻出テーマ:ソート(整列)とは?

基本情報技術者試験の頻出テーマ:探索(サーチ)とは?

基本情報技術者試験の注目テーマ:再帰(リカーシブ)とは?

基本情報技術者試験の基本データ構造:スタック/キューとは?

基本情報技術者試験の基本構造:配列(Array)とは?

基本情報技術者試験の理解必須テーマ:ポインタとは?

基本情報技術者試験の基本概念:関数(Function)とは?

基本情報技術者試験の言語分類:手続き型言語(C言語など)とは?

基本情報技術者試験の頻出テーマ:オブジェクト指向(OOP)とは?

基本情報技術者試験の基礎概念:クラス/インスタンスとは?

基本情報技術者試験の重要概念:継承/ポリモーフィズムとは?

基本情報技術者試験の重要知識:データベース正規化とは?

基本情報技術者試験の必須知識:SQL(SELECT, INSERT, UPDATE, DELETE)

基本情報技術者試験の重要テーマ:トランザクションとACID特性とは?

基本情報技術者試験の頻出分野:ネットワーク層(OSI参照モデル)とは?

基本情報技術者試験の重要知識:IPアドレス/サブネットマスク

基本情報技術者試験のネットワーク基礎:DNS(Domain Name System)とは?

基本情報技術者試験のWeb基礎:HTTP/HTTPSとは?

基本情報技術者試験の情報セキュリティ:ファイアウォール/IDS/IPSとは?

基本情報技術者試験の開発基礎:ソフトウェアライフサイクル(SDLC)とは?

基本情報技術者試験のソフトウェア開発手法:ウォーターフォールモデル/アジャイル開発

基本情報技術者試験のプロジェクト管理:ガントチャート/WBSとは?

基本情報技術者試験の管理知識:リスクマネジメントとは?

基本情報技術者試験のセキュリティ基礎:情報セキュリティ基本方針とは?

基本情報技術者試験のセキュリティ管理:ISMS(情報セキュリティマネジメントシステム)とは?

基本情報技術者試験の法律知識:著作権法/不正アクセス禁止法

基本情報技術者試験のセキュリティ脅威:マルウェア/フィッシング/ゼロデイ攻撃

基本情報技術者試験の社会的責任:情報倫理/個人情報保護法