Articles

DBMSにおける非正規化とは何か?

DBMSにおける非正規化とは

テーブルの正規化を行う際には、テーブルをより小さなテーブルに分割します。 しかし、複数のテーブルからデータを取得したい場合は、それらのテーブルに対して何らかの結合操作を行う必要があります。 正規化のブログでは、結合操作は時間の増加につながると書かれています。

非正規化

非正規化とは、複雑な結合操作をなくすためにデータベースに冗長なデータを追加する、データベース最適化のテクニックです。 これは、データベースのアクセス速度を速めるために行われます。 非正規化は、データベースのパフォーマンスを向上させるために正規化の後に行われます。

例。 正規化後に2つのテーブルがあり、1つ目はStudentテーブル、2つ目はBranchテーブルだとします。

ブランチテーブルは、Studentテーブルの外部キーとしてBranch_idを持ち、Studentテーブルと関連しています。

学生の名前とブランチ名の名前を一緒に知りたい場合は、結合操作を行う必要があります。 ここでの問題は、テーブルが大きい場合、結合操作を実行するのに多くの時間を必要とすることです。 そこで、BranchテーブルからStudentテーブルにBranch_nameのデータを追加することで、join操作に使われていた時間を短縮し、データベースを最適化することができます。

非正規化の利点

  1. 結合するテーブルの数が少ないので、クエリの実行が速い

非正規化の欠点

  1. データの冗長性があるので、更新や挿入の操作はより高価で時間がかかります。
  2. データの整合性は非正規化では維持されません。

以上が非正規化についての説明です。 今日は何か新しいことを学んでいただけたでしょうか

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です