関係
3分割の関係:1 1つ、多くの(多くの)と多くの多くの1つのエンティティとエンティティ間の関係は、アップデータベースの最終的な設計に反映しました。
すべての関係は、テーブルとテーブル間の関係を参照してください。
1、1
-オン:のみテーブルのレコードを追加したテーブルに対応するレコード、およびその逆。
学生表:名前、性別、年齢、身長、体重、出生地、自宅住所、緊急連絡先
表に名前、性別、年齢、身長、体重が頻繁にデータを使用するために属している要件を満たす、上記形成するように設計されていますが、出生地は、住所は、緊急連絡が頻繁に各クエリは、すべてのデータのクエリがある場合は、データを使用するために属していない、使用頻度の低いデータそれは実際にはない、効率に影響を与えます。
ソリューション:情報のいつもと変わった別のストレージ、二つのテーブルに分かれ
共通情報テーブル
情報表は、一般的に使用されない:すなわち、共通のテーブルIDを増大させることなく、一般的に二つのテーブルに接続された(決意を記録する)一意のフィールドを見つける:共通情報に対応する共通情報ができなくなることを確実にします。
1対1の関係:しかテーブル内のレコードと一致するが、一般的に順番に、使用されていない一般的なテーブルのレコードは、レコードは、一般的に、テーブルにはレコードのみを一致させることができます使用されていません。
図2に示すように、多くの
-to-多くの:が別のテーブルの複数のレコードに対応することができるテーブル内のレコードはあるが、今度は、追加のレコードがテーブルのみが最初のテーブルのレコードに対応する、関係それは多くまたは多対1つです。
母と子の関係:母親、子供の2つのエンティティ
妈妈表:ID(P)、名字、年龄、性别
孩子表:ID(P)、名字、年龄、性别
関係上:母親は多くのレコード(1であってもよい)ことができますが、子供は母親だけを見つけることができ、それは子テーブルに見られる典型的な多の関係です。
しかし、上記のエンティティの問題を解決するために設計テーブルに関連しますが、子供は母親を見つけることができなかった、関係の問題を解決しない、と彼女の母親が子供を見つけることができませんでした。
ソリューション:テーブル内の別のレコードを検索することが可能で、特定のテーブルにフィールドを追加します。テーブルに私の母を子テーブル内のフィールドを追加する必要があります子テーブルのレコードが唯一のお母さんテーブルを記録するために一致させることができますよう。
妈妈表:ID(P)、名字、年龄、性别
孩子表:ID(P)、名字、年龄、性别、妈妈ID
多対3、
表(A)は、別のテーブルのレコードに対応することができる(B)複数のレコード、テーブルのレコード通知Bは、表Aに複数のレコードに対応することができる:-many対多くの関係。
教師教育、教師と生徒
老师表
T_ID(P) 姓名 性别
1 A 男
2 B 女
学生表
S_ID(P) 姓名 性别
1 张三 男
2 小芳 女
デザインより:デザイン・エンティティを達成するために、しかし、エンティティの関係を維持しません。
教師は、より多くの学生を教え、生徒たちが教え教師以上です。
ソリューション:、学生テーブル教師フィールドに追加に関係なくどこ張テーブルのフィールドを追加していない、問題があるでしょう:あなたは、複数のデータを保存するフィールドでなく、他のテーブルとフィールドの関係を持つことは、新しいテーブルの増加を表の設計ルールを満たしていません:2つのテーブル間の防衛関係に専念。
老师表
T_ID(P) 姓名 性别
1 A 男
2 B 女
学生表
S_ID(P) 姓名 性别
1 张三 男
2 小芳 女
中间关系表:老师与学生的关系
ID T_ID(老师) S_ID(学生)
1 1 1
2 1 2
3 2 1
4
テーブルの真ん中に増加した後、教師テーブルと中央のテーブルは一対多の関係を形成すること;およびテーブルの中央には、マルチテーブル、リレーションシップのリストを見つけることができる唯一のメンテナンスで、同じ関係、学生テーブルと中央のテーブルの多くの一つであり、これは、データ関係テーブルの間に、多くの関係を一致させることができます。
生徒は教師を見つける:学生ID-検索「一致するレコード(複数)を見つけるために、テーブルの真ん中に- 」教師のテーブルが一致した(a)の
学生を探している先生:先生ID-見つける「一致するレコード(複数)を見つけるために、テーブルの真ん中に- 」Studentテーブル試合(A)。