MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

DBMSでのロスレスおよびロッシー分解


DBMSでの分解は、テーブルを複数のテーブルに分割することにより、データベースから冗長性、異常性、および不整合を取り除きます。

タイプは次のとおりです-

ロスレス分解

結合を使用して分解されたテーブルからリレーションRを再構築できる場合、分解はロスレスです。これが推奨される選択です。分解しても情報が関係から失われることはありません。結合すると、元の関係は同じになります。

例を見てみましょう-

Emp_ID
Emp_Name
Emp_Age
Emp_Location
Dept_ID
Dept_Name
E001
Jacob
29
アラバマ
Dpt1
操作
E002
ヘンリー
32
アラバマ
Dpt2
HR
E003
トム
22
テキサス
Dpt3
ファイナンス


上記のテーブルを2つのテーブルに分解します。

Emp_ID
Emp_Name
Emp_Age
Emp_Location
E001
Jacob
29
アラバマ
E002
ヘンリー
32
アラバマ
E003
トム
22
テキサス


Dept_ID
Emp_ID
Dept_Name
Dpt1
E001
操作
Dpt2
E002
HR
Dpt3
E003
ファイナンス


これで、NaturalJoinが上記の2つのテーブルに適用されます-

結果は-

になります
Emp_ID
Emp_Name
Emp_Age
Emp_Location
Dept_ID
Dept_Name
E001
Jacob
29
アラバマ
Dpt1
操作
E002
ヘンリー
32
アラバマ
Dpt2
HR
E003
トム
22
テキサス
Dpt3
ファイナンス


したがって、上記の関係には損失のない分解がありました。つまり、情報の損失はありませんでした。

非可逆分解

名前が示すように、リレーションが2つ以上のリレーショナルスキーマに分解される場合、元のリレーションを取得するときに情報が失われることは避けられません。

例を見てみましょう-

Emp_ID
Emp_Name
Emp_Age
Emp_Location
Dept_ID
Dept_Name
E001
Jacob
29
アラバマ
Dpt1
操作
E002
ヘンリー
32
アラバマ
Dpt2
HR
E003
トム
22
テキサス
Dpt3
ファイナンス


上記のテーブルを2つのテーブルに分解します-

Emp_ID
Emp_Name
Emp_Age
Emp_Location
E001
Jacob
29
アラバマ
E002
ヘンリー
32
アラバマ
E003
トム
22
テキサス


Dept_ID
Dept_Name
Dpt1
操作
Dpt2
HR
Dpt3
ファイナンス


Emp_ID が原因で、上記のテーブルを結合できなくなります。 DeptDetailsの一部ではありません 関係。

したがって、上記の関係には不可逆分解があります。


  1. DBMSの一般化と特殊化の違い

    この投稿では、DBMSの一般化と特殊化の違いを理解します。 一般化 ボトムアップアプローチを使用して機能します。 スキーマのサイズが縮小されます。 通常、エンティティのグループに適用されます。 継承は一般化では使用されません。 これは、グループ化が複数のエンティティセットから作成されるプロセスとして定義できます。 2つ以上の下位レベルのエンティティセットの和集合を取り、上位レベルのエンティティセットを生成します。 共通の機能のいくつかは、結果として得られる上位レベルのエンティティセットで取得されます。 ユニオン操作である必要があるエンティティ間の

  2. Apple Lossless Musicとは何ですか?どのデバイスがサポートされていますか?

    Apple MusicとSpotifyは、トップストリーミングミュージックスポットをめぐって争い続けており、どちらの会社も新機能を控えています。 Appleによるロスレスおよび高解像度の音楽の発売は、追加の価格を上げることなくこの音楽品質の飛躍を享受するAppleMusicの顧客にとってゲームを向上させます。これは一部の音楽リスナーの決定には影響しませんが、多くのオーディオファンにとって、この追加の体験には大きな価値があります。 Apple Losslessの音楽と、聴き始める方法を見てみましょう。 Apple Musicロスレスとは何ですか? ストリーミング音楽を聴くときは、オーディ