高中信息技术浙教版:3-1-3数据查询-教学设计(表格式)

资源下载
  1. 二一教育资源

高中信息技术浙教版:3-1-3数据查询-教学设计(表格式)

资源简介

教学设计
课程基本信息
学科 信息技术 年级 三年级 学期 秋季
课题 3.1.3 数据查询
教学目标
1. 了解SQL语言的含义,以及其在数据库操作中的作用。 2. 能根据实际需求,使用SQL语言查询数据、提取信息。 3. 能根据实际需求对数据表进行插入、删除和更新操作。
教学内容
教学重点: 1. 使用SQL语言查询数据、提取信息。
2. 对数据库中的数据表进行插入、删除和更新操作。
教学难点: 1. 通过连接查询对多个表的数据进行选取与分析。
教学过程
一、导入 回顾上节课的内容:我们为“云课堂学习平台”系统创建了关系型数据库。 数据库包含讲师、课程、视频、在线测试、测试结果、视频学习情况、学生这7张数据表, 数据表与数据表之间相互关联。我们也为数据库导入了相关数据。现在,作为后台管理员的 你,面对如此庞大的数据,如何行使你的管理权限对数据操作呢? 二、新课讲授 1.SQL语言 让计算机运行程序,需要编写程序语言;而对数据库操作,我们需要使用SQL语言。 什么是SQL语言?作用是什么?介绍SQL语句的调试界面 2.数据查询 (1)投影:投影查询是从关系中选择若干属性列组成新的关系,是从列的角度的运算。 格式:SELECT 列名 FROM 数据表 SELECT表示查询,*表示所有,from连接数据来源 SQL不区分大小写,而SELECT和FROM是关键字,我们会使用大写加以区分。 SQL语言比较灵活,可以换行输入,也可以一行完成。 ①查询所有讲师的所有信息 思考:数据来源哪张数据表?所有信息包含哪些列的数据? SELECT * FROM teachers ②查询讲师姓名和性别列信息SELECT name,sex FROM teachers ③查询讲师姓名和性别列信息并去除重复行数据SELECT DISTINCT name,sex FROM teachers 学生操作1: 下面请同学们暂停视频,打开学习任务单,在SQL编译界面下,完成如下操作: ①投影查询所有课程的所有信息 ②投影查询课程名和简介列信息 (2)选择:选择是设置筛选条件,从行的角度运算。其中选择条件是一个逻辑表达式,取逻 辑值"真"或"假"。逻辑表达式支持逻辑运算符AND、OR、NOT 格式:SELECT 列名 FROM 数据表 WHERE 逻辑表达式 ①查询所有女性讲师的信息 SELECT * FROM teachers WHERE sex = 0 学生操作2: 下面请同学们暂停视频,打开学习任务单,在SQL编译界面下,完成如下操作: ①查询一个名为"张佳怡"的用户信息 ②查询所有编号大于100的男性用户信息 (3)排序:使用ORDER BY,指定一个或多个字段的升序或降序完成排序,默认是升序排序。 格式:SELECT 列名 FROM 数据表 ORDER BY 列名 ①查询所有课程的编号、课程名称和授课教师编号并按授课教师编号升序返回查询结果。 SELECT id,name,teacherid FROM courses ORDER BY teacherid "ORDER BY"后面连接的是排序的关键字,默认是升序,当要求降序时,只需在关键字后面添 加DESC即可。 (4)统计:使用查询语句时经常要做一些简单的统计计算,如统计数据集的元组数、对关系 中依据某属性的值分类求和或求平均值。 SELECT 分类列名,聚合函数名(汇总列名) FROM 数据表 GROUP BY 分类列名 ①统计课程总量 SELECT COUNT(*) FROM courses ②按授课教师编号统计每名教师授课数量 SELECT teacherid,COUNT(*) FROM courses GROUP BY teacherid SELECT语句小结: SELECT [DISTINCT] 列名或 * FROM 数据表名 投影 [WHERE 筛选条件] 选择 [GROUP BY 分组字段] 分组 [ORDER BY 排序字段] 排序 (5)连接查询:涉及两个表的查询,称为连接查询,连接师从两个关系的笛卡儿积中选取 属性之间满足一定条件的元组。 ①查询每位讲师的授课课程。查询结果如右图所示: 思考:数据来自哪些数据表? 课程数据表中,有讲师的姓名吗? 每条记录都是有意义的吗? 你的判断依据是? 来源讲师和课程表,我们可以得到对两张表的查询,实际上是他们 的笛卡儿积运算。从结果上来看,并不是每一条记录都是有意义的。 在ID等于10的陈春秀讲师的数据中,只有scrach游戏设计和网页 制作是有意义的,其他的数据是没有意义的。判断的依据是讲师表 的ID和课程表的teacherID一致。 格式为:数据表名.字段名 将*改为teachers.name AS 授课讲师, courses.name AS 课程,可以实现筛选结果显示两列, 分别是授课讲师和课程。 SELECT teachers.name AS 授课讲师, courses.name AS 课程 FROM teachers, courses WHERE teachers.id = courses.teacherid 学生操作3: 下面请同学们暂停视频,打开学习任务单,在SQL编译界面下,完成如下操作: ②查询用户第一次测试成绩 SELECT users.name,testresult.score FROM users,testresult WHERE users.id= testresult.userid AND testresult.testid = 1 我们查询到6位用户第一次测试的成绩,但是,还有100多位用户是没有参与过测试的,若 仍要在查询结果中显示,此时就需要用“外连接”。左连接列出左边数据表中的所有记录,右 连接列出右边数据表中的所有记录。针对本例题,我们选择左连接。 SELECT users.name,testresult.score FROM users LEFT JOIN TestResult ON users.Id= TestResult.userId AND TestResult.testid = 1 使用左连接,若右边数据表无数据,则使用NULL连接;右连接直接将LEFT改为RIGHT即可。 ③查询编号大于5的男讲师和编号小于5的女讲师的记录集。 SELECT id AS 讲师编号,name AS 姓名,sex AS 性别 FROM teachers WHERE id > 5 AND sex = 1 UNION SELECT id, name,sex FROM teachers WHERE id < 5 AND sex = 0 SELECT查询语句返回的是记录集合,多个SELECT语句的查询结果是可以实施集合操作,集 合操作主要包含并操作UNION、交操作INTERSECT、差操作EXCEPT,三个集合操作语法相似。 3.数据操作 (1)插入 格式:INSERT INTO 表名(字段1,字段2…) VALUES (值1,值2…) 思考:数据插入要考虑哪些内容呢?考虑将数据插入到哪个数据表,对哪个位置插入数据以 及插入的数据的是什么? ①在users数据表中插入用户名为"张三",密码为"123456",学号为"17020951"的一条记录。 INSERT INTO users(name,password,idnumber) VALUES ("张三","123456",17020951) (2)删除 格式:DELETE FROM 表名 WHERE 条件 ①删除用户数据表中编号为20的记录 DELETE FROM users WHERE id = 20 (3)更新 格式:UPDATE 表名 SET 字段名 = 字段值 WHERE 条件 ①更新用户数据表中name字段的全部记录 UPDATE users SET name ='吴甜' ②更新用户数据表中id等于3的记录,设置姓名为"吴甜" UPDATE users SET name ="吴甜" WHERE id = 3 三、总结 1.SQL语言:结构化查询语言 2.数据查询SELECT:投影、选择、排序、分组、连接 3.数据操作(不可逆):INSERT、UPDATE、DELETE
备注:教学设计应至少含教学目标、教学内容、教学过程等三个部分,如有其它内容,可自行补充增加。

展开更多......

收起↑

资源预览