SQL 自动生成 ER 图与数据库设计基础
背景
在数据库课程或毕业设计阶段,手绘 ER 图往往耗时且易错。实际上,ER 图与数据库表结构一一对应,利用工具自动解析 SQL 语句即可生成精准 ER 图,从而专注于数据库设计的核心逻辑。
SQL 转 ER 图方法
将 SQL 语句输入工具,即可自动解析表结构并生成 ER 图。以下是一段包含学生、课程及选课记录的 SQL 示例:
-- 学生信息表
CREATE TABLE `students` (
`id` INT AUTO_INCREMENT COMMENT '学生 ID',
`name` VARCHAR(50) NOT NULL COMMENT '姓名',
`gender` ENUM('男','女') NOT NULL COMMENT '性别',
`birth_date` DATE COMMENT '出生日期',
`email` VARCHAR(100) COMMENT '邮箱',
`phone` VARCHAR(20) COMMENT '电话',
`address` VARCHAR(255) COMMENT '家庭地址',
`enrollment_date` DATE COMMENT '入学日期',
`status` ENUM('在校','毕业','退学') DEFAULT '在校' COMMENT '状态',
PRIMARY KEY (`id`)
) COMMENT='学生';
-- 课程信息表
CREATE TABLE `courses` (
`id` INT AUTO_INCREMENT COMMENT '课程 ID',
`name` VARCHAR(100) NOT NULL COMMENT '课程名称',
`description` TEXT COMMENT '课程描述',
`credit` COMMENT ,
`teacher` () COMMENT ,
(`id`)
) COMMENT;
`student_courses` (
`id` AUTO_INCREMENT COMMENT ,
`student_id` COMMENT ,
`course_id` COMMENT ,
`enroll_date` COMMENT ,
`grade` (,) COMMENT ,
(`id`),
(`student_id`) `students`(`id`) CASCADE,
(`course_id`) `courses`(`id`) CASCADE
) COMMENT;


