教科版2019信息技术必修1数据与计算
第3单元认识数据3.3数据与系统教学设计
【教材分析】
本项目主要包含“探究‘旅行线路’”“走近火车票订票系统”“探究订票系统功能”和“设计‘旅行小助手系统’”四个任务。
某同学经常和亲友们一起旅游。结合信息技术课程的学习,他想自己开发一个旅行小助手系统,用它来解决自己遇到的旅行线路管理、交通乘车指导、以往旅游相关记录管理等各种问题。我们将通过下面的活动了解这个系统的构成并熟悉系统,进而尝试帮助他全面地设计、规划这个系统。
任务一“探究‘旅行线路’”是让学生通过“活动1初看旅行线路”,亲身体验图形用户界面,以及如何使用tkinter模块创建可视化界面(一个窗体两个按钮);通过“活动2更新旅行线路”,为按钮编写单击事件代码,向文本文件中写入数据。两个活动相互关联,前者主要是对图形用户界面建立感性认识,后者是利用图形用户界面的交互功能,实现对文本文件的读写操作。建议任务一安排1课时。
任务二“走近火车票订票系统”包含两个活动,一是通过“活动1查车次”登陆12306网站,查厦门到成都的车次信息,进而引出问题:如何换乘?为此,搜集换乘的车次信息,并用WPS表格存储。二是通过“活
动2整理购票信息”,体验到使用WPS表格整理数据不太方便,尝试使用Access数据库,逐步认识数据库、数据表、数据库管理系统等重要概念和相关操作,其中对数据表的操作,可由对WPS表格的操作经验迁移而来。两个活动是递进关系,前者是后者的铺垫。建议任务二安排1课时。
任务三“探究订票系统功能”包含两个活动:活动1 查询换乘方案,活动2 满足个性化需求。活动1介绍表间关系,通过两个表字段间的关联,实现简单查询,但查询结果不太合理(时间衔接有问题),引出条件查询。活动2则使用条件查询,满足个性化要求。通过查询,引出数据库的管理和维护,以及数据库系统。建议任务三安排1课时。
任务四“设计‘旅行小助手系统’”包含两个活动:活动1 设计系统功能和应用程序界面,活动2 设计系统数据库。本任务以“旅行小助手系统”的设计开发为例,让学生体会数据库系统的一般设计流程和规则:功能设计、界面设计、数据库设计。建议任务四安排1课时。
通过四个任务的学习,使学生能了解可视化图形界面程序的基本特点,使用tkinter 模块创建可视化界面,了解文本文件的读写操作,了解Access数据库的基本操作和功能,体验数据库系统程序设计一般过程与方法。
【教学建议】
数据库系统,是由数据库及其管理软件组成的系统。数据库系统是为适应较大型数据处理的需要而发展起来的一种较为理想的数据处理系统,也是一个为实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。
1.数据的结构化,数据的共享性好,数据的独立性好,数据存储粒度小,数据管理系统,为用户提供了友好的接口。
2.数据库系统的核心和基础,是数据模型,现有的数据库系统均是基于某种数据模型的。
3.数据库系统的核心是数据库管理系统。
4.数据库系统一般由数据库、数据库管理系统(DBMS)、应用系统、数据库管理员和用户构成。DBMS是数据库系统的基础和核心。
通过本节(数据与系统)的学习,学生能了解人、信息技术与社会的关系,认识数据库系统在社会中的作用,合理使用数据库系统解决生活、学习中的问题,理解信息安全对当今社会的影响,能安全、守法地应用信息系统。
本节知识性内容难度较大,实践操作性内容较多,如可视化界面设计,文本文件读写操作,Access数据库的建立、查询、维护,都需要有较多时间让学生充分练习领悟。
项目教学法主张先练后讲,先学后教,强调学生的自主学习,主动参与,从尝试入手,从练习开始,调动学生学习的主动性、创造性、积极性等,学生唱“主角”,而老师转为“配角”,实现教师角的换位,有利于加强对学生自学能力、创新能力的培养。
对于实践性强的项目或活动,要让每个学生充分参与、全程参与、深度参与,在体验、经验的基础上领悟、归纳、总结;对于理论性较强的项目或活动,要充分铺垫、诱导、启发、示范、练习,课前学生作好预习,带着问题预习,教师充分准备各种情境下的教学预案,以及教学支架性材料,讲解时以例释理,避免直接灌输结论,更不要让学生机械背诵结论。
【教学目标】
1、了解文件和数据库文件的概念。
2、了解GUI的基本概念,学会设计简单的GUI。
3、学会根据任务需求,选用恰当的软件处理数据。
4、体验使用不同工具管理数据的过程,简单了解数据库管理系统和数据库系统的基本概念。【教学重点、难点】
文件和数据库文件的概念。GUI的基本概念,学会设计简单的GUI。选用恰当的软件处理数据。
【教学过程】
第一、二课时
一、引入
在人们的日常生活、学习和工作中,大多数问题是包含多种数据间关系的复杂问题。要解决这些复杂问题,就需要把数据存储在系统中,以使其发挥更大的作用。在本节中,我们将通过分析数据库系统的功能,研究系统中的数据、数据的属性、数据间的关系以及数据的结构,理解数据与系统的关系,并通过电子表格、Acess和Python等软件管理和分析系统中的数据,以更好地应用数据。
利用数据结构组织起来的数据必须在系统中才能“活”起来。本节我们将围绕“旅行小助手系统”项目展开学习,通过项目活动,认识数据与系统的关系,做到根据系统功能选择所需数据,让系统充分发挥数据的潜能。
本项目主要包含“探究旅行线路”“走近火车票订票系统”“探究订票系统功能”和“设计“旅行小助手系统’"”四个任务。
某同学经常和亲友们一起旅游。结合信息技术课程的学习,他想自己开发一个旅行小助手系统,用它来解决自已遇到的旅行线路管理、交通乘车指导、以往旅游相关记录管理等各种问题。我们将通过下面的
活动了解这个系统的构成并熟悉系统,进而尝试帮助他全面地设计、规划这个系统。
任务一探究旅行线路
活动1初看旅行线路
“旅行线路”是该同学的旅行小助手系统中的一项功能,可以记录计划出游的旅行线路。他希望在这个系统中能够添加新的线路,并可以查询已经输入系统的线路。
下面的Python程序代码可以生成“旅行线路”程序界面,我们一起来帮他设计界面吧。请修改程序,使得程序运行后,可以在“添加线路”按钮下方添加“查询线路”按钮。
from tkinter import*    #导入tkinter模块
root=Tk()              #创建一一个窗口
root.title("旅行线路")  #设置窗口标题
#在窗口上建一个“添加线路”按钮
Button(root,text="添加线路",relief="sol id",wi dth=10,height=2).pack()
#下面的代码实现在窗口上添加一-个“查询线路”按钮的功能
图形用户界面
图形用户界面(Graphical User Interface,GUI)又称图形用户接口,是指采用图形方式显示的计算机操作用户界面。在Python语言中,tkinter是实现图形用户界面的模块,可以快速创建GUI应用程序。我们需要先导人模块,上面所示的代码用“from tkinterimport*"导人tkinter模块,然后就可以运用相应代码创建矩形容器(Frame)、文本框(Entry)、命令按钮(Button)、文本标签(Label)等交互对象。
在现代程序设计中,我们用“对象”建立计算机世界的实体与客观世界的实体相--致的映射关系,问题的解决方案可以用一些彼此交互的对象来形象化表示。比如在“旅行线路”例子中,我们利用Python提供的按钮类创建按钮对象,通过单击按钮的交互方式完成代码的执行过程。
在面向过程的程序设计中,我们关注的是各种类型的数据及其操作;而在面向对象的程序设计中,我们将数据及其操作隐藏细节后封装为类,函数调用式的计算演变为对象之间的交互。
活动2更新旅行线路
该同学对一条新的旅行线路感兴趣,希望将它添加到系统中。线路情况如下:桂林,5日游,桂林市区--龙脊梯田--漓江漂流一骑行之旅一-遇龙河漂流,人均1200元。在教科书配套资源中到并打开该同学已收集的旅行线路文件“旅行线路.txt”,了解文件内容。
配套资源中的“添加线路.py”程序用来实现将数据添加到“旅行线路.txt”文件中的功能,你是否能按照提示运行该程序并把新的旅行线路情况添加到文件中呢?完成后,再次打开“旅行线路.txt”,查看文件内容。对照程序想一想数据存储需要通过哪些代码来实现。Python代码:
from tkinter import中
root=Tk()                          #创建一个窗口
root.title("添加线路")            #设置窗口标题
acess数据库
var=StringVar()                    #定义StringVar()类型
def intomap():                      #Button按钮激发函数
c=open("旅行线路.txt",‘a+’)    #以追加模式打开文件
#在txt文件末尾添加text里的内容
C.()+"\n")
C.close                            #关闭文件
#在窗口上建一个文本标签
Label(root,text=‘请输人线路’,font=(‘Arial’,10)).pack()
#在窗口上建一个文本框
Entry(root,textvariable=var,width=550).pack()
#在窗口上建一个Button按钮
Button(root,text=”添加线路”,command=intomap,relief="solid",width=10).pack() root.main1oop()
#进入事件(消息)循环
文件
在解决问题的过程中,我们可以根据需要将数据组织在一-起形成队列、树或图等逻辑结构,这时的数据一般存储在内存中,当退出程序时,相关数据也将丢失。如果需要更持久地存储数据,我们可以将数据以文件的形式存储到外存储设备中。在活动2中,“线路数据”是用文件的形式存储在计算机的磁盘里的。
文件是存储在外存储设备中的相关数据的集合。
Python读写文本文件
在Python语言中,用open函数把外存储器里的文本文件(.txt)打开,用write方法将内存中的数据存储到外存储器的文件中,文件操作结束时一定要用close方法关闭文件。
Python还提供了读写电子文档和电子表格等多种类型文件的模块,可以很方便地建立起不同计算工具间的联系。在数据管理技术的发展历程中,文件的使用有助于长期保存数据,并且实现由专门的软件对数据进行管理,从而减轻人工管理数据的负担。
数据的存储传统上是使用单独的没有关联的文件。比如在活动2中,程序“添加线路py”使用文件“旅行线路.txt”。现在我们也可以将一-些文件建立关联,形成数据库文件。
该同学想乘火车从厦门去往成都,他登录12306网站准备购买车票。中国铁路客
任务二走近火车票订票系统
活动1查车次
该同学在网站上查车次,发现厦门并没有直达成都的火车,而网站提供了多种接续换乘方案,可以任选一个中转站,比如武汉市!(包括武昌、汉口等多个火车站),自己探寻具体的换乘信息。该同学在网站上查到了一些信息,如图3.3.1和图3.3.2所示。由于需要在页面间来回切换,他想利用电子表格软件将有用的信息整理到一个表中,以方便选择换乘方案。
包含车次相关数据的WPS表格如图3.3.3所示。请你完成所需数据的采集和存储,然后提出一些车次选择的参考意见。为方便比较和选择,将“历时”的计量单位统一换算成分,票价选取该车次的最低列车席位票价。
活动2整理购票信息
用WPS表格整理数据有时还是不太方便,我们尝试用数据库管理软件Access管理数据。
数据库
在日常生活中,我们通常用电子表格软件来管理数据。但电子表格软件中的表是有行数
限制的,而且在多人共享和联表查询方面也存在不足,因此当数据量比较大,且管理比较复杂时便需要采用更科学的数据关系模型。其中,管理方法。在活动中,我们发现12306网站的各种服务功能背后需要有基于二维表的关系大量数据,这些数据聚集成“库”,即所谓“数据库”。数据库是以-一定的组织方式存储在计算机中的相互关联的数据集合。
例子
该同学用Access软件为火车换乘数据建立了数据库,如图3.3.4所示。在数据库中,包含“厦门至武汉车次”和“武汉至成都车次”两个表。
打开“厦门至成都.mdb"数据库文件,将“厦门至武汉车次”和“武汉至成都车次”这两个表的数据补充完整,所需数据可以通过12306网站查询。
数据表
在数据库中,数据是以二维表的形式组织存储的,称为表。以如图3.3.4所示的“武汉至成都车次”表为例,表中的一列称为一个字段,一个字段对应车次实体的一个属性,每个字段都有一个名字,称为字段名,如车次编号、出发站等。表中的一行称为一条记录,一条记录对应于-个车次实体,保存有关实体属性的数据。可以唯一确定一条记录的字段称为主键,如车次编号。若千个车次数据的集合就组成了“武汉
至成都车次”表。我们可以对数据表进行插入、删除、更新等操作。需要指出的是,数据库中的表与表之间也可以是相互关联的。为不同表中的两个字段建立关联后,两表中的记录就可以通过这个关系联系在一起。比如,在图3.3.4所示的两个表中,换乘站既是前段车程的到达站,又是下段车程的出发站,可以通过这一-点建立关系。
第三、思课时
数据库管理系统
在数据库技术中,数据是如何被科学地组织和存储的?又是如何被高效地获取和维护的?完成这些任务的是-“个系统软件一数据库管理系统。
数据库管理系统是定义、创建、维护数据库的一一种工具。它允许目用户管理和控制数据库中的数据。常见的数据库管理系统有Sybase、ORACLE、MySQL、Acess等。
任务三探究订票系统功能
活动1查询换乘方案
建立了数据库之后,为了能更方便地查询到换乘方案,可尝试在Access中建立表之间的“关系”,利用“关系”解决问题。
在查换乘方案时,“厦门至武汉车次”表中的字段“到达站”与“武汉至成都车次”表中的“出发站”是有对应关系的。请你打开教科书配套资源中的“厦门至成都.mdb"文件,利用“关系”菜单创建如图3.3.5所示的表间关系,并查询可能的换乘方案。
关系就像绳子将两个“表”联结在-一起,我们可以利用“查询”面板中的“查询设计”选项按照提示创建选择查询,得到查询结果。但查询结果并不一-定理想,比如没有考虑换乘时间的合理性等。武汉三个火车站之间利用地铁换乘,大约用时半小时。为此,修改查询表达式为:
SELECT厦门至武汉车次.*,武汉至成都车次.*
FROM厦门至武汉车次INNER JOIN武汉至成都车次ON厦门至武汉车次,到达时间+0.05<;武汉至成都车次.出发时间式中0.05的单位为天,即0.05*24小时=1.2小时,预留了武汉三站之间的换乘时间及在火车站的出站、进站时间。
执行查询,结果如图3.3.6所示。在图中,“厦武”为“厦门至武汉"的简称,“武成”为“武