跳转至
用户认证 - eMac Tech Docs

用户认证

重要提醒

为了您的权益以及学习体验,请不要外借账号!

如果您没有账号或忘记密码,请联系管理员重置密码。

请输入您的登录信息

关系模型

作用

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且必须唯一
  • 外键必须引用已存在的主键值
  • 关系模式需要满足一定的规范化要求
  • 多对多关系需要拆解为两个一对多关系