这份文档是针对郑州大学自学考试中《数据库系统原理》课程所设计的实践作业,旨在帮助学生通过实际操作加深对数据库理论知识的理解和应用。
本实践课程作业主要涉及数据库设计与操作,并以郑州大学的“数据库系统原理”为主题。作业分为两个部分:创建数据库及关联表格并进行基本的数据插入、查询、统计、排序和删除等操作。
我们首先创建了一个名为“Bigschool”的新数据库,使用`DROP DATABASE IF EXISTS`语句确保如果该数据库已存在则先将其删除,然后用`CREATE DATABASE`命令来建立新的数据库,并设置了默认字符集为UTF8以及校对规则为utf8_bin以支持中文字符和区分大小写。
接下来我们构建了四个主要的实体表:
1. 学院表(tb_college):包含学院编号(collid)、名称(collname)、院长姓名(collmaster)及网址信息(collweb)。其中,`collid`是主键,并且通过设置`UNIQUE`约束使`collname`唯一。
2. 学生表(tb_student): 包括学号(stuid),学生名字(sname), 性别(gender), 出生日期(birth), 籍贯(addr)以及所属学院编号(collid). `stuid` 是主键,而 `collid` 作为外键与tb_college的 collid 相关联, 表示学生和其所在学院之间的联系。
3. 教师表(tb_teacher): 包括教师工号(teaid), 姓名(tname),职称(title)及所属学院编号(collid). 其中,`teaid` 是主键,并且 `collid` 作为外键与tb_college的 collid 相关联, 表示老师与其所在院系之间的关系。
4. 课程表(tb_course): 包括课程编号(couid), 名称(cname),学分(credit)及教师工号(teaid). 其中,`couid` 是主键,并且 `teaid`作为外键与tb_teacher的 teaid 相关联, 表示课程与其负责老师之间的关系。
5. 学生选课表(tb_score): 记录学生选择课程的信息。包括选课编号(scid),学号(sid), 课程编号(couid) ,选修日期(seldate)和考试成绩(mark). 其中,`scid` 是主键,并且 `sid` 和 `couid` 分别作为外键与tb_student的 stuid 及 tb_course 的 couid 相关联, 表示学生与其所选择课程之间的关系。
在这些表创建完成后,我们可以执行数据插入、查询、统计分析、排序以及删除等操作。例如:
1. 插入新记录:向各表格中添加新的信息如增加新的学院或教师。
2. 查询特定的信息: 查找某个具体的学生或者老师, 或者基于某些条件筛选出的数据集比如查找某院系的所有学生,或者是所有选修了某一课程的学生的名单;
3. 统计分析数据: 计算例如学院的数量、学生的数量和平均学分等信息。可以使用SQL中的聚合函数如COUNT(), AVG()来实现这些统计。
4. 数据排序:根据需要对记录进行升序或降序排列,比如按照成绩高低对学生进行排名;
5. 删除不需要的数据: 如删除某个离职的教师的信息或者学生退选课程后的数据。
以上就是本实践课的主要内容, 包括了数据库设计的基础知识如表创建、字段定义以及主键和外键的概念等。通过这些操作可以实现对学校信息系统的有效管理,为教学管理提供支持。