“数据库关系模型”(Relational Model)是现在最常用的数据库组织方式(比如 MySQL、PostgreSQL、Oracle 都是关系型数据库)。简单说,它用**“表(Table)”来存数据,用“表之间的关系”**来组织数据。
下面我用通俗 + 实战的方式讲:关系模型怎么用。
一张表就像一个 Excel 表格:
| 学号 | 姓名 | 年龄 |
|---|---|---|
| 1 | 张三 | 20 |
| 2 | 李四 | 21 |
唯一标识一行数据
学号 → 主键
特点:
用来建立表与表之间的关系
例如:
成绩表通过“学号”关联学生表
比如一个学校系统:
学生表 student
student(
id INT PRIMARY KEY,
name VARCHAR(50),
age INT
)
课程表 course
course(
id INT PRIMARY KEY,
name VARCHAR(50)
)
例如:
profile(
student_id INT PRIMARY KEY,
address VARCHAR(100),
FOREIGN KEY(student_id) REFERENCES student(id)
)
例如:
score(
id INT PRIMARY KEY,
student_id INT,
course_id INT,
score INT,
FOREIGN KEY(student_id) REFERENCES student(id),
FOREIGN KEY(course_id) REFERENCES course(id)
)
例如:
✅ 必须建中间表:
student_course(
student_id INT,
course_id INT,
PRIMARY KEY(student_id, course_id),
FOREIGN KEY(student_id) REFERENCES student(id),
FOREIGN KEY(course_id) REFERENCES course(id)
)
INSERT INTO student VALUES (1, '张三', 20);
INSERT INTO course VALUES (1, '数学');
SELECT s.name, c.name, sc.score
FROM student s
JOIN score sc ON s.id = sc.student_id
JOIN course c ON c.id = sc.course_id;
UPDATE student SET age = 21 WHERE id = 1;
DELETE FROM student WHERE id = 1;
✅ 数据结构清晰
✅ 避免数据重复
✅ 易于查询和维护
✅ 支持复杂关系(一对多 / 多对多)
❌ 把所有信息塞一张表
❌ 不用外键,靠“手动记关系”
❌ 主键用业务数据(如手机号)
✅ 正确做法:
如果你愿意,我可以:
你现在是学数据库课程,还是在做项目?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。