Il existe trois principaux types de relations, un-à-un, un-à-plusieurs (plusieurs-à-un) et plusieurs-à-plusieurs
Un par un
Par exemple,
il existe une table qui enregistre le compte et le mot de passe, et une autre table qui enregistre les informations personnelles. Elles sont liées par wid, qui n'est que de un à un.
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);
Un à plusieurs
Une table d'étudiant contient le nom et le numéro d'étudiant de l'étudiant
un relevé de notes contient le numéro d'étudiant, le numéro de cours, les notes de cours, car il y a plusieurs résultats, donc il y aura plus de nombre,
(PS: le numéro d'étudiant et le numéro de cours peuvent constituer la clé primaire)
étudiants maintenant Le numéro d'étudiant de la table, le numéro d'étudiant du relevé de notes est un à plusieurs
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);
Plusieurs à plusieurs
Une table des élèves contient les numéros des élèves et les noms des élèves.
Une table des enseignants contient les numéros des enseignants et les noms des enseignants.
Un élève correspond à plusieurs enseignants et plusieurs enseignants correspondent à un élève. Cela équivaut donc à plusieurs élèves correspondant à plusieurs enseignants dans
une même table. Contient une carte d'étudiant et une carte d'enseignant
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);