20

DDBMS のコンテキストでは、垂直フラグメンテーション水平フラグメンテーションの違いは何ですか?

縦の断片化は関係の延長が断片化され、横の断片化は内包の断片化ということでしょうか。

4

9 に答える 9

46

あなたが関係を持っているとしましょう、学生。

Student の属性の半分が set1 にあり、残りの半分が set2 にあるように、リレーション Student を 2 つのセット (set1 および set2 と呼びます) に分割します。リレーションが列に沿って断片化されるため、これは「垂直断片化」と呼ばれます (ページを垂直に引き裂くのと同様)。元の関係は、すべてのセットの自然な結合を取ることによって取得されます。自然結合には、すべてのセットに共通の属性が少なくとも 1 つ必要です (通常は主キーです)。

しかし、行のサブセット (ここではすべての属性が行に存在することを参照) がサイト 1 に存在し (たとえば)、別のサブセットがサイト 2 に存在するように関係が分割されている場合、これは「水平断片化」と呼ばれます。元の関係は、すべてのセットの結合を取ることによって得られます。ページを横に引き裂くようなものです。

明らかなように、これは分散 DBMS のコンテキストにあります。

于 2011-06-17T19:16:27.523 に答える
24

この関係があるとしましょう

customer_id | Name | Area       | Payment Type  | Sex
      1     | Bob  | London     | Credit card   | Male
      2     | Mike | Manchester | Cash          | Male
      3     | Ruby | London     | Cash          | Female

Horizo​​ntal Fragmentation はタプル (行) のサブセットです

フラグメント 1

customer_id | Name | Area       | Payment Type  | Sex
      1     | Bob  | London     | Credit card   | Male
      2     | Mike | Manchester | Cash          | Male

フラグメント 2

customer_id | Name | Area       | Payment Type  | Sex
      3     | Ruby | London     | Cash          | Female

垂直断片化は属性のサブセットです

フラグメント 1

customer_id | Name | Area       | Sex
      1     | Bob  | London     | Male
      2     | Mike | Manchester | Male
      3     | Ruby | London     Female

フラグメント 2

customer_id | Payment Type
      1     | Credit card 
      2     | Cash        
      3     | Cash        
于 2013-08-31T10:25:17.873 に答える
2

垂直方向の断片化は、分散データベースにのみ必要です。関係Rの1つにいくつかの属性があるとします。これらの属性の一部はR1で構成され、その他はR2で構成されます。次に、ページを垂直に結合します。これは垂直フラグメンテーションと呼ばれます。

于 2011-11-20T20:15:26.260 に答える
1

Horizo​​ntal Fragmentation は、関係を行と呼ばれるタプルに分割します

垂直断片化は、関係を列と呼ばれる属性に分割します。

アプリケーション ビューの要件に応じて、関係を水平または垂直に分割できます。

アプリケーション ビューに基づく断片化の度合いと正確性ルール

于 2013-07-05T08:34:49.980 に答える
1

基本的に Horizo​​ntal Fragmentation はテーブルを行ごとに分割します。垂直フラグメンテーションの場合、テーブルの列ごとに分割されます。

Horizo​​ntal Fragmentation Table では、前と同じままです。行のみが分割されます。Vertical Fragmentation では、1 つのテーブルが 2 つ以上のテーブルに分割されます。

于 2014-11-17T16:46:31.017 に答える
0

Horizo​​ntal Fragmentation は、テーブルを行ごとに分割します。キー列と非キー列の関係が同じままであるという点で、Vertical Fragmentation とは異なります。テーブルの内容はキー値によって異なります。

水平断片化 例: 会社は、各部門が独自のデータを維持することを望んでいます。この例では、各部門の Department テーブルに行が 1 つだけあり、他のテーブルには部門の従業員のデータのみが含まれます。

于 2015-11-29T10:46:20.040 に答える