DBMSにおける非正規化とは何か?
DBMSにおける非正規化とは
テーブルの正規化を行う際には、テーブルをより小さなテーブルに分割します。 しかし、複数のテーブルからデータを取得したい場合は、それらのテーブルに対して何らかの結合操作を行う必要があります。 正規化のブログでは、結合操作は時間の増加につながると書かれています。
非正規化
非正規化とは、複雑な結合操作をなくすためにデータベースに冗長なデータを追加する、データベース最適化のテクニックです。 これは、データベースのアクセス速度を速めるために行われます。 非正規化は、データベースのパフォーマンスを向上させるために正規化の後に行われます。
例。 正規化後に2つのテーブルがあり、1つ目はStudentテーブル、2つ目はBranchテーブルだとします。
ブランチテーブルは、Studentテーブルの外部キーとしてBranch_idを持ち、Studentテーブルと関連しています。
学生の名前とブランチ名の名前を一緒に知りたい場合は、結合操作を行う必要があります。 ここでの問題は、テーブルが大きい場合、結合操作を実行するのに多くの時間を必要とすることです。 そこで、BranchテーブルからStudentテーブルにBranch_nameのデータを追加することで、join操作に使われていた時間を短縮し、データベースを最適化することができます。
非正規化の利点
- 結合するテーブルの数が少ないので、クエリの実行が速い
非正規化の欠点
- データの冗長性があるので、更新や挿入の操作はより高価で時間がかかります。
- データの整合性は非正規化では維持されません。
以上が非正規化についての説明です。 今日は何か新しいことを学んでいただけたでしょうか
。