• Tidak ada hasil yang ditemukan

实例一

Dalam dokumen 数据管理技术 (Halaman 108-111)

第五章 简单数据库应用系统设计与开发 115

3.3 数据维护

4.2.1 实例一

1. 问题的提出

为了丰富学生的课余文化生活,光明中学学生会想对全校学生的兴趣 爱好有一个整体了解。因此,他们需要依据“学生兴趣爱好”数据库,对 学生兴趣爱好的分布情况进行统计分析。

2. 问题分析

学生的兴趣爱好涉及书籍、绘画、音乐、运动、影视、游戏、旅游七大 类,要得到学生兴趣爱好的分布情况,需要从以下两个方面考虑。

(1)兴趣爱好类别的分布情况。通过统计每位学生的兴趣爱好种类,分 析学生兴趣爱好的广泛性。

(2)每一种兴趣爱好的分布情况。通过统计每种兴趣爱好的人数,分 析学生兴趣爱好的特点。

3. 操作步骤

(1)使用计数方法对“学生兴趣爱好”数据库中的“学生基本情况”表 进行统计,共得出 1 007 名学生参加了此次调查活动。SQL 语句如下:

学会从统计数据中发现规律和结论

体验从数据库中发现信息与规律的乐趣

SELECT Count(学号) AS 参加调查人数 FROM 学生基本情况;

为了获得学生的爱好类别的数量分布情况,需要经过步骤(2)到步骤

(4)三步操作。

(2)统计每位学生的爱好涉及哪些类别。

这里涉及“学生基本情况”表、 “学生爱好”表、 “爱好列表”表、 “爱 好类别”表中的信息。可以利用 SELECT 语句,以这四个表为基础,查询每 位学生的爱好类别。SQL 语句如下:

SELECT DISTINCT 学生基本情况.学号, 爱好类别.名称 FROM 学生基本情况,爱好列表,学生爱好,爱好类别

WHERE 爱好列表.爱好编号 = 学生爱好.爱好编号 AND 学生基本情况.学号 = 学 生爱好.学号 AND 爱好类别.类别编号=爱好列表.类别编号;

保存这个统计为“学生爱好类别” 。

(3)统计每位学生涉及的爱好类别有多少种。

这里涉及步骤(2)得到的统计“学生爱好类别”中的数据,引用这个

SELECT爱好涉及类别 AS 学生爱好数量,Count(爱好涉及类别)AS 数量统计 FROM 学生爱好类别数量

GROUP BY 爱好涉及类别;

统计结果如图 4-22 所示。

4-22 学生爱好数量分布

(5)统计“学生兴趣爱好”数据库中包含了多少个爱好。

为了统计方便,在分析各个爱好时将忽略数据库中各类爱好中的“其 他” 。因此,在统计前需要通过查询去掉“爱好列表”中的“其他”爱好,

SQL 语句如下:

将该查询结果保存为“爱好列表整理” 。

在“爱好列表整理”的基础上进行爱好个数的统计。SQL 语句如下:

SELECT 爱好列表.爱好编号,爱好列表.名称,爱好列表.类别编号 FROM 爱好列表

WHERE 爱好列表.名称<>"其他";

SELECT 学号, Count(名称)AS 爱好涉及类别 FROM 学生爱好类别

GROUP BY 学号;

保存这个统计为 “学生爱好类别 数量” 。 查看运行结果如图4-21所示。

(4)统计爱好类别数量的分布 数据。

这里涉及步骤(3)得到的统计

“学生爱好类别数量”中的数据,引 用这个统计中的爱好涉及类别,并 利用SELECT…Count 语句,统计得 到爱好数量的人数分布。 SQL 语句

如下:

4-21 每位学生爱好数量的统计

统计中学号和爱好类别名称,并利用 SELECT…Count 语句,统计得到每一

位学生爱好涉及的类别数量。SQL 语句如下:

SELECT Count(爱好列表整理.爱好编号)AS 爱好的个数 FROM 爱好列表整理;

将该查询统计保存为“爱好个数”。由结果可知数据库中包含了 49 个 爱好。

为了得到学生在每一种兴趣爱好的分布情况,还需要经过如下两步。

(6)统计每种爱好涉及了多少学生。

这里涉及“爱好列表整理”和“学生爱好”表中的信息。以这两个表为 基础,利用SELECT…Count 语句,查询每个兴趣爱好有多少学生涉及。 SQL 语句如下:

SELECT DISTINCT 爱好列表整理.名称, Count(学生爱好.学号) AS 人数 FROM 爱好列表整理, 学生爱好

WHERE 爱好列表整理.爱好编号=学生爱好.爱好编号

GROUP BY 爱好列表整理.名称

ORDER BY Count(学生爱好.学号) DESC;

将 这个 查询 统计 保存 为“爱 好 涉 及 人 数” 。可 以 看 到 如图 4-23 所 示 结果。

孩子们有他 们独到的看法和 见解。教师和家 长要想能与孩子 顺畅沟通,就要 学着“用孩子的 眼光看世界”。所 以,能够借助统 计方法较好地了 解学生的兴趣爱 好情况非常重要。

4-23 每个爱好涉及人数

SELECT 爱好涉及人数.名称, Fix(人数/100)AS 数据分段

FROM 爱好涉及人数;

(7)针对“爱好涉及人数”统计,再统计出它的分布情况。首先输入 如下 SQL 语句:

将它保存为“爱好人数数据分段” 。然后输入如下 SQL 语句:

接右边图

接左边图

SELECT [数据分段]*100 & "-" & ([数据分段]+0.99)*100 AS 分段, Count(爱好人 数数据分段.数据分段) AS 个数

FROM 爱好人数数据分段

GROUP BY [数据分段]*100 & "-" & ([数 据分段]+0.99)*100

ORDER BY [数据分段]*100 & "-" & ([数 据分段]+0.99)*100 DESC;

光明中学学生会为了成立同学们感兴趣的社团,准备从“学生兴趣爱好”数据 库中发现一些信息,以判断可以成立哪些社团。请你通过分析该数据库,做出一个 参考方案。

保存为“爱好人数分段统计结果”,

如图 4-24 所示。

4. 统计结果

(1)从结果中可以得出,数据库中包含 1 007 名学生的兴趣爱好数 据,其中爱好涉及 7 个类别的同学有 880 名,爱好涉及 1 个类别的同学 仅有 1 名。

(2)从图 4-23 和图 4-24 可以得出,除了“其他”以外,人数在 400 名 以上的爱好有 30 项,占总爱好项目(49 项)的一半以上。人数在 400~499 名之间的爱好有 12 项,人数在 500~599 名之间的爱好有 12 项。还有 3 项 爱好的人数超过了 700 名。

5. 结果分析

通过分析统计结果可知,在这个数据库中共有1 007名学生的兴趣爱好 资料,其中爱好涉及 7 个类别的同学有 880 名,占总人数的 87.4%。可见,

大多数同学的兴趣爱好都比较广泛,有 400 名以上学生的爱好有 30 项。还 有3 项爱好的人数超过 700 名,说明同学们的爱好在某些方面具有极强的共 性。

6. 小结

数据是分析的基础。为了实现一个分析目标通常要经过几个步骤,每一

步都是下一步分析的基础。

Dalam dokumen 数据管理技术 (Halaman 108-111)