ベストアンサー
3つのタイプの関係があります。 1対1、1対多、多対多。
- 1対1:最初の表の1つのレコードが関連する場合2番目のテーブルの1つのレコードのみに、またはその逆に。ここで、1対1の関係である場合、2つの別個のテーブルではなく、1つのテーブルのみにデータを格納しないのはなぜだと思うかもしれません。その答えは、セキュリティの目的でそのように設計することです。名前、メールアドレス、住所、連絡先、パスワードのデータを保存したいとします。ここでは、パスワードの詳細が非常に機密性が高いため、そのためだけに別のテーブルを作成し、パスワードを別のテーブルに保存して、パスワードにアクセスできる特定のユーザーだけがパスワードを表示できるようにすることができます。
- 1対多:これは最も一般的なタイプの関係です。最初のテーブルの1つのレコードは、2番目のテーブルの多くのレコードに関連していますが、2番目のテーブルの1つのレコードは、最初のテーブルの1つのレコードにしか関連できません。たとえば、人と銀行口座の間に1対多の関係があり、1人が多くの銀行口座を持つことができますが、銀行口座は1人の特定の所有者しか持つことができません。 (共同銀行口座が許可されていない場合)
- 多対多:最初のテーブルの1つのレコードは、2番目のテーブルの多くのレコードに関連していますおよびその逆。一般に、論理設計では1対多の関係を2つの1対多の関係に分解し、中間テーブルはジャンクションテーブルと呼ばれます。例としては、1人の学生が多くのコースを受講でき、各コースを多くの学生が受講できる学生とコースがあります。
回答
DBMSの属性のタイプ
単一値の属性:単一の値を持つ属性特定のエンティティ。たとえば、従業員エンティティの年齢。
複数値の属性:同じエンティティに対して複数の値を持つ可能性のある属性。たとえば、自動車エンティティの色。
複合/複合属性:属性は、2つ以上の他の属性に分割できます。たとえば、名前は名、ミドルネーム、姓に分けることができます。
単純/原子属性:できない属性小さなサブパートに分割されることは、単純属性またはアトミック属性と呼ばれます。たとえば、従業員エンティティの年齢
保存された属性:他の属性から派生できない属性は、保存された属性と呼ばれます。たとえば、従業員のBirthDate。
派生属性:他の保存された属性から派生した属性。たとえば、生年月日と今日の日付からの年齢。
複雑な属性:エンティティの属性の場合、複合値と複数値を使用して構築されます属性の場合、これらの属性は複合属性と呼ばれます。たとえば、個人が複数の住居を持つことができ、各住居が複数の電話を持つことができる場合、個人エンティティの住所電話は次のように指定できます– {Addressphone(phone {(Area Code、Phone Number)}、Address(Sector Address(Sector Number、House Number)、City、State、Pin))}
ここで{}は複数値の属性を囲むために使用され、()は個々の属性をコンマで区切って複合属性を囲むために使用されます。
キー属性:主キーを表します。 (エンティティの主な特性)。これは属性であり、エンティティセット内のエンティティ/要素ごとに異なる値を持ちます。たとえば、学生エンティティタイプのロール番号。
非キー属性:これらは、テーブル内の候補キー属性以外の属性です。たとえば、Firstnameはエンティティの主な特性を表していないため、非キー属性です。
必須属性:必須属性はデータ値が必要な属性。これらの属性は、エンティティで何が重要であるかを説明するために必要です。たとえば、STUDENTエンティティでは、名と姓が必須の属性です。
オプションの属性/ヌル値属性– オプションの属性は値が含まれておらず、空白のままにすることができます。たとえば、STUDENTエンティティでは、ミドルネームまたは電子メールアドレスはオプションの属性です。一部の学生はミドルネームやメールアドレスを持っていない可能性があるためです。