・正規化のメリットは下記2つ・データの冗長性が排除され、更新時の不整合を防げる・テーブルの持つ意味が明確になり、開発者が理解しやすくなる。重要な概念なので、自身で言語化出来る様に、理解する必要がある。今回は、データベース設計における「正規化」がテーマです。人間が分かりやすい様に、データを表形式で管理できます。表(テーブル)は、一つだけでも運用できますが、データを種類(カラム)が増えると、管理が大変になります。逆に、無闇にテーブルを増やしてしまうと、今度は無駄が増え、それが原因でデータが正常に更新できなくなる恐れがあります。正規化のメリット・データの冗長性が排除され、更新時の不整合を防げる・テーブルの持つ意味が明確になり、開発者が理解しやすくなる。「これ知らなくても、テーブルの分割出来るだろ?」でした。正規化を学ばずとも、ある程度アプリケーションの作成をしていれば、その中で効率的なテーブルの分け方は理解できます。逆に混乱してしまうのでは無いかと素人考えに思いました。先日購入した「達人に学ぶDB設計徹底指南書」にも、その事について言及されていました。非常に興味深かったので、下記に引用します。正規化理論は基本的に常識にすぎないという理由で批判されてきた。優秀な設計者であれば、たとえBCNFの予備知識がなかったとしても、この関係変数を射影SPとSSに「自然に」分解するだろう。「自然に」とはどういう意味なのか。設計者は「自然な」設計を選ぶ上で、どのような「原理」を用いているのだろうか。答えは、正規化の原理と全く同じである。優秀な設計者は、そうした原理を正式に学んだことがなくても、その名前を言い当てることができなくても、そうした原理がすでに頭の中にある。従って、原理は確かに常識だが、それらは正規化された常識なのである。正規化を批判する人は、だいたいこの点を見逃している。常識の意味を正確かつ形式的に述べることが偉業であることに気づいていない。非常に難しく、かつ極めて重要という事です。全ての人が同じ品質でデータベース設計が出来る様にするには、その手順を細部まで明確にしておく必要があるので、そういう意味では、正規化は非常に優れているのかもしれません。今回はここまでにしておきます以上、やっぱりデータベースは奥が深くて面白い!《今日の学習進捗》HamlとSassを使ってアプリのビュー作成中フロントエンドは本当に苦手...BEMとか新しい概念も入って来て混乱中。日)IBMのWatsonきっかけでエンジニアに憧れて28歳未経験でWebエンジニアへ転職。2018年12月から3年間で「10000時間」をプログラミングに捧げる計画を立て、学んだことをブログの投稿中。Activitiesryoutakuこのサイトについてプライバシーポリシ。