データベーステーブルとテーブルの関係

関係には、1対1、1対多(多対1)、および多対多の3つの主要なタイプがあります。

1対1

たとえば、
アカウントとパスワードを保存するテーブルと、個人情報を保存するテーブルがあります。これらは、1対1のwidによって関連付けられています。

create table Wechat(
   wid int PRIMARY key,
	 wpassword varchar(20)
);

create table Wechat_person(
   wid int PRIMARY key,
	 wname varchar(20),
	 sex enum('男','女')
);
ALTER table Wechat_person add CONSTRAINT yueshu1 FOREIGN key(wid)
REFERENCES Wechat(wid);

1対多

学生テーブルには学生の名前と学生番号
が含まれ、トランスクリプトには学生番号、コース番号、コースグレードが含まれます。これは、複数の結果があるため、より多くの番号が含まれるためです
(PS:学生番号とコース番号が主要なキーを構成できます)

現在の学生表の学生番号、成績証明書の学生番号は1対多です

create table student(
   sid varchar(10) PRIMARY key,
	 sname varchar(20)
);
CREATE TABLE score(
    sid varchar(10),
	courseid INT,
	score DOUBLE
);
ALTER TABLE score ADD CONSTRAINT yueshu2 FOREIGN KEY(sid) REFERENCES student(sid);

多対多

生徒テーブルには生徒番号と生徒名が含まれます。
教師テーブルには教師番号と教師名が含まれます
。1人の生徒は複数の教師に対応し、複数の教師は
1人の生徒に対応するため、1つのテーブルの複数の教師に対応する複数の生徒に相当します。学生IDと教師IDが含まれています

create table teacher(
   tid int PRIMARY key,
	 tname varchar(20)
);
create table student2(
   sid int PRIMARY key,
	 sname varchar(20)
);
create table tea_stu2(
   tid int,
	 sid int
);
ALTER TABLE tea_stu2 ADD CONSTRAINT 2_tid FOREIGN KEY(tid) REFERENCES teacher(tid);	
ALTER TABLE tea_stu2 ADD CONSTRAINT 2_sid FOREIGN KEY(sid) REFERENCES student2(sid);

おすすめ

転載: blog.csdn.net/weixin_43722571/article/details/99082743
おすすめ