SQL基础:创建学生、课程与选课表

下载需积分: 9 | DOC格式 | 68KB | 更新于2024-09-11 | 133 浏览量 | 1 下载量 举报
收藏
本资源主要介绍了数据库的基本操作,特别是如何使用SQL语句创建数据库中的三个基本表:学生表(Student)、课程表(Course)和学生选课表(SC)。通过这些表格,我们可以管理学生的个人信息、课程信息以及学生选课的成绩。 在数据库设计中,表的结构定义了每个字段的名称、数据类型以及相关的约束条件。以下是各表的详细说明: 1. 学生表(Student) - Sno:学号,作为主键,是长度为7的字符串类型,确保每个学生的学号是唯一的。 - Sname:姓名,长度为10的字符串,且不能为空,用于记录学生的名字。 - Ssex:性别,长度为2的字符串,使用`check`约束检查只能为'男'或'女'。 - Sage:年龄,整数类型,使用`check`约束限制在15到45之间,表示学生的年龄范围。 - Sdept:所在院系,长度为2的字符串,默认值为'计算机系',可以使用`default`关键字设定默认值。 创建学生表的SQL语句如下: ``` CreatetableStudent ( Snovarchar(7)primarykey, Snamevarchar(10)notnull, Ssexchar(2)check(Ssex=‘男’orSsex=’女’), Sageintcheck(Sagebetween15and45), Sdeptvarchar(20)default(‘计算机系’) ) ``` 2. 课程表(Course) - Cno:课程号,作为主键,是长度为10的字符串,确保每个课程有唯一的编号。 - Cname:课程名,长度为20的字符串,且不能为空,记录课程的名称。 - Ccredit:学分,整数类型,使用`check`约束保证学分数大于0。 - Semester:学期,整数类型,使用`check`约束保证学期数值大于0,表示课程所在的学期。 - Period:学时,整数类型,使用`check`约束保证学时数值大于0,表示课程的学习时长。 创建课程表的SQL语句如下: ``` Createtablecourse ( Cnovarchar(10)primarykey, Cnamevarchar(20)notnull, Ccreditintcheck(Credit>0), Semesterintcheck(Semester>0), Periodintcheck(Period>0) ) ``` 3. 学生选课表(SC) - Sno:学号,长度为7的字符串,作为主键,并且是学生表的外键,连接学生和选课信息。 - Cno:课程号,长度为10的字符串,作为主键,并且是课程表的外键,连接课程和选课信息。 - Grade:成绩,整数类型,使用`check`约束保证成绩在0到100之间,表示学生的考试分数。 创建学生选课表的SQL语句如下: ``` CreatetableSC ( Snovarchar(7)foreignkeyreferencesstudent(Sno), Cnovarchar(10)foreignkeyreferencescourse(Cno), Gradeintcheck(Gradebetween0and100), Primarykey(Sno,Cno) ) ``` 通过这些表,我们可以执行诸如插入新记录、查询数据、更新信息和删除记录等基本的数据库操作。例如,我们可以添加新的学生信息、注册课程、查看特定学生的所有选课及成绩,或者更新学生的成绩。这些操作是数据库管理系统中的核心功能,对于管理和维护教育机构的课程和学生信息至关重要。理解并熟练掌握这些SQL语句,将有助于更好地管理数据库,提升数据处理的效率和准确性。

相关推荐