SQL基础:创建学生、课程与选课表
下载需积分: 9 | DOC格式 | 68KB |
更新于2024-09-11
| 133 浏览量 | 举报
本资源主要介绍了数据库的基本操作,特别是如何使用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语句,将有助于更好地管理数据库,提升数据处理的效率和准确性。
相关推荐
![filetype](https://img-home.csdnimg.cn/images/20241231044833.png)
![filetype](https://img-home.csdnimg.cn/images/20241231044833.png)
![filetype](https://img-home.csdnimg.cn/images/20250102104920.png)
![filetype](https://img-home.csdnimg.cn/images/20250102104920.png)
![filetype](https://img-home.csdnimg.cn/images/20241231044833.png)
![filetype](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
跳兔
- 粉丝: 0
最新资源
- Oracle表空间的管理与优化技巧
- 硕士研究生招生考试管理系统源码解析
- 禁忌搜索(Tabu Search):启发式算法原理与应用
- 基于DS1302和12864LCD的可调中文电子日历设计(C语言实现)
- 掌握HackerRank编程挑战:C++解决方案大全
- 深入解析phpPDO在mysql中的高效操作技巧
- AWS EC2前端实例部署与重定向技术解析
- Apache在Windows上配置Django的关键模块mod_wsgi教程
- 深入理解Bootstrap框架及其源码解析
- Visual-C++6.0支持Windows 7环境安装教程
- 挑战杯批处理工具使用说明与下载
- 个性化守望先锋新标签页壁纸-crx插件体验
- QPilot:双PIC32微控制器RC固定翼自动驾驶仪项目进展
- 基于opencv检测轮廓与点位关系的动态交互程序
- JavaScript实现的算法与数据结构
- 超雪1.2.8发布:网络锁iPhone的解锁新方案