数据库练习:创建与填充学生、课程、教师及成绩表

需积分: 44 17 下载量 132 浏览量 更新于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语言的理解和实际操作技能。