django实现学生信息管理系统数据库设计代码
时间: 2023-10-12 15:05:03 浏览: 127
以下是一个简单的学生信息管理系统的数据库设计和代码实现。
数据库设计:
首先,我们需要设计数据库中的表。一个学生信息管理系统通常包括以下几个表:
1. 学生表(Student):存储学生的基本信息,如姓名、学号、性别、出生日期等。
2. 课程表(Course):存储课程的基本信息,如课程名称、教师、课程简介等。
3. 成绩表(Score):存储学生的成绩信息,如学生、课程、成绩等。
4. 教师表(Teacher):存储教师的基本信息,如姓名、工号、性别、出生日期等。
根据上述设计,我们可以得到以下表结构:
```
CREATE TABLE Student (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
student_id VARCHAR(20) NOT NULL,
sex VARCHAR(10),
birthday DATE
);
CREATE TABLE Course (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
teacher VARCHAR(50),
introduction TEXT
);
CREATE TABLE Score (
id INT PRIMARY KEY AUTO_INCREMENT,
student_id VARCHAR(20) NOT NULL,
course_id INT NOT NULL,
score INT,
FOREIGN KEY (student_id) REFERENCES Student(student_id),
FOREIGN KEY (course_id) REFERENCES Course(id)
);
CREATE TABLE Teacher (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
teacher_id VARCHAR(20) NOT NULL,
sex VARCHAR(10),
birthday DATE
);
```
代码实现:
接下来,我们可以使用 Django 框架来实现上述数据库设计。
首先,我们需要在 settings.py 文件中配置数据库信息:
```python
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'database_name',
'USER': 'username',
'PASSWORD': 'password',
'HOST': 'localhost',
'PORT': '3306',
}
}
```
然后,在 models.py 文件中定义数据模型:
```python
from django.db import models
class Student(models.Model):
name = models.CharField(max_length=50)
student_id = models.CharField(max_length=20, unique=True)
sex = models.CharField(max_length=10)
birthday = models.DateField()
class Course(models.Model):
name = models.CharField(max_length=50)
teacher = models.CharField(max_length=50)
introduction = models.TextField()
class Score(models.Model):
student_id = models.CharField(max_length=20)
course = models.ForeignKey(Course, on_delete=models.CASCADE)
score = models.IntegerField()
class Teacher(models.Model):
name = models.CharField(max_length=50)
teacher_id = models.CharField(max_length=20, unique=True)
sex = models.CharField(max_length=10)
birthday = models.DateField()
```
最后,我们需要在命令行中执行以下命令来创建数据库表:
```
python manage.py makemigrations
python manage.py migrate
```
以上代码实现的功能是最基础的,可以根据需要进行修改和扩展。
阅读全文