No.2ベストアンサー
- 回答日時:
正規化のメリットに関して最も重要な点は、データの保守であろうと思います。
複数のテーブルに散在したデータの更新は、テーブル数が多くなると、それに応じて労力が必要になります。
また、同じ意味を持つデータでも表現が異なり、データを修正する場合に、SQLに全ての場合を記載する必要が出てくる、即ち、データを全てのテーブルで洗い出しをしないと完全な修正が行えない、といった問題が出てきます。
但し、第三正規化の段階で、数行のテーブルを数多く作ることになるため、データの修正が発生しないことが判明している(規制当局が指定した用語で将来に渡って変更がないものなど)場合、単一テーブルでしか使用しない場合等では、敢えて正規化しない場合もありますが、データの修正・保守の観点からの判断必要だと思います。
上記のように記載しましたが、よほどのことが無い限り正規化は行うべきと考えています。
No.3
- 回答日時:
先日、正規形で回答したymmasayanです。
正規化の最大の目的はデータの一貫性の確保です。データベース内のデータ間に矛盾がない事。これが崩れるとデータベースは信頼を失い、雪○事件のように大変な事になります。
データの一貫性を守る上では、1事実1箇所と言うのが最も基本的な考え方です。
他の方が、すでに述べておられるように、同じデータが複数箇所にあると書き換えも大変ですが、書き換え漏れはもっと怖いです。
第一正規化では、1レコード(1行)内の繰り返しを排除しました。
第二正規化では、主キー、複合キーで、分離を行ないました。
第三正規化では、更に推し進めて徹底的な表の分割を行ないました。
第二正規化、第三正規化ではレコード間(行間)でダブっていたデータが1事実1箇所に集約されている事はお分かりでしょう。
実は正規化にはもう一つ重要な働きがあります。第一正規化では存在の危ういデータが、第二正規化、第三正規化で存在可能になると言う事です。
例えば、注文表に顧客データが含まれているとします。第二正規化か第三正規化で顧客データが顧客表として独立したとします。
第一正規形の注文表の中の、取引先A社の注文が全てキャンセルになったとします。するとA社の顧客データは注文表から消えてしまいます。
しかし、第三正規化までしてあれば、あえて顧客表のA社は消さなくてもいいのでA社の顧客データを残しておく事が出来ます。
正規化によって、DBの容量が減ると言う面もありますが、場合によっては増える事もあります。
正規化すると応答性の悪くなる事が多いです。そこで、特別なケースに限って正規化のレベルを下げる事が有ります。しかし、これは一貫性と効率を天秤にかけているわけであまりお勧めできませんが、覚悟してやるなら、最新の注意が必要です。
質問に有った、「メリット&デメリット」の形になっていなくてすみません。
No.1
- 回答日時:
私自身低レベルで、学校とかで体系だって勉強をしたことがありませんが・・・
いくつかのデータベース開発にかかわったことがあります。
メリット)
・データベースのサイズが少なくてすむ
・きちっと正規化設計されたデータベースは、プログラムの改変に強い。
(表現しづらいのですが、正規化されていないものは、破綻してしまうときがあります)
・大規模なDBでも、それなりの処理速度を確保できる。
デメリット)
・テーブルの設計が結構面倒です。
(実際の業務・利用方法と整合しにくいときがある)
・マスタテーブルのメンテナンスプログラムなどをきっちり作りこむと、全体の作業量が大きくなります。
(開発段階でも、運用段階でも)
・データの交換(たとえば、csvファイルでExcelに渡すなど)の際でもプログラムを作らなくてはならなくなる。
以前は、ちょっとしたDB開発でも、本能的に正規化していましたが、ここ数年のハード、ソフトの発展を見ると、ちょっと考えてしまいます。
正規化しないで安直に開発してしまう「力技」のほうが、後々いいのかな?と思ったり・・・・
#で、toto31さんと共に他の人の回答・意見を見せてもらおうと思い、回答したわけなんです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(教育・科学・学問) 某大学のコンプライアンス室に通報しても規程を無視して「不受理」という回答しかしない場合の対応策 2 2022/04/19 23:56
- 数学 正規数の定義で分からないことがあります。 正規数の定義について専門書において 「xがr進正規であると 1 2023/07/17 20:50
- その他(年金) ●「非正規社員で定年を迎える男性」と「正社員で定年を迎える男性」とでは、老後生活のメリット•デメリッ 5 2022/09/22 15:40
- バッテリー・充電器・電池 iPhoneX Rバッテリー交換についての質問です。 現在iPhoneXRを3年使用しています。最近 1 2022/11/04 16:51
- 数学 高校の数学Bの、確率分布と統計的な推測の、 正規分布の問題でわからない箇所がございます。問題文が、 2 2022/03/27 20:57
- 統計学 統計学 二項分布の正規近似について 2 2023/02/10 11:58
- 減税・節税 【社会保障制度】やっと国がバイト・パートにも雇用保険加入を義務化しようと動いたら、非正 2 2023/04/25 18:13
- 統計学 こんな問題を使って教育するのは、文科省の方針ですか。 3 2022/06/17 09:14
- iPhone(アイフォーン) iPhone電池交換 2 2023/03/10 23:15
- 弁護士・行政書士・司法書士・社会保険労務士 行政書士試験の行政法についての質問になります。 行政法の行政法総論についての質問になります。 問 故 1 2023/08/02 23:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DB設計に要する見積もりについて
-
日本語のテーブル名、カラム名...
-
Excel 2019 のピボットテーブル...
-
セルの右クリックで出る項目を...
-
エクセルVBAで5行目からオート...
-
「直需」の意味を教えてください
-
Accessクエリーで両方のテーブ...
-
異なるサーバのDBデータ同士を...
-
ACCESSのクエリで集計で、先頭...
-
Accessでテーブルの値をテキス...
-
Accessでテーブル名やクエリ名...
-
Vbaでアクセスからエクセルにリ...
-
access テーブル内のレコード...
-
Accessでコードを入れると名前...
-
ワードでの単純作業の効率化に...
-
ACCESS で マクロの中でフィ...
-
変数が選択リストにありません
-
Oracleのビュー作成時に「指定...
-
ExcelのデータをコピーでACCESS...
-
ACCESSで指定されたテーブルか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
db2でisnumericは使えないので...
-
Accessから主キーの無いOracle...
-
日本語のテーブル名、カラム名...
-
検索時にヒットしない
-
ACCESS2000:主キーに半角と全...
-
第3正規化について
-
テーブル設計の際の縦持ちについて
-
各カテゴリの件数の計算方法に...
-
リレーションを第3正規形に変換
-
正規形のメリット&デメリット
-
DB設計に要する見積もりについて
-
ORACLEでダミー行を作成したい
-
MDB→SQL Server Expressの移行
-
DataBaseの主キーについて
-
データベースでの質問です。
-
第3正規化するかどうか
-
第1正規形→第2正規形
-
Excel 2019 のピボットテーブル...
-
エクセルVBAで5行目からオート...
-
「直需」の意味を教えてください
おすすめ情報