SQL语句创建学生、课程及选课表
需积分: 9 80 浏览量
更新于2024-09-11
收藏 68KB DOC 举报
本资源提供了一系列SQL语句的实例,用于创建三个基本的数据库表,分别是学生表(Student)、课程表(Course)和学生选课表(SC)。这些表具有不同的列,每列都有相应的数据类型和约束条件,用于存储学校管理系统中的相关数据。
在学生表(Student)中,包含了以下字段:
1. Sno(学号):作为主键,是长度为7的字符串类型,用于唯一标识每个学生。
2. Sname(姓名):非空的字符串类型,长度为10,用于记录学生的姓名。
3. Ssex(性别):长度为2的字符串类型,使用check约束确保只能输入'男'或'女'。
4. Sage(年龄):整数类型,使用check约束限制年龄在15到45之间。
5. Sdept(所在院系):默认值为'计算机系'的字符串类型,长度为20,可记录学生的院系信息。
创建学生表的SQL语句如下:
```sql
CREATE TABLE Student (
Sno varchar(7) PRIMARY KEY,
Sname varchar(10) NOT NULL,
Ssex char(2) CHECK (Ssex = '男' OR Ssex = '女'),
Sage int CHECK (Sage BETWEEN 15 AND 45),
Sdept varchar(20) DEFAULT '计算机系'
);
```
课程表(Course)包含以下字段:
1. Cno(课程号):作为主键,是长度为10的字符串类型,用于唯一标识每门课程。
2. Cname(课程名):非空的字符串类型,长度为20,记录课程名称。
3. Ccredit(学分):整数类型,使用check约束确保学分大于0。
4. Semester(学期):整数类型,check约束确保学期大于0。
5. Period(学时):整数类型,check约束确保学时大于0。
创建课程表的SQL语句如下:
```sql
CREATE TABLE Course (
Cno varchar(10) PRIMARY KEY,
Cname varchar(20) NOT NULL,
Ccredit int CHECK (Ccredit > 0),
Semester int CHECK (Semester > 0),
Period int CHECK (Period > 0)
);
```
学生选课表(SC)用于连接学生表和课程表,包含以下字段:
1. Sno(学号):作为外键,引用Student表的Sno,用于记录参加课程的学生学号。
2. Cno(课程号):作为外键,引用Course表的Cno,表示学生选择的课程编号。
3. Grade(成绩):整数类型,使用check约束确保成绩在0到100之间。
创建学生选课表的SQL语句如下:
```sql
CREATE TABLE SC (
Sno varchar(7) FOREIGN KEY REFERENCES Student(Sno),
Cno varchar(10) FOREIGN KEY REFERENCES Course(Cno),
Grade int CHECK (Grade BETWEEN 0 AND 100),
PRIMARY KEY (Sno, Cno)
);
```
通过这些SQL语句,可以建立一个简单但功能完整的学校管理数据库,支持对学生的个人信息、课程信息以及选课记录进行管理。这样的设计使得数据的存储有序且易于查询,符合关系型数据库的基本原则。在实际应用中,可以根据需要添加更多的字段和约束,以满足更复杂的业务需求。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2011-08-26 上传
2008-11-30 上传
2021-01-01 上传
2021-03-16 上传