/*
一对多(多对一)
外键可以为NULL,可以重复,不能引用不存在的外键
*/
CREATE TABLE dept(
deptNo INT PRIMARY KEY AUTO_INCREMENT,
dName VARCHAR(50)
)
CREATE TABLE emp(
empNo INT PRIMARY KEY AUTO_INCREMENT,
eName VARCHAR(50),
deptNo INT,
CONSTRAINT fk_emp_dept FOREIGN KEY(deptNo) REFERENCES dept(deptNo)
)
/*
一对一:从表的主键即为外键
wid:非空、唯一、引用hid
*/
CREATE TABLE hasband(
hId INT PRIMARY KEY AUTO_INCREMENT,
hName VARCHAR(20)
)
CREATE TABLE wife(
wId INT PRIMARY KEY AUTO_INCREMENT,
wName VARCHAR(20),
CONSTRAINT fk_wife_hasband FOREIGN KEY(wId) REFERENCES hasband(hId)
)
/*
多对多:关系由中间表维护,两主表无关系
*/
CREATE TABLE student(
sId INT PRIMARY KEY AUTO_INCREMENT,
sName VARCHAR(50)
)
CREATE TABLE teacher(
tId INT PRIMARY KEY AUTO_INCREMENT,
tName VARCHAR(50)
)
CREATE TABLE stu_tea(
sId INT,
tId INT,
CONSTRAINT fk_student FOREIGN KEY(sId) REFERENCES student(sId),
CONSTRAINT fk_teacher FOREIGN KEY(tId) REFERENCES teacher(tId)
)
关联关系:一对多(多对一)、一对一、多对多
猜你喜欢
转载自blog.csdn.net/csdn296/article/details/89331832
今日推荐
周排行