-- 创建BloodType(血型)表
CREATE TABLE BloodType (
BloodTypeID INT PRIMARY KEY AUTO_INCREMENT,
BloodType VARCHAR(2) NOT NULL
);
-- 创建Person(人)表
CREATE TABLE Person (
PersonID INT PRIMARY KEY AUTO_INCREMENT,
Name VARCHAR(100) NOT NULL,
BloodTypeID INT,
FOREIGN KEY (BloodTypeID) REFERENCES BloodType(BloodTypeID)
);
逻辑外键写法(推荐)
-- 创建BloodType(血型)表
CREATE TABLE BloodType (
BloodTypeID INT PRIMARY KEY AUTO_INCREMENT,
BloodType VARCHAR(2) NOT NULL
);
-- 创建Person(人)表
CREATE TABLE Person (
PersonID INT PRIMARY KEY AUTO_INCREMENT,
Name VARCHAR(100) NOT NULL,
BloodTypeID INT
);
取决于你从哪个实体出发来看待关系:
1.血型到人的关系: 这是一个1:n的关系。一个血型可以对应多个不同的人,但每个人只能有一个血型。
2.人到血型的关系: 这是一个n:1的关系。很多人可以有相同的血型,但每个人只能有一个血型。
像你这个问题就是1:n
补充
一对多表结构
物理外键写法
逻辑外键写法(
推荐
)