关系模型
作用
erDiagram
    学生表 {
        string 学号 PK
        string 姓名
        int 年龄
        string 性别
    }
    课程表 {
        string 课程号 PK
        string 课程名
        int 学分
    }
    选课表 {
        string 学号 PK
        string 课程号 PK
        int 成绩
    }
    学生表 ||--o{ 选课表
    课程表 ||--o{ 选课表
本质
用二维表结构表示实体及实体间联系的数据模型
类型表格
| 关系类型 | 说明 | 
|---|---|
| 一对一 | 如学生与学籍档案 | 
| 一对多 | 如班级与学生 | 
| 多对多 | 如学生与课程 | 
示例
-- 创建学生表
CREATE TABLE student (
  sno CHAR(9) PRIMARY KEY,
  sname VARCHAR(20) NOT NULL,
  ssex CHAR(2),
  sage SMALLINT
);
-- 创建选课关系表
CREATE TABLE sc (
  sno CHAR(9),
  cno CHAR(4),
  grade SMALLINT,
  PRIMARY KEY (sno, cno),
  FOREIGN KEY (sno) REFERENCES student(sno)
);
注意事项
- 主键不能为NULL且必须唯一
 - 外键必须引用已存在的主键值
 - 关系模式需要满足一定的规范化要求
 - 多对多关系需要拆解为两个一对多关系