SQL创建学生信息数据库表示例:学生、课程与选课表结构

5 下载量 184 浏览量 更新于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; ``` 这个查询将返回所有学生选课的信息,包括学号、课程号以及成绩。通过这些表结构,我们可以有效地管理学生、课程以及他们之间的选课关系,方便进行数据检索和分析。