设计一组表 (至少3张表),分别表示学生信息、课程信息、考试成绩信息(注意符合第三范式),编写MySQL数据库代码
时间: 2024-03-02 22:50:01 浏览: 72
学生信息管理系统
好的,下面是一个示例的MySQL数据库代码,实现了上述的数据库设计,包括三张表:`students`、`courses` 和 `scores`。
```sql
-- 创建学生信息表
CREATE TABLE students (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
gender VARCHAR(10) NOT NULL,
birthday DATE NOT NULL,
class_id INT NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (class_id) REFERENCES classes(id)
);
-- 创建课程信息表
CREATE TABLE courses (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
credit INT NOT NULL,
teacher VARCHAR(50) NOT NULL,
PRIMARY KEY (id)
);
-- 创建考试成绩信息表
CREATE TABLE scores (
id INT NOT NULL AUTO_INCREMENT,
student_id INT NOT NULL,
course_id INT NOT NULL,
score INT NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (student_id) REFERENCES students(id),
FOREIGN KEY (course_id) REFERENCES courses(id)
);
```
需要注意的是,在上面的代码中,我们使用了外键约束来建立表之间的关系,保证了数据的一致性和完整性。在实际使用中,还需要根据具体的需求,对表进行进一步的设计和优化。
阅读全文