Office
 Computer >> コンピューター >  >> ソフトウェア >> Office

データベースの機能依存性

データベースの機能依存性は、属性間に一連の制約を適用します。これは、リレーション内の1つの属性が別の属性を一意に決定する場合に発生します。これはA->Bと書くことができます これは、「Bは機能的にAに依存している」という意味です。これは、データベースの依存関係とも呼ばれます。

この関係では、AがBの値を決定し、BはAに依存します。

データベース設計で機能依存性が重要である理由

関数従属性は、データの有効性を確保するのに役立ちます。社会保障番号(SSN)、名前、生年月日、住所などの特性をリストしたテーブルEmployeesについて考えてみます。

属性SSNは、名前、生年月日、住所、およびおそらく他の値を決定します。これは、社会保障番号が一意であるのに対し、名前、生年月日、または住所は一意でない場合があるためです。次のように書くことができます:

 SSN->名前、生年月日、住所

したがって、名前、生年月日、住所は機能的にSSNに依存します。ただし、複数の従業員が同じ名前を持つことはできますが、同じSSNを持つことはないため、逆のステートメント(name-> SSN)は当てはまりません。別のより具体的な言い方をすれば、SSN属性の値がわかれば、名前、生年月日、住所の値を見つけることができます。ただし、代わりにname属性のみの値がわかっている場合、SSNを特定することはできません。

関数従属性の左側には、複数の属性を含めることができます。複数の場所でビジネスを行っているとしましょう。 employee、title、department、location、managerという属性を持つEmployeeテーブルがあるかもしれません。

従業員が勤務先を決定するため、依存関係があります:

従業員->場所 

ただし、その場所には複数のマネージャーがいる可能性があるため、従業員と部門が一緒にマネージャーを決定します。

従業員、部門->マネージャー

関数従属性と正規化

関数従属性は、データの整合性を確保し、データの冗長性を減らす、いわゆるデータベースの正規化に貢献します。正規化がないと、データベース内のデータが正確で信頼できるという保証はありません。


  1. SAPデータベースで、名前に/が含まれるテーブル列をインポートする

    BCPユーティリティを使用して、SQLServerのテキストファイルへのデータのインポート/エクスポートを実行することをお勧めします。以下のコマンドを実行すると、データがテキストファイルに読み込まれます。 BCP Db.TN out "Location of the text file " -c -S ServerName –T フラットファイルからSQLServerにデータをロードする場合は、次を使用できます。 BCP Db.TN in "Location of the text file " -c -S ServerName &ndas

  2. DBMSの機能依存性

    機能従属性とは 名前が示すように、DBMSの機能依存性は、相互に依存するテーブルの属性間の関係です。 E. F. Coddによって導入され、データの冗長性を防ぎ、悪い設計について知るのに役立ちます。 (矢印記号)で表されます。 次に、以下は矢印記号-で属性間の機能依存性を表します。 B 上記は次のことを示唆しています: 例 以下は、関数従属性を理解しやすくする例です- があります 2つの属性を持つテーブル-DeptId およびDeptName 。 DeptId =部門ID DeptName =部門名 DeptId 主キ