数据库练习:创建与填充学生、课程、教师及成绩表
需积分: 44 153 浏览量
更新于2024-07-17
收藏 32KB DOCX 举报
"本资源包含一份数据库练习题,涉及四个关键表格:学生表(Student)、课程表(Course)、教师表(Teacher)和成绩表(SC)。学生表存储学生编号(SID)、姓名(Sname)、出生年月(Sage)和性别(Ssex);课程表记录课程编号(CID)、课程名称(Cname)和教师编号(TID);教师表包含教师编号(TID)和姓名(Tname);成绩表用于存储学生编号(SID)、课程编号(CID)和分数(score)。已提供了各表的创建语句及部分测试数据。"
在这个数据库练习题中,主要涉及到的是关系型数据库的基础知识,包括表的设计、数据插入以及不同表之间的关系。以下是这些知识点的详细说明:
1. **表设计**:
- **学生表(Student)**: 包含了学生的基本信息,如SID(学生编号)作为主键,确保每个学生的唯一性,Sname(学生姓名),Sage(出生年月)和Ssex(学生性别)。
- **课程表(Course)**: 记录了课程信息,CID(课程编号)为主键,Cname(课程名称)描述课程,TID(教师编号)为外键,关联到教师表中的教师编号。
- **教师表(Teacher)**: 存储教师信息,TID(教师编号)为主键,Tname(教师姓名)为教师姓名。
- **成绩表(SC)**: 记录学生的学习成绩,SID(学生编号)和CID(课程编号)均为外键,分别关联学生表和课程表,score(分数)记录学生在该课程的得分。
2. **数据插入**:
- 在学生表中,使用`INSERT INTO`语句添加了8个学生的测试数据,包括他们的SID、Sname、Sage和Ssex。
- 课程表中,插入了3门课程的数据,包括CID、Cname和与之对应的TID。
- 教师表中,虽然没有提供具体的教师数据,但可以看到插入数据的结构。
3. **关系**:
- 学生表和课程表通过成绩表连接,表示学生选修了哪些课程,以及他们在这些课程中的得分。
- 课程表和教师表通过TID建立联系,表明哪个教师教授哪门课程。
4. **数据库操作**:
- 使用`CREATE TABLE`语句创建表结构,定义了每列的数据类型,如varchar(可变长度字符串)和datetime(日期时间)。
- `INSERT INTO`语句用于向表中插入数据,确保数据类型与列定义匹配。
5. **数据库设计原则**:
- 实体完整性:学生表和课程表的主键(SID和CID)确保了每条记录的唯一性。
- 参照完整性:成绩表中的SID和CID是外键,它们引用了其他表的主键,确保数据一致性。
- 用户定义的完整性:例如,性别字段Ssex通常会限制为预定义的值(如'男'或'女')。
这个练习题旨在帮助学习者理解和应用关系数据库的基本概念,包括表设计、数据插入、查询以及表间关系的管理。通过解决这样的问题,可以提升对SQL语言的理解和实际操作技能。
2020-12-14 上传
2018-11-10 上传
2023-06-10 上传
2023-02-24 上传
2023-05-30 上传
2023-05-31 上传
2023-05-31 上传
2023-09-04 上传
![](https://profile-avatar.csdnimg.cn/a338202ee3864ac18a415b111da9408a_weixin_44476520.jpg!1)
apples_girl
- 粉丝: 848
- 资源: 6
最新资源
- 计算机人脸表情动画技术发展综述
- 关系数据库的关键字搜索技术综述:模型、架构与未来趋势
- 迭代自适应逆滤波在语音情感识别中的应用
- 概念知识树在旅游领域智能分析中的应用
- 构建is-a层次与OWL本体集成:理论与算法
- 基于语义元的相似度计算方法研究:改进与有效性验证
- 网格梯度多密度聚类算法:去噪与高效聚类
- 网格服务工作流动态调度算法PGSWA研究
- 突发事件连锁反应网络模型与应急预警分析
- BA网络上的病毒营销与网站推广仿真研究
- 离散HSMM故障预测模型:有效提升系统状态预测
- 煤矿安全评价:信息融合与可拓理论的应用
- 多维度Petri网工作流模型MD_WFN:统一建模与应用研究
- 面向过程追踪的知识安全描述方法
- 基于收益的软件过程资源调度优化策略
- 多核环境下基于数据流Java的Web服务器优化实现提升性能