请设计一个简单的库 里面有以下几张表 课程表(课程号 课程名 学分) 选课表(学号 课程号 学期 任课教师编号 成绩 补考成绩)教师表(教室编号 教师姓名 性别 职称) 绩点表(分数段 学分)
时间: 2024-11-03 14:24:10 浏览: 4
SQL教学管理数据库课程设计.doc
设计一个包含这些表格的简单数据库库,我们可以创建四个基本的SQL表结构:
1. **课程表 (Courses)**
```sql
CREATE TABLE Courses (
CourseID INT PRIMARY KEY,
CourseName VARCHAR(50),
Credits INT
);
```
2. **教师表 (Teachers)**
```sql
CREATE TABLE Teachers (
TeacherID INT PRIMARY KEY,
TeacherName VARCHAR(50),
Gender CHAR(1),
Rank VARCHAR(20)
);
```
3. **选课表 (Enrollments)**
```sql
CREATE TABLE Enrollments (
StudentID INT,
CourseID INT,
Semester DATE,
TeacherID INT,
Grade DECIMAL(3,1), -- 成绩
MakeupGrade DECIMAL(3,1), -- 补考成绩
FOREIGN KEY (StudentID) REFERENCES Students(StudentID),
FOREIGN KEY (CourseID) REFERENCES Courses(CourseID),
FOREIGN KEY (TeacherID) REFERENCES Teachers(TeacherID)
);
```
4. **绩点表 (GradesToPoints)**
```sql
CREATE TABLE GradesToPoints (
ScoreRange DECIMAL(3,1),
CreditsPerPoint INT,
FOREIGN KEY (CreditsPerPoint) REFERENCES Courses(Credits)
);
```
在这个设计中,`Enrollments`表通过外键关联了`Students`, `Courses`, 和 `Teachers`表。`GradesToPoints`表则用于将分数映射到绩点,通过`Credits`字段与课程的学分关联。
阅读全文