SQL创建学生信息数据库表示例:学生、课程与选课表结构
72 浏览量
更新于2024-08-04
1
收藏 53KB DOC 举报
本文档提供了使用SQL语句创建学生信息数据库表的示例,包括学生表(Student),课程表(Course)和学生选课表(SC)的设计与建表操作。首先,我们来详细了解这三个表格及其字段:
1. 学生表(Student):
- 列名:Sno(学号),数据类型为varchar(7),为主键,用于唯一标识每个学生。
- Sname(姓名),非空,varchar(10)类型,用于存储学生的姓名。
- Ssex(性别),char(2),只允许输入'男'或'女',通过check约束确保数据的有效性。
- Sage(年龄),整数类型,范围在15到45之间,使用check约束保证数据的合理性。
- Sdept(所在院系),默认为'计算机系',varchar(20)类型,可自定义。
创建学生表的SQL语句如下:
```
CREATE TABLE Student (
Sno varchar(7) PRIMARY KEY,
Sname varchar(10) NOT NULL,
Ssex char(2) CHECK (Ssex IN ('男', '女')),
Sage int CHECK (Sage BETWEEN 15 AND 45),
Sdept varchar(20) DEFAULT ('计算机系')
);
```
2. 课程表(Course):
- 列名:o(课程号),主键,varchar(10)类型。
- ame(课程名),非空,varchar(20)类型。
- Ccredit(学分),整数类型,必须大于0。
- Semester(学期)和 Period(学时)均为整数类型,分别检查其值大于0。
创建课程表的SQL语句如下:
```
CREATE TABLE Course (
o varchar(10) PRIMARY KEY,
ame varchar(20) NOT NULL,
Ccredit int CHECK (Ccredit > 0),
Semester int CHECK (Semester > 0),
Period int CHECK (Period > 0)
);
```
3. 学生选课表(SC):
- 列名:Sno(学号)和o(课程号),都是外键,引用Student和Course的主键,varchar(7)和varchar(10)类型。
- Grade(成绩),整数类型,范围在0到100之间,确保数据的准确性。
创建学生选课表的SQL语句如下:
```
CREATE TABLE SC (
Sno varchar(7) FOREIGN KEY REFERENCES Student(Sno),
o varchar(10) FOREIGN KEY REFERENCES Course(o),
Grade int CHECK (Grade BETWEEN 0 AND 100),
PRIMARY KEY (Sno, o)
);
```
文档还提到一个查询示例,即查询学生选课表中的全部数据,但具体查询语句未给出。根据需求,可能使用的SQL查询如下:
```
SELECT * FROM SC;
```
这个查询将返回所有学生选课的信息,包括学号、课程号以及成绩。通过这些表结构,我们可以有效地管理学生、课程以及他们之间的选课关系,方便进行数据检索和分析。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2024-06-30 上传
2022-11-30 上传
2021-10-03 上传
2022-07-13 上传
2021-09-25 上传
2010-10-10 上传
yyyyyyhhh222
- 粉丝: 461
- 资源: 6万+